Вычислить y[i]=2sin(x[i])+a, где i=1.8. X вводится из файла f1. A меняется от –3 с шагом 0.5. Массив Y записывается в файл f2

Вычислить 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.

code: #pascal
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.
Поделиться:

Похожие статьи: