[МУЗЫКА] Мы с вами говорили, что к основным алгоритмическим конструкциями у нас относятся: простая последовательность, кроме того, это конструкция выбора и циклы. Давайте посмотрим на каждую из этих конструкций и поймем, как она выглядит и какие правила её работы мы с вами должны знать. Начнем с самой простой алгоритмической конструкции — это простая последовательность действий. В виде блок-схемы она выглядит как действия, расположенные одно за другим, а если мы рассмотрим псевдокод, то те же самые действия расположены просто на отдельных строчках. Здесь действия будут выполняться последовательно, здесь не будет ни повторов и никакого выбора действий, то есть действие следует одно за другим. Далее у нас с вами есть вторая разновидность алгоритмических конструкций — это конструкция выбора. У неё есть различные варианты. Начнём с самого простого. Простейшая условная конструкция в виде блок-схемы выглядит так: у нас есть ромбовидный блок выбора, и от него идут две стрелки. При истинном условии мы видим, что будут выполняться некоторые действия, а если условие ложно, то никаких действий у нас с вами выполняться не будет. Важное место — это то, где стрелки наши с вами встречаются, Это место, где действие нашего условия заканчивается. Если мы рассмотрим ту же самую конструкцию на псевдокоде, то она будет выглядеть так: если <условие>, то затем <действие> и после этого ключевое слово «всё», которое показывает, что данная конструкция у нас с вами завершилась. Так вот, мы понимаем, что при истинном условии действия будут выполняться, а при ложном условии никаких действий выполняться не будет. И слово «всё» соответствует тому месту, где у нас в блок-схеме встречаются наши стрелки. Это то место, где действия нашего условия заканчивается. Теперь рассмотрим расширенную условную конструкцию. В расширенной условной конструкции есть два варианта действий. Если мы посмотрим на блок-схему, то опять есть ромбовидный блок выбора, и из него выходят две стрелки. Первая, при истинном условии, показывает, что будут выполняться действия 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, значит результатом должно быть сообщение «точка на оси». Если это не так, то мы выводим с вами номер четверти. Это отдельная условная конструкция, и мы с вами либо выводим сообщение, либо выводим сообщение о том, что мы нашли номер четверти и собственно номер четверти. Опять же в условной конструкции у нас с вами все ключевые слова подчеркнуты. Наш алгоритм завершается словом «кон». Конец. [МУЗЫКА] [МУЗЫКА]