<em>// PascalABC.NET 3.3, сборка 1547 от 07.10.2017</em> <em>// Внимание! Если программа не работает, обновите версию!</em>
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.Close end.
<u>2. Программа, которая выводит существующий файл</u>
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.Close end.
<u>3. Программа, которая делает все это вместе</u>
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.
<u>Пример работы программы 3)</u> Вводите данные анкеты, значение * в ФИО - конец ввода ФИО студента: Иванов И.И. День, месяц и год рождения: 24 6 1998 Пол (М/Ж): м Город: Москва Улица: пр.Ленина Дом: 152, кор.3 ФИО студента: Петрова Т.Н. День, месяц и год рождения: 13 11 1999 Пол (М/Ж): ж Город: Тверь Улица: ул.Сиреневая Дом: 18 ФИО студента: * Иванов И.И. (М), 24.6.1998, Москва, пр.Ленина, 152, кор.3 Петрова Т.Н. (Ж), 13.11.1999, Тверь, ул.Сиреневая, 18
Ну вот, вроде ,я сделал.Как ты сказал - без mod div и /
program znanija; const min=1; max=27;var s, d, e, c, n: Integer;begin repeat write('Введите n (', min, '<=n<=', max, ') '); Readln(n); until n in [min..max]; c:=0; for s:=1 to 9 do for d:=0 to 9 do for e:=0 to 9 do if s+d+e=n then Inc(c); writeln('Количество чисел с суммой цифр = ', n, ' = ', c);end.