Задать файл из целых чисел. Найти максимальный элемент файла - Pascal ABC

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

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

1. Задать файл из целых чисел. Найти максимальный элемент файла. 2. Уменьшить в 2 каждый ненулевой элемент файла. 3. Найти сумму всех элементов файла, кратных числу 4.

Решение задачи: «Задать файл из целых чисел. Найти максимальный элемент файла»

textual
Листинг программы
uses crt;
var f: file of integer;
    g: file of real;
    i,c,max,sum: integer;
    n: real;
 
 begin
 assign(f,'C:\1.dat');
 assign(g,'C:\2.dat');
 rewrite(f);
 for i:=1 to random(11)+10 do
     begin
     c:=random(199)-99;
     write(f,c);
     end;
 writeln('Файл заполнен случайным количеством случайных чисел');
 reset(f);
 rewrite(g);
 i:=0;
 while not eof(f) do
       begin
       read(f,c);
       inc(i);
       if i=1 then max:=c
          else if c>max then max:=c;
       if c<>0 then n:=c/2 else n:=c;
       write(g,n);
       if c mod 4=0 then inc(sum,c);
       end;
writeln('Макс. элемент файла = ',max);
writeln('Сумма элементов, кратных 4 =',sum);
writeln('Исходный файл');
reset(f);
while not eof(f) do
       begin
       read(f,c);
       write(c:5);
       end;
writeln('');
writeln('Итоговый файл');
reset(g);
while not eof(g) do
       begin
       read(g,n);
       write(n:5:1);
       end;
readln;
close(f);
close(g);
end.

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

  1. Объявляются переменные:
    • f: файл для чтения целых чисел из файла 'C:\1.dat';
    • g: файл для записи действительных чисел в файл 'C:\2.dat';
    • i, c, max, sum: целочисленные переменные;
    • n: действительная переменная.
  2. Задаются начальные значения:
    • assign(f, 'C:\1.dat'); - задание файла для чтения;
    • assign(g, 'C:\2.dat'); - задание файла для записи;
    • rewrite(f); - очистка файла для чтения или запись заголовка;
    • rewrite(g); - очистка файла для записи.
  3. Заполняется файл случайными целыми числами от 0 до 199:
    • for i:=1 to random(11)+10 do
    • begin
    • c:=random(199)-99;
    • write(f, c);
    • end;
    • writeln('Файл заполнен случайным количеством случайных чисел');
  4. Считывается и анализируется информация из файла:
    • reset(f);
    • while not eof(f) do
    • begin
    • read(f, c);
    • inc(i);
    • if i=1 then max:=c
    • else if c>max then max:=c;
    • if c<>0 then n:=c/2 else n:=c;
    • write(g, n);
    • if c mod 4=0 then inc(sum, c);
    • end;
  5. Выводятся результаты:
    • writeln('Макс. элемент файла = ', max);
    • writeln('Сумма элементов, кратных 4 =', sum);
  6. Выводится содержимое исходного файла:
    • reset(f);
    • while not eof(f) do
    • begin
    • read(f, c);
    • write(c:5);
    • end;
    • writeln('');
  7. Выводится содержимое итогового файла:
    • reset(g);
    • while not eof(g) do
    • begin
    • read(g, n);
    • write(n:5:1);
    • end;
  8. Программа завершается:
    • readln;
    • close(f);
    • close(g);

ИИ для рефератов и докладов


  • Экспорт Word по ГОСТу
  • Минимум 80% уникальности текста
  • Поиск релевантных источников в интернете
  • Готовый документ за 2 минуты

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

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