Для реализации ветвления на Pascal используются условный оператор if и оператор множественного выбора case.
Условный оператор (оператор условия, ветвления, альтернативы) − это структурированный оператор, предназначенный для выделения из составляющих его операторов одного, который и выполняется в дальнейшем.
Оператор if, как и остальные структурированные операторы, обычно включает в себя составные операторы.
Формат условного оператора (полная форма):
где if означает если, then − то, else − иначе.
Принцип действия:
Вычисляется значение логического выражения (иначе говоря, проверяется условие). Если значением логического выражения является true (истина), то выполняется оператор, следующий после слова then (оператор 1). Если значением логического выражения является false (ложь), то выполняется оператор, следующий после слова else (оператор 2).
Можно использовать краткую форму условного оператора:
Принцип действия:
Вычисляется значение логического выражения, т. е. проверяется условие. Если значением логического выражения является true (истина), то выполняется оператор, следующий после слова then. Если значением логического выражения является false (ложь), то управление передается на оператор, следующий после условного.
Pascal ABC.NET | Урок 3 | Условные операторы if, then, else
1 Если в зависимости от условия предполагается выполнить несколько действий, то соответствующие операторы берутся в операторные скобки begin…end (используется составной оператор).
2 Перед зарезервированными словами then и else знак «;» никогда не ставится, т. к. конструкция if … then … else …; является единым оператором.
Оператор множественного выбора case позволяет выбрать одно из нескольких возможных продолжений программы. Параметром, по которому осуществляется выбор, служит ключ выбора − выражение любого порядкового типа (кроме longint).
Формат оператора выбора:
end;
case, of, else, end − зарезервированные слова (в переводе означающие соответственно выбор, из, иначе, конец),
− имя переменной или выражение порядкового типа (кроме longint);
, …, − константа или список констант того же типа, что и выражение ;
, …, − произвольные операторы языка Pascal, в том числе составной и структурированные.
Принцип действия оператора case:
Вычисляется значение выражения , затем в последовательности отыскивается тот, которому принадлежит константа, равная вычисленному значению . Оператор, соответствующий выбранному списку, выполняется, остальные − игнорируются. После этого оператор выбора case завершает свою работу. Если в списке выбора не будет найдена константа, соответствующая вычисленному значению ключа выбора, управление передается оператору, стоящему за словом else. Часть else можно не использовать.
Задания для практического занятия:
1 Создать с помощью TotalCommander на диске z: папку (клавиша F7) для сохранения там файлов программ (латинскими буквами, не более 8 символов, без пробелов и точек!).
2 Загрузить Free, Turbo Pascal или PascalABC. Дляэтоговыполнить Start / All Programs / Free (Turbo) Pascal или PascalABC (Пуск / Всепрограммы / Free [Turbo] Pascal или PascalABC) илищелкнутьдваждыпосоответствующемуярлыкунарабочемстоле.
3 Создать новый файл: File / New (Файл / Создать). Он получает имя noname01.pas (или Program01.pas), отображаемое в верхней части окна документа.
4 Сохранить в личной папке на диске z: новый файл с именем ФИО21.pas, лучше использовать латинские буквы. Для этого File / Saveas… (Файл / Сохранить как …), в строке Name ввести имя диска, вложенные каталоги, имя файла, например, z:Ivanovisp21.pas или
и нажать Ok. Периодически сохранять файл в процессе работы (клавиша F2).
5 Набрать текст линейной программы, вычисляющей расстояние между двумя точками (x 1; y 1) и (x 2; y 2) по формуле .
write(‘Введите координаты первой точки x1 и y1’);
write(‘Введите координаты второй точки x2 и y2’);
writeln(‘расстояние между двумя точками равно’,d:5:2);
6 Произвести компиляцию программы (клавиша F9). Исправить ошибки.
7 Запустить программу на выполнение (Ctrl + F9).
8 Посмотреть результаты (Alt + F5)
9 Создать новый файл: File / New (Файл / Создать). Сохранить его в личной папке на диске z: под именем ФИО22.pas. Периодически сохранять файл в процессе работы (клавиша F2).
10 Набрать текст программы, позволяющей вычислить значение функции в зависимости от условия.
write(‘Введи значение x’);
11 Произвести компиляцию программы (клавиша F9). При наличии ошибок исправить их. Запустить программу на выполнение (Ctrl + F9) и просмотреть результаты (Alt + F5).
Контрольные вопросы:
1 Назначение языка программирования Pascal. Состав среды программирования.
2 Алфавит языка программирования Pascal.
3 Зарезервированные слова, стандартные идентификаторы и идентификаторы пользователя. Правила создания имен и ограничения.
4 Структура простейшей программы. Из каких разделов состоит программа на языке Pascal? Какие из разделов необязательны? Для чего служит раздел описания переменных, раздел операторов?
5 Переменные и константы на Pascal. Имя и значение переменной. Данные в программах. Типы данных. Наиболее часто используемые типы данных.
6 Порядковые типы данных: целые, символьный, логический.
7 Вещественные типы данных.
8 Операции, процедуры и функции, применимые к порядковым типам данных.
9 Стандартные процедуры и функции языка Pascal. Основные математические функции. Как записать математические функции, которым нет соответствия на Pascal?
10 Операции языка Pascal. Приоритет операций.
11 Правила записи алгебраических выражений.
12 Операторы Pascal. Оператор присваивания, формат и принцип действия. Согласование типов. Составной и пустой операторы.
13 Операторы ввода-вывода. Формат и принцип действия. Отличие операторов с окончанием ln. Форматирование результатов.
14 Логические выражения. Логические операции. Приоритет и значения логических операций.
Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:
Это важно знать:
Французский Уголовный кодекс 1810 г История создания, состав и общие принципы. Над созданием Кодекса работала комиссия по кодификации уголовных законов во главе с.
Предмет и метод экономической теории Предмет экономической теории. Экономическая теория – это общественная наука.
Число степеней свободы Числом степеней свободы механической системы называется число независимых координат.
Сборка системы для внутривенного капельного вливания Цель: подготовка к введению в кровеносное русло пациента больших количеств жидкости с лечебной целью.
Техника выполнения подкожной инъекции гепарина. Цель: введение лекарств, минуя желудочно-кишечный тракт. Показания: 1. Введение небольших объемов лекарственных веществ. 2.
Источник: studopedia.ru
11. Операторы if и case языка Паскаль
Для программирования разветвляющихся алгоритмов в языке Pascal используются специальные переменные типа boolean, которые могут принимать только два значения — true и false (да, нет), а также операторы if и case. Оператор if проверяет результат логического выражения, или значение переменной типа boolean, и организует разветвление вычислений.
Например, если bl : boolean, x, y, u : integer, то фрагмент программы с оператором if может быть таким:
if bl then u:=y-x
Оператор выбора case организует разветвления в зависимости от значения некоторой переменной перечисляемого типа.
Например, если in: integer, то после выполнения
case in of
в соответствии со значением in вычисляется u. Если in=0, то u=x+y, если in=1 или 5, то u=x-y, если in=2 или 4 или 6, то u=x*y и, наконец, u=0 при любых значениях in отличных от 0, 1, 2, 4, 5, 6.
Кнопки-переключатели в Delphi
При создании программ в DELPHI для организации разветвлений часто используются компоненты в виде кнопок-переключателей. Состояние такой кнопки (включено — выключено) визуально отражается на форме. На форме (рис.2.1) представлены кнопки-переключатели двух типов (TCheckBox, TRadioGroup ).
Компонент TCheckBox организует кнопку независимого переключателя, с помощью которой пользователь может указать свое решение типа да/нет. В программе состояние кнопки связано со значением булевской переменной, которая проверяется с помощью оператора if.
Компонент TRadiogroup организует группу кнопок — зависимых переключателей. При нажатии одной из кнопок группы все остальные кнопки отключаются. В программу передается номер включенной кнопки (0,1,2. ), который анализируется с помощью оператора case.
26. Свойство полиморфизма позволяет использовать одинаковое название метода для решения сходных но несколько отличающихся у разных родственных классов задач. В результате в объекте-родителе и объекте-потомке возможно существование двух одноименных методов реализующих различные алгоритмы
Статический, виртуальный и динамический способы реализации полиморфизма
При объявлении в разделе Var и последующей работе с несколькими объектами каждый объект располагается по некоторому адресу. Причем все обычные поля копируются, а методы хранятся в одном экземпляре. Каждый раз, когда вызывается метод, ему через параметр-указатель с именем Self, передается адрес того экземпляра объекта, который обращается к методу.
Полиморфизм можно организовать по-разному: используя раннее связывание метода с полями объекта, которое происходит на этапе компиляции, и позднее связывание, которое осуществляется непосредственно в нужный момент при выполнении программы.
Статические методы характеризуются тем, что связывание метода с полями осуществляется во время компиляции (раннее связывание).
Виртуальные и динамические методы связываются во время выполнения программы (позднее связывание). Если метод объявлен виртуальным или динамическим, то нельзя менять типы и число параметров.
Для реализации позднего связывания поступают следующим образом. В потомке замещающий метод объявляется директивой override. Замещаемый одноименный метод родителя объявляется как динамический или виртуальный с помощью ключевых слов (dynamic) или (virtual). Вызов перекрытого метода родительского класса в одноименном методе потомка достигается с помощью зарезервированного слова Inherited (унаследованный).
Встретив объявления dynamic или virtual, компилятор создает таблицы соответствия DMT и VMT. В этих таблицах помещаются адреса точек входа методов. Адрес VMT “своего” класса хранится в каждом экземпляре объекта в особом, скрытом от программиста поле. Адрес DMT хранится в VMT. При каждом обращении к методу компилятор вставляет в соответствующую таблицу код, позволяющий извлечь затем из нее адрес точки входа в подпрограмму.
Отличие таблиц DMT и VMT в том, что DMT содержит адреса только тех методов, которые объявлены как dynamic в данном классе, а VMT содержит адреса всех виртуальных методов данного класса: как нововведенных, так и унаследованных от родителей.
При реализации позднего связывания в родительском классе часто используют абстрактные методы (abstract), т.е. такие виртуальные методы, тело которых не прописано. Классы, имеющие хотя бы один абстрактный метод, сами называются абстрактными. Объекты абстрактных методов не создаются.
Источник: studfile.net
else begin в паскале
Бывает, что в процессе выполнения программы требуется реализовать разный набор команд в зависимости от произошедших до этого событий. В языках программирования это достигается с помощью специальных конструкций – условных операторов.
Чаще всего в качестве условного оператора в языках программирования используется конструкция if-else или ее сокращенный вариант if. Также существует оператор выбора case, который имеет более специфичное применение.
Оператор if-else
Когда выполнение основной ветки программы доходит до условного оператора if-else, то в зависимости от результата логического выражения в его заголовке выполняются разные блоки кода. Если логическое выражение вернуло true, то выполняется один блок (в Паскале начинается со слова then), если false – то другой (начинается со слова else). После выполнения одного из вложенных блоков кода, ход программы возвращается в основную ветку. Другой вложенный блок не выполняется.
Например, программа должна определять, ввел пользователь четное или нечетное число, и выводить на экран сообщение. Тогда программный код на языке Pascal может быть таким:
Бывают неполные формы условных операторов. В таком случае вложенный в if блок кода выполняется только в случая true логическом выражении заголовка. В случае false выполнение программы сразу передается в основной блок. Понятно, что ветка else в таком случае отсутствует.
лабораторные работы и задачи по программированию и информатике, егэ по информатике
Условный оператор в Паскале
До рассмотрения данной темы в основном использовались линейные алгоритмы в Паскале, характерные для весьма простых задач, когда действия (операторы) выполняются последовательно, одно за другим. Более сложные алгоритмы предусматривают использование конструкция ветвления.
Блок-схема условного оператора:
Условный оператор в Паскале имеет следующий синтаксис:
if условие then оператор;
Полный вариант:
if условие then оператор else оператор;
Условный оператор в Паскале — if — служит для организации хода задачи таким образом, при котором изменяется последовательность выполнения операторов в зависимости от какого-либо логического условия. Логическое условие может принимать одно из двух значений: либо true (истина), либо false (ложь), соответственно, оно может быть либо истинным, либо ложным.
Составной оператор
Если при истинном условии необходимо выполнять несколько операторов, то их по правилам языка Pascal необходимо заключать в блок, начинающийся со служебного слова begin и заканчивающегося служебным словом end . Такой блок принято называть операторными скобками, а данную конструкцию — составным оператором:
Операторные скобки и составной оператор в Паскале:
if логическое выражение then begin оператор1; оператор2; end else begin оператор1; оператор2; end;
Перевод с английского оператора условия облегчит понимание его использования:
- больше >
- меньше
- больше или равно в Pascal >=
- меньше либо равно в Pascal
- сравнение в Pascal =
- не равно в Pascal <>
Вариант 1 | Вариант 2 |
![]() |
![]() |
Подробно разобраться в работе условного оператора в Паскале можно, просмотрев видеоурок:
Обратите внимание на то, как в данном примере выводится y . При выводе переменных типа real в pascal, можно использовать так называемый форматированный вывод, или запись с двумя двоеточиями:
y:6:2
— цифра после первого двоеточия ( 6 ) указывает на то, сколько знаков будет занимать число при выводе на экран
— цифра после второго двоеточия ( 2 ) указывает на то, сколько знаков после запятой вещественного числа будет выводиться
Таким образом, использование такой записи в pascal практически позволяет выполнить округление до сотых, тысячных и т.п.
Логические операции в Паскале (в логическом выражении)
Когда необходимо использовать двойное условие в Pascal, то понадобятся логические операции.
- Логическая операция AND (И), поставленная между двумя условиями, говорит о том, что должны выполняться сразу оба эти условия (должны быть истинными). Логический смысл операции — «конъюнкция».
- Поставленный между двумя условиями, знак OR (ИЛИ) говорит о том, что достаточно, если будет выполняться хотя бы одно из них (одно из двух условий истинно). Логический смысл операции — «дизъюнкция».
- На языке Паскаль XOR — знак логической операции, имеющий смысл «строгая дизъюнкция» и указывающий на то, что необходимо, чтобы одно из двух условий выполнялось (истинно), а другое — не выполнялось (ложно).
- Логическая операция NOT перед логическим выражением или переменной имеет смысл «отрицание» или «инверсия» и указывает на то, что если данная переменная или выражение истинны, то их отрицание — ложь и наоборот.
var n:integer; begin n:=6; if (n>5) and (n 7) or (n 7) xor (n 7) then writeln(‘истина’); end.
Вариант 1 | Вариант 2 |
![]() |
![]() |
var a,b: integer; begin write(‘Введите A: ‘); read(a); b := a mod 2; if b>0 then writeln(‘true’) else writeln (‘false’) end.
Построение блок-схем по коду Паскаль
Теперь настало время вспомнить о том, что такое блок-схемы.
Блок схема — ориентированный граф, указывающий на последовательность операций, приводящую к решению поставленной задачи.
Существуют управляющие структуры трех типов:
![]() |
![]() |
![]() |
Две из трех представленных структур блок-схемы мы уже можем перевести в код Pascal.
Результат:
Не могу разобраться, как это в Паскале.. .
Например есть ветвление, содержащее IF — ELSE IF — ELSE
Проблема с выделением блока кода (BEGIN — END).
IF then begin
end
ELSE IF .
Например на Python-е так:
if ( условие1 ):
       (операторы)
elif ( условие2 ):
     (операторы)
else:
     (операторы)
Вот можете наподобие этого примера объяснить, как это выглядит в Паскале? Заранее Спасибо 🙂
> dr.Drew
А вот если в коде встречается такой фрагмент:
if ( условие ) then begin
( операторы ) end
else begin if ( условие ) then ( операторы )
Это означает, что последний IF вложен в ветку ELSE, или, что это оператор IF ELSE?
Смотри на примерах:
if A = B then WriteLn(‘равно’) else WriteLn(‘неравно’);
После then и else по одному оператору. Значит операторные скобки не обязательны…
Хотя можно было сделать вот так:
if A = B then begin WriteLn(‘равно’); end
else begin WriteLn(‘неравно’); end;
Оба варианта 100% рабочие.
Но если нужно несколько операторов после then или else, то операторные скобки обязательны:
if A > B then begin A := A + B; B := A — B; A := A — B; end;
(В данном примере числовые значения A и B меняются без использования третьей переменной. )
Как видно из примера, внутри операторных скобок находятся 3 оператора!
Ещё операторные скобки иногда нужны для однозначности трактовки вложенных условий:
Источник: softlast.ru
>»>