Вычислить y[i]=2sin(x[i])+a, где i=1.8. X вводится из файла f1. A меняется от –3 с шагом 0.5. Массив Y записывается в файл f2
Категория: Delphi/Pascal
2012-03-23 19:43:05
Вычислить 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.
Поделиться: