1.Построить файл данных, компонентами которого являются натуральные числа. Подсчитать сумму тех компонент, которые делятся на 5 и не делятся на 10. 2.Построить типизированный файл данных, который состоит из записей с такими полями: название продукта, количество углеводов, количество белков, количество жиров. Вывести названия тех продуктов, которые соответствуют следующим условиям: белки меньше 20, жиры больше 10, углеводы больше 30.
Program KDSUP_1;
uses crt;
Var
f: File of Integer;
i,n,x,sum : Integer;
begin
write(Введите количество чисел: );
readln(n);
assign(f,1.dat);
rewrite(f);
for i:=1 to n do
write(f,Random(100)+1);
reset(f);
writeln(Исходный файл:);
while not Eof(f) do
begin
read(f,x);
write(x, );
end;
writeln;
sum:=0;
For i:=0 to FileSize(f)-1 do
begin
Seek(f,i);
Read(f,x);
if (x mod 5=0) and (x mod 10<>0) then
begin
sum:=sum+x;
end;
end;
Close(f);
writeln(Сумма: ,sum);
end.
Program KDSUP_2;
uses crt;
Type
Eda=Record
prod:string;
ugl,bel,fat:real;
end;
ps=File of eda;
Var f:ps;
i,n,m:Integer;
z:eda;
Begin
assign(f,1.dat);
rewrite(f);
writeln(Ввести количество продуктов);
readln(n);
randomize;
for i:=1 to n do
begin
z.prod:=Product_+IntToStr(i);
z.ugl:=random(100);
z.bel:=random(100);
z.fat:=random(100);
write(f,z);
end;
Close(f);
writeln(***************************************);
writeln(* М Е Н Ю *);
writeln(* продукты с содержанием *);
writeln(* белки: меньше 20 *);
writeln(* жиры: больше 10 *);
writeln(* углеводы: больше 30 *);
writeln(***************************************);
assign(f,1.dat);
reset(f);
while not(eof(f)) do
begin
read(f,z);
if (z.ugl>30) and (z.bel<20) and (z.fat>10) then
writeln( ,z.prod);
end;
close(f);
end.
