Что такое составное условие
Что такое составное условие
Продолжаем изучать язык программирования Паскаль. Рассмотрим первую алгоритмическую конструкцию, которая изучается при изучении языка — условие (ветвление). Статья предназначения для начинающих программистов, а также для учителей информатики. Задачи в конце статьи помогут закрепить знания и проверить себя.
Алгоритмическая конструкция УСЛОВИЕ используется в тех случаях, когда перед нами стоит выбор: сделать так или иначе.
Неполное условие
Блок-схема неполного условия выглядит следующим образом:
На языке Паскаль данная алгоритмическая конструкция выглядит следующим образом:
IF условие THEN действие;
Если условие, стоящее после IF истинно, то выполняется действие, стоящее после слова THEN.
Условие — это выражение, которое может быть либо истинным, либо ложным. Условие обязательно содержит логические операторы , =, =, <> (не равно).
Например:
Если введенное значение переменной a равно 7, то на экране мы увидим слово Привет! Если не равно — то на экран ничего выводится не будет.
Рассмотрим другой пример:
Что мы увидим на экране, введя число 7? Увидим:
Что мы увидим на экране, введя число 10?
Почему так? Почему До встречи выводится на экран в любом случае? Команда
не относится к конструкции If-Then
Как сделать так, чтобы оба действия относились к конструкции If-Then?
Необходимо заключить эти действия в так называемые операторные скобки: begin… end;
end.
Теперь, если мы введем число 10, то на экране ничего не увидим.
Составное (сложное) условие
Иногда приходится использовать сложное условие. Для его составления используются логические союзы: and или or.
Например:
a>7 и a 17.
Используя конструкцию If-Then, найти максимальное среди трех введенных чисел.
Решение
Полное условие
Блок-схема полного условия выглядит так:
Полное условие. Блок-схема
IF условие THEN действие_1 ELSE действие_2;
(перед else точка с запятой не ставится)
Задачи для самостоятельного выполнения:
Составные условия
Урок 17. Творческие задания в Sсratch 5-6 классы
В данный момент вы не можете посмотреть или раздать видеоурок ученикам
Чтобы получить доступ к этому и другим видеоурокам комплекта, вам нужно добавить его в личный кабинет, приобрев в каталоге.
Получите невероятные возможности
Конспект урока «Составные условия»
· Операторы составных условий.
Пока исполнение каждого ветвления у наших спрайтов зависело лишь от какого-то одного условия, но в жизни всё бывает несколько сложнее. Часто наступление какого-то события зависит от целой группы условий. Рассмотрим несколько примеров сложных условий. Васю на уроке математики вызвали к доске, он понимает, что для того, чтобы получить пятёрку за четверть, он должен получить пятёрку за ответ сейчас и получить пятёрку за контрольную через неделю. И если хотя бы одно из условий не будет выполнено, то он получит не пятёрку, а четвёрку.
Ещё один пример: результат перемножения двух чисел будет равен нулю, если первый множитель равен нулю или второй множитель равен нулю. Такие условия называются составными, они состоят из простых условий, соединённых логическими операциями.
А что такое логические операции? В приведённых примерах они обозначены союзами «и» и «или». На самом деле их много, но пока мы познакомимся всего с тремя. Для этого в Scratch, на вкладке «Скрипты», перейдём в категорию «Операторы». Сегодня нас интересуют эти три блока. Их форма такая же, как у сенсоров, а значит, они вставляются в другие блоки. При этом в самих блоках есть ячейки. Форма этих ячеек подсказывает, что в них вставляются сенсоры или такие же блоки с логическими операциями.
Рассмотрим эти блоки по порядку. Блок «и» позволяет соединить два условия. Получившееся при этом условие будет истинно, только если оба соединяемых условия истинны. В любом другом случае получившееся условие будет ложно. Блок «или» также позволяет соединить два условия, при этом получившееся условие будет истинно, если хотя бы одно из соединяемых условий «Истинно». Ложно получившееся условие будет лишь тогда, когда оба соединяемых условия будут ложны. В блоке «Не» всего одна ячейка для условия. Этот блок меняет истинность исходного условия на противоположную. То есть, если исходное условие истинно, то условие, полученное с помощью него и этого блока, будет ложно и наоборот. Как видим, принцип работы рассмотренных блоков такой же, как у соответствующих союзов и частицы в русском языке.
А теперь применим полученные знания на практике и поговорим об игре, которую мы сделаем сегодня. Игра заключается в том, чтобы закатить шар в лунку по зелёным дорожкам. Шар постоянно катится с одной и той же скоростью, пока игрок не нажмёт на левую кнопку мыши. Когда пользователь отпустит левую кнопку мыши, шар продолжит движение в направлении, противоположном курсору мыши. Если шар выйдет за пределы дорожки, игра начнётся сначала.
Удалим спрайт Царапки со сцены. В этой игре он не нужен. Перейдём на вкладку «Фон». С помощью кисти зелёного цвета и максимальной ширины нарисуем дорожки для шара. Фон оставим белым. Теперь добавим из библиотеки Scratch спрайт шара. В категории «Предметы» найдём спрайт «ball». Настроим его размер и установим его в точку, с которой будет начинаться его движение.
Дальше напишем скрипт для управления спрайтом шара. Он будет начинать работу при нажатии на зелёный флажок. В начале шар нужно установить на старт. Используем для этого блок «Перейти в. » из категории «Движение». Координаты старта можно узнать в окне информации о спрайте. Дальше нужно повернуть спрайт в направлении, в котором он будет двигаться изначально. Сделаем это с помощью блока «Повернуть в направлении». В нашем случае шар сначала должен катиться вверх, поэтому в блоке укажем направление 0 градусов.
Теперь составим часть скрипта для управления шаром. Она будет работать постоянно, поэтому разместим её внутри цикла «Всегда». Из категории «Управление» добавим в цикл блок для полной формы ветвления. В качестве условия ветвления зададим в блок условие движения шара. Подумаем, при каком условии шар должен двигаться. Вернёмся к условию задачи. В нём сказано, что шар катится, пока игрок не нажмёт левую кнопку мыши. Но также обратим внимание на то, что сказано в конце условия. Если шар выйдет за пределы дорожки, игра начнётся сначала. Это означает, что для движения шар должен оставаться на дорожке. Но как это определить? Это кажется сложным, поэтому посмотрим, как определить, что шар вышел за пределы дорожки. Это уже проще. Шар выйдет за пределы дорожки, если коснётся фона, то есть белого цвета. Если же это условие не выполняется, то есть шар не касается белого цвета, он не выходит за пределы дорожки и продолжает движение. Теперь проговорим условие движения шара полностью. Шар должен двигаться, если левая кнопка мыши не нажата и шар не касается белого цвета.
Остаётся только задать это условие в Scratch. В этом нам помогут блоки, которые мы рассмотрели сегодня чуть раньше. Они находятся в категории «Операторы». Ещё раз вспомним условие: «Левая кнопка мыши не нажата и шар не касается белого цвета». Так как в условии присутствует союз «и», используем для него соответствующий блок. В первую ячейку этого блока поместим условие, что левая кнопка мыши не нажата. Так как в условии есть частица «Не», поместим в ячейку соответствующий блок. Уже внутрь блока «не» поместим сенсор нажатия на левую кнопку мыши «Мышка нажата». Так же во второй ячейке блока «и» зададим условие, что спрайт не касается белого цвета. Для этого установим в ячейку блок «не», в который установим сенсор касания цвета. В сенсоре укажем белый цвет. При выполнении условия шар должен двигаться. Для этого установим в верхнюю часть ветвления блок «Идти» из категории «Движение». Количество шагов укажем равным 3.
Так мы описали ситуацию, когда шар двигается. Во второй части ветвления опишем ситуации, когда шар двигаться не будет. Пока опишем случай, когда будет нажата левая кнопка мыши. Для этого добавим после слова «Иначе» блок для сокращённой формы ветвления. В качестве условия установим в нём сенсор нажатия левой кнопки мыши. В условии сказано, что после того, как левая кнопка мыши будет отпущена, шар продолжит движение в направлении, противоположном курсору. Чтобы так было, изменим соответственно направление шара. Для этого сначала повернём его в направлении курсора, а потом повернём его ещё на сто восемьдесят градусов с помощью соответствующих блоков из категории «Движение».
Части, которые отвечают за движение мяча и управление готовы. Протестируем их. Для этого перейдём в режим презентации и запустим скрипт, нажав на зелёный флажок. Шар сразу начинает двигаться в направлении, противоположном курсору. Это происходит потому, что шар реагирует на нажатие левой кнопки мыши на зелёном флажке. Чтобы этого не было, добавим перед циклом паузу в одну секунду. В течение этой секунды спрайт не будет реагировать на нажатие левой кнопки мыши. Снова протестируем скрипт в режиме презентации. Шар двигается и его направление можно менять с помощью мыши. Как только шар касается белого цвета, он останавливается. Это происходит потому, что мы ещё не описали действия для этой ситуации.
Добавим для этого блок сокращённой формы ветвления, срабатывающий при касании шаром белого цвета. Пусть в этом случае шар несколько раз появится и исчезнет, после чего вернётся на старт. Для этого установим в блок ветвления цикл «Повторить». Установим количество повторений равным трём. В цикл установим блоки «Спрятаться» и «Показаться» из категории «Внешность». Чтобы появление и исчезновение шара было видно, добавим между этими блоками паузы в половину секунды. После цикла добавим в ветвление блоки, которые установят шар на старт и повернут его в нужном направлении. Также отключим вращение шара.
Перейдём в режим презентации и снова запустим скрипт. Управление шаром не изменилось. Что же произойдёт, если шар выйдет за пределы дорожки? Шар появляется и исчезает три раза и начинает своё движение со старта. Однако, если мы остановим скрипт в момент, когда шар исчез, и попробуем запустить его снова, шар не появится. Чтобы это исправить, добавим перед началом цикла блок «Показаться».
Теперь шар покажется в любом случае. Опишем условия победы. Добавим отдельный спрайт для лунки. Нарисуем его сами. Он будет представлять собой чёрный круг. В центре этого круга будет центр спрайта. Установим нужный размер лунки с помощью кнопок. Она должна быть чуть больше шара. Разместим лунку в нужном месте поля. Добавим условия победы в скрипт шара. Для этого в ветвление перед словом «иначе» добавим блок для сокращённой формы ветвления. В качестве условия установим в нём сенсор, который будет реагировать на касание спрайта лунки. В этом случае переместим спрайт в центр лунки. Теперь шар несколько раз появится и исчезнет, как и при поражении. Для этого продублируем нужные блоки. После этого завершим скрипт с помощью блока «Стоп». Также, чтобы не было проблем с перемещением спрайта по слоям, в самом начале скрипта переместим шар в верхний слой.
Наша игра готова. Перейдём в режим презентации и протестируем её. Сначала специально проиграем. При проигрыше всё работает верно. Теперь попробуем закатить шар в лунку. Всё получилось. Шар оказался в лунке, несколько раз появился и исчез, а после этого игра закончена. При желании вы можете сами дополнить игру звуками. Сохраним её в нашей рабочей папке под именем «Закати шар в лунку».
Ещё раз внимательно посмотрим на условие в большом ветвлении. Условие будет истинно, только если будут истинны оба условия в ячейках блока «И». Если хотя бы одна из частей окажется ложна, то ложно будет всё условие. Так как в обеих частях условия присутствует частица «не», условие перестанет выполняться, если будет нажата левая кнопка мыши или если шар коснётся белого цвета. Для этого случая можно составить такой блок с условием. Он противоположен первому условию. Однако если добавить перед ним частицу «Не», то новое условие будет работать так же, как и изначальное.
Составим такое условие в Scratch и установим его в блок ветвления вместо старого, после чего запустим игру и убедимся в том, что ничего не изменилось. Управление шаром осталось прежним. Точно так же, как и работа игры при выигрыше или проигрыше. Так, записывать одни и те же условия можно по-разному.
· Составными называются условия, которые состоят из простых условий, соединённых логическими операциями.
· В Scratch составные условия можно задать с помощью блоков «И», «Или» и «Не» из категории «Операторы».
· Одни и те же составные условия можно записать по-разному.
Урок информатики «Составные условия в алгоритме ветвления»
Тип урока: комбинированный
Оборудование: компьютеры, карточки с заданиями, плакаты.
Продолжительность: 2 урока по 45 минут.
I. Организационный момент.
Проверка присутствия учащихся на уроке.
Проверка готовности к уроку.
II. Проверка домашнего задания.
На доске представлены плакаты с выполненным домашним заданием. Учащиеся могут еще на перемене включиться в учебную деятельность.
III. Подготовка к усвоению нового материала.
VIII. Самостоятельная работа.
Задание 8. [3] Подготовить и решить задачу с помощью компьютера.
Ракета запускается с точки на экваторе и развивает скорость V км/с. Каков результат запуска? Если V=7,8 км/с, то ракета упадет на землю; если 7,8 16,4 то ракета покинет Солнечную систему.
Блок-схему и таблицу с тестами оформить в тетради.
Программу сохранить на дискете.
Даны три отрезка. Определить, существует ли треугольник с такими длинами сторон. Если существует, то определить его вид (равносторонний, равнобедренный, прямоугольный, произвольный). [1]
IX. Домашнее задание.
Выучить теорию п. 9.3.
В стихотворении В.Маяковского «Что такое хорошо и что такое плохо» найти фрагменты, в которых просматривается составное условие.
Составить алгоритм и программу решения задачи:
Группу детей, приехавшую в лагерь отдыха распределяют по отрядам:
X. Подведение итогов.
XI. Использованная литература
Условный оператор if и составные условия
На этом занятии поговорим об условном операторе. Что это такое? Представьте, что вам нужно вычислить модуль числа, хранящегося в переменной x. Как это сделать? Очевидно, нужно реализовать такой алгоритм.
И в этом алгоритме есть вот такое ветвление программы: при x ) : оператор
Если условное выражение истинно, то выполняется оператор, записанный в if. Иначе этот оператор не выполняется. Используя оператор ветвления, запишем программу для вычисления модуля числа:
Здесь операция изменения знака переменной x будет выполняться только для отрицательных величин, а положительные просто выводятся в консоль, минуя эту операцию.
Какие операторы сравнения существуют в Python и как они работают? Многие из них нам известны из школьного курса математики, это: