<u>// PascalABC.NET 3.3, сборка 1555 от 21.10.2017</u>
<u>// Внимание! Если программа не работает, обновите версию!</u>
begin
var (p,q):=(1,0);
for var i:=1 to 1000 do begin
var (flag,j,r):=(True,2,Round(Sqrt(i)));
while flag and (j<=r) do
if i mod j = 0 then flag:=false
else j+=1;
if flag then begin
(p,q):=(q,i);
if q-p=4 then Write('(',p,',',q,') ')
end
end
end.
<u>Результат</u>
(7,11) (13,17) (19,23) (37,41) (43,47) (67,71) (79,83) (97,101) (103,107) (109,113) (127,131) (163,167) (193,197) (223,227) (229,233) (277,281) (307,311) (313,317) (349,353) (379,383) (397,401) (439,443) (457,461) (463,467) (487,491) (499,503) (613,617) (643,647) (673,677) (739,743) (757,761) (769,773) (823,827) (853,857) (859,863) (877,881) (883,887) (907,911) (937,941) (967,971)
Type
sc=record
name:string;
fam:string;
age:byte;
school:integer;
clas:string
end;
var
i,n:integer;
a:array[1..10] of sc;
f:Text;
begin
Writeln('Читаем данные из файла input.txt');
Assign(f,'input.txt'); Reset(f);
n:=0;
while (not Eof(f)) and (n<10) do begin
Inc(n);
Readln(f,a[n].fam); Readln(f,a[n].name);
Readln(f,a[n].age); Readln(f,a[n].school);
Readln(f,a[n].clas)
end;
Close(f);
Writeln('Принято записей: ',n);
Writeln('Контрольный вывод');
for i:=1 to n do
begin
Writeln('Школьник ',i,':');
Write(a[i].name,' ',a[i].fam,', ');
Write(a[i].age,' лет, школа №',a[i].school);
Writeln(', класс ',a[i].clas)
end
end.
<em><u>Тестовое решение:</u></em>
Читаем данные из файла input.txt
Принято записей: 3
Контрольный вывод
Школьник 1:
Иванов Иван, 14 лет, школа №126, класс 7б
Школьник 2:
Петров Петр, 13 лет, школа №18, класс 6а
Школьник 3:
Семенова Валентина, 15 лет, школа №52, класс 8г
<em><u>Файл input.txt для тестового решения находится во вложении.</u></em>
1(b) 2(c) 3(b) 4(c) 5(a) 6(b) 7(c) 8(a) 9(c) 10(d) 11(c) 12(d) 13(b) 14(c) 15(b) 16(нет задания) 17(a) 18(d) 19(b) 20(b) 21(d) 22(b) 23(a) 24(b)