Vladimirovich351
?>

1. Для чего нужны переменные в Pascal? 2. Для чего нужны операторы if, then, else в Pascal?

Информатика

Ответы

shugayzhanna6

Закраски клеток (команда 5) здесь нет, значит надо просто обеспечить более короткое перемещение в ту же конечную точку.

Для этого посмотрим, что за движения там записаны.

Если во всём алгоритме три раза вверх и три раза вниз- то робот вернётся в ту же точку (по вертикали), и значит все эти команды можно просто удалить.

То же самое- для движений влево и вправо. Они тоже взаимно противоположные.

Другими словами- надо просто сократить все пары движений влево-вправо и вверх-вниз. Всё что останется- это и есть короткий вариант алгоритма, который даст перемещение ту же самую конечную точку.

Запишу подробнее, как сократить алгоритм движения (только для случая без закраски):

а) берём наш алгоритм: 131413324223

б) во всём алгоритме считаем количество команд перемещения для каждого из направлений движения:

1 (вверх)-    3 штуки

2 (вниз)-     3 штуки

3 (влево)-   4 штуки

4 (вправо)- 2 штуки

в) считаем разность количества команд влево и вправо (из большего числа вычитаем меньшее):  4 - 2 = 2

Осталось две команды - влево (т.к. их было больше). Остальные команды влево-вправо сократились (мы их удалили из алгоритма).

г) считаем разность количества команд вверх и вниз (из большего числа вычитаем меньшее, но тут числа равны):  3 - 3 = 0

Не осталось ни одной команды вверх или вниз. Все эти команды сократились (мы их удалили из алгоритма).

д) получаем, что в коротком варианте алгоритма останутся только две команды влево (3).

Запишем весь алгоритм:   33

ulyana-d
Basic:
DIM tetradCount as INTEGER, oblojCount as INTEGER, price1 AS INTEGER, price2 AS INTEGER
CLS
INPUT "Введите кол-во тетрадей:"; tetradCount
INPUT "Введите кол-во обложек:"; oblojCount

price1 = tetradCount * 5
price2 = oblojCount * 3

PRINT "Стоимость тетрадей:"; price1
PRINT "Стоимость обложек:"; price2
PRINT "Общая стоимость:"; price1 + price2
END

C#:
Обычный класс, единственная директива препроцессора System, в методе main

int tetradCount, oblojCoubt, priceOne, priceTwo, priceSum;

Console.WriteLine("Введите кол-во тетрадей:");
tetradCount = int.Parse(Console.ReadLine());

Console.WriteLine("Введите кол-во обложек:");
oblojCount = int.Parse(Console.ReadLine());

priceOne = tetradCount * 5;
priceTwo = oblojCount * 3;
priceSum = priceOne + PriceTwo;

Console.WriteLine("Стоимость тетрадей: " + priceOne);
Console.WriteLine("Стоимость обложек: " + priceTwo);
Console.WriteLine("Общая стоимость: " + priceSum);

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

1. Для чего нужны переменные в Pascal? 2. Для чего нужны операторы if, then, else в Pascal?
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

simonovaliubov5852
VadimovichSvetlana622
rimmatrotskaia303
sharikplushelen
Amulenkov
Mikhailova
zdl2008
Mashkov-Daniil1764
Allahverdi_Мария475
Gatina
lobanosky162
Евгения-Валерий
maslprod
ooofishai4064
Ruslan Zarekovkin