Под каким именем сохраняется файл?? - Pascal
Формулировка задачи:
Решение задачи: «Под каким именем сохраняется файл??»
textual
Листинг программы
uses crt; type spion=record prz:string[20]; doc:byte; orz:byte; end; fail=file of spion; var sp:spion; mx:byte; pr:string[20]; f:fail; name:string; begin clrscr; write('Имя файла для чтения: '); readln(name); assign(f,name); {$I-} reset(f); {$I+} if IOResult <> 0 then begin writeLn('Не могу открыть файл ',name); writeLn('Работа программы завершена. Нажмите ENTER'); readln; exit; end; read(f,sp); mx:=sp.orz; pr:=sp.prz; while not eof(f) do begin read(f,sp); if sp.orz>mx then begin mx:=sp.orz; pr:=sp.prz; end; end; close(f); write('Самый вооруженный ',pr); readln end.
Объяснение кода листинга программы
- Программа использует тип данных
spion
, который является записью (record) и содержит поляprz
(строка из 20 символов),doc
иorz
(оба - байт). - Объявлены следующие переменные:
sp
(экземпляр типаspion
),mx
(для хранения максимального значенияorz
),pr
(для хранения строки из поляprz
с максимальным значениемorz
),f
(файл, открытый для чтения из файла, имя которого введено пользователем),name
(имя файла для чтения),fail
(переменная-путь к файлу). - Пользователю предлагается ввести имя файла для чтения.
- Файл открывается для чтения с помощью функции
assign
. - Проверяется, удалось ли открыть файл. Если нет, программа выводит сообщение об ошибке и завершает работу.
- Происходит чтение данных из файла в переменную
sp
. - Значение
orz
в текущей записи сравнивается с максимальным значениемmx
. Если оно больше, обновляются значенияmx
иpr
. - Цикл повторяется до тех пор, пока не достигнут конец файла.
- Файл закрывается.
- Выводится сообщение с самым большим значением
orz
и соответствующей строкой из поляprz
. - Программа завершается, ожидая нажатия клавиши ENTER.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д