1. Исполнитель Черепаха
Исполнитель Черепаха действует на песчаной арене, име-
ющей форму квадрата со стороной 500 пикселей. В на-
чальный момент времени Черепаха находится в центре
арены, её голова направлена в верхней стороне квадрата,
хвост опущен. Черепаха может выполнять команды:
1) вперёд (n) — Черепаха перемещается на п шагов в
том направлении, куда развернута её голова; один шаг
перемещения Черепахи соответствует одному пикселю;
2) вправо (m) — Черепаха изменяет направление дви-
жения на м градусов по часовой стрелке.
При опущенном хвосте Черепаха оставляет на арене
след в виде линии.
а) Определите, что получится после выполнения Че-
репахой следующего алгоритма (считайте размеры
одной клетки равными пяти пикселям).
вправо (270)
вперёд (40)
вправо (90)
вперёд (30)
вправо (120)
вперёд (50)
Выполняй задание прямо на клетчатом поле, расположенном ниже. Прочитай
внимательно условие задания, разберись как работает Черепаха и нарисуй
результат. Для этого перейди в пункт меню Рисование, выбери цвет рисования
зеленый и аккуратно прочерти линии
static void Main(string[] args)
{
string chislo = "";
Console.Write("Введите четырёхзначное число: ");
chislo = Console.ReadLine();
int First = int.Parse(Convert.ToString(chislo)[0].ToString());
int Second = int.Parse(Convert.ToString(chislo)[1].ToString());
int Third = int.Parse(Convert.ToString(chislo)[2].ToString());
int Fourth = int.Parse(Convert.ToString(chislo)[3].ToString());
int summa1 = First + Third;
int summa2 = Second + Fourth;
if(summa1 > summa2)
{
Console.Write("Результат: {0}{1}", summa2, summa1);
}
else
{
Console.Write("Результат: {0}{1}", summa1, summa2);
}
Console.ReadKey();
}
}
Объяснение:
Язык не был указан, поэтому написал на C#. Максимальное число, при котором выдаст результат 1315 - это число 9964, т.к. 9+4 = 13 и 9 + 6 = 15 (Запись по условию задачи в порядке возрастания).
stack : array [1..1000] of double;
op1, op2 : double;
i : integer;
c : char;
begin
i := 0;
while not eoln do
begin
read (c);
if c in ['0'..'9'] then
begin
inc (i);
stack[i] := ord (c) - ord ('0');
end
else if c <> ' ' then
begin
if i < 2 then
begin
writeln ('Error!'); halt;
end;
op2 := stack[i];
dec (i);
op1 := stack[i];
case c of
'+' : stack[i] := op1 + op2;
'-' : stack[i] := op1 - op2;
'*' : stack[i] := op1 * op2;
'/' : stack[i] := op1 / op2;
end;
end;
end;
if i <> 1 then
writeln ('Error!')
else
writeln (stack[i]);
end.