Дан типизированный вещественный чисел. Заменить каждую вторую запись на максимальное значение. - Pascal
Формулировка задачи:
Дан типизированный вещественный чисел. Заменить каждую вторую запись на максимальное значение.
Решение задачи: «Дан типизированный вещественный чисел. Заменить каждую вторую запись на максимальное значение.»
textual
Листинг программы
uses Crt; const N = 10; var f: file of real; temp,max: real; i: integer; begin Randomize; ClrScr; Assign(f, 'file.dat'); Rewrite(f); WriteLn('ÈñõîäГ*ûé ГґГ*éë: '); for i := 1 to N do begin temp := Random(10) - 5; Write(f, temp); if FilePos(f) = 0 then max := temp else if temp > max then max := temp; Write(temp, ' '); end; WriteLn; Seek(f, 0); while not EOF(f) do if (FilePos(f) + 1) mod 2 = 0 then Write(f, max) else Read(f, temp); Seek(f, 0); WriteLn('Ïîëó÷åГ*Г*ûé ГґГ*éë: '); while not EOF(f) do begin Read(f, temp); Write(temp, ' '); end; Close(f); ReadLn; end.
Объяснение кода листинга программы
- Объявлены переменные: — f: файл для записи и чтения вещественных чисел; — temp: временная переменная для хранения очередного сгенерированного числа; — max: переменная для хранения максимального числа.
- Задано значение константы N равное 10.
- Открыт файл
file.dat
в режиме записи и чтения. - Выведено сообщение
ÈñõîäГ*ûé ГґГ*éë:
и запрашивается ввод имени файла. - В цикле от 1 до N сгенерированы случайные числа от -5 до 5 и записаны в файл.
- Если текущая позиция в файле равна 0, то максимальное число обновляется.
- Каждое второе сгенерированное число заменяется на максимальное.
- Выводится первая строка чисел, каждое число отделено пробелом.
- Файл перемещается в начало.
- В цикле считываются числа из файла и выводятся на экран, каждое число отделено пробелом.
- Файл закрывается.
- Выводится сообщение
Ïîëó÷åГ*Г*ûé ГґГ*éë:
и запрашивается ввод имени файла. - В цикле считываются числа из файла и выводятся на экран, каждое число отделено пробелом.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д