Поделитесь своими знаниями, ответьте на вопрос:
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.