Определите какие предложения соответствуют полной форме ветвления
Перейти к содержимому

Определите какие предложения соответствуют полной форме ветвления

  • автор:

Определите какие предложения соответствуют полной форме ветвления

Блок-схема алгоритмической структуры ветвления может быть представлена в двух формах: полной и неполной (рис. 1.19).

Рис. 1.19. Разветвляющаяся структура, записанная на языке блок-схем

Следует иметь в виду, что Действие 1 и Действие 2 — это условные обозначения. Они могут обозначать как одну команду, так и серию команд.

Рассмотрим, как будет действовать исполнитель в случае полной разветвляющейся структуры на следующей задаче.

ЗАДАЧА 1.3. Пользователь вводит два числа, нужно найти максимальное значение. Блок-схема алгоритма представлена на ‎рис. 1.20.

Рис. 1.20. Блок-схема алгоритма с использованием полной формы структуры ветвления

После ввода значений a и b исполнитель вынужден сравнить значения а и b между собой. Если значение a>b, то будет выполнено присваивание. Переменной max присвоить значение a. В противном случае (ab) значение переменной max будет определено равным b.

Эта же задача может быть решена с помощью неполного ветвления, например так ‎(рис. 1.21):

Рис. 1.21. Блок-схема алгоритма с использованием неполной формы структуры ветвления

После ввода значений a и b переменной max будет присвоено значение a. На следующем шаге алгоритма исполнитель сравнит значения b и max между собой. Если значение b>max, то переменной max будет присвоено значение b. В противном случае исполнитель перейдет к следующему после ветвления действию алгоритма. В результате работы алгоритма будет выведено значение переменной max.

Помогите пожалуйста с Самостоятельной работой по теме: Алгоритм Ветвления

Вариант 1
1)Напишите выражение для полной и неполной формы ветвления.
2)Составьте блок-схему для алгоритма вывода графика функции y= | y=2x; x>(равно)0 y=x (в квадрате) x3)Составьте блок-схему для алгоритма поездки в Автобусе.Если есть хотя бы 19 рублей, то едем в автобусе. Поясните в данном случае полная или неполная форма ветвелния.
Вариант 2
1)Напишите выражение для полной и неполной формы ветвления.
2)Составьте блок-схему для алгоритма вывода графика функции y= | y=x/3; x(равно)0
3)Составьте блок-схему для алгоритма получения паспорта.Если тебе 14 лет, то надо получать паспорт.

Помогите пожалуйста,а то я болел а тему прошли эту

Голосование за лучший ответ

1)Если идет дождь, то я возьму зонт, иначе пойду так (полная форма ветвления)
Если завтра пойдет дождь, то я возьму зонт (неполная форма)
2) Ввод (х)
Если х≥0
да нет
У=2х У=х в квадрате
Вывод (у)

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

§ 12. Алгоритмическая конструкция ветвление

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

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

Алгоритмическая конструкция ветвление обеспечивает выполнение одной или другой последовательности команд в зависимости от истинности или ложности некоторого условия.

Ветвление может изображаться на блок-схеме следующим образом:

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

Для записи конструкции ветвления в языке программирования Pascal используется команда if . Формат записи команды:

if условие > then

Строка if условие > then является заголовком ветвления. Эту строку можно прочитать следующим образом: «Если условие верно, то». После слова then записывается последовательность команд 1, которая выполнится, если условие истинно. После слова else записывается последовательность команд 2, которая выполнится, если условие ложно. Слова begin и end; в данном случае играют роль операторных скобок. Обратите внимание, что перед словом else точка с запятой не ставится.

Ветвление может быть записано в полной или сокращенной форме.

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

На блок-схеме сокращенная форма ветвления изображается следующим образом:

На языке программирования Pascal команда запишется следующим образом:

Алгоритм может содержать более одной конструкции ветвления (пример 12.3).

Пример 12.4. Решим задачу if 1 из встроенного задачника.

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

Вначале Робот должен сдвинуться вправо. Если стена снизу, то сверху свободно и можно обойти стену сверху, в противном случае Робот обходит стену снизу.

После обхода стены Робот закрашивает клетку. Алгоритм можно записать следующим образом:

Если сверху свободно, то

вверх; вправо; вниз;

вниз; вправо; вверх;

Пример 12.5. Робот находится на неизвестной клетке поля без линий. Он должен закрасить клетку слева от себя.

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

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

12.2. Составные условия

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

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

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

С логическими операциями над высказываниями вы уже знакомы. В PascalABC используются следующие логические операции:

Логическая операция Запись в PascalABC
Не Not
И And
Или Or

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

Отрицанием условия FreeFromLeft будет условие not FreeFromLeft . Однако условие «слева не свободно» означает, что там стена. Поэтому вместо условия not FreeFromLeft может быть использовано условие WallFromLeft . Отрицания для других условий показаны в таблице:

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

В ботанике под ветвлением побегов понимают процесс образования боковых побегов у растений.

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

Ветвления используются в дорожной разметке и картографии.

Пример 12.1. Выбор обуви весной, в зависимости от погоды:

Если на улице дождь, то

надеть резиновые сапоги

В данном примере в текущий момент времени может быть выполнена только одна команда из двух: или надеть сапоги, или надеть туфли.

Блок-схема данного алгоритма будет выглядеть следующим образом:

Пример 12.2. Выход на улицу осенью.

Если на улице дождь, то

В данном примере используется сокращенная форма команды ветвления. Если условие выполнено, то выполняется команда «взять зонт». Если условие ложное, то никаких действий не происходит. Команда «выйти на улицу» выполняется всегда независимо от истинности или ложности условия.

Блок-схема данного алгоритма будет выглядеть следующим образом:

Пример 12.3. Имеется три монеты, среди которых одна фальшивая. Известно, что фальшивая монета легче настоящих монет. Требуется найти фальшивую монету за минимальное число взвешиваний на чашечных весах без гирь.

Представим словесное описание алгоритма решения этой задачи.

Положить на каждую чашу весов монеты 1 и 2

Если весы в равновесии, то

фальшивая монета 3

Если монета 1 тяжелее, то

фальшивая монета 2

фальшивая монета 1

Пример 12.4. Одна из возможных начальных обстановок:

Другая возможная начальная обстановка:

Программа для исполнителя Робот:

Delphi/Pascal
uses Robot ;
if FreeFromUp then
up ; right ; down ;
down ; right ; up ;

Пример 12.5. Программа для исполнителя Робот:

Delphi/Pascal
uses Robot , RobTasks ;
Task ( ‘ myrob9 ’ ) ;
If FreeFromLeft then
left ; paint ;

Результаты работы программы для разных начальных обстановок:

Начальная
обстановка
Результат

Пример 12.6. Рассмотрим начальную обстановку поля Робота:

Проверим для Робота следующие составные условия:

  1. WallFromLeft and CellIsPainted .
  2. WallFromUp or WallFromDown .
  3. Not (WallFromRight or FreeFromUp) .

Первое условие состоит из двух простых: WallFromLeft (условие А ) и CellIsPainted (условие В ). Условие может быть записано как « А И В ». Это условие верно только тогда, когда верны и А , и В . Условие А — WallFromLeft — истинно, условие В — CellIsPainted — истинно, условие А И В — истинно.

Второе условие может быть записано как « А ИЛИ В », где А — WallFromUp , В — WallFromDown . Условие А — истинно, условие В — ложно. Значит, условие « А ИЛИ В » — истинно.

В третьем условии частица Not отрицает составное условие or WallFromRight FreeFromUp . Условие может быть записано как НЕА ИЛИ В »). Для того чтобы определить, истинно или ложно это условие, нужно сначала определить истинность условия « А ИЛИ В ». Условие А — ложно, условие В тоже ложно. Поэтому ложным будет и условие « А ИЛИ В », но тогда условие НЕ « А ИЛИ В » будет истинным.

1 Что такое алгоритмическая конструкция ветвление?

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

2 Что такое составное условие?

  • Условие для исполнителя Робот.
  • Гысказывание, которое всегда ложно.
  • Условие, которое образуется из нескольких простых условий, соединенных друг с другом логическими операциями.
  • Высказывание, которое всегда истинно.

3 Какие логические операции можно использовать для записи составных условий?

Упражнения

  1. 1 Выделите конструкцию ветвления в отрывке из поэмы А. С. Пушкина «Руслан и Людмила» и изобразите ее с помощью блок-схемы.

У лукоморья дуб зеленый;

Златая цепь на дубе том:

И днем и ночью кот ученый

Все ходит по цепи кругом;

Идет направо — песнь заводит,

Налево — сказку говорит.

Там чудеса: там леший бродит,

Русалка на ветвях сидит… 1

1 Пушкин, А. С. Руслан и Людмила : поэма. — М. : Изд. Дом «Прибой». — 1996. — С. 5.

  1. 2 Для заданной обстановки поля Робота определите, какие из составных условий истинны, а какие ложны.

3* В задании 2 замените условия, содержащие not , соответствующими условиями без использования отрицания.

4 Для каждого из ложных условий задания 2 придумайте обстановку, в которой данное условие будет верным, а для каждого истинного — обстановку, в которой условие будет ложным.

  1. Решите задачи if 2 и if 3 из встроенного задачника.

Алгоритм ветвления. Отличие от алгоритмов линейной структуры

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

В предыдущей статье шла речь об алгоритмах, их особенностях и свойствах. Особое внимание было уделено линейной структуре как самому простому способу реализации. Сегодня поговорим о более сложных алгоритмах, обладающих разветвлённой структурой. Но прежде чем продолжать, следует кое-что вспомнить.

Алгоритм – это ясный перечень действий, который направлен на решение какой-либо задачи. Одно из свойств алгоритма — дискретность. Дискретность связана с наличием в алгоритмической последовательности ряда операций (этапов, действий), выполняемых пошагово, то есть дискретно. Алгоритм обладает свойством дискретности, так как он представляет собой процесс решения задачи в виде последовательного выполнения простых шагов. И каждое действие исполняется лишь после окончания исполнения предыдущего. Также предполагается наличие определённых исходных данных и результата выполнения.

Блок-схема — графический способ описания алгоритмов. Графическое представление обеспечивает наглядность и упрощает запись, делая последовательность более понятной. При использовании схемы каждому действию соответствует определённая геометрическая фигура (эти фигуры называют блоками). Вот наиболее часто употребляемые:

1-1801-45f906.png

Ещё раз о линейности

Линейная последовательность — самая простая из возможных структур. При наличии линейности команды выполняются в чёткой последовательности и в порядке их записи, то есть друг за другом. Вот линейная алгоритмическая последовательность посадки дерева: 1) выкапывание ямки в земле; 2) размещение в ямке саженца; 3) закапывание ямки; 4) поливание места посадки водой.

Такой линейный алгоритм имеет следующую блок-схему:

2-1801-c5c0b7.png

А вот и общая схема линейного алгоритма:

3-1801-35f267.png

Ветвление в алгоритмических последовательностях

На практике очень редко встречается, чтобы последовательность всех требуемых действий была известна заранее. Если на минуту покинуть мир алгоритмизации и программирования, можно спроецировать ветвление на многие жизненные ситуации. Если на улице дождь, человек берёт зонт, если очень жарко, будет выбрана одежда полегче и т. д. Всё зависит от условия выбора. Как тут не вспомнить рыцаря на распутье из русских народных сказок?

4-1801-2c4a5c.png

«Направо пойдёшь — жену найдёшь, налево пойдешь — богатым будешь, прямо пойдёшь — смерть найдёшь».

Подобная ситуация заставляет принимать решения с учётом определённого условия. Если нужна жена, то витязь идёт направо, если богатство, то налево, если жизнь не мила, то прямо. Условия, которые влияют на решение, располагаются между словами «если» и «то».

От значения условий зависит дальнейшее поведение. Когда условие выполняется, оно принимает значение «истина», когда нет — «ложь». Иногда анализ ситуации и выбор не вызывают особых затруднений, а иногда принять решение очень трудно. А всё потому, что принимающий решение пытается продумать каждый из вариантов и предугадать последствия выбора. Нельзя не вспомнить гроссмейстера, который анализирует позицию на ходы вперёд, прежде чем передвинуть фигуру на шахматной доске.

Компьютерные программы и игры тоже построены на выборе действий. А блок-схема при наличии ветвления приобретает иной вид:

4.1-1801-fa94a6.png

Логика разветвляющих алгоритмов

Логику можно описать следующим образом:

ЕСЛИ ТО ИНАЧЕ

Ветвление — метод и форма организации действий, когда в зависимости от выполнения определённого условия совершается та либо иная последовательность шагов.

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

5-1801-c7b186.png

Для закрепления можно решить задачу.

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

Решение легко описывается посредством схематических блоков:

6-1801-145fea.png

Следующий пример легко экстраполируется в жизнь. Речь идёт об алгоритме для перехода дороги при наличии светофора. Он имеет следующий вид: 1. Подходим к светофору. 2. Смотрим, какой горит свет. 3. Если зелёный, переходим дорогу. 4. Если красный, ждём, пока загорится зелёный, а потом переходим дорогу.

7-1801-391350.png

Программный способ записи

Чтобы алгоритм было понятен компьютеру, машине и любой другой цифровой системе, следует оформить его в таком виде, который эта система способна воспринимать. То есть надо написать программу, используя для этого команды из СКИ. СКИ — это список команд исполнителя — перечень команд, ему понятных. А любой исполнитель способен исполнить лишь те команды, которые включены в его СКИ, а если говорить человеческим языком — входят в набор его компетенций.

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

Простейший пример описания алгоритма с разветвляющейся структурой — условный оператор IF. Полная конструкция этого условного оператора имеет следующий вид:

ifthenelse

Здесь if — это «если», then — это «то», else — «иначе».

Условный оператор работает просто: — вычисляется значение логического выражения, которое расположено после служебного слова IF; — если результат — истина, выполняется оператор 1, который размещён после THEN, причём действие после ELSE пропускается; — если результат — ложь, пропускается уже действие после THEN, а действие после ELSE выполняется с помощью оператора 2.

Теперь можно вспомнить пресловутого витязя на распутье и написать простую программу, реализующую этот алгоритм с помощью соответствующих условных операторов.

 
program Algoritm_vetvlenia; Var x :string; Begin WriteLn ('Витязь, куда путь держишь?'); ReadLn (x); If x='Направо' then writeLn ('Направо пойдёшь — жену найдёшь'); If x='Налево' then writeLn ('Налево пойдешь — богатым будешь'); If x='Прямо' then writeLn ('Прямо пойдёшь — смерть найдёшь'); ReadLn; End.

Попробовать этот алгоритм в работе можно на любом онлайн-компиляторе, поддерживающим Pascal. Но не стоит на этом останавливаться — лучше всего написать собственную программу, что позволит получить максимальную пользу от урока.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *