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

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

Leave a Comment

− 6 = 3