Ветвление в Паскале
Чтобы компьютер выполнил решение какой — либо задачи, ему необходимо получить от человека инструкции, как её решать. Набор таких инструментов для компьютера, направленный на решение конкретной задачи, называемой компьютерной программой.
Современные компьютеры не настолько совершены, чтобы понимать программы, записанные на каком — либо употребляемой человеком языке — русском, английском, японским… Команды, предназначенные для ЭВМ, необходимо записать в понятной её форме. С этой целью применяются языки программирования — искусственные языки, алфавит, словарный запас и структура которых удобны человеку и понятнее компьютеру.
В самом общем смысле языком программирования называется фиксированная система обозначений и правил для описания алгоритмов
и структур данных. Языки программирования имеют как бы два лица. Одно из них обращено к человеку, использующему язык для записи своих программ, а другое адресовано ЭВМ, которая должна понимать команды.
Исходя из этого все языки программирования делятся на языки низкого, высокого и сверхвысокого уровня.
Языки низкого уровня — это средство записи инструкций компьютеру простыми приказами — командами на аппаратном уровне. Такой язык отражает структуру данного класса ЭВМ и поэтому иногда называется Машинно — ориентированным языком. Пользуясь системой команд, понятной компьютеру, можно описать алгоритм любой сложности. Правда, такая запись для сложных задач будет на столько громоздкой, что у человека будет мало шансов сделать её безошибочной, так как этот язы мало приспособлен для использования человеком, ведь запись программы на этом языке представляет собой последовательность нулей и единиц.
Существенной особенностью языков программирования низкого уровня жесткая ориентация на определённый тип аппаратуры (систему команд процессора). В стремлении приспособить язык программирования низкого уровня к человеку разработан язык символического кодирования (автокод или язык ассемблера), структура команд которого определяется форматами команд и данными Машиного языка. Программа на этом языке ближе к человеку, потому что операторы этого языка — те же команды, но они имеют мнемонические названия, а в качестве операндов используются не конкретные адреса в оперативной памяти, а их символические имена.
Более многочисленную группу составляют языки программирования высокого уровня, средства которых допускают описание задачи в наглядном, легко воспринимаемом виде. Отличной особенностью этих языков является их ориентация не на систему команд той или иной ЭВМ, а на систему операторов, характерных для записи определённого класса алгоритмов. К языкам программирования этого типа относятся: Бейсик, Фортран, Алгон, Паскаль, Си. Программа на языках высокого уровня записывается системой обозначений, близкой человеку (например, фиксированным набором слов английского языка, имеющих строго определённое назначение). Программу на языке высокого уровня проще понять и значительно легче отладить.
К языкам программирования сверхвысокого уровня можно отнести Алгон-68, при разработке которого сделана попытка формализовать описание языка, приведшая к появлению абстрактной и конкретных программ. Абстрактная программа создаётся программистом, конкретная выводится из первой. Предполагается, что при таком подходе принципиально невозможно породить неверную синтаксически ( а в идеале семантически) конкретную программу. Язык APL относят к языкам свервысокого уровня за счёт введения сверхмощных операций и операторов. Запись программ на таком языке получается компактной.
Все вышеперечисленные языки — вычислительные. Более молодые — декларативные (непроцедурные) языки, отличительная черта которых — задание связей и отношений между объектами и величинами и отсутствие определения последовательности выполнений действий. Такие языки сыграли важную роль в программировании, так как они дали толчок к разработке специализированных языков искусственного интеллекта и языков знаний.
Ветвление в Pascal
Внимание! Все тесты в этом разделе разработаны пользователями сайта для собственного использования. Администрация сайта не проверяет возможные ошибки, которые могут встретиться в тестах.
Будьте внимательны! У Вас есть 10 минут на прохождение теста. Система оценивания — 5 балльная. Разбалловка теста — 3,4,5 баллов, в зависимости от сложности вопроса. Порядок заданий и вариантов ответов в тесте случайный.
Система оценки: 5 балльная
Список вопросов теста
Вопрос 1
Как называется алгоритм, который помимо следования содержит конструкцию ветвления?
Варианты ответов
- Линейный
- Циклический
- Разветвляющийся
- Вспомогательный
Вопрос 2
Какой оператор предназначен для записи разветвляющегося алгоритма на языке Паскаль?
Варианты ответов
- Оператор вывода
- Оператор присваивания
- Оператор цикла
- Условный оператор
Вопрос 3
Какие существуют формы записи условного оператора в языке Pascal?
Варианты ответов
- Развёрнутая
- Полная
- Дополненная
- Сокращённая
Вопрос 4
Как называется условный оператор, в котором при выполнении или невыполнении его условия выполняется несколько операторов?
Варианты ответов
- Составной
- Полный
- Сокращённый
- Простой
Вопрос 5
Выберите условные операторы, записанные в сокращённой форме.
Варианты ответов
- if a>b then begin p:=a; a:=b; b:=p; end;
- if a>b then max:=a else max:=b;
- if a<>b then write (‘не равны’) else write (‘равны’);
- if a<>b then a:=b;
Вопрос 6
Какую форму имеет блок условного оператора на блок-схеме?
Варианты ответов
- Ромб
- Прямоугольник
- Треугольник
- Параллелограмм
Вопрос 7
Из указанных фрагментов программ выберите те, которые дают ответ на вопрос, является ли целое число a чётным?
Варианты ответов
- if a mod 2=1 then write (‘Нет’) else write (‘Да’);
- if a mod 2=0 then write (‘Да’);
- if a mod 2=0 then write (‘Да’) else write (‘Нет’);
- if frac (a)=0 then write (‘Да’) else write (‘Нет’);
Вопрос 8
Какое число будет выведено в консоль при выполнении указанного участка кода?
if (‘a’<'b') and ('true'>‘false’)
then write (3+2*2)
else write (42/(3+4))
Программирование ветвлений
Будьте внимательны! У Вас есть 10 минут на прохождение теста. Система оценивания — 5 балльная. Разбалловка теста — 3,4,5 баллов, в зависимости от сложности вопроса. Порядок заданий и вариантов ответов в тесте случайный. С допущенными ошибками и верными ответами можно будет ознакомиться после прохождения теста. Удачи!
Система оценки: 5 балльная
Список вопросов теста
Вопрос 1
Алгоритмическая конструкция, при помощи которой происходит выбор одной из двух серий действий с выходом на общее продолжение.
Вопрос 2
На рисунке изображена .
Варианты ответов
- блок-схему неполного ветвления
- блок-схему полного ветвления
Вопрос 3
Где какое ветвление, записанное на языке Pascal?

Варианты ответов
Вопрос 4
На рисунке составлена программа: определить номер квартала по введённому номеру месяца.
Есть ли в ней ошибки? Если да, то в какой строке.

Варианты ответов
- ошибок нет
- в 1 строке
- во 2 строке
- в 3 строке
- в 4 строке
Вопрос 5
В языке программирования Pascal существует оператор выбора . .
Запиши в ответе только одно слово.
Вопрос 6
В этой записи «. » — это выражение любого порядкового типа.

Варианты ответов
- селектор
- константа
- оператор
Вопрос 7
В этой записи «. » — постоянная величина того же типа, что и «селектор».

Варианты ответов
- селектор
- константа
- оператор
Вопрос 8
В этой записи «. » — любой простой или составной оператор.

Варианты ответов
- селектор
- константа
- оператор
Вопрос 9
Полная форма изображена .

Варианты ответов
Вопрос 10
Где условный оператор, а где оператор выбора?
Ветвления в алгоритмах, Pascal
Pascal
Ветвление – это такая форма организации действий,
при которой в зависимости от выполнения или невыполнения некоторого условия совершается одна или
другая последовательность команд.
Разветвляющиеся алгоритмы – алгоритмы, содер-
жащие команду ветвления .
Логическое выражение (ЛВ) – это
высказывание
(утверждение), относительно которого можно однозначно сказать, истинно оно или ложно. Логическое
выражение часто называют условием.
Команду ветвления чаще всего называют командой
если по первому слову конструкции команды.
3
4. Варианты команды ветвления
5. Варианты команды ветвления
6. Построение логических выражений
Pascal
Выражением отношения называется словосочетание
языка, в котором два выражения связны знаком операции
отношения. Выражение отношения определяет истинность или ложность результата.
Операции отношения выполняют сравнение двух опе-
рандов и определяют, истинно значение выражения или
ложно. Результат операции отношения всегда принимает одно из двух значений: True (истина) или False (ложь).
Операнд – величина или выражение, над которыми
производят операцию.
6
7. Операции отношения
Pascal
Операции отношения
Операция
Название
Выражение
=
<>
>
равно
А = В
А <> B
A > B
A < B
True, если А = В
A >= B
True, если A >= B
A True, если A >=
не равно
больше
меньше
больше
или равно
меньше
или равно
Результат
True, если А <> B
True, если А > B
True, если A < B
7
8. Логические операции
Pascal
NOT – логическое отрицание. Формат записи: not A
Выражение
А
Результат
True
False
False
True
Not A
Примечание: А – простое логическое выражение (условие).
8
9. Логические операции
Pascal
Логические операции
AND – логическое И.
Выражение
A and B
Формат записи: A and B
А
В
Результат
True
True
True
True
False
False
False
True
False
False
False
False
Примечание: А и В – простые логические выражения (условия).
9
10. Логические операции
Pascal
Логические операции
OR – логическое ИЛИ.
Выражение
A or B
Формат записи: A or B
А
В
Результат
True
True
True
True
False
True
False
True
True
False
False
False
Примечание: А и В – простые логические выражения (условия).
10
11. Логические операции
Pascal
Логические операции
XOR – исключающее ИЛИ.
Выражение
A хor B
Формат записи: A xor B
А
В
Результат
True
True
False
True
False
False
False
True
False
False
False
True
Примечание: А и В – простые логические выражения (условия).
11
12. Порядок выполнения логических операций
Операция
Pascal
Приоритет
NOT
Первый
AND
Второй
OR, XOR
Третий
=, <>, >=, Четвертый
Приоритетом называют очередность выполнения операций в выражении. Выполнение каждой операции происходит с учетом ее
приоритета.
12
13. Правила определения старшинства операций
Pascal
Операнд, находящийся между двумя операциями с
различными приоритетами, связывается с операцией,
имеющей более высокий приоритет.
Операнд, находящийся между двумя операциями с
равными приоритетами, связывается с операцией,
которая находится слева.
Выражение, заключенное в скобки, перед выполнением
вычисляется как отдельный операнд.
Операции с равными приоритетами производятся слева
направо с возможным регулированием порядка
выполнения скобками.
13
14. Примеры логических выражений
Выражение
Pascal
Результат
(3>2) and (21<>100)
True
(3>2) or (61=100)
True
not (23>15)
False
(3>2) xor (61<>100)
False
not (23<15) and (23<>0)
True
(23<>25) or (23 <13) and ( 3<1)
True
14
15. Вложение команд ветвления друг в друга
Pascal
Если то
Если
то
иначе
иначе
Конец ветвления
Примечание: При вложении команд ветвления следует иметь в виду,
что служебное слово Иначе всегда связывается с ближайшим по
тексту служебным словом Если, которое еще не связано со
служебным словом Иначе.
15
16. Вложение условного оператора
Pascal
If Then
If Then
Begin End
Else
Begin End
Else
Begin End;
Примечание: При вложении условных операторов следует иметь в виду,
что служебное слово Else всегда связывается с ближайшим по тексту
служебным словом If, которое еще не связано со служебным словом Else.
16
17. Команда ветвления
Pascal
Границы применимости
Команда ветвления применяется в том
случае, если в процессе решения задачи
приходится
выбирать
из
двух
взаимоисключающих (противоположных)
условий.
Например: X>=0 и X Примечание: Логические выражения прописанные в команде
ветвления и являются теми условиями, при выполнении или не
выполнении которых и происходит выбор той или иной серии
команд.
17
18. Команда «Выбор»
Pascal
Команда «Выбор» применяется в том
случае, когда при решении задачи приходится
выбирать не из двух, а из нескольких вариантов условий.
Причем варианты условий, также как и в
команде ветвления должны взаимно исключать друг друга.
18
19. Блок-схема команды «Выбор»
Pascal
Вариант 1
Да
Условие 1
Нет
Да
Условие 2
Серия
команд № 1
Серия
команд № 2
Нет
Условие n
Да
Серия
команд № n
Нет
Серия команд № n+1
19
20. Команда «Выбор» на языке Паскаль
Pascal
Вариант 1
Case of
Значение 1: Begin end;
Значение 2: Begin end;
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..
Значение n: Begin end;
Else
Begin end;
End;
Выражение-селектор – это выражение, по значению
которого и происходит переход к тому или иному списку
операторов.
20
21. Блок-схема команды «Выбор»
Pascal
Вариант 2
Да
Условие 1
Нет
Да
Условие 2
Серия
команд № 1
Серия
команд № 2
Нет
Условие n
Да
Серия
команд № n
Нет
21
22. Команда «Выбор» на языке Паскаль
Pascal
Вариант 2
Case of
Значение 1: Begin end;
Значение 2: Begin end;
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ..
Значение n: Begin end;
End;
Значения – это константы или диапазон констант дискретного
типа.
22
23. Правила использования оператора CASE
Pascal
1. Значения выражения-селектора, записанного после
служебного слова case, должны принадлежать
дискретному типу: byte, integer, char (символьный).
2. Все
значения,
предшествующие
спискам
операторов должны иметь тип, совместимый с
типом выражения-селектора.
3. Все значения
в альтернативах должны быть
уникальны в пределах оператора case (т.е.
повторения значений не допускается). Если
значения являются диапазонами, то они не должны
пересекаться.
23
24. Пример. Оператор CASE
Pascal
Значения интервального типа
Program Wozrast;
Var W: integer;
Begin
Write (‘Введите возраст’); Readln (W);
Case W of
1..6: Writeln (‘Дошкольник’);
7..17: Writeln (‘Школьник’);
18..60: Writeln (‘Рабочий’);
61..100: Writeln (‘Пенсионер’)
Else
Writeln (‘Ошибка при вводе возраста’)
End;
End.
24
25. Пример. Оператор CASE
Pascal
Program Func;
Var K: byte;
Z: Real;
Begin
Write (‘Введите аргумент K’); Readln (K);
Case K of
1: Z:= K+10;
3: Z:= Sgr (K) — 4;
18: Z:= K
End;
Writeln (‘Ответ: Z = ’ , Z)
End.
25
26. Пример. Оператор CASE
Pascal
Значения символьного типа
Program Calc;
Var X, Y, Rezult: real; Operation: Char;
Begin
Write (‘Введите числа Х и Y’); Readln (Х,Y);
Write (‘Введите операцию +, — , *); Readln
(Operation);
Case Operation of
‘+’ : Rezult:= X + Y;
‘-’ : Rezult:= X – Y;
‘*’ : Rezult:= X * Y
End;
Writeln (‘Ответ: ’ ,Rezult)
End.
26
