Const n=3; type lec=record name:string; cost:integer; end; var a:array [1..n] of lec; max1:integer; m,k,p,i:byte; begin for i:=1 to n do with a[i] do begin writeln ('Введи наименование товара'); readln (name); writeln ('введи стоимость товара'); readln (cost); end; max1:=-1; for i:=1 to n do if a[i].cost>max1 then begin max1:=a[i].cost; p:=i; end; while k<>1 do begin for i:=1 to n do if (i<>p) and (a[i].cost=max1) then begin m:=i; k:=1; end; max1:=max1-1; end; writeln (a[p].name,' ',a[p].cost); write (a[m].name,' ',a[m].cost); readln; end.
2. Пусть n - количество амеб количество часов, x - нужное количество амеб. Изначально n = 1, а t = 0. Будем умножать n на 2, а к t прибавлять 3 часа до тех пор, пока n ≤ x. В t будет необходимое время на x амеб.
3.
нц
пока снизу свободно
вниз
кц
нц
пока не снизу свободно
закрасить
вправо
кц
нц
пока снизу свободно
вправо
кц
нц
пока не снизу свободно
закрасить
вправо
кц
вниз
влево
нц
пока не сверху свободно
закрасить
влево
кц
нц
пока сверху свободно
влево
кц
нц
пока не сверху свободно
закрасить
влево
кц
Объяснение:
1. Рассмотрим последовательность номеров команд 11112.
4 единицы говорят о том, что к начальному числу 6 прибавили 4 раза b, т.е. имеем: 6 + 4b. После одна команда 2: (6 + 4b)*2, и получили 92. Решаем:
type lec=record
name:string;
cost:integer;
end;
var a:array [1..n] of lec;
max1:integer;
m,k,p,i:byte;
begin
for i:=1 to n do
with a[i] do begin
writeln ('Введи наименование товара');
readln (name);
writeln ('введи стоимость товара');
readln (cost);
end;
max1:=-1;
for i:=1 to n do
if a[i].cost>max1 then begin max1:=a[i].cost;
p:=i;
end;
while k<>1 do begin
for i:=1 to n do
if (i<>p) and (a[i].cost=max1) then begin m:=i;
k:=1;
end;
max1:=max1-1;
end;
writeln (a[p].name,' ',a[p].cost);
write (a[m].name,' ',a[m].cost);
readln;
end.
1. b = 10
2. Пусть n - количество амеб количество часов, x - нужное количество амеб. Изначально n = 1, а t = 0. Будем умножать n на 2, а к t прибавлять 3 часа до тех пор, пока n ≤ x. В t будет необходимое время на x амеб.
3.
нц
пока снизу свободно
вниз
кц
нц
пока не снизу свободно
закрасить
вправо
кц
нц
пока снизу свободно
вправо
кц
нц
пока не снизу свободно
закрасить
вправо
кц
вниз
влево
нц
пока не сверху свободно
закрасить
влево
кц
нц
пока сверху свободно
влево
кц
нц
пока не сверху свободно
закрасить
влево
кц
Объяснение:
1. Рассмотрим последовательность номеров команд 11112.
4 единицы говорят о том, что к начальному числу 6 прибавили 4 раза b, т.е. имеем: 6 + 4b. После одна команда 2: (6 + 4b)*2, и получили 92. Решаем:
(6+4b)*2 = 92
6+4b = 46
4b = 40
b = 10