Type tBook = record author: string[20]; title: string[30]; year: integer end;
var f1: file of tBook;
function k2000(): integer; { файл должен быт открыт на чтение } var k: integer; book: tBook; begin while not Eof(f1) do begin Read(f1, book); if book.year < 2000 then k := k + 1 end; k2000 := k end;
var B: tbook;
begin Assign(f1, 'books.000'); Rewrite(f1); Writeln('Для книги вводите в трех строках: автор, название, год издания'); Writeln('Введите * для завершения ввода'); repeat Readln(B.author); if B.author[1] <> '*' then begin Readln(B.title); Readln(B.year); Write(f1, B) end until B.author[1] = '*'; Close(f1); Write('Количество книг, изданных до 2000г равно '); Reset(f1); Writeln(k2000); Close(f1) end.
Пример диалога с программой: Для книги вводите в трех строках: автор, название, год издания Введите * для завершения ввода Александр Грин Бегущая по волнам 1984 Эдгар Аллан По Золотой жук 2002 Луи Буссенар Капитан Сорви-голова 1997 Гарри Гаррисон Крыса из нержавеющей стали 2007 А. и Б. Стругацкие Сказка о Тройке 1974 * Количество книг, изданных до 2000г равно 3
Var ar:array[1..n] of integer; ar2:array[1..n] of integer; i,k:integer;
function prost(a:integer):boolean; var i:integer; b:boolean; begin b:=true; for i:=2 to a div 2 do if a mod i=0 then begin; b:=false; break; end; if a=1 then b:=false; prost:=b; end;
begin; randomize; k:=0; for i:=1 to n do begin; ar[i]:=random(101); write(ar[i]:4); end; writeln; for i:=1 to n do if prost(ar[i]) then begin; inc(k); ar2[k]:=ar[i]; write(ar2[k]:4); end; end.
tBook = record
author: string[20];
title: string[30];
year: integer
end;
var
f1: file of tBook;
function k2000(): integer;
{ файл должен быт открыт на чтение }
var
k: integer;
book: tBook;
begin
while not Eof(f1) do
begin
Read(f1, book);
if book.year < 2000 then k := k + 1
end;
k2000 := k
end;
var
B: tbook;
begin
Assign(f1, 'books.000');
Rewrite(f1);
Writeln('Для книги вводите в трех строках: автор, название, год издания');
Writeln('Введите * для завершения ввода');
repeat
Readln(B.author);
if B.author[1] <> '*' then
begin
Readln(B.title); Readln(B.year); Write(f1, B)
end
until B.author[1] = '*';
Close(f1);
Write('Количество книг, изданных до 2000г равно ');
Reset(f1);
Writeln(k2000);
Close(f1)
end.
Пример диалога с программой:
Для книги вводите в трех строках: автор, название, год издания
Введите * для завершения ввода
Александр Грин
Бегущая по волнам
1984
Эдгар Аллан По
Золотой жук
2002
Луи Буссенар
Капитан Сорви-голова
1997
Гарри Гаррисон
Крыса из нержавеющей стали
2007
А. и Б. Стругацкие
Сказка о Тройке
1974
*
Количество книг, изданных до 2000г равно 3
n=5;
Var
ar:array[1..n] of integer;
ar2:array[1..n] of integer;
i,k:integer;
function prost(a:integer):boolean;
var i:integer;
b:boolean;
begin
b:=true;
for i:=2 to a div 2 do
if a mod i=0 then
begin;
b:=false;
break;
end;
if a=1 then b:=false;
prost:=b;
end;
begin;
randomize;
k:=0;
for i:=1 to n do
begin;
ar[i]:=random(101);
write(ar[i]:4);
end;
writeln;
for i:=1 to n do
if prost(ar[i]) then
begin;
inc(k);
ar2[k]:=ar[i];
write(ar2[k]:4);
end;
end.