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

Презентация:



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

C : = X начало да нет X > Y Задача: составить алгоритм упорядочивания значений двух переменных ввод X, Y алг СОРТИРОВКА если X > Y ввод X, Y нач вещ X,
§37. Программирование ветвлений на Паскале Глава 6. Программное управление работой компьютера.
Программирование ветвления на Паскале.. Оператор ветвления на Паскале. Ветвление на алгоритмическом языке Полное ветвление на Паскале Неполное ветвление.
Программирование ветвлений на Паскале. Оператор ветвления или условный оператор if then else if - " если ", then - " то ", else - " иначе "
Среди современных языков программирования одним из самых популярных является язык Паскаль. Этот язык разработан в 1971 году и назван в честь Блеза Паскаля.
Цикл – это многократно выполняемая последовательность операторов (команд). Существует два основных цикла: цикл с предусловием и цикл с постусловием. В.
Оператор ветвления. Для реализации ветвления в программе используют условный оператор (оператор ветвления). Условный оператор в полной форме записывается.
Условный оператор Структура ветвления. Условный оператор реализует выполнение определённых команд при условии, что некоторое логическое выражение (условие)
ТЕМА: «ПРОВЕРКА УСЛОВИЯ» 8 – 9 класс Логунова Наталия Борисовна учитель информатики и ИКТ высшей категории МОСКВА, 2012.
1 Программирование на языке Паскаль Тема 2. Ветвления.
Программирование ветвлений на Паскале МОУ СОШ 2 городского округа город Буй Костромской области Учитель Щур А.Н.
Разветвляющиеся алгоритмы if Оператор условия if.
PASCAL Условный оператор.. Этот оператор используется для выполнения одного из двух возможных вариантов программы. Условный оператор если логическое_условие.
Создание программ разветвляющейся структуры. Условный оператор Условный оператор реализует алгоритмическую конструкцию "развилка" (ветвление) и изменяет.
Условный оператор. Ветвление Ветвление – это такая форма организации действий, при которой в зависимости от выполнения или не выполнения некоторого условия.
ВетвлениеВетвлениеопределение Разветвляющимся называется процесс, в котором естественный порядок выполнения нарушается в зависимости от условия.
Решение задач по теме «Ветвление»
Условный оператор Автор: Облицова Татьяна Александровна, учитель информатики МБОУ СОШ 6, г.Боготол, Красноярский край.
Условный оператор. Ветвление Ветвление – это такая форма организации действий, при которой в зависимости от выполнения или не выполнения некоторого условия.
Транксрипт:

Оператор ветвления (условный оператор) позволяет изменить порядок выполнения операторов в зависимости от выполнения некоторого условия (истинности логического выражения). На блок-схеме алгоритма условие изображается в виде ромба. Условие может быть простым (операция отношения) или составным (сложное логическое выражение, включающее в себя логические операции и операции отношения). Условный оператор – это одна из базовых алгоритмических структур. 1 Операции отношения = = < > больше меньше больше или равно меньше или равно не равно равно Простое условие Сложное условие Логические операции NOTORAND Операторы в структуре ветвления могут быть простыми или составными ENDBEGIN Последовательность простых и (или) составных операторов xyx AND yx OR y NOT x false true falsetruefalsetrue false truefalse true false Сначала проверяется условие ЕСЛИ условие истинно, ТО выполняется оператор 1 ИНАЧЕ (если оно ложно) выполняется оператор 2 IF THEN ELSE условие да нет оператор 1 оператор 2 Полное ветвление да нет Неполное ветвление IF THEN условие оператор

ОРГАНИЗАЦИЯ ГИПЕРССЫЛОК Режим последовательного изучения учебного материала организован с помощью кнопок прокрутки Режим справочника: в процессе перемещения курсора мыши по информационной области слайда приближение к объекту (гиперссылке) обеспечивается всплывающей подсказкой щелчок левой кнопкой мыши по выбранному учебному элементу вызывает учебную информацию в текстовом поле в нижней части экрана, при этом гипертекстовый объект выделяется графическими средствами (желтым фоном, красной рамкой). После щелчка по выделенному объекту происходит возврат на первый (ключевой) слайд в любом слайде возможен свободный переход на любую учебную информацию, расположенную на других слайдах, если выбрать соответствующую гиперссылку

ЛОГИЧЕСКОЕ ВЫРАЖЕНИЕ – это выражение, которое принимает значение TRUE (истина) или FALSE (ложь) и включает в себя операнды (константы и переменные) и (или) арифметические выражения, связанные операциями отношения и логическими операциями. Каждая операция отношения соединяет два операнда или выражения одного и того же типа (разрешается сравнивать вещественное число с целым). Любая операция сравнения в качестве результата дает значение TRUE или FALSE. 2 Операции отношения = = < > больше меньше больше или равно меньше или равно не равно равно Простое условие Логические операции NOTORAND Операторы в структуре ветвления могут быть простыми или составными ENDBEGIN Последовательность простых и (или) составных операторов xyx AND yx OR y NOT x false true falsetruefalsetrue false truefalse true false Сначала проверяется условие ЕСЛИ условие истинно, ТО выполняется оператор 1 ИНАЧЕ (если оно ложно) выполняется оператор 2 IF THEN ELSE условие да нет оператор 1 оператор 2 Полное ветвление да нет Неполное ветвление IF THEN условие оператор

3 В сложных логических выражениях отношения, связываемые логическими операциями, заключаются в скобки !!! Например, требуется определить, есть ли среди чисел a, b, c хотя бы одно отрицательное. Эту задачу решает следующий условный оператор: IF (a < 0) OR (b < 0) OR (c < 0) THEN WRITE ( да ) ELSE WRITE ( нет ) ; Сложное условие Логические операции NOTORAND Операторы в структуре ветвления могут быть простыми или составными ENDBEGIN Последовательность простых и (или) составных операторов xyx AND yx OR y NOT x false true falsetruefalsetrue false truefalse true false Сначала проверяется условие ЕСЛИ условие истинно, ТО выполняется оператор 1 ИНАЧЕ (если оно ложно) выполняется оператор 2 IF THEN ELSE условие да нет оператор 1 оператор 2 Полное ветвление да нет Неполное ветвление IF THEN условие оператор Операции отношения = = < > больше меньше больше или равно меньше или равно не равно равно

4 Пример полного ветвления: IF a > b { ЕСЛИ a больше b } THEN c := a { ТО переменной c присвоить значение переменной а } ELSE c := b ; { ИНАЧЕ переменной с присвоить значение b } Пример неполного ветвления: IF b > a { ЕСЛИ b больше a } THEN c := b ; { ТО переменной c присвоить значение переменной b } Операции отношения = = < > больше меньше больше или равно меньше или равно не равно равно Простое условие Сложное условие Логические операции NOTORAND Операторы в структуре ветвления могут быть простыми или составными ENDBEGIN Последовательность простых и (или) составных операторов xyx AND yx OR y NOT x false true falsetruefalsetrue false truefalse true false Сначала проверяется условие ЕСЛИ условие истинно, ТО выполняется оператор 1 ИНАЧЕ (если оно ложно) выполняется оператор 2 IF THEN ELSE условие да нет оператор 1 оператор 2 Полное ветвление да нет Неполное ветвление IF THEN условие оператор

5 Если на какой-то из ветвей оператора ветвления находится несколько последовательных операторов, то они должны быть записаны между служебными словами BEGIN и END. Такая конструкция называется составным оператором. Точку с запятой перед словом END можно не ставить, так как операторная скобка уже выполняет функции разделителя. Пример составного оператора: IF x > y THEN BEGIN c := x ; x := y ; y := c END ; Операции отношения = = < > больше меньше больше или равно меньше или равно не равно равно Простое условие Сложное условие Логические операции NOTORAND Операторы в структуре ветвления могут быть простыми или составными ENDBEGIN Последовательность простых и (или) составных операторов xyx AND yx OR y NOT x false true falsetruefalsetrue false truefalse true false Сначала проверяется условие ЕСЛИ условие истинно, ТО выполняется оператор 1 ИНАЧЕ (если оно ложно) выполняется оператор 2 IF THEN ELSE условие да нет оператор 1 оператор 2 Полное ветвление да нет Неполное ветвление IF THEN условие оператор

Задача: найти наибольшее значение среди трех величин: A, B, C алг БИТ2 если A > B ввод A, B, C нач вещ A, B, C, D кон вывод D иначе если B > C то D := B иначе D := C кв кв то если A > C то D := A иначе D := C кв IF PROGRAM VAR READLN WRITELN IF THEN ELSE : REAL a, b, c, d () ; BIT2 ; a, b, c ; END. a > b () BEGIN :=:= da ;:=:= d b d IF a > c b > c THEN ELSE :=:= dc :=:= d c начало да нет A > B ввод A, B, C конец вывод D D : = A да нет A > C D : = CD : = B да нет B > C D : = C

PROGRAM VAR READLN IF THEN : REALA, B, C, D () ; :=:= BIT3 ; A, B, C ; END. ( A>=B ) and ( A>=C ) D BEGIN D : = A начало да нет A B и A С конец ввод a, b, c алг БИТ3 если A B и A С ввод A, B, C нач вещ A, B, C, D кон вывод D то D := A Задача: определить большее из трех чисел WRITELN()D D : = B да нет B A и B С D : = C да нет C A и C B вывод D A IF THEN :=:= ( B>=A ) and ( B>=C ) DB IF THEN :=:= ( C>=A ) and ( C>=B ) DC ; ; ; если B A и B С то D := B если C A и C B то D := C Условия ветвлений представляют собой сложные логические выражения, включающие логическую операцию and (И). Отношения, связываемые логическими операциями, заключаются в скобки.

C : = X начало да нет X > Y Задача: составить алгоритм упорядочивания значений двух переменных ввод X, Y алг СОРТИРОВКА если X > Y ввод X, Y нач вещ X, Y, C кон вывод X, Y то C := X кв X : = Y Y : = C X := Y Y := C Этот пример иллюстрирует следующее правило Паскаля: если на какой – то из ветвей оператора ветвления находится несколько последовательных операторов, то их нужно записывать между операторными скобками BEGIN и END. Такая конструкция называется составным оператором. X > Y X < Y конец вывод X, Y PROGRAM VAR READLN WRITELN IF THEN : REALx, y, c () ; SORTING ; x, y ; END x > y BEGIN END. ; :=:= cx :=:= xy :=:= yc ; ; ()x, y

Начало работы программы. Переменные X, Y, C не определены x y c C : = X да нет X > Y ввод X, Y X : = Y Y : = C конец вывод X, Y Задача: составить алгоритм упорядочивания значений двух переменных алг СОРТИРОВКА если X > Y ввод X, Y нач вещ X, Y, C кон вывод X, Y то C := X кв X := Y Y := C PROGRAM VAR READLN WRITELN IF THEN : REALx, y, c () ; SORTING ; x, y ; END x > y BEGIN END. ; :=:= cx :=:= xy :=:= yc ; ; ()x, y начало

Ввод исходных данных в память компьютера с клавиатуры. Данные вводятся через пробел, в конце ввода необходимо нажать клавишу ВВОД (ENTER). На экране компьютера появляются соответствующие значения переменных X и Y. Пример: X > Y 8 5 x y c C : = X да нет X > Y X : = Y Y : = C конец вывод X, Y Задача: составить алгоритм упорядочивания значений двух переменных алг СОРТИРОВКА если X > Y ввод X, Y нач вещ X, Y, C кон вывод X, Y то C := X кв X := Y Y := C PROGRAM VAR READLN WRITELN IF THEN : REALx, y, c () ; SORTING ; x, y ; END x > y BEGIN END. ; :=:= cx :=:= xy :=:= yc ; ; ()x, y начало 8 5 Ввод ввод X, Y

Проверка истинности условия X > Y в конструкции неполного ветвления. В нашем примере условие выполнено ( 8 > 5 ) x y c 8 5 C : = X да нет ввод X, Y X : = Y Y : = C конец вывод X, Y Задача: составить алгоритм упорядочивания значений двух переменных алг СОРТИРОВКА если X > Y ввод X, Y нач вещ X, Y, C кон вывод X, Y то C := X кв X := Y Y := C PROGRAM VAR READLN WRITELN IF THEN : REALx, y, c () ; SORTING ; x, y ; END x > y BEGIN END. ; :=:= cx :=:= xy :=:= yc ; ; ()x, y начало 8 5 X > Y

Выполнение первого шага в процедуре обмена значениями между переменными X и Y. Дополнительной переменной C временно присваивается значение переменной X. Переменная C после этого действия получает значение, равное x y 5 да нет X > Y ввод X, Y X : = Y Y : = C конец вывод X, Y Задача: составить алгоритм упорядочивания значений двух переменных алг СОРТИРОВКА если X > Y ввод X, Y нач вещ X, Y, C кон вывод X, Y то C := X кв X := Y Y := C PROGRAM VAR READLN WRITELN IF THEN : REALx, y, c () ; SORTING ; x, y ; END x > y BEGIN END. ; :=:= cx :=:= xy :=:= yc ; ; ()x, y начало c C : = X

x y да нет X > Y ввод X, Y Y : = C конец вывод X, Y Задача: составить алгоритм упорядочивания значений двух переменных алг СОРТИРОВКА если X > Y ввод X, Y нач вещ X, Y, C кон вывод X, Y то C := X кв X := Y Y := C PROGRAM VAR READLN WRITELN IF THEN : REALx, y, c () ; SORTING ; x, y ; END x > y BEGIN END. ; :=:= cx :=:= xy :=:= yc ; ; ()x, y начало 8 c X : = Y Выполнение второго шага в процедуре обмена значениями между переменными X и Y. Переменной X присваивается значение переменной Y. Переменная X после этого действия получает новое значение, равное 5. Прежнее значение стирается.

x y 5 C : = X да нет X > Y ввод X, Y X : = Y конец вывод X, Y Задача: составить алгоритм упорядочивания значений двух переменных алг СОРТИРОВКА если X > Y ввод X, Y нач вещ X, Y, C кон вывод X, Y то C := X кв X := Y Y := C PROGRAM VAR READLN WRITELN IF THEN : REALx, y, c () ; SORTING ; x, y ; END x > y BEGIN END. ; :=:= cx :=:= xy :=:= yc ; ; ()x, y начало c Y : = C Выполнение третьего шага в процедуре обмена значениями между переменными X и Y. Переменной Y присваивается значение переменной С. Переменная Y после этого действия получает новое значение, равное 8.

Вывод результатов решения задачи. На экране компьютера отображаются новые значения переменных X и Y (X = 5, Y = 8) x y C : = X да нет X > Y ввод X, Y X : = Y Y : = C конец Задача: составить алгоритм упорядочивания значений двух переменных алг СОРТИРОВКА если X > Y ввод X, Y нач вещ X, Y, C кон вывод X, Y то C := X кв X := Y Y := C PROGRAM VAR READLN WRITELN IF THEN : REALx, y, c () ; SORTING ; x, y ; END x > y BEGIN END. ; :=:= cx :=:= xy :=:= yc ; ; ()x, y начало 8 c вывод X, Y

Конец работы программы. Выполнены все команды (операторы) программы. В этом варианте трассировки алгоритма произошел обмен значениями между переменными X и Y. Задача решена. x y 5 8 C : = X да нет X > Y ввод X, Y X : = Y Y : = C конец вывод X, Y Задача: составить алгоритм упорядочивания значений двух переменных алг СОРТИРОВКА если X > Y ввод X, Y нач вещ X, Y, C кон вывод X, Y то C := X кв X := Y Y := C PROGRAM VAR READLN WRITELN IF THEN : REALx, y, c () ; SORTING ; x, y ; END x > y BEGIN END. ; :=:= cx :=:= xy :=:= yc ; ; ()x, y начало 8 c

C : = X да нет X > Y ввод X, Y X : = Y Y : = C конец вывод X, Y Задача: составить алгоритм упорядочивания значений двух переменных алг СОРТИРОВКА если X > Y ввод X, Y нач вещ X, Y, C кон вывод X, Y то C := X кв X := Y Y := C PROGRAM VAR READLN WRITELN IF THEN : REALx, y, c () ; SORTING ; x, y ; END x > y BEGIN END. ; :=:= cx :=:= xy :=:= yc ; ; ()x, y начало x y c Начало работы программы. Переменные X, Y, C не определены

Этот п C : = X да нет X > Y X : = Y Y : = C конец вывод X, Y Задача: составить алгоритм упорядочивания значений двух переменных алг СОРТИРОВКА если X > Y ввод X, Y нач вещ X, Y, C кон вывод X, Y то C := X кв X := Y Y := C PROGRAM VAR READLN WRITELN IF THEN : REALx, y, c () ; SORTING ; x, y ; END x > y BEGIN END. ; :=:= cx :=:= xy :=:= yc ; ; ()x, y начало 3 7 ввод X, Y x y c 3 7 Ввод Ввод исходных данных в память компьютера с клавиатуры. Данные вводятся через пробел, в конце ввода необходимо нажать клавишу ВВОД (ENTER). На экране компьютера появляются соответствующие значения переменных X и Y. Пример: X < Y

C : = X да нет X > Y ввод X, Y X : = Y Y : = C конец вывод X, Y Задача: составить алгоритм упорядочивания значений двух переменных алг СОРТИРОВКА если X > Y ввод X, Y нач вещ X, Y, C кон вывод X, Y то C := X кв X := Y Y := C PROGRAM VAR READLN WRITELN IF THEN : REALx, y, c () ; SORTING ; x, y ; END x > y BEGIN END. ; :=:= cx :=:= xy :=:= yc ; ; ()x, y начало 3 7 x y c 3 7 Проверка истинности условия X > Y в конструкции неполного ветвления. В нашем примере условие не выполнено, (3 < 7)

C : = X да нет X > Y ввод X, Y X : = Y Y : = C конец Задача: составить алгоритм упорядочивания значений двух переменных алг СОРТИРОВКА если X > Y ввод X, Y нач вещ X, Y, C кон вывод X, Y то C := X кв X := Y Y := C PROGRAM VAR READLN WRITELN IF THEN : REALx, y, c () ; SORTING ; x, y ; END x > y BEGIN END. ; :=:= cx :=:= xy :=:= yc ; ; ()x, y начало 3 7 вывод X, Y x y c 3 7 Вывод результатов решения задачи. Так как условие ветвления на предыдущем шаге не выполнено, обмен значениями между переменными X и Y не происходит. На экране компьютера отображаются значения переменных X и Y (X = 3, Y = 7)

Задача: составить алгоритм упорядочивания значений двух переменных алг СОРТИРОВКА если X > Y ввод X, Y нач вещ X, Y, C кон вывод X, Y то C := X кв X := Y Y := C PROGRAM VAR READLN WRITELN IF THEN : REALx, y, c () ; SORTING ; x, y ; END x > y BEGIN END. ; :=:= cx :=:= xy :=:= yc ; ; ()x, y 3 7 C : = X да нет X > Y ввод X, Y X : = Y Y : = C конец начало вывод X, Y x y 3 7 c Конец работы программы. Выполнены все команды (операторы) программы. В этом варианте трассировки игнорируется процедура обмена значениями между переменными X и Y. Задача решена.