Теория недели 26.11 - 01.12.2012

Программирование условных операторов Pascal-Паскаль

Варианты заданий

Задание 1. Используя оператор if, вычислить заданное выражение для данных типа Integer:

Задание 2. Найти алгоритм решения задачи и реализовать его с помощью оператора (операторов) if-then-else:

a)     Составить программу, реализующую эпизод сказки: машина спрашивает, куда пойдет герой, и в зависимости от ответа (налево – (-1), прямо – 0, направо – 1), печатает, что произойдет с героем.

b)    Морской бой. Машина задумывает два числа от 0 до 9. Игрок пытается их угадать, вводя свои два числа. Если они совпали (в любом сочетании), то игрок выиграл.

c)     В Атлантическом океане терпит бедствие пассажирский теплоход «Посудина». Все пассажиры будут спасены, если на помощь успеют два судна. Судно продержится на плаву t часов. Скорость судов-спасателей 40 узлов. Составить программу, определяющую спасутся ли пассажиры. Известны расстояния от трех судов-спасателей до тонущего судна.

d)    Через старый мост движется поток автомашин. Одновременно на мосту могут находиться 3 машины. Если на мост въедут 3 легковых или 2 легковых и грузовик – мост выдержит. Если 2 грузовика и легковая или 3 грузовика – рухнет.

 

Задание 3. Используя оператор выбора, составить программы решения следующих задач.

a)     По номеру дня недели вывести на печать рабочий это день или выходной, считая выходными субботу и воскресенье.

b)    По номеру месяца указать, к какому времени года он относится.

c)     По номеру месяца вывести на печать количество дней в нем.

d)    Единицы массы пронумерованы следующим образом: 1 — килограмм, 2 — миллиграмм, 3 — грамм, 4 — тонна. Дан номер единицы массы и масса тела M в этих единицах (M - вещественное число). Вывести массу данного тела вкилограммах.

Дополнительные задания

1.            Даны действительные числа a, b, c, x, y. Выяснить, пройдет ли кирпич с ребрами a,b,c в прямоугольное отверстие со сторонами x и y. Просовывать кирпич в отверстие разрешается только так, чтобы каждое из его ребер было параллельно или перпендикулярно каждой из сторон отверстия.

2.            Сможет ли шар радиуса R пройти в ромбообразное отверстие со стороной P и острым углом Q?

 

Контрольные вопросы

1.            Какие операторы используются для программирования развилок?

2.            Как выполняются операторы условного перехода?

3.            Какую из функций: Sin(x), Abs(x), Trunc(x) можно заменить условным оператором if x<0 then x := -x?

4.            Если выбор вариантов осуществляется из конечного числа элементов выбора, то лучше взять для этого оператор ifили case?

5.            Как заменить оператор case операторами if?

6.            В чем преимущество оператора case от последовательности «коротких» операторов if?

7.            Какой тип переменной можно использовать в качестве ключа оператора case?