[МУЗЫКА] Мы с
вами говорили,
что к основным алгоритмическим конструкциями у нас относятся: простая
последовательность, кроме того, это конструкция выбора и циклы.
Давайте посмотрим на каждую из этих конструкций и поймем,
как она выглядит и какие правила её работы мы с вами должны знать.
Начнем с самой простой алгоритмической конструкции — это простая
последовательность действий.
В виде блок-схемы она выглядит как действия, расположенные одно за другим,
а если мы рассмотрим псевдокод,
то те же самые действия расположены просто на отдельных строчках.
Здесь действия будут выполняться последовательно, здесь не будет ни
повторов и никакого выбора действий, то есть действие следует одно за другим.
Далее у нас с вами есть вторая разновидность алгоритмических конструкций
— это конструкция выбора.
У неё есть различные варианты.
Начнём с самого простого.
Простейшая условная конструкция в виде блок-схемы выглядит так: у нас есть
ромбовидный блок выбора, и от него идут две стрелки.
При истинном условии мы видим, что будут выполняться некоторые действия,
а если условие ложно, то никаких действий у нас с вами выполняться не будет.
Важное место — это то, где стрелки наши с вами встречаются,
Это место, где действие нашего условия заканчивается.
Если мы рассмотрим ту же самую конструкцию на псевдокоде, то она будет выглядеть
так: если <условие>, то затем <действие> и после этого ключевое слово «всё»,
которое показывает, что данная конструкция у нас с вами завершилась.
Так вот, мы понимаем, что при истинном условии действия будут выполняться,
а при ложном условии никаких действий выполняться не будет.
И слово «всё» соответствует тому месту,
где у нас в блок-схеме встречаются наши стрелки.
Это то место, где действия нашего условия заканчивается.
Теперь рассмотрим расширенную условную конструкцию.
В расширенной условной конструкции есть два варианта действий.
Если мы посмотрим на блок-схему, то опять есть ромбовидный блок выбора,
и из него выходят две стрелки.
Первая, при истинном условии, показывает,
что будут выполняться действия 1 и только они, вторая, при ложном условии,
показывает, что в это случае будут выполняться только действия 2.
Если мы рассмотрим ту же самую конструкцию на псевдокоде, то она выглядит так: если
<условие>, то действия первые, в противном случае действия вторые.
И опять закрывается наша конструкция ключевым словом «всё».
Обращаю ваше внимание, что здесь могут выполняться либо первые действия,
либо вторые.
Так, чтобы выполнялись и те, и другие сразу, быть никогда не может.
И эта конструкция предполагает,
что мы выбираем из двух вариантов действий: первого и второго.
Если же у нас с вами есть большее количество вариантов,
то тогда применяется другая – третья конструкция.
Она называется, собственно, «выбор».
Рассмотрим, как она выглядит.
В виде блок-схемы она выглядит так: у нас есть блок выбора,
и в нём показано некоторое значение.
В зависимости от этого значения (в общем случае это может быть выражением) мы
будем выполнять одно из нескольких действий, то есть в зависимости от того,
какое значение примет это выражение, у нас будут разные действия.
Например, при n = 1, это будут первые действия и только они, при n = 2,
только вторые действия и так далее и тому подобное.
Сколько-то этих вариантов, ну, в данном случае я считаю, что их k, и ещё
может быть одна ветвь «иначе», которая будет показывать нам, какие действия будут
выполняться, если ни одно из значений этой переменной у нас не получилось.
Если мы рассмотрим псевдокод, соответствующий этой конструкции,
то он выглядит так: ключевое слово «выбор» (оно подчёркивается),
затем в круглых скобках у нас идёт выражение, в зависимости от значения
которого мы с вами будем выполнять действие, потом идут наборы действий,
и в квадратных скобках показано, что может быть ветвь «иначе».
Если у нас с вами ветвь «иначе» будет существовать,
то тогда будут выполняться наши с вами последние действия.
Ключевое слово «конец выбора» показывает нам, где завершается наша конструкция.
В качестве примера использования условной конструкции рассмотрим постановку и
алгоритм решения следующей задачи.
Нам нужно вычислить номер четверти,
которой принадлежит точка с заданными координатами x, y.
Если точка расположена на оси, ну, или на обеих осях,
то мы предусмотрим отдельное сообщение.
Давайте вспомним, как выглядит нумерация четвертей в математике.
Каждой из четвертей, как известно, соответствуют свои условия.
Итак, вот перед нами координатная плоскость,
и первой четверти соответствует условие положительного x и положительного y.
Далее четверти нумеруются против часовой стрелки.
Следующая четверть вторая: тут будет отрицательный x и положительный y.
В третьей четверти обе координаты у нас будут отрицательные,
а в четвертой будет положительный x, но отрицательный y.
И теперь давайте запишем постановку этой задачи.
Нам с вами даны в качестве исходных данных координаты точки.
Результатом является номер этой четверти либо сообщение о том,
что точка находится на оси.
Ограничения на исходные данные тут нет,
то есть любые значения x и y считаются допустимыми.
И наконец, в качестве связи мы можем рассмотреть следующий набор условий: n
сделаем равным 0, если у нас какая-нибудь из координат равна 0,
то есть если точка попадает на одну или обе оси.
И дальше у нас с вами n = 1 соответствуют первой четверти,
то есть положительному x и положительному y.
2 соответствует второй четверти, ну и так далее все
эти условия соответствуют изображению на предыдущем рисунке.
Теперь посмотрим, как будет выглядеть алгоритм решения этой задачи.
Алгоритм назовём «номер четверти» и сначала
напишем ключевое слово «нач», подчеркнем его и потом сделаем отступ.
Сначала мы выводим сообщение о том,
какую задачу мы решаем: мы определяем номер четверти.
Затем мы сообщаем пользователю, какие исходные данные нам нужны.
В данном случае это координаты точки.
Мы вводим эти координаты и затем начинаем решать собственно задачу.
Сначала удобно присвоить номеру четверти 0,
и тогда это начальное значение сохранится, если мы не обнаружим,
что точка находится в какой-нибудь из четвертей.
Теперь рассматриваем первую четверть.
Если обе координаты положительные, то тогда мы номеру четверти присвоим 1.
В противном случае мы смотрим, не является ли наша четверть второй, то есть если
у нас отрицательное x, но положительное y, тогда присваиваем n двойке.
Дальше продолжаем.
В противном случае, если у нас четверть ни первая и ни вторая,
то тогда мы с вами рассмотрим условия третьей четверти,
то есть обе координаты отрицательные и n присвоим 3.
Остается у нас с вами последняя, четвертая четверть.
Тоже рассматриваем соответствующее условие, и если оно выполняется,
то тогда n присваиваем четырем.
Теперь начинаем закрывать наши условия.
Начинаем с самого вложенного, то есть с условия четвертой четверти.
Затем закрываем то, которое было перед ним, и так далее все условия закрываются.
Здесь важно понимать, что когда мы с вами рассматриваем четвертую четверть,
всё равно условие про неё обязательно должно быть записано, то есть в последнем
условии недостаточно написать просто «иначе», чтобы у нас с вами не получилось,
что часть точек, расположенных на оси, попадает в четвертую четверть.
Теперь нужно проанализировать, каков наш результат.
Если у нас с вами n осталось равным 0,
значит результатом должно быть сообщение «точка на оси».
Если это не так, то мы выводим с вами номер четверти.
Это отдельная условная конструкция,
и мы с вами либо выводим сообщение, либо выводим сообщение о том,
что мы нашли номер четверти и собственно номер четверти.
Опять же в условной конструкции у нас с вами все ключевые слова подчеркнуты.
Наш алгоритм завершается словом «кон».
Конец.
[МУЗЫКА]
[МУЗЫКА]