Составить программу реализующую эпизод сказки машина спрашивает куда пойдет

В языке Паскаль алгоритмическая базовая конструкция выбора может быть реализована с помощью двух структурных операторов – IF и CASE, называемых операторами выбора. С их помощью можно выбрать для выполнения один из составных операторов (или ни одного оператора).

Файлы: 1 файл

2. Организация ветвлений. Операторы выбора

В языке Паскаль алгоритмическая базовая конструкция выбора может быть реализована с помощью двух структурных операторов – IF и CASE, называемых операторами выбора. С их помощью можно выбрать для выполнения один из составных операторов (или ни одного оператора).

2.2.1. Оператор ветвления IF

Оператор IF можно представить в общей форме записи как

где конструкция «Условие» есть логическое выражение, которое принимает два значения типа BOOLEAN: TRUE, FALSE (истинно или ложно).

Само логическое выражение складывается из операций сравнения: >, >=, . Результат сравнения может быть TRUE или FALSE.

Логические выражения могут формироваться также и с помощью трех логических операций: NOT, AND, OR. Приоритеты всех используемых в Паскале операций таковы:

Программа автоматического переключения раскладки — caramba swicher

В качестве условия может быть использована и логическая переменная, например:

I and J or K —> (I and J) or K;

not X and Y —> (not X) and Y, где I, J, K, X, Y – переменные типа BOOLEAN;

В операторе IF всегда за словами THEN и ELSE должен следовать один оператор. Этим оператором может быть не только оператор присваивания, но и любой другой. Если хотя бы один из них является снова оператором IF, то полученную конструкцию называют вложением.

Такое вложение используется для уменьшения числа необходимых проверок. Этот метод часто обеспечивает большую эффективность, чем составное условие, однако одновременно он уменьшает надежность программы. Не рекомендуется использовать более двух-трех уровней вложения IF. Вложения могут идти и после слова THEN.

Первый способ предпочтительнее, чем второй, так как конструкция THEN-IF менее удобна, чем ELSE-IF. С помощью конструкции ELSE-IF чаще всего осуществляется выбор одного из нескольких альтернативных вариантов. Заметим, однако, что иногда такое вложение можно заменить на последовательность операторов короткой формы IF-THEN. Это видно на следующем примере:

var A, B, C : real; D : real;

read (A, B, C); D := sqr (B) – 4 * A — C;

else if D = 0 then write (‘Один корень’)

if D = 0 then write (‘Один корень’);

if D > 0 then write (‘Два корня’);

else write (‘Два корня’);

Рис. 2. Пример программы двух разных вложений

Однако в данном примере 2-й вариант более эффективен, так как имеет на одно сравнение меньше, и в случае D < 0 сразу же дает ответ, не делая последующих проверок.

В Паскале существует специальный оператор, позволяющий сделать выбор из нескольких альтернатив – множественное ветвление, или оператор варианта.

2.2.2. Оператор варианта CASE

Оператор варианта состоит из выражения и списка операторов, каждому из которых предшествует одна или более констант, называемых константами выбора.

Русский язык 8 класс (Урок№11 — Грамматическая (предикативная) основа предложения.)

Общая форма записи

Выражение, стоящее между CASE и OF, называется селектором. Константы (значения выражения), предшествующие двоеточию, называются метками случаев. Порядок работы оператора: сначала вычисляется значение селектора, затем выполняется оператор, одна из меток которого совпадает со значением селектора.

Читайте также:
Программа которая открывает iso

Все остальные операторы не выполняются, и управление передается следующему после END оператору. В случае короткой формы оператора CASE при несовпадении значения селектора (ключа) ни с одной из констант из списка никакой оператор не подлежит исполнению. Если же в операторе есть строка ELSE, то при несовпадении значения селектора ни с одной константой выполняется оператор, следующий за ELSE.

Выражение «селектор» может относиться к любому скалярному типу, кроме REAL. Метки случаев должны принадлежать тому же типу, что и селектор. Нежелательно, чтобы одна и та же метка появлялась более одного раза в операторе CASE. Если же это произойдет (компилятор не проверяет повторяемость меток), то выполнится тот оператор, который соответствует первому вхождению метки в список констант.

Оператор CASE особенно удобно использовать, во-первых, когда характер действий определяется значениями, которые не попадают в последовательно расположенные интервалы, во-вторых, когда нескольким дискретным значениям селектора соответствует одно и то же действие.

П р и м е р 1. Печать названия десятичных цифр.

var DIGIT: integer;

writeln (‘Введите цифру’);

9: writeln (‘девять’);

else writeln (‘это не цифра’);

П р и м е р 2. Печать номера квартала года.

var MESIATZ: 1..12;

write (‘Введите номер месяца года – ‘);

case MESIATZ of

1, 2, 3: writeln (‘Первый квартал’);

4, 5, 6: writeln (‘Второй квартал’);

7, 8, 9: writeln (‘Третий квартал’);

10, 11, 12: writeln (‘Четвертый квартал’);

Примечание. В операторе CASE формально нет условий как таковых, однако проверка условий осуществляется в неявном виде на предмет совпадения константы со значением селектора.

Лабораторная работа №2

Цель работы: научиться решать задачи на разветвляющиеся алгоритмы; научиться использовать в программах условный оператор if и оператор выбора case.

Перед выполнением работы необходимо ознакомиться с правилами записи логических выражений, операций сравнения, операторов if, case.

Пример. Дано действительное x. Для функции f, график которой представлен на рисунке, вычислить f(x).

Математическая модель: функция вычисляется по следующей формуле:

Составим схему алгоритма, детализировав все блоки (рис. 2).

Дальнейшая детализация не требуется. Переводим алгоритм на язык Паскаль.

Write(‘Введите x: ‘); Readln(x);

Рис. 3. Блок-схема ветвления в 4-х направлениях

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

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

  1. Составить программу, реализующую эпизод сказки: машина спрашивает, куда пойдет герой, и в зависимости от ответа (налево – (-1), прямо – 0, направо – 1), печатает, что произойдет с героем.
  2. Морской бой. Машина задумывает два числа от 0 до 9. Игрок пытается их угадать, вводя свои два числа. Если они совпали (в любом сочетании), то игрок выиграл.
  3. В Атлантическом океане терпит бедствие пассажирский теплоход «Посудина». Все пассажиры будут спасены, если на помощь успеют два судна. Судно продержится на плаву t часов. Скорость судов-спасателей 40 узлов. Составить программу, определяющую спасутся ли пассажиры. Известны расстояния от трех судов-спасателей до тонущего судна.
  4. Через старый мост движется поток автомашин. Одновременно на мосту могут находиться 3 машины. Если на мост въедут 3 легковых или 2 легковых и грузовик – мост выдержит. Если 2 грузовика и легковая или 3 грузовика – рухнет.

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

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

Источник: www.yaneuch.ru

Задания для самостоятельной работы

Пример. Дано действительное x. Для функции f, график которой представлен на рисунке, вычислить f(x).

Решение. Математическая модель: функция вычисляется по следующей формуле:

Составим схему алгоритма, детализировав все блоки:

Дальнейшая детализация не требуется. Переводим алгоритм на язык Паскаль.

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

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

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

  1. Составить программу, реализующую эпизод сказки: машина спрашивает, куда пойдет герой, и в зависимости от ответа (налево – (-1), прямо – 0, направо – 1), печатает, что произойдет с героем.
  2. Морской бой. Машина задумывает два числа от 0 до 9. Игрок пытается их угадать, вводя свои два числа. Если они совпали (в любом сочетании), то игрок выиграл.
  3. В Атлантическом океане терпит бедствие пассажирский теплоход «Посудина». Все пассажиры будут спасены, если на помощь успеют два судна. Судно продержится на плаву t часов. Скорость судов-спасателей 40 узлов. Составить программу, определяющую спасутся ли пассажиры. Известны расстояния от трех судов-спасателей до тонущего судна.
  4. Через старый мост движется поток автомашин. Одновременно на мосту могут находиться 3 машины. Если на мост въедут 3 легковых или 2 легковых и грузовик – мост выдержит. Если 2 грузовика и легковая или 3 грузовика – рухнет.

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

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

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

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

4.3. Организация циклов. Операторы повторения

Оператор цикла задает повторное выполнение определенных операторов. Для реализации циклов в Паскале предусмотрены три различных структурных оператора: WHILE, REPEAT, FOR. Первые два используются, если число повторений (итераций) заранее не определено, но известно условие завершения цикла. Оператор FOR применяется тогда, когда число повторений тела цикла известно заранее.

Источник: studfile.net

Решение задач с разветвляющим алгоритмы

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

Блок схема алгоритма выглядит, как последовательность действий.

Читайте также:
Программа чтобы сделать бороду на Айфон

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

Каждый этап вычислительного процесса представляется геометрическими фигурами (блоками). Они делятся на арифметические или вычислительные (прямоугольник), логические (ромб) и блоки ввода-вывода данных (параллелограмм).

Задание 1. Определить расстояние на плоскости между двумя точками с заданными координатами M1(x1,y1) и M2(x2,y2).

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

Выполните самостоятельно

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

Вариант 1.Дана длина ребра куба. Найти объем куба и площадь его боковой поверхности.

Вариант 2.Известна длина окружности. Найти площадь круга, ограниченного этой окружностью.

Вариант 3.Вычислить высоту треугольника, опущенную на сторону а, по известным значениям длин его сторон a, b, c.

Вариант 4.По данным сторонам прямоугольника вычислить его периметр, площадь и длину диагонали.

Решение задач с разветвляющим алгоритмы

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

Такие задачи можно описать с помощью алгоритмов разветвляющейся структуры. В таких алгоритмах выбор направления продолжения вычисления осуществляется по итогам проверки заданного условия. Ветвящиеся процессы описываются оператором IF (условие ЕСЛИ).

Для решения многих задач характерно многократное повторение отдельных участков вычислений. Для решения таких задач применяются алгоритмы циклической структуры (циклические алгоритмы).

Задание 3.Даны целые числа X, Y. Определить, принадлежит ли точка с координатами X, Y кругу радиуса R.

Вывести на экран сообщение «Принадлежит» или «Не принадлежит».

Дана блок схема . Составьте алгоритм в псевдокодах

Выполните самостоятельно

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

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

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

Вариант 3.В Атлантическом океане терпит бедствие пассажирский теплоход «Посудина».

Все пассажиры будут спасены, если на помощь успеют два судна. Судно продержится на плаву 2 часа. Скорость судов-спасателей 40 узлов/ч. Составить программу, определяющую спасутся ли пассажиры.

Известны расстояния судов-спасателей до тонущего судна, равны 30 км и 45 км

Узел- морская миля в час- мера скорости. А вот в миле- 1852 метра.час.

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

Популярное:

Модели организации как закрытой, открытой, частично открытой системы: Закрытая система имеет жесткие фиксированные границы, ее действия относительно независимы.

Личность ребенка как объект и субъект в образовательной технологии: В настоящее время в России идет становление новой системы образования, ориентированного на вхождение.

Почему люди поддаются рекламе?: Только не надо искать ответы в качестве или количестве рекламы.

Почему человек чувствует себя несчастным?: Для начала определим, что такое несчастье. Несчастьем мы будем считать психологическое состояние.

Почему 1285321 студент выбрали МегаОбучалку.

Система поиска информации

Источник: megaobuchalka.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru