Так как неуказан язык программирования пишу алгоритм
1)Открываем поток для чтения файла f , нам еще потребуется переменная назовем ее count (Тип дробных чисел в каждом языке по разному) и переменную допустим value (тоже дробное) Далее проход по файлу любым циклом до конца файла и условие если value = дробь то count = count +1 И в конце выводим count в файл g
2)Открываем поток для чтения файла f , и две переменные max и min и массив кол-во элементов которого равно кол-ву чисел в файле (Считаем любой функцией ) далее сортируем массив по возрастанию и получиться max = последний элемент массива ;
min = первый элемент массива . Далее выводим min и max в файл g
3)Аналогично 4 только вместо записи их в массив просто задаете переменную которая будет увеличиваться если число четное .
4)Открываем поток для чтения файла f , потребуется массив равный кол-ву четных элементов файла на четность можно проверить если остаток от деления числа на 2 =0 то
число четное , далее просто заполняем массив из файла четными точно такой же проверкой и выводим в файл g . Но еще лучше использовать динамический массив тогда проход по файлу будет равен 1
5)Все просто открываешь первый файл для чтение считаешь кол-во элементов ,
создаешь массив, кол-во элементов которого = твой подсчет , заполняешь его из файла ,далее соритруешь по возрастанию , и выводишь этот массив в файл 2 , опять же можешь использовать динамические массивы и облегчить себе жизнь
Ошибки в программе:
Program primer - не хватает точки с запятой
Var a,b: integer;
Begin ; - не ошибка, необязательная точка с запятой
ReadLn( a,b); - не ошибка, лишний пробел после скобки, здесь и дальше не хватает пробелов между аргументами функций, знаками
s=a+b; - не хватает двоеточия в :=
m:=a*b;
d:=a:b; - переменная d не была описана; деление - это /
WriteLn(s);
WriteLn(m);
WriteLn(d)
End - не хватает точки.
Исправленная программа:
Program primer;
Var a, b: integer;
d: real;
Begin
ReadLn(a, b);
s := a + b;
m := a * b;
d := a / b;
WriteLn(s);
WriteLn(m);
WriteLn(d)
End.