Файлы последовательного доступа - Pascal ABC

Узнай цену своей работы

Формулировка задачи:

Сформировать файл из значений случайных величин: 0,32;0,524;0,789;0,556;0,761;0,248;0,345;0,911;0,216 Определить для данной последовательности среднее ариф. компонентов, значения которых меньше 0,5 Заранее спасибо!
Либо,если всю программу сделать трудно, то только код для второй части задания..Спасибо

Решение задачи: «Файлы последовательного доступа»

textual
Листинг программы
var f:text;
    a,s:real;
    n,i,k:integer;
begin
write('Сколько чисел записать в файл n=');
readln(n);
assign(f,'111.txt');
rewrite(f);
for i:=1 to n do
 begin
  a:=random;
  write(f,a:6:2);
 end;
close(f);
reset(f);
k:=0;
s:=0;
while not seekeof(f) do
 begin
  read(f,a);
  if a<0.5 then
   begin
    s:=s+a;
    k:=k+1;
   end;
end;
close(f);
if k=0 then write('В файле нет чисел меньше 0.5')
else write('Среднее арифметическое чисел меньше 0.5=',s/k:0:2);
end.

Объяснение кода листинга программы

  1. Создается переменная f типа text, которая будет использоваться для работы с файлами.
  2. Создаются три переменные a, s и n типа real, которые будут использоваться для генерации случайных чисел и подсчета суммы.
  3. Создаются три переменные i, n и k типа integer, которые будут использоваться для работы с индексами и подсчетом чисел.
  4. Выводится запрос на ввод количества чисел, которые нужно записать в файл.
  5. Задается имя файла f и происходит перезапись содержимого файла.
  6. Запускается цикл for, который будет выполняться столько раз, сколько указано в переменной n.
  7. Внутри цикла генерируется случайное число a и записывается в файл f.
  8. После завершения цикла for закрывается файл f.
  9. Сбрасывается счетчик k и s в ноль.
  10. Задается условие while not seekeof(f) для повторного чтения содержимого файла до тех пор, пока файл не будет полностью прочитан.
  11. Внутри условия читается число a из файла f.
  12. Проверяется условие if a<0.5 и если оно истинно, то суммируется число a со значением счетчика s и увеличивается значение счетчика k.
  13. После завершения условия while закрывается файл f.
  14. Выводится сообщение о том, есть ли числа меньше 0.5 в файле или нет.
  15. Если значение счетчика k равно нулю, выводится сообщение о том, что в файле нет чисел меньше 0.5.
  16. Если значение счетчика k не равно нулю, выводится среднее арифметическое чисел меньше 0.5.

Оцени полезность:

13   голосов , оценка 4.231 из 5
Похожие ответы