1) begin var (a,b,c):=ReadInteger3('Введите a,b,c,d-> '); var d:=ReadInteger; if a=d then begin Println('Первое число равно',d); exit; end; if b=d then begin Println('Второе число равно',d); exit; end; if c=d then begin Println('Третье число равно',d); exit; end; a:=d-a; b:=d-b; c:=d-c; var max:=max(max(a,b),c); Println('Максимальная разность->',max); end.
2) begin var a:=ReadInteger('Введите возраст->'); if (a mod 10=1) and (a<>11) then writelnformat('Вам {0} год',a) else if (a mod 10=2) or (a mod 10=3) or (a mod 10=4) then writelnformat('Вам {0} года',a) else writelnformat('Вам {0} лет',a); end.
3) begin var (x,a,b):=readreal3('Введите x,a,b->'); WritelnFormat('Нужно приобрести {0} банок краски',Round((a*b)/x)); end.
4) begin var (a,b):=readreal2('Введите a,b->'); if a+b>10 then println(2*a*b) else if a>b then Println(a+b,a-b) else Println(a-b,a+b); end.
Эм, ну, обычно для такого задания дают рисунок. Исходя из рисунка строиться путь, т.к есть разные варианты дороги, нельзя к каждому написать один алгоритм.
Но он будет в роде: "влево/вправо пока закрашено" таким образом, робот будет идти в сторону, до тех пор, пока клетки будут закрашены. Также, если будет пробел (закрашено, по середине пусто, закрашено) , то нужно написать следующий алгоритм : "Если незакрашено вправо/влево" НО если там будет извилистая дорога, то потребуются еще действия. Надеюсь, вы поняли. Удачи!
// Cборка 1590 от 03.12.2017
1)
begin
var (a,b,c):=ReadInteger3('Введите a,b,c,d-> '); var d:=ReadInteger;
if a=d then begin Println('Первое число равно',d); exit; end;
if b=d then begin Println('Второе число равно',d); exit; end;
if c=d then begin Println('Третье число равно',d); exit; end;
a:=d-a; b:=d-b; c:=d-c;
var max:=max(max(a,b),c);
Println('Максимальная разность->',max);
end.
2)
begin
var a:=ReadInteger('Введите возраст->');
if (a mod 10=1) and (a<>11)
then writelnformat('Вам {0} год',a)
else
if (a mod 10=2) or (a mod 10=3) or (a mod 10=4)
then writelnformat('Вам {0} года',a)
else writelnformat('Вам {0} лет',a);
end.
3)
begin
var (x,a,b):=readreal3('Введите x,a,b->');
WritelnFormat('Нужно приобрести {0} банок краски',Round((a*b)/x));
end.
4)
begin
var (a,b):=readreal2('Введите a,b->');
if a+b>10
then println(2*a*b)
else
if a>b
then
Println(a+b,a-b)
else
Println(a-b,a+b);
end.
Но он будет в роде: "влево/вправо пока закрашено"
таким образом, робот будет идти в сторону, до тех пор, пока клетки будут закрашены.
Также, если будет пробел (закрашено, по середине пусто, закрашено) , то нужно написать следующий алгоритм : "Если незакрашено вправо/влево"
НО если там будет извилистая дорога, то потребуются еще действия.
Надеюсь, вы поняли. Удачи!