1. Программа, которая создает файл// PascalABC.NET 3.3, сборка 1547 от 07.10.2017// Внимание! Если программа не работает, обновите версию!type tДатаРождения=record день, месяц, год:integer end; tАдрес=record город:string[16]; улица:string[16]; дом:string[16] end; tСтудент=record ФИО:string[24]; Датарождения:tДатаРождения; Пол:char; // М/Ж Адрес:tАдрес end;begin Writeln('Вводите данные анкеты, значение * в ФИО - конец ввода'); var Stud:tСтудент; var f:file of tСтудент; Rewrite(f,'Student.bin'); while true do begin Stud.ФИО:=ReadlnString('ФИО студента:'); if Stud.ФИО='*' then break; Writeln('День, месяц и год рождения: '); Readln(Stud.Датарождения.день, Stud.Датарождения.месяц, Stud.Датарождения.год); Stud.Пол:=ReadlnChar('Пол (М/Ж):').ToUpper; Stud.Адрес.город:=ReadlnString('Город:'); Stud.Адрес.улица:=ReadlnString('Улица:'); Stud.Адрес.дом:=ReadlnString('Дом:'); Write(f,Stud); end; f.Closeend.
2. Программа, которая выводит существующий файлtype tДатаРождения=record день, месяц, год:integer end; tАдрес=record город:string[16]; улица:string[16]; дом:string[16] end; tСтудент=record ФИО:string[24]; Датарождения:tДатаРождения; Пол:char; // М/Ж Адрес:tАдрес end;begin var Stud:tСтудент; var f:file of tСтудент; Reset(f,'Student.bin'); while not Eof(f) do begin Read(f,Stud); Writeln(Stud.ФИО,' (',Stud.Пол,'), ',Stud.Датарождения.день,'.', Stud.Датарождения.месяц,'.',Stud.Датарождения.год,', ', Stud.Адрес.город,', ',Stud.Адрес.улица,', ',Stud.Адрес.дом); end; f.Closeend.
3. Программа, которая делает все это вместеtype tДатаРождения=record день, месяц, год:integer end; tАдрес=record город:string[16]; улица:string[16]; дом:string[16] end; tСтудент=record ФИО:string[24]; Датарождения:tДатаРождения; Пол:char; // М/Ж Адрес:tАдрес end;begin Writeln('Вводите данные анкеты, значение * в ФИО - конец ввода'); var Stud:tСтудент; var f:file of tСтудент; Rewrite(f,'Student.bin'); while true do begin Stud.ФИО:=ReadlnString('ФИО студента:'); if Stud.ФИО='*' then break; Writeln('День, месяц и год рождения: '); Readln(Stud.Датарождения.день, Stud.Датарождения.месяц, Stud.Датарождения.год); Stud.Пол:=ReadlnChar('Пол (М/Ж):').ToUpper; Stud.Адрес.город:=ReadlnString('Город:'); Stud.Адрес.улица:=ReadlnString('Улица:'); Stud.Адрес.дом:=ReadlnString('Дом:'); Write(f,Stud); end; Seek(f,0); while not Eof(f) do begin Read(f,Stud); Writeln(Stud.ФИО,' (',Stud.Пол,'), ',Stud.Датарождения.день,'.', Stud.Датарождения.месяц,'.',Stud.Датарождения.год,', ', Stud.Адрес.город,', ',Stud.Адрес.улица,', ',Stud.Адрес.дом); end; f.Close end.
Пример работы программы 3)Вводите данные анкеты, значение * в ФИО - конец вводаФИО студента: Иванов И.И.День, месяц и год рождения: 24 6 1998Пол (М/Ж): мГород: МоскваУлица: пр.ЛенинаДом: 152, кор.3ФИО студента: Петрова Т.Н.День, месяц и год рождения: 13 11 1999Пол (М/Ж): жГород: ТверьУлица: ул.СиреневаяДом: 18ФИО студента: *Иванов И.И. (М), 24.6.1998, Москва, пр.Ленина, 152, кор.3Петрова Т.Н. (Ж), 13.11.1999, Тверь, ул.Сиреневая, 18