Бывает, что в программах возникает необходимость организовать ветвление. В этом случае процесс решения задачи происходит на основе выполнения или не выполнения некоторого условия.
В языке Паскаль выбор действия, в зависимости от некоторого условия, может быть реализован с помощью конструкции
if . then . else .
if . then .
2. Какой вид имеет полная форма оператора условного перехода if в языке Паскаль?
Полная форма оператора условного перехода if :
if условие then оператор1 else оператор2;
Действие оператора состоит в следующем: сначала вычисляется значение выражения условие . Если оно истинное (равное TRUE ), то выполняется оператор, который следует за словом then ( оператор1 ). Если значение ложное ( FALSE ), то выполняется оператор, который следует за словом else ( оператор2 ).
Операторы оператор1 и оператор2 могут быть составными, то есть содержать несколько строк кода. Такие операторы берутся в операторные скобки begin … end . Такая необходимость возникает, если после зарезервированных слов then или else нужно указать несколько операторов.
Информатика 8 класс: Ветвление в Паскале. Условный оператор
В этом случае общий вид оператора условного перехода может иметь, например, следующий вид:
if условие then begin // несколько операторов . end else begin // несколько операторов . end;
3. Какой вид имеет сокращенная форма оператора условного перехода?
Сокращенная форма оператора условного перехода не содержит блока else и имеет вид:
if условие then оператор;
В этом случае оператор работает следующим образом. Сначала вычисляется значение логического (булевого) выражения условие . Если результат логического выражения условие истинный (равный TRUE ), то выполняется оператор, который следует за словом then . Если результат равный FALSE , то выполняется оператор, который следует за оператором if (в операторе if…then ничего не выполняется).
Если при выполнении условия нужно выполнить несколько операторов, то общий вид оператора условного перехода может быть таким:
if условие then begin // два или больше оператора . end;
4. Примеры использования оператора условного перехода, который имеет полную форму представления.
Пример 1. Фрагмент программы нахождения максимального значения между двумя вещественными числами.
var a,b:real; // a, b — переменные, для которых ищется максимум max:real; // максимум . begin . // a, b — задаются if a>b then max:=a else max:=b; . end;
Пример 2. Вычисление значения функции согласно условию. Пусть необходимо найти значение функции:
Фрагмент программного кода, решающего эту задачу:
. var x,f:real; begin . // x — задается if -5then f := x*x+8 else f := -x*x*x+2; // в переменной f — результат . end;
5. Примеры использования оператора условного перехода, который имеет сокращенную форму представления.
Пример 1. Фрагмент кода, который находит минимальное значение между двумя вещественными числами x и y .
Паскаль с Нуля. Ветвление. Условный оператор. Урок 4
. var min:real; . begin . // x, y — заданы min := x; if minthen min := y; . end;
Пример 2. Вычисление значения функции согласно условию. Пусть необходимо найти значение функции:
var x, f:real; begin . // x — задано if x6 then f:=3*x*x-x; if (-6<=x) and (x5) then f:=sqrt(7-x); if x>5 then f:=8*x-3; . end;
6. Примеры использования вложенных операторов условного перехода.
Операторы условного перехода могут быть вложенными. Степень их вложенности неограничена.
Пример. Поиск максимального значения среди трех заданных чисел, которые сохраняются в переменных a , b , c . Максимальное значение записывается в переменную max .
. var a, b, c:integer; max:integer; // максимальное значение, которое нужно вычислить . begin . // a,b,c — задается if athen begin if bthen max:=c else max:=b; end else begin if athen max:=c else max:=a; end; . end;
Программирование: теория и практика
- C# (176)
- Практика (46)
- MS Visual Studio 2010 (34)
- MS Visual Studio 2017 (7)
- MS Visual Studio 2019 (13)
- ADO .NET (7)
- Практика (31)
- Borland C++ Builder 2007 (16)
- MS Visual Studio 2010 (18)
- Visual C++ (132)
- Практика (6)
- Теория (102)
- Практика (1)
- Теория (21)
- Практика (1)
- Теория (21)
- Практика (20)
- Delphi-7 (4)
- Embarcadero RAD Studio 2010 (18)
- Практика (4)
- Теория (92)
- SQL (4)
- C++. Множественное наследование. Дублирование класса и его данных. Проблема ромба 7 июня, 2023
- C++. STL. Алгоритмы обрабатывающие последовательность в целом 23 мая, 2023
- C++. STL. Модифицирующие методы. Часть 4. Алгоритмы, извлекающие из последовательности отдельные элементы или группы элементов 5 мая, 2023
- C++. STL. Алгоритмы выполняющие замену элементов последовательности 31 марта, 2023
- C++. STL. Алгоритмы. Алгоритмы обмена значениями элементов последовательности 21 марта, 2023
- C++. STL. Алгоритмы. Алгоритмы, изменяющие все элементы последовательности 20 марта, 2023
- C++. STL. Алгоритмы для работы с множествами 15 марта, 2023
- C++. STL. Немодифицирующие алгоритмы 4 марта, 2023
- C++. STL. Алгоритмы, не изменяющие значения и порядок следования элементов 24 февраля, 2023
- C++. STL. Алгоритмы перестановок 19 февраля, 2023
При использовании материалов сайта, ссылка на сайт обязательна.
Источник: www.bestprog.net
Ветвления Паскаль
Проанализируем, как осуществляются ветвления Паскаль. В Паскале применяется 2 оператора для реализации условных переходов, а именно if и case и еще один оператор для реализации безусловного перехода — goto. С их помощью может быть нарушен последовательный порядок выполнения программы. Остановимся поподробнее на каждом из операторов. Оператор условного перехода в Паскале представляется в виде:
if условие then оператор1 else оператор2;
Условие — это логическое выражение, от которого зависит выбор одной из двух альтернативных ветвей алгоритма. Если условие принимает значение true (истина), выполняется оператор1, помещенный за ключевым словом then. Иначе выполняется оператор2, записанный за ключевым словом else (в этом случае оператор1 опускается).
Когда указанные операторы выполнены, то программа переходит к выполнению команды, стоящей после оператора if. И помните, что никогда не ставится символ «;» перед else (иначе возникает синтаксическая ошибка). Ключевое словоelse может как присутствовать, так и отсутствовать в операторе if:
if условие then оператор1;
Но тогда в случае, когда не выполнено логическое условие, то управление передается оператору, которые стоит в программе после конструкции if.
Заметка. Синтаксис языка Паскаль позволяет записать только один оператор после ключевых слов then и else, вследствие этого группа инструкций должна быть объединена в составной оператор (заключить между служебными слова begin и end). Иначе происходит логическая ошибка программы, и компилятор ошибок не выдает, однако программа все-таки работает неправильно. Приведем примеры:
В процессе создания программы часто приходится производить выбор одного из нескольких альтернативных путей выполнения программы. Мы уже знаем, что подобный выбор организуется при помощи оператора if. Однако для большего удобство используют другой специальный оператор выбора case, формат которого представлен ниже:
либо с ключевым словом else:
Алгоритмы с ветвлениями. Их реализация на языке программирования ПАСКАЛЬ.
презентация к уроку по информатике и икт (9 класс) на тему
Презентация «Алгоритмы с ветвлениями. Их реализация на языке программирования Паскаль» краткий теоретический материал по теме «Алгоритмическая конструкция Ветвление. Программирование ветвлений на языке программирования Паскаль» и примеры решения основных типов задач по данной теме.
Скачать:
![]() |
223.8 КБ |
Предварительный просмотр:
Подписи к слайдам:
Алгоритмы с ветвлениями . Их реализация на языке программирования ПАСКАЛЬ . Яресько Виктория Викторовна учитель информатики и ИКТ МБОУ «Гимназия №1» г.о . Мытищи Московской области
Цели и задачи: Ввести понятие ветвления. Рассмотреть виды ветвлений. Показать, как реализуются ветвящиеся алгоритмы на языке программирования Паскаль. Рассмотреть задачи с ветвящимися алгоритмами.
Понятие ветвления Ветвление – форма организации действий, при которой в зависимости от условия выполняется одна, либо другая серия действий (команд, операторов). Ветвление позволяет менять порядок выполнения команд по результатам проверки некоторого условия. В команде ветвления в качестве условия может использоваться отношение неравенства между величинами.
Понятие ветвления Ветвление является структурной командой. Его исполнение происходит в несколько шагов: проверка условия (выполнение логического выражения); выполнение команд на одной из ветвей.
Синтаксис языка программирования У каждого человеческого языка есть своя грамматика, включающая в себя правила, по которым должны выстраиваться в цепочку элементы языка, чтобы получилось правильное предложение. Совокупность этих правил образует часть грамматики, называемую СИНТАКСИСОМ. В языках программирования тоже есть предложения.
Такими предложениями являются операторы. Следовательно у языков программирования тоже должен быть свой синтаксис, который описывает правила, по которым записываются операторы языка, и из операторов составляется программа. После того, как человек запускает программу на выполнение, любая среда программирования прежде, чем действительно выполнить её, сначала проверит, нет ли в ней синтаксических ошибок, и если они есть, то программу выполнять не будет, а выдаст сообщение об ошибке.
Операции отношения или сравнения Знак Наименование Пример Пояснение Больше x > 5 x больше 5 >= Больше или равно y >= 8 y больше или равно 8 = Равно c = 10 c равно 10 <> Не равно d <> 3 d не равно 3
Виды ветвлений: неполное ветвление ( обход) , полное ветвление (альтернатива); вложенные ветвления; ветвление по ряду условий.
Неполное ветвление К неполным ветвлениям относятся алгоритмы, выполняющие следующую структуру логического выражения: «Если … то …». Ложь Истина Условие Действие
Запись условного оператора на Паскале Неполная форма оператора If IF THEN
Задача 1 Составьте блок-схему и программу упорядочения значений двух переменных x и y по возрастанию.
Решение задачи 1 Начало Ввод x,y x>y конец c:=x x:=y y:=c Вывод x,y Нет Да
Решение задачи 1 (сортировка) Алгоритм решения задачи: алг сортировка вещ x,y,c нач ввод x,y если x>y то c : =x x:=y y:=c кв вывод x,y кон
Составной оператор Этот пример иллюстрирует следующее правило Паскаля: Если на какой-то из ветвей оператора ветвления находится несколько последовательных операторов, то их нужно записать между служебными словами begin и e nd. Конструкция такого вида: begin end называется составным оператором.
Решение задачи (сортировка) Составим программу: Program sorting; var x,y,c:real ; begin writeln (‘ Введи два числа’); readln ( x,y ); if x>y then begin c :=x; x :=y; y:=c; end; writeln ( x,’,’,y ); end. обратно
Полное ветвление Полное ветвление — алгоритм , в котором выполняется одно из двух действий, в зависимости от истинности условия . Ложь Истина Если условие истинно, то выполняется действие 1, а иначе выполняется действие 2. Условие Действие 2 Действие 1
Запись условного оператора на Паскале Полная форма оператора I F IF THEN ELSE Внимание! Перед ELSE точка с запятой не ставится!
Задача 2 Даны два числа a, b . Выберите большее из них.
Задача 2 a >b c:=b c :=a начало Ввод a,b В ы вод с конец Нет Да
Задача 2 Алгоритм выбора большего из двух чисел, реализующий полное ветвление: алг БИД вещ a,b,c нач ввод a,b если a>b то c : =a иначе с:= b кв вывод c кон
Задача 2 Составим программу: program bid; var a,b,c : real ; begin writeln ( ‘ введите значения переменных a,b ‘); readln ( a,b ); if a>b then c :=a else c :=b; writeln (‘ Большее число’,’ ‘, c:4:2) end. Обратно
Вложенное ветвление В структуре вложенного ветвления следующая особенность: одна или обе ветви условия могут продолжаться не блоками вычислительных операций или ввода — вывода , а дополнительным блоком условия. Один из видов такого ветвления представлен на рисунке.
Вложенное ветвление Условие 1 конец условие 2 Действие 2 Действие 1 условие 3 Действие 3 Действие 4 Нет Да Нет Да Нет Да
Задача 3 Определите большее из трех чисел a, b, c .
Задача 3 Начало Ввод a , b , c a >b конец b >c a>c d:=c d:=b d:= с d:= а Нет Да Нет Да Нет Да Вывод d
Задача 3 Структура этого алгоритма – вложенные ветвления: алг БИТ вещ a , b , c, d нач ввод a, b, c если a>b то если a> с то d:=a иначе d:= с кв иначе если b>c то d:= b иначе d:= с кв кв вывод d кон
Задача 3 Составим программу, используя вложенные ветвления: program bit; var a,b,c,d : real ; begin writeln ( ‘ введите значения переменных a,b,c ‘); 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. Обратно
Сложные логические выражения Условие, содержащее логические связки (и, или, нет ), называется сложным условием. Условие, не содержащее логических связок, называется простым, или элементарным условием. С логическими связками (операциями) вы встречались, когда работали с базами данных и электронными таблицами.
Логические операции Логическая операция Ее значение Примеры записи Значение примера AND Логическое » И » (x 3) x меньше 7 И x больше 3 (3 100) or (y 100) NOT Логическое » НЕ » not (x=2) НЕ x равно 2
Задача 4 Два прямоугольника заданы длинами сторон. Написать программу, после выполнения которой выясняется, можно ли первый прямоугольник целиком разместить во втором. (Рассмотреть только случай, когда соответствующие стороны прямоугольников параллельны.)
Задача 4 Начало Ввод длин сторон a 1 , b 1 , a2, b 2 , a 1 of : ; … : ; else End Внимание! Единственный случай, когда перед словом ELSE можно ставить точку с запятой (;) это в операторе CASE!
Задача 5 Напишите программу, которая запрашивает у пользователя номер месяца и выводит соответствующее название времени года. В случае, если пользователь укажет недопустимое число, программа должна вывести сообщение «Ошибка ввода данных.Число должно быть от 1 до 12. Повторите ввод. ».
Задача 5 Program vremya_goda ; var m:integer; begin writeln (‘ Введите номер месяца (число от 1 до 12) m=’); readln (m); Case m of 1,2,12: writeln (‘ Время года — зима’); 3..5: writeln (‘ Время года — весна’); 6..8: writeln (‘ Время года — лето’); 9..11: writeln (‘ Время года — осень’); else writeln (‘ Ошибка ввода данных.Число должно быть от 1 до 12. Повторите ввод.’); end; end.
Закрепление материала. Контрольные вопросы: Как схематически выглядит алгоритм с неполным ветвлением? Как схематически выглядит алгоритм с вложенным ветвлением? Как схематически выглядит алгоритм с полным ветвлением? Как записывается условный оператор в полной форме?
Как записывается условный оператор в неполной форме? Как записывается общий вид оператора case ?
Задача 6 Напишите программу, которая считывает три целых числа (каждое с отдельной строки) и печатает 1, если среди них есть хотя бы одно число, большее удвоенной суммы двух других. Если таких чисел нет, то программа печатает 0. Программа должна выводить только 1 или 0. Известно, что каждое из исходных чисел по абсолютной величине не превосходит 1000.
Задача 6 (ДР в формате ЕГЭ) Program zadacha_6; var a, b, c : integer; begin writeln (‘ Введите значение a=’); readln (a); writeln (‘ Введите значение b=’); readln (b); writeln (‘ Введите значение c=’); readln (c); if (a>( b+c )*2)or (b>( a+c )*2)or(c>( a+b )*2) then writeln (1) else writeln (0); end. Обратно
Домашнее задание § 36 читать. Придумать пример разветвляющегося алгоритма. Индивидуальные задания: Составить алгоритм нахождения наименьшего из двух элементов Составить алгоритм нахождения наименьшего из трёх элементов Составить алгоритм нахождения наибольшего из двух элементов Составить алгоритм нахождения наибольшего из трёх элементов
Использованная литература и источники информации И.Г. Семакин и др. «Информатика и ИКТ», учебник для 9 класса, БИНОМ, Москва, 2011; Житкова О.А. Кудрявцева Е.К. «Справочные материалы по программированию на языке Паскаль», «ИНТЕЛЛЕКТ – ЦЕНТР», Москва, 2005; С.Н. Лукин, « Turbo Pascal 7.0 », самоучитель для начинающих, «ДИАЛОГ – МИФИ», Москва, 2005; С.В. Вольский , П.А. Дмитриев « Turbo Pascal 7.0 для студентов и школьников», Наука и Техника, Санкт-Петербург, 2007; Н.Культин « Turbo Pascal 7.0 в задачах и примерах», БХВ – Петербург, Санкт-Петербург, 2005; http :// yf.kemsu.r u
Источник: nsportal.ru