<span>Во-первых, примем ограничение: число должно быть натуральным. т.е. целым и положительным без записи знака.
Во-вторых, возможны два принципиально разных алгоритма.
Первый
алгоритм предполагает, что число помещается оператором ввода в
целочисленную переменную и тогда мы получаем первую цифру, как
результат целочисленного деления на 10, третью - как остаток от целочисленного деления на 100, а вторую - как остаток от деления на 10 результата целочисленного деления на 10.
Второй алгоритм предполагает работу с символьным
изображением числа, т.е. после ввода получается символьная строка длиной
три. Первый (левый) символ будет первой цифрой числа и так далее.
Ниже приводятся тексты программ на языке Pascal, реализующие эти алгоритмы.</span>
<em>**********************************</em>
var
n:integer;
begin
Write('Введите целое трехзначное число без знака: '); Readln(n);
Writeln(n mod 10,(n div 10) mod 10,n div 100)
end.
<em><u>Тестовое решение:
</u></em>Введите целое трехзначное число без знака: 123
321
<em>**********************************</em>
var
n:string;
begin
Write('Введите целое трехзначное число без знака: '); Readln(n);
Writeln(n[3],n[2],n[1])
end.
<em><u>Тестовое решение:
</u></em>Введите целое трехзначное число без знака: 123
321
Const N = 5;var a: array [1..N] of integer;k,i:integer;begink:=maxint;for i:= 1 to N do readln (a[i]);for i:=1 to N do beginif (i mod 2 = 0) and (a[i]<k) then k:= a[i] end;writeln (k);end.
Алгоритм работает, если верхние края стен расположены на одном уровне:
использовать Робот
алг
нач
нц пока справа стена
закрасить
вверх
кц
нц пока справа свободно
вправо
кц
вниз
нц пока слева свободно
влево
кц
нц пока слева стена
закрасить
вниз
кц
кон