Вычислить P=Q(3,8)*X, Z=Y*R(8,3). Q вводится из файла f3, R вводится из файла f4. Результаты P и Z добавить в файл f1.Записать в файл f4 все элементы большие 2.5 последовательно из массивов X,Y,P,Z. Найти количество элементов файла f4.
uses crt, dos;
var
y, x: array [1 .. 8] of real;
q: array [1 .. 3, 1 .. 8] of real;
r: array [1 .. 8, 1 .. 3] of real;
f3, f4, f1, f2: text;
a, p, z: real;
e, n, i, w, t, d, b: integer;
BEGIN
clrscr;
assign(f1, 'c:\ali_kyr\zad_1\f1');
reset(f1);
assign(f2, 'c:\ali_kyr\zad_1\f2');
rewrite(f2);
assign(f3, 'c:\ali_kyr\zad_1\f3');
reset(f3);
assign(f4, 'c:\ali_kyr\zad_1\f4');
reset(f4);
{ **************************************************************************** }
e := 1;
while not eof(f1) do
begin
read(f1, x[e]);
inc(e);
end;
close(f1);
a := -3;
for i := 1 to e do
begin
y[i] := round(2 * sin(x[e]) + a);
a := a + 0.5;
writeln(f2, y[i]:0);
end;
close(f2);
{ **************************************************************************** }
assign(f3, 'c:\ali_kyr\zad_1\f3');
reset(f3);
for w := 1 to 3 do
for t := 1 to 8 do
read(f3, q[w, t]);
for w := 1 to 3 do
for t := 1 to 8 do
begin
p := q[w, t] * 3;
append(f1);
writeln(f1, p:1:0);
inc(i);
end;
close(f3);
close(f1);
{ **************************************************************************** }
assign(f4, 'c:\ali_kyr\zad_1\f4');
reset(f4);
for d := 1 to 8 do
for b := 1 to 3 do
read(f4, r[d, b]);
append(f1);
for d := 1 to 8 do
for b := 1 to 3 do
begin
z := r[d, b] * y[i];
writeln(f1, z:1:0);
inc(i);
end;
close(f1);
close(f4);
{ **************************************************************************** }
reset(f1);
e := 1;
while not eoln(f1) do
begin
read(f1, x[e]);
append(f4);
if x[e] > 2.5 then
writeln(f4, x[e]:0);
inc(e);
end;
close(f1);
close(f4);
{ **************************************************************************** }
reset(f2);
i := 1;
while not eof(f2) do
begin
read(f2, y[i]);
append(f4);
if y[i] > 2.5 then
writeln(f4, y[i]:0);
inc(i);
end;
close(f2);
close(f4);
{ **************************************************************************** }
reset(f3);
for w := 1 to 3 do
for t := 1 to 8 do
read(f3, q[w, t]);
append(f4);
for w := 1 to 3 do
for t := 1 to 8 do
begin
if q[w, t] > 2.5 then
writeln(f4, q[w, t]:0);
end;
close(f3);
close(f4);
{ **************************************************************************** }
reset(f4);
for d := 1 to 8 do
for b := 1 to 3 do
read(f4, r[d, b]);
append(f4);
for d := 1 to 8 do
for b := 1 to 3 do
begin
if r[d, b] > 2.5 then
writeln(f4, r[d, b]:0);
end;
close(f4);
assign(f4, 'c:\ali_kyr\zad_1\f4');
reset(f4);
i := 1;
while not eof(f4) do
begin
read(f4, x[i]);
inc(i);
end;
writeln('количество элементов файла f4: ', i);
{ **************************************************************************** }
readkey;
end.