Рассмотреть решение предложенной с использованием всех трех видов циклов. отладить программу с наиболее рациональным вариантом цикла. обосновать выбор. дано двузначное число k. используя целочисленную арифметику, определить k-ю цифру последовательности (число образовано из цифр чисел, представляющих собой степени 2). массивов и строк не использовать.
молю ! хоть !
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
{вводим точки, записываем в переменную max расстояние до первой точки, а в переменную max2 - номер точки. Если расстояние до следующей точки меньше, чем до первой точки, то сохраняем новые значения в max и max2}
x1,y1,x2,y2,x3,y3,max,max2:real;
begin
readln(x1,y1,x2,y2,x3,y3);
max:=sqrt(sqr(x1)+sqr(y1));
max2:=1;
if sqrt(sqr(x2)+sqr(y2))<=max then
begin
max:=sqrt(sqr(x2)+sqr(y2));
max2:=2;
end;
if sqrt(sqr(x3)+sqr(y3))<=max then
begin
max:=sqrt(sqr(x3)+sqr(y3));
max2:=3;
end;
writeln(max,' ',max2);
end.