Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 11 лет назад пользователемЮрий Тихомиров
1 Оператор ветвления (условный оператор) позволяет изменить порядок выполнения операторов в зависимости от выполнения некоторого условия (истинности логического выражения). На блок-схеме алгоритма условие изображается в виде ромба. Условие может быть простым (операция отношения) или составным (сложное логическое выражение, включающее в себя логические операции и операции отношения). Условный оператор – это одна из базовых алгоритмических структур. 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 условие оператор
2 ОРГАНИЗАЦИЯ ГИПЕРССЫЛОК Режим последовательного изучения учебного материала организован с помощью кнопок прокрутки Режим справочника: в процессе перемещения курсора мыши по информационной области слайда приближение к объекту (гиперссылке) обеспечивается всплывающей подсказкой щелчок левой кнопкой мыши по выбранному учебному элементу вызывает учебную информацию в текстовом поле в нижней части экрана, при этом гипертекстовый объект выделяется графическими средствами (желтым фоном, красной рамкой). После щелчка по выделенному объекту происходит возврат на первый (ключевой) слайд в любом слайде возможен свободный переход на любую учебную информацию, расположенную на других слайдах, если выбрать соответствующую гиперссылку
3 ЛОГИЧЕСКОЕ ВЫРАЖЕНИЕ – это выражение, которое принимает значение 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 условие оператор
4 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 условие оператор Операции отношения = = < > больше меньше больше или равно меньше или равно не равно равно
5 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 условие оператор
6 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 условие оператор
7 Задача: найти наибольшее значение среди трех величин: 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
8 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 (И). Отношения, связываемые логическими операциями, заключаются в скобки.
9 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
10 Начало работы программы. Переменные 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 начало
11 Ввод исходных данных в память компьютера с клавиатуры. Данные вводятся через пробел, в конце ввода необходимо нажать клавишу ВВОД (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
12 Проверка истинности условия 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
13 Выполнение первого шага в процедуре обмена значениями между переменными 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
14 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. Прежнее значение стирается.
15 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.
16 Вывод результатов решения задачи. На экране компьютера отображаются новые значения переменных 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
17 Конец работы программы. Выполнены все команды (операторы) программы. В этом варианте трассировки алгоритма произошел обмен значениями между переменными 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
18 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 не определены
19 Этот п 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
20 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)
21 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)
22 Задача: составить алгоритм упорядочивания значений двух переменных алг СОРТИРОВКА если 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. Задача решена.
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.