Green-sell.info

Новые технологии
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Что такое ветвление в программировании

Ветвления и циклы

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

Цикл — это разновидность управляющей конструкции, предназначенная для организации многократного исполнения набора инструкций.

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

Операторы сравнения

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

  • > оператор «больше»
  • >= оператор «больше или равно»
  • Очень важно не путать оператор эквивалентности с операцией присваивания. В выражениях, где встречаются операторы разных типов, сначала выполняются арифметические операции, затем операции сравнения, после этого логические операции и в последнюю очередь присваивание.

Логические операторы

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

У логических операторов следующий приоритет: отрицание, конъюнкция, дизъюнкция.

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

Примеры использования логических операторов

Операторы ветвления

Синтаксис оператора ветвления if else

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

Основное предназначение оператора ветвления – это реализация разветвляющихся алгоритмов. Например, фрагмент программы, для вычисления функции: Y(x) = x*x, при x = 0

При построении программ с несколькими подряд идущими операторами ветвления необходимо учитывать следующее правило: оператор else относится к последнему оператору if. Например, рассмотрим фрагмент программы:

Если необходимо нарушить этот порядок (т.е. ветвь else отнести к первому оператору if), то необходимо второй оператор if включить в составной оператор прямой ветви первого оператора if:

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

Многовариантное ветвление, оператор switch

Конструкция if else может оказаться неудобной, если вы стоите перед необходимостью сделать выбор из нескольких вариантов. Оператор switch обеспечивает ясный способ переключения между различными частями программного кода в зависимости от значения одной переменной или выражения. Общая форма этого оператора такова:

Выполнение кода начинается с метки case, соответствующей значению выражения choice, и продолжается до следующего оператора break или конца оператора switch. Если ни одна метка не совпадает со значением переменной, выполняется раздел default, если он предусмотрен.

Заметим, что метка case должна быть целочисленной. Нельзя проверять строки. Все значения case должны быть уникальными литералами. Если в двух операторах case будут одинаковые значения, то транслятор выдаст сообщение об ошибке.

Отметим, что оператор default необязателен. В случае, когда ни один из операторов case не соответствует значению выражения и в switch отсутствует оператор default выполнение программы продолжается с оператора, следующего за оператором switch.

Если case не заканчивается оператором break, то после текущего раздела case будет выполняться следующий. Иногда бывает удобно иметь в операторе switch несколько смежных разделов case, не разделенных оператором break.

Циклы java

В java существует два типа циклов:

  • цикл типа «пока» — while и do…while
  • типа «n-раз» — for (инициализация; условие; итерация)

Первый тип «пока» предназначен для повторения какого-то действия до тех пор, пока выполняется некоторое условие. Пример: увеличивать значение переменной на 3 до тех пор, пока оно не станет трёхзначным.

Второй тип «n-раз» предназначен для повторения каких-то действий заранее известное количество раз. Пример: найти факториал числа 6.

Циклы while и do…while

Оператор while повторяет указанные действия до тех пор, пока его выражение имеет истинное значение.

Синтаксис цикла while

Пример вывода в консоль значений массива :

Условие необходимости повторения цикла проверяется перед каждым шагом цикла, в том числе перед самым первым.

Java предлагает также возможность использования цикла с постпроверкой условия. Для его записи используется конструкция из операторов do…while.

Следующий цикл будет выполнен 4 раза, и в консоль будет выведено «1 2 3 4 »:

Тело цикла do…while выполняется по крайней мере один раз. Этот оператор удобно использовать, когда некоторое действие в программе нужно выполнить по крайней мере единожды, но при некоторых условиях придётся повторять его многократно.

Цикл for

Оператор for содержит три параметра : параметр инициализации, параметр повторения, параметр итерации.

Синтаксис цикла for

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

Представленная программа выводит в консоль значения массива :

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

Представленный код выведет в консоль такую последовательность «0 -1 -4 -9 -16 -25»

Прерывание цикла, break

Для досрочного прерывания цикла необходимо использовать оператор break. При этом происходит моментальный выход из цикла; текущий шаг не будет завершен. Т.е. если после break присутствовали какие-то ещё операторы, то они не выполнятся.

Примеры прерывания циклов :

Прерывание цикла, continue

Для прерывания цикла можно использовать оператор continue. В отличие от оператора break, который прерывает цикл, оператор continue прерывает только текущий шаг цикла и передает управление в начало цикла.

В примере при значении s равном 25 очередная итерация цикла будет прервана и управление будет передано в начало цикла.

Если оператор continue используется в цикле for, то он передаст управление оператору увеличения счетчика цикла.

О программировании ветвлений в C++

технические науки

  • Дмитриев Владислав Леонидович , кандидат наук, доцент, доцент
  • Башкирский государственный университет
  • ТЕРНАРНАЯ ОПЕРАЦИЯ
  • ЯЗЫК ПРОГРАММИРОВАНИЯ С++
  • ПРОГРАММИРОВАНИЕ
  • ВЕТВЛЕНИЕ

Похожие материалы

В самом простом случае компьютерная программа выполняется по порядку, строка за строкой. Однако в подавляющем большинстве случаев на каком-то этапе выполнения потребуется изменить ход выполнения программы в зависимости от результатов, полученных в предыдущих выражениях. В таком случае необходимо проверить выполнение некоторых условий, и изменить ход выполнения программы в соответствии с ними. Для программирования ветвлений в языке C++ имеются инструкции ifelse и switch, а также тернарная операция (?:).

Инструкция выбора if…else

Выполняет указанное в ней действие, только если условие истинно и пропускает его в ином случае. Инструкция (структура) ifelse позволяет определить различные действия, которые должны выполняться в случаях, если условие истинно или ложно. Допускается использование вложенных инструкций if. Формат инструкции if имеет вид

if (логическое выражение) выражение-1; else выражение-2;

if (логическое выражение) выражение-1;

При этом выражение-1 и выражение-2 могут быть составными (т.е. представлять собой совокупность последовательно выполняемых выражений, заключенных в операторные скобки), или в более общем случае — структурированными. Отметим также, что вложенная структура ifelse может работать гораздо быстрее, чем серия структур if с единственным выбором вследствие возможности быстрого выхода после удовлетворения одному из условий.

При построении логических выражений участвуют логические операторы, наиболее часто используются операторы (&&), (||), (!). Операторы (&&) и (||) вычисляют второй аргумент только в случае, если в этом есть необходимость. Так, например, в выражении

вначале проверяется первое условие a>b, а проверка условия c>100 будет осуществляться только в том случае, если первое условие истинно. В выражении

второе условие будет проверяться только в случае, если первое условие ложно; если же первое условие истинно, то второе условие не проверяется, и результатом проверки сразу возвращается true. Такая реализация проверок носит название механизма быстрых вычислений.

При написании условий можно объявлять переменную прямо в условии. В этом случае область видимости такой переменной будет простираться от точки ее объявления до конца инструкции, контролируемой условием. Если в инструкции if есть ветвь else, область видимости такой переменной простирается на обе ветви. При этом объявление в условии должно объявлять и инициализировать единственную переменную или константу.

Такой подход к объявлению переменной приводит к более компактному коду программы. Еще одним преимуществом такого объявления (когда такое возможно) является то, что если объявить переменную до инструкции if, то время ее жизни будет простираться до конца блока, в котором она была объявлена, даже если она не будет использована после проверки условия.

Ниже в качестве примера приводится текст программы, выводящей на экран значение корня из указанного числа, если число является полным квадратом, и «No» в противном случае.

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

Условная операция ?:

В С++ имеется еще условная операция (?:) — единственная тернарная операция в С++ с тремя операндами, которая близка к структуре ifelse. Первый операнд является условием, второй — содержит значение условного выражения в случае, если условие истинно, а третий операнд равен значению условного выражения, если условие ложно. Например, оператор вывода

содержит условное выражение, равное строке «Да», если условие a>=10 истинно, и равно строке «Нет», если оно ложно. Т.к. условная операция имеет низкое старшинство, в приведенном выражении потребовались скобки. Значения условного выражения могут быть также некоторыми исполняемыми действиями. Например, условное выражение

следует понимать так: «Если значение переменной a больше или равно 10, то выдать строку «Да», иначе строку «Нет»».

Инструкция switch (структура множественного выбора)

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

Инструкция switch состоит из ряда меток case и необязательной метки default. Структура инструкции имеет вид:

Здесь a — выражение любого целого типа (в том числе и символьного), значение которого вычисляется; a1, a2, …, aN — константы, с которыми сравнивается значение выражения a; выражение-0 — выражение, которое выполняется, если значение выражения a не совпадает ни с одной из констант a1, a2, …, aN.

Инструкция break вызывает передачу программного управления на первое выражение после структуры switch. В случае если инструкцию break не указывать, то условия case в инструкции switch работают совместно: если везде в приведенной выше структуре switch не использовать break, тогда каждый раз, когда одно из условий case удовлетворяется, будут выполняться выражения всех последующих меток case. Если ни одно из условий не выполнено, то выполняются выражения после метки default (если в структуре switch метка default помещена последней в списке, то инструкция break в ней не требуется).

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

Как было отмечено выше, важной особенностью языка C++ является то, что символы могут храниться в любом целом типе данных, поскольку они представляются как однобайтовое целое. Это означает, что можно трактовать символ или как целое, или как символ, в зависимости от его использования. Например, выражение

напечатает символ a и его целочисленное представление в таблице ASCII (American Standard Code for Information Interchange) в виде:

Символ (a) в ASCII имеет значение 97

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

Пример использования инструкции switch приведен ниже.

Задача

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

Инструкция goto (безусловного перехода)

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

Одной меткой можно пометить только одно выражение. Метка от помеченного выражения отделяется двоеточием. Имя метки — это идентификатор. Формат инструкции следующий:

Используя инструкцию goto, можно передавать управление внутрь составного выражения. Однако при входе в составное выражение нужно соблюдать осторожность, т.к. оно может дать неправильный результат. Например, в составном выражении, содержащем объявления переменных с инициализацией, так как объявления располагаются перед выполняемыми выражениями, значения объявленных переменных при таком переходе будут не определены. Кроме того, безусловный переход можно осуществлять далеко не из каждого места программы и не в любое ее место.

Электронное периодическое издание зарегистрировано в Федеральной службе по надзору в сфере связи, информационных технологий и массовых коммуникаций (Роскомнадзор), свидетельство о регистрации СМИ — ЭЛ № ФС77-41429 от 23.07.2010 г.

Соучредители СМИ: Долганов А.А., Майоров Е.В.

Программирование ветвлений на Паскале

Как организовать дистанционное обучение во время карантина?

Помогает проект «Инфоурок»

Описание презентации по отдельным слайдам:

Программирование ветвлений на Паскале МОУ СОШ №2 городского округа город Буй Костромской области Учитель Щур А.Н.

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

Оператор ветвления в полном варианте IF A>B THEN max:=A ELSE max:=B; IF (условие) THEN (операторы) ELSE (операторы); условие записывается с помощью знаков сравнения и принимает два значения: да или нет

Оператор ветвления в неполном варианте IF (условие) THEN (операторы); IF A>B THEN B:=В*2;

Задача: даны два числа; выбрать большее из них. Блок-схема (полное ветвление)

Не полное ветвление В

Задача: нахождение большего из трёх алг БИТ вещ А, В, С, D нач ввод А, В, C если A>B то если А>C то D:=A иначе D:=C кв иначе если B>C то D:=B иначе D:=С кв кв вывод D кон Program BIT; var A, B, C, D: real; begin readln (A, B, C); if A>B then if A>C then D:=A else D:=B else if B>C then D:=B else D:=C; writeln (D) end.

Программа упорядочения значения двух переменных Попробуйте набрать программу с учебника на странице 206 , еще один вариант программы определения большего числа из трех для 1 варианта, а для 2 варианта – программа сортировки. И расскажите, что вы тут нового видите?

Выберите книгу со скидкой:

История России. С древнейших времен до XVI века. 6 класс. Контурные карты

350 руб. 55.00 руб.

Контурные карты История России конец XVII-XVIII век. 8 класс. (Новые)

350 руб. 55.00 руб.

История России. 7 класс. Рабочая тетрадь.

350 руб. 137.00 руб.

История России. 6 класс. Рабочая тетрадь.

350 руб. 137.00 руб.

История России XX-начало XXI в. Атлас с контурными картами.

350 руб. 106.00 руб.

История России. XVI-конец XVII века. 7 класс. Контурные карты

350 руб. 55.00 руб.

История России. 8 класс. Рабочая тетрадь. История России. 8 класс. Рабочая тетрадь.

350 руб. 137.00 руб.

История России XIX – начало XX века. 9 класс. Контурные карты (Историко-культурный стандарт)

350 руб. 55.00 руб.

История России. 9 класс. Рабочая тетрадь.

350 руб. 137.00 руб.

ЕГЭ. История России в таблицах и схемах для подготовки к ЕГЭ. 10-11 классы

350 руб. 80.00 руб.

ЕГЭ. История России в таблицах и схемах. 10-11 классы

350 руб. 80.00 руб.

История России в рассказах для детей. ХV — ХVII века

350 руб. 137.00 руб.

БОЛЕЕ 58 000 КНИГ И ШИРОКИЙ ВЫБОР КАНЦТОВАРОВ! ИНФОЛАВКА

Инфолавка — книжный магазин для педагогов и родителей от проекта «Инфоурок»

Бесплатный
Дистанционный конкурс «Стоп коронавирус»

План – конспект урока по информатике для 10 класса.

Тема урока: Программирование ветвлений на Паскале.

Цель урока:
Образовательная : познакомить учащихся с оператором ветвления на Паскале, с типами ветвления; с формой записи оператора ветвления на Паскале.

Развивающая: сформировать умение записи оператора ветвления в среде программирования Паскаль; развить логическое мышление.

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

Оборудование: компьютерный класс с установленным ПО, презентация «Ветвления на Паскале», проектор, экран.

Дидактические материалы к учебному занятию: опорный конспект урока.

Тип урока: комбинированный.

Формы учебной работы учащихся: фронтальная работа, индивидуальная работа учащихся.

1. Организационный момент (1-2 мин).

2. Актуализация деятельности учащихся (5 мин).

2. Объяснение нового материала (13-15 мин).

3. Закрепление изученного материала. Выполнение практической работы (20 мин).

4. Подведение итогов работы (3 мин).

1. Организационный момент

2. Актуализация деятельности учащихся

— Проверка домашнего задания, вопросы по домашнему заданию.

— Два учащихся у доски оформляют следующую задачу в виде программы на языке Паскаль и блок – схемы:

Определите объём и площади боковой поверхности цилиндра с заданными радиусом основания R и высотой H .

— Остальные учащиеся выполняют следующее задание:

На экране слайд с задачей написанной в виде блок – схемы и на языке Паскаль, но в записи допущены ошибки, учащиеся должны найти эти ошибки и исправить.

— Проверка задания на доске, исправление ошибок.

  • Джабраилов Ислам Салманович
  • Написать
  • 4536
  • 13.05.2015

Номер материала: 526413

Добавляйте авторские материалы и получите призы от Инфоурок

Еженедельный призовой фонд 100 000 Р

  • 13.05.2015
  • 1350
  • 13.05.2015
  • 1380
  • 13.05.2015
  • 4510
  • 13.05.2015
  • 2267
  • 13.05.2015
  • 1851
  • 13.05.2015
  • 1360
  • 13.05.2015
  • 659

Не нашли то что искали?

Все материалы, размещенные на сайте, созданы авторами сайта либо размещены пользователями сайта и представлены на сайте исключительно для ознакомления. Авторские права на материалы принадлежат их законным авторам. Частичное или полное копирование материалов сайта без письменного разрешения администрации сайта запрещено! Мнение редакции может не совпадать с точкой зрения авторов.

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

Ветвление в Паскале

Одной из основных алгоритмических структур является ветвление (альтернатива).

Если условие выполняется, то будет выполнена инструкция «1», если нет, то — инструкция «2». Несмотря на то, что в схеме присутствуют два действия, выполнено будет только одно, так как условие либо ложно, либо истинно. Третьего не дано. Такая схема позволяет решать задачи, в которых в зависимости от сложившихся обстоятельств требуется совершить то или иное действие. Нет никакого сомнения, что число задач такого рода огромно. Более того, очень сложно придумать реально значимое задание, алгоритм выполнения которого содержал бы в себе простое прямое следование команд. Даже примитивный пример, взятый из курса математики, как вы увидите, не может быть решен без использования ветвления. Итак, необходимо вычислить значение выражения y=1/x. Вам известно, что данная функция не всегда имеет значение, то есть не для всех значений аргумента существует значение результата. Наша задача так составить алгоритм, чтобы исполнитель ни в коем случае не встал в тупик, даже при получении нуля в качестве аргумента. Сформулировать это на естественном языке не трудно:

1. Получить значение x.

2. Если x=0, то сообщить, что выражение значения не имеет, иначе — вычислить y как 1/x.

Таким образом используется приведенная выше алгоритмическая структура. Она может быть выражена простыми словами:

Как это записать на Паскале? Да точно так же, только по-английски.

Формат условного оператора на языке Паскаль:

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

Вариант условного оператора в этом случае:

Знак «точка с запятой» не ставится перед служебным словом Else, но операторы в группах, естественно, отделяются друг от друга этим знаком.

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

В простых условиях могут применяться знаки операций сравнения: >(больше), (не равно), >=(больше или равно), =(D1*(45-2))

Приведем пример решения еще одной задачи: «Из двух чисел выбрать наибольшее».

На первый взгляд решение очевидно, но оно не столь тривиально, как кажется.

Writeln(‘Введите два числа’);

If A>B Then C:=A Else C:=B; <Если A>B, то результат — A, иначе результат — B>

Еще один классический пример: «По заданным коэффициентам решить квадратное уравнение». Эта задача сложнее, поэтому перед тем как писать программу составим алгоритм, записав его в виде блок-схемы.Сначала вводим коэффициенты, затем вычисляем дискриминант. Теперь возникает две возможности: либо отсутствие действительных корней в случае отрицательного дискриминанта, либо эти корни можно все-таки вычислить и вывести на экран в случае неотрицательного дискриминанта (случай равенства дискриминанта нулю входит сюда же, корней — два, только они одинаковые J).

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

Var A, B, C, D, X1, X2: Real;

Writeln (‘Введите коэффициенты квадратного уравнения’);

>= больше или равно

Имеют один и тот же приоритет и соединяют два выражения одного и того же типа. Результатом любой операции сравнения является значение TRUE или FALSE.

ЛОГИЧЕСКИЕ ОПЕРАЦИИ:: NOT — НЕ; AND — И; OR — ИЛИ

ПОРЯДОК ВЫПОЛНЕНИЯ ОПЕРАЦИЙ:

1. — (унарный минус, т.е. отрицание числа) NOT

2. * / DIV MOD AND

Оператор ветвления (условный оператор)

If условие THEN

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

оператор1 — любой оператор Паскаля; этот оператор исполняется, когда условие истинно;

оператор2 — любой оператор Паскаля, в том числе и условный; этот оператор исполняется, когда условие ложно.

При выполнении этого оператора сначала вычисляется значение условия.

Если условие истинно (true), то выполняется оператор после слова THEN, а оператор2 пропускается;

если условие ложно (false), то оператор1 пропускается, а выполняется оператор после слова ELSE.

else write (‘Решений нет’);

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

В условном операторе после слов THEN и ELSE можно помещать по несколько операторов. В этом случае их надо объединить в СОСТАВНОЙ оператор, который начинается словом BEGIN и заканчивается словом END; (на конце не точка, а точка с запятой!)

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

write (‘Введите два числа: ‘);

writeln (‘Точка принадлежит кольцу’);

else writeln (‘Точка не принадлежит кольцу’);

Ветвления Паскаль

Проанализируем, как осуществляются ветвления Паскаль. В Паскале применяется 2 оператора для реализации условных переходов, а именно if и case и еще один оператор для реализации безусловного перехода — goto. С их помощью может быть нарушен последовательный порядок выполнения программы. Остановимся поподробнее на каждом из операторов. Оператор условного перехода в Паскале представляется в виде:

Условие — это логическое выражение, от которого зависит выбор одной из двух альтернативных ветвей алгоритма. Если условие принимает значение true (истина), выполняется оператор1, помещенный за ключевым словом then. Иначе выполняется оператор2, записанный за ключевым словом else (в этом случае оператор1 опускается).

Когда указанные операторы выполнены, то программа переходит к выполнению команды, стоящей после оператора if. И помните, что никогда не ставится символ «;» перед else (иначе возникает синтаксическая ошибка). Ключевое словоelse может как присутствовать, так и отсутствовать в операторе if:

Но тогда в случае, когда не выполнено логическое условие, то управление передается оператору, которые стоит в программе после конструкции if.

Заметка. Синтаксис языка Паскаль позволяет записать только один оператор после ключевых слов then и else, вследствие этого группа инструкций должна быть объединена в составной оператор (заключить между служебными слова begin и end). Иначе происходит логическая ошибка программы, и компилятор ошибок не выдает, однако программа все-таки работает неправильно. Приведем примеры:

В процессе создания программы часто приходится производить выбор одного из нескольких альтернативных путей выполнения программы. Мы уже знаем, что подобный выбор организуется при помощи оператора if. Однако для большего удобство используют другой специальный оператор выбора case, формат которого представлен ниже:

либо с ключевым словом else:

Мы видим, что за ключевым словом else записано некоторое выражение. Оно называется селектором, может иметь любой перечисляемый тип. В нашем примере в состав «варианта» входит одна или большее количество констант или диапазонов, которые разделяются запятыми. Необходимо, чтобы они принадлежали к одному и тому же типу, что и селектор.

При этом не допускается более одного упоминания варианта в записи инструкции case. Из указанного множества операторов выбирается тот оператор, перед которым записан совпадающий со значением селектора вариант. В противном случае, выполняется оператор, следующий за словом else (в случае, если таковой имеется). Приведем пример:

Оператор безусловного перехода goto

И, наконец, перейдем к рассмотрению безусловного оператора goto:

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

Пример:

Приведенные выше опера условного и безусловного перехода помогут Вам правильно организовать ветвления Паскаль.

Читать еще:  Основные термины программирования
Ссылка на основную публикацию
Adblock
detector