Главная → Уроки → Информатика 8 класс

§ 4.4. Программирование разветвляющихся алгоритмов

Прочитай параграф о программировании ветвлений на Паскале — полной и неполной форме условного оператора, операторных скобках, составных условиях и вложенных ветвлениях — и ответь на 10 вопросов.

Не получается разобраться? Бесплатный ИИ-репетитор по информатике 8 класс разберёт ошибку по шагам и не даст списать.

Линейная программа выполняет одни и те же операторы при любых данных. Но часто действие зависит от данных: делитель может оказаться нулём, а число — отрицательным. Выбирать в Паскале помогает условный оператор.

Условный оператор

Слова if, then и else по-русски значат «если», «то» и «иначе». Полная форма условного оператора такая:

if <условие> then <оператор 1> else <оператор 2>

Сначала вычисляется условие. Когда оно истинно, выполняется оператор 1, когда ложно — оператор 2. В неполной форме части else нет:

if <условие> then <оператор>

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

Две блок-схемы рядом. Слева полная форма: сверху ромб «условие», из него стрелка «да (then)» ведёт вправо вниз к прямоугольнику «оператор 1», стрелка «нет (else)» — влево вниз к прямоугольнику «оператор 2»; ниже обе ветки сходятся в одну линию. Справа неполная форма: ромб «условие», стрелка «да (then)» ведёт к прямоугольнику «оператор», а стрелка «нет» обходит его сбоку и сразу соединяется с линией ниже
Рис. 1. Полный и неполный условный оператор: ветка then — при истинном условии, else — при ложном.

Перед else точку с запятой не ставят: она разделяет операторы, а конструкция от if до конца ветки else — это один оператор.

Дано: пользователь набрал 47 6. Что выведет программа?

program delenie; var a, b: integer; begin read(a, b); if b <> 0 then writeln(a div b, ' и остаток ', a mod b) else writeln('На ноль делить нельзя') end.

Ответ: 7 и остаток 5. Делитель 6 не равен нулю, условие истинно, поэтому работает ветка then, а ветка else пропускается.

Операторные скобки

После then и после else стоит ровно один оператор. Если в ветке нужно несколько действий, их окружают словами begin и end — операторными скобками. Получается составной оператор, и транслятор считает его одним.

Хочешь больше времени в телефоне?

В Family Track телефон открывается за уроки: прочитал параграф, сдал тест и получил минуты. Сколько минут стоит урок, решают родители. Отправь им ссылку, пусть посмотрят.

Отправить родителямПройти урок бесплатно

Вопросы из теста

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

Какая запись — правильный условный оператор Паскаля?

Что выведет программа ниже?

Не получается разобраться? Бесплатный ИИ-репетитор по информатике 8 класс разберёт ошибку по шагам и не даст списать.

← § 4.3. Программирование линейных алгоритмов§ 4.5. Программирование циклических алгоритмов →