<em>// PascalABC.NET 3.3, сборка 1573 от 04.11.2017</em> <em>// Внимание! Если программа не работает, обновите версию!</em>
type Призывник=record ФИО:string[48]; Пол:char; Рост:byte; Вес:byte; Рекомендация:shortint end;
begin var buf:Призывник; var f:file of Призывник; Assign(f,'Prizyvnik.bin'); Rewrite(f); while True do begin // выход по break Writeln('Введите данные очередного призывника'); Writeln('Фамилия, имя, отчество или * для окончания ввода: '); buf.ФИО:=ReadlnString; if buf.ФИО='*' then break; buf.Пол:=UpCase(ReadlnChar('Пол (М/Ж):')); Write('Рост, см: '); Readln(buf.Рост); Write('Вес, кг: '); Readln(buf.Вес); buf.Рекомендация:=(buf.Рост-buf.Вес)-100; Write(buf.ФИО,' ',buf.Пол,' ',buf.Рост,' ',buf.Вес,': '); if buf.Рекомендация>0 then Writeln('Поправиться на ', buf.Рекомендация,' кг.') else if buf.Рекомендация<0 then Writeln('Похудеть на ', -buf.Рекомендация,' кг.') else Writeln('Норма!'); Write(f,buf) end; f.Close end.
<u>Пример работы программы</u> Введите данные очередного призывника Фамилия, имя, отчество или * для окончания ввода: Иванов Петр Сергеевич Пол (М/Ж): М Рост, см: 176 Вес, кг: 72 Иванов Петр Сергеевич М 176 72: Поправиться на 4 кг. Введите данные очередного призывника Фамилия, имя, отчество или * для окончания ввода: Петров Иван Афанасьевич Пол (М/Ж): М Рост, см: 175 Вес, кг: 76 Петров Иван Афанасьевич М 175 76: Похудеть на 1 кг. Введите данные очередного призывника Фамилия, имя, отчество или * для окончания ввода: Тарасова Валентина Анатольевна Пол (М/Ж): Ж Рост, см: 168 Вес, кг: 68 Тарасова Валентина Анатольевна Ж 168 68: Норма! Введите данные очередного призывника Фамилия, имя, отчество или * для окончания ввода: *
<u>Программа для контрольного чтения полученного файла</u>
type Призывник=record ФИО:string[48]; Пол:char; Рост:byte; Вес:byte; Рекомендация:shortint end;
begin var buf:Призывник; var f:file of Призывник; Assign(f,'Prizyvnik.bin'); Reset(f); while not Eof(f) do begin Read(f,buf); Write(buf.ФИО,' ',buf.Пол,' ',buf.Рост,' ',buf.Вес,': '); if buf.Рекомендация>0 then Writeln('Поправиться на ', buf.Рекомендация,' кг.') else if buf.Рекомендация<0 then Writeln('Похудеть на ', -buf.Рекомендация,' кг.') else Writeln('Норма!'); end; f.Close end.
<u>Пример</u> Иванов Петр Сергеевич М 176 72: Поправиться на 4 кг. Петров Иван Афанасьевич М 175 76: Похудеть на 1 кг. Тарасова Валентина Анатольевна Ж 168 68: Норма!
//PascalABC.NET 3.0 function check(x: integer): boolean; begin var tmp := x * x; Result := true; repeat if tmp mod 10 <> x mod 10 then Result := false; tmp := tmp div 10; x := x div 10; until (x = 0) or not(Result); end; begin var n := ReadInteger('Введите N:'); Range(1, n).Where(x -> check(x)).Select(x -> x.ToString + '*' + x.ToString + '=' + (x * x).ToString).Println(NewLine) e<span>nd.</span>