Меню сайта

Задача №2

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

— — 2) Вычислить P=Q(3,8)*X, Z=Y*R(8,3). Q вводится из файла f3, R вводится изфайла f4. Результаты — P и Z добавить вфайл f1.

— — 3) Записать в файл 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:&#92-ali_kyr&#92-zad_1&#92-f1′)-

reset — (f1)-

assign -(f2,’c:&#92-ali_kyr&#92-zad_1&#92-f2′)-

rewrite (f2)-

assign -(f3,’c:&#92-ali_kyr&#92-zad_1&#92-f3′)-

reset — (f3)-

assign -(f4,’c:&#92-ali_kyr&#92-zad_1&#92-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:&#92-ali_kyr&#92-zad_1&#92-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:&#92-ali_kyr&#92-zad_1&#92-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]&gt-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]&gt-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]&gt-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]&gt-2.5 then

— — — — — writeln(f4,r[d,b]:0)-

— — — end-

close(f4)-

assign(f4,’c:&#92-ali_kyr&#92-zad_1&#92-f4′)-

reset(f4)-

i:=1-

while not eof(f4) do

begin

— read(f4,x[i])-

— inc(i)-

end-

writeln(‘количество элементов файла -f4: ‘,i)-

{****************************************************************************}

readkey-

end.

Категория: Файлы | Дата: 21.11.12

Меню раздела
Блок