Типизированный файл с числами - Pascal
Формулировка задачи:
Имеется типизированный файл с числами.Найти (во всех случаях считать, что размер файла неизвестен):
а)сумму первого и второго чисел файла;
б)сумму k-го и q-го чисел файла;
в)произведение первого и последнего чисел файла;
г)сумму всех чисел файла;
д)количество чисел в файле;
е)количество чисел в файла, непривышающих числа a;
ж)среднее арифметическое положительных чисел файла;
з)первое число, большее числа b( если такого нет, сообщить об этом);
и)максимальное число, имеющиеся в файле;
к) порядковый номер минимального числа в файле(если таких чисел несколько, найти номер первого из них ).
Решение задачи: «Типизированный файл с числами»
textual
Листинг программы
uses crt;
var i,n,k,q:byte;
num,sum: integer;
arr: array [1..128] of integer;
f: file of integer;
begin
clrscr;
assign(f,'digits.txt');
//формирование типизированного файла, если необходимо
rewrite(f);
write('Введите количество цифр: '); readln(n);
for i:=1 to n do
begin
write('Введите ', i, ' цифру: ');
readln(num);
write(f,num);
end;
close(f);
//сформировали файл,теперь работаем с файлом
//для удобства сделал проще. Читаю из файла в массив, а потом просто работаем с этим массивом
num:=0;
sum:=0;
reset(f);
while not eof (f) do
begin
inc(num);
read(f,arr[num]);
end;
close(f);
writeln('Цифры в файле: ');
for i:=1 to num do
begin
write(' ',arr[i],' ');
sum:=sum+arr[i];
end;
writeln;
write('Введите k: '); readln(k);
write('Введите q: '); readln(q);
writeln('Сумма 1 и 2: ', arr[1]+arr[2]);
if (k>num) or (q>num) then writeln('Сумма k и q элементов не существует ')
else writeln('Сумма k и q: ', arr[k]+arr[q]);
writeln('Произведение 1 и последнего: ', arr[1]*arr[num]);
writeln('Сумма всех: ', sum);
readln;
end.
Объяснение кода листинга программы
- Программа на языке Pascal.
- Создается файл
digits.txtдля хранения чисел. - Пользователю предлагается ввести количество цифр.
- Пользователь поочередно вводит цифры и они записываются в файл.
- Файл закрывается.
- Числа из файла считываются в массив arr.
- Выводится список цифр из файла.
- Пользователю предлагается ввести k и q.
- Вычисляется сумма k и q элементов.
- Вычисляется произведение первого и последнего элемента массива.
- Вычисляется сумма всех элементов массива.
- Программа завершается.