Как на языке паскаль записывается полное и неполное ветвление
В языке Паскаль имеется оператор ветвления. Другое его название — условный оператор. Формат полного оператора ветвления следующий:
if then
else
Здесь if — «если», then — «то», else — «иначе».
Программирование полного и неполного ветвления
Сравните запись алгоритма БИД1 из предыдущего параграфа с соответствующей программой.
| алг БИД1 вещ А, В, С нач ввод А, В если А>В то С:=А иначе С:=В кв вывод С кон |
Program BID1; var А, В, С : real; begin readln(А, В); if A>B then C:=A else C:=B; writeln(С) end. |
Очень похоже на перевод с русского языка на английский. Обратите внимание на следующее отличие: в программе нет специального служебного слова, обозначающего конец ветвления. Здесь признаком конца оператора ветвления является точка с запятой. (Разумеется, оставлять в программе пустую строку совсем не обязательно. Здесь это сделано только ради наглядности.)
Простой формой логического выражения является операция отношения. Как и в АЯ, в Паскале допускаются все виды отношений (ниже указаны их знаки):
| (больше); (не равно). |
А теперь запрограммируем на Паскале алгоритм БИД2, в котором использовано неполное ветвление.
| алг БИД2 вещ А, В, С нач ввод А, В С:=А если В > А то С:=B кв вывод С кон |
Program BID2; var А, В, С : real; begin readln(А, В); С:=А; if B>A then C:=B; write(С) end. |
Опять все очень похоже. Ветвь else в операторе ветвления может отсутствовать.
Программирование вложенных ветвлений
Запишем на Паскале программу определения большего из трех чисел, блок-схема которой показана на рис. 3.10. Структура этого алгоритма — вложенные ветвления. Алгоритм на АЯ (БИТ2) приведен в предыдущем параграфе.
| Рис. 3.10. Блок-схема алгоритма «БИТ» с вложенными ветвлениями |
Program BIT2;
var А, В, С, D: real;
begin readln(А, В, С);
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.
Обратите внимание на то, что перед else точка с запятой не ставится. Вся ветвящаяся часть структуры алгоритма заканчивается на точке с запятой после оператора D:=C.
Составим программу упорядочения значений двух переменных.
| алг СОРТИРОВКА вещ X, Y, С нач ввод X, Y если X>Y то С:=Х X:=Y Y:=C кв вывод X, Y кон |
Program SORTING; var X, Y, С : real; begin readln(X, Y) ; if X>Y then begin С : =X; X:=Y; Y:=C end; write(X,Y) end. |
Этот пример иллюстрирует следующее правило Паскаля: если на какой-то из ветвей оператора ветвления находится несколько последовательных операторов, то их нужно записывать между служебными словами begin и end. Конструкция такого вида:
begin end
называется составным оператором. Следовательно, в описанной выше общей форме ветвления и могут быть простыми (один) и составными операторами.
Логические операции
Наконец, составим еще один, третий вариант программы определения большего числа из трех.
Program BIT3;
var А,В,С,D: real;
begin readln(А,В,С);
if (A>=B) and (A>=C) then D:=A;
if (B>=A) and (B>=C) then D:=B;
if (C>=A) and (C>=B) then D:=C;
writeln(D)
end.
Нетрудно понять смысл этой программы. Здесь использованы три последовательных неполных ветвления. А условия ветвлений представляют собой сложные логические выражения, включающие логическую операцию and (И). С логическими операциями вы встречались, работая с базами данных и с электронными таблицами.
Напомним, что операция and называется логическим умножением или конъюнкцией. Ее результат — «истина», если значения обоих операндов — «истина». Очевидно, что если А>=В и А>=С, то А имеет наибольшее значение и т. д. В Паскале присутствуют все три основные логические операции:
and — И (конъюнкция), or — ИЛИ (дизъюнкция), not — НЕ (отрицание).
Сложные логические выражения
Обратите внимание на то, что отношения, связываемые логическими операциями, заключаются в скобки. Так надо делать всегда! Например, требуется определить, есть ли среди чисел А, В, С хотя бы одно отрицательное. Эту задачу решает следующий оператор ветвления:
if (A = 0)
Вопросы и задания
1. Как программируется на Паскале полное и неполное ветвление?
2. Что такое составной оператор? В каких случаях составной оператор используется в операторе ветвления?
3. Выполните на компьютере все программы, приведенные в данном параграфе.
4. Составьте не менее трех вариантов программы определения наименьшего из трех данных чисел.
5. Составьте программу сортировки по возрастанию значений в трех переменных: А, В, С.
6. Составьте программу вычисления корней квадратного уравнения по данным значениям его коэффициентов.
Структура ветвления в языке Паскаль
Назад Вперёд
Тип урока: Изучение нового материала
Цель урока: Изучение учебного материала по теме: “Структура ветвления в языке Паскаль”
Задачи:
- изучить запись структуры ветвления на зыке Паскаль;
- научить решать задачи на ветвление.
- развить способность анализировать данные и выбирать стратегию для решения задачи.
- формировать умение коллективного обсуждения информации и принятия решений.
В рамках урока формируется ОК 2 — организовывать собственную деятельность, выбирать типовые методы и способы выполнения профессиональных задач, оценивать их эффективность и качество, ОК 3 — принимать решения в стандартных и нестандартных ситуациях и нести за них ответственность, ОК 4 – осуществлять поиск и использование информации, необходимой для эффективного выполнения профессиональных задач, профессионального и личностного развития, ОК 6 — работать в коллективе и команде.
Наглядные средства обучения:
Необходимое техническое оборудование: рабочие места студентов (компьютеры), проектор, электронная презентация к уроку
Раздаточный материал: задания для работы
1. Организационный момент
Преподаватель приветствует обучающихся.
Преподаватель формулирует тему занятия, затем объявляет цель и задачи урока.
Слайд № 1. “Тема занятия”, слайд № 2 “Цель и задачи урока”.
2. Актуализация знаний
1. Что такое структура ветвления?
2. Какое бывает ветвление?
3. Как записывается ветвление на алгоритмическом языке?
В процессе фронтальной беседы обучающиеся повторяют учебный материал, необходимый для изучения темы. (Слайды № 3-5)
3. Изучение нового материала
Преподаватель объясняет новый материал. (Слайды № 6-8)
Команда ветвления на языке Паскаль записывается следующим образом:
IF условие
THEN действия при выполнении условия
ELSE действия в противном случае;
THEN действия при выполнении условия;
Если действий несколько, то они заключаются в операторные скобки: begin . end.
Условие может быть составным (состоящим из нескольких условий). Условия соединяются между собой логическими выражениями:
NOT – не OR – или AND – и
Рассмотрим пример решения задачи на языке Паскаль с использование структуры ветвления.
Пример 1. Даны 2 числа. Найти минимальное.
IV. Закрепление пройденного материала
Обучающиеся решают задачи на компьютере, выбрав задачу на интересующую оценку (3-5). Каждый студент решает задачу индивидуально. Для проверки решения предлагаются тестовые данные. (слайд №9)
Составить программу для решения одной из задач по выбору.
- Вычислить значение функции:
- Вычислить значение функции:
- Подсчитать количество положительных чисел среди чисел a, b, c.
Ответы по параграфу 3.4 Программирование разветвляющихся алгоритмов

Учебник по Информатике 8 класс Босова
Задание 2. Как на языке Паскаль записывается полное и неполное ветвление?
Полное ветвление (Выполняются действия как для ветка «да», так и для ветки «нет»):
if then else
Неполное ветвление (Выполнение действия только для ветки «да»):
if then
Задание 3. Является ли условным оператором следующая последовательность символов?

Задание 4. Что такое составной оператор? Для чего он используется в условном операторе?
Составным оператором является конструкция вида:
begin end
которая может стоять в условном операторе и после then и после else.
Такая конструкция используется тогда, когда нужно выполнить последовательность из нескольких операторов.
Задание 5. Используя составной оператор, упростите следующий фрагмент программы:
if a>b then c:=1;
if a>b then d:=2;
if a if a
if a>b then begin c:=1; d:=2 end else begin c:=3; d:=4 end
Задание 6. Дано натуральное трехзначное число. Напишите программу, которая определяет:
а) есть ли среди цифр данного числа одинаковые;
program z_6a; var num, a, b, c: integer; //Исходные данные BEGIN write ('Введите трёхзначное число: '); read (num); a:= num div 100; num:=num-100*a; b:= num div 10; num:=num-10*b; c:= num; if (a=b) or (a=c) or (b=c) then write ('Есть одинаковые цифры') else write ('Нет одинаковых цифр') END.
б) является ли данное число «перевертышем», то есть числом, десятичная запись которого читается одинаково слева направо и справа налево.
program z_6b; var num, a, b, c: integer; //Исходные данные BEGIN write ('Введите трёхзначное число: '); read (num); a:= num div 100; num:=num-100*a; b:= num div 10; num:=num-10*b; c:= num; if a=c then write ('Перевертыш') else write ('НЕ перевертыш') END.
Задание 7. Даны две точки в плоской прямоугольной системе координат. Напишите программу, определяющую, которая из точек находится ближе к началу координат.
Программа будет запрашивать координаты двух точек. Следующим её шагом будет определение расстояния от начала координат до точек. Треугольник прямоугольный, координаты точки равны двум ее катетам. По теореме Пифагора найдем гипотенузы двух треугольников и сравним их. Чем меньше гипотенуза, тем ближе точка находится к началу координат.
program z_7; var xA, yA, xB, yB: integer; A, B: real; BEGIN writeln ('Координаты 1-ой точки: '); write ('x='); read (xA); write ('y='); read (yA); writeln ('Координаты 2-ой точки: '); write ('x='); read (xB); write ('y='); read (yB); A:=sqrt(sqr(xA)+sqr(yA)); B:=sqrt(sqr(xB)+sqr(yB)); if A=B then write ('Точки равноудалены') else if A>B then write ('2-я точка ближе') else write ('1-я точка ближе') END.
Задание 8. Даны три натуральных числа. Напишите программу, определяющую, существует ли треугольник с такими длинами сторон. Если такой треугольник существует, то определите его тип (равносторонний, равнобедренный, разносторонний).
program z_8; var a, b, c: integer; BEGIN write ('a>>'); readln(a); write ('b>>'); readln(b); write ('c>>'); readln(c); //Проверяем, существует ли такой треугольник if ((a+b)>c) and ((a+c)>b) and ((b+c)>a) then begin if (a=b) and (a=c) and (b=c) then writeln ('Треугольник равносторонний') else if (a<>b) and (a<>c) and (b<>c) then writeln('Треугольник разносторонний') else writeln ('Треугольник равнобедренный'); end else writeln ('Треугольник со сторонами ', a,', ', b,', ', c,' не существует'); END.
Задание 9. Имеются данные о количестве полных лет трех призеров спартакиады. Напишите программу, выбирающую и выводящую возраст самого младшего призера.

Задание 10. Напишите программу, определяющую, лежит ли точка A на прямой y=kx+l, над ней или под ней.
Сначала вводим данные для переменных: k, l, xA, yA (два последних это координаты точки A). Затем в уравнение y=kx+l подставим вместо «x» значение переменной xA и найдем значение «y» при заданной xA. Далее мы сравниваем значение «y» и «yB» и делаем вывод, где находится точка относительно прямой, на ней, над ней или под ней.
program z_10; var y, k, l, xA, yA: integer; BEGIN write ('k>>'); read(k); write ('l>>'); read (l); write ('xA>>'); read(xA); write ('yA>>'); read(yA); y:= k*xA+l; if yA=y then writeln('Точка лежит НА прямой') else if yA>y then writeln('Точка лежит НАД прямой') else writeln('Точка лежит ПОД прямой') END.
Задание 11. Напишите программу, которая производит обмен значений числовых переменных x и y, если x больше y.
program z_11; var x, y, t: integer; BEGIN write ('x>>'); readln(x); write ('y>>'); readln (y); if x>y then begin t:=x; x:=y; y:=t; end; writeln ('x=', x, '; y=', y) END.
Задание 12. Дан условный оператор:
if a else if a>5 then c:=2
else c:=3
Какое значение имеет переменная «a», если в результате выполнения условного оператора переменной «c» присваивается значение 3?
В нашем случае сработало третье условие. В первой условии значение переменной «a» меньше 5, а во втором больше 5. Значит переменная «а» равна 5. Ответ: a=5
Задание 13. Напишите программу, вычисляющую значение функции:
program z_16b; var x, y: integer; BEGIN write ('x>>'); readln(x); if xthen y:=-1 else if x=0 then y:=0 else y:=1; writeln ('y=', y) END.
Задание 14. Составьте программу для решения задачи №21 к параграфу 2.4 (определение дня недели).
program z_14; var chislo: integer; y: string; BEGIN writeln('Введите число января 2011 года:'); readln(chislo); writeln (chislo, ' января 2011 года: '); chislo:=chislo mod 7; if chislo=3 then y:=('Понедельник'); if chislo=4 then y:=('Вторник'); if chislo=5 then y:=('Среда'); if chislo=6 then y:=('Четверг'); if chislo=0 then y:=('Пятница'); if chislo=1 then y:=('Суббота'); if chislo=2 then y:=('Воскресенье'); writeln (y) END.
Задание 15. Поле шахматной доски определяется парой натуральных чисел, каждое из которых не превосходит 8. Напишите программу, которая по введенным координатам двух полей (k, l) и (m, n) определяет, имеют ли эти поля один цвет.

Сумма координат соседних (т.е. имеющих общую сторону) полей на шахматной доске отличается на 1. Следовательно, если сумма координат некоторого поля является четным числом, то сумма координат всех его соседних полей будет нечетным числом и наоборот. Вместе с тем соседние поля всегда имеют разный цвет.
program z_15; var k, l, m, n: integer; BEGIN writeln('Координаты 1-го поля:'); readln (k, l); writeln('Координаты 2-го поля:'); readln (m, n); if (k+l) mod 2 = (m+n) mod 2 then writeln ('Поля одного цвета') else writeln ('Поля разного цвета') END.
Задание 16. Напишите программу, в которой пользователю предлагается дополнить до 100 некоторое целое число а (а – случайное число, меньшее 100). Ответ пользователя проверяется и комментируется.
program z_16; var a, b: integer; BEGIN randomize; a:=random(100); writeln ('Дополните до 100 число ', a); readln (b); if a+b=100 then writeln ('Молодец!') else writeln ('Ошибка!') END.
Решение заданий из учебника Информатика 8 класс Босова, параграф 3.4 Программирование разветвляющихся алгоритмов. Условный оператор, составной оператор, многообразие способов записи ветвлений, многообразие способов записи ветвлений.
Как на языке паскаль записывается полное и неполное ветвление?
Формат записи оператора If имеет 2 формы: неполную (If..Then) и полную (If..Then..Else).
Софья МироноваУченик (212) 7 лет назад
Можно поподробнее?
Дмитрий Русский Мудрец (17656) Перевод: if — если, then — тогда, else — иначе. (If..Then): Если условие верно, тогда выполняется действие. (If..Then..Else): Если условие верно, тогда выполняется одно действие, иначе — выполняется другое действие.
Остальные ответы
Похожие вопросы
Ваш браузер устарел
Мы постоянно добавляем новый функционал в основной интерфейс проекта. К сожалению, старые браузеры не в состоянии качественно работать с современными программными продуктами. Для корректной работы используйте последние версии браузеров Chrome, Mozilla Firefox, Opera, Microsoft Edge или установите браузер Atom.
