Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Сборник задач по программированию.docx
Скачиваний:
83
Добавлен:
27.03.2016
Размер:
388.67 Кб
Скачать
  1. Блок-схемы разветвляющихся алгоритмов

Задание: описать в виде блок-схемы алгоритм решения задачи.

Пример: Даны три различных целых числа. Выбрать среднее из них (большее наименьшего, но меньшее наибольшего).

Да

Нет

Да

Да

Нет

Нет

Да

Да

Нет

Нет

Блок-схема алгоритма начинается и заканчивается символом «терминатор» с текстом «Начало» и «Конец» соответственно.

Перед началом выполнения алгоритма необходимо получить исходные данные из внешней среды (например, с клавиатуры пользователя). В символе «ручной ввод» указано, что в программу вводятся некие значения a, b и c.

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

Символ «решение» позволяет указать, по какому пути должен выполняться алгоритм в случае истинности или ложности некоторого проверяемого условия.

Сначала проверяется, больше ли а, чем b. Если больше, необходимо проверить отношение между b и c. Если b больше c, значит, что b является средним (a больше, чем b, и b больше, чем c) и далее его значение выводится на экран. В случае, если c больше чем b, необходимо сравнить c с a. Меньшее из них и будет средним числом.

В случае, если в результате первой проверки условия a > b алгоритм выполняется по ветви «Нет», логика рассуждений остается прежней.

Следует обратить внимание, что в итоге все линии из символов «дисплей» сливаются в одну, которая входит в конечный символ «терминатор», так как любой алгоритм имеет только один вход и только один выход.

1. Определить, является ли заданное число однозначным, двузначным или трехзначным.

2. Определить, состоит ли двузначное число из одинаковых цифр.

3. Даны вещественные положительные числа x, y, z. Выяснить, существует ли треугольник с длинами сторон x, y, z.

4. Даны три вещественных числа. Выбрать из них те, которые принадлежат интервалу (1, 3).

5. Даны вещественные числа a, b, c, d. Найти min{max{a, b}, max{c, d}}.

6. Даны вещественные числа x, y. Если x, y отрицательны, каждое значение заменить его модулем; если отрицательное только одно из них, оба значения увеличить на 0.5; если оба значения не отрицательны, и ни одно из них не принадлежит отрезку [0.5, 2.0], то оба значения уменьшить в 10 раз; в остальных случаях x, y оставить без изменения.

7. Определить и вывести на печать номер квадранта, в котором расположена точка М(x,y), где x и y заданные вещественные числа.

8. Заданы 4 числа a, b, c, d. Известно, что одно отлично от других, равных между собой. Вывести это число на экран.

9. Определить, какая из двух точек – M1(x1, y1) или M2(x2, y2) – расположена ближе к началу координат. Вывести на экран дисплея координаты этой точки.

10. Определить, какая из двух фигур (круг или квадрат) имеет большую площадь. Известно, что сторона квадрата равна а, радиус круга r. Вывести на экран название и значение площади большей фигуры.

11. Определить, попадает ли точка M(x, y) в круг радиусом r с центром в точке (x0, y0).

12. Дано целое число в диапазоне 100–999. Вывести строку – словесное описание данного числа, например: 256 – «двести пятьдесят шесть», 814 – «восемьсот четырнадцать».

13. Даны три переменные: x, y, z. Если их значения упорядочены по убыванию, то удвоить их; в противном случае заменить значение каждой переменной на противоположное.

14. Дано четырехзначное число. Определить, кратно ли четырем произведение его цифр.

15. Определить, является ли треугольник, заданный координатами вершин (x1, y1), (x2, y2), (x3, y3) равносторонним.

16. Определить, верно ли, что при делении неотрицательного целого числа a на положительное число b, получается остаток, равный одному из двух заданных чисел r или s.

17. Даны три вещественных числа. Определить, имеется ли среди них хотя бы одна пара взаимно противоположных чисел.

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

19. Определить, сможет ли шар радиуса r пройти в ромбообразное отверстие со стороной p и острым углом q.

20. Проверить, можно ли из четырех данных отрезков составить параллелограмм.