Скачать презентацию Лекция 4 Управляющие операторы языка Операторы ветвления условные Скачать презентацию Лекция 4 Управляющие операторы языка Операторы ветвления условные

4_Условия и CASE.ppt

  • Количество слайдов: 18

Лекция 4. Управляющие операторы языка Операторы ветвления (условные операторы) и оператор множественного выбора Case Лекция 4. Управляющие операторы языка Операторы ветвления (условные операторы) и оператор множественного выбора Case 1

Операторы ветвления 2 Операторы ветвления 2

Правила записи логических выражений: n Не равно n Отрицание n Либо-либо n Принадлежность диапазону Правила записи логических выражений: n Не равно n Отрицание n Либо-либо n Принадлежность диапазону 3

Условный оператор if if выражение then оператор_1 [else оператор_2; ] Формы: n Полная (есть Условный оператор if if выражение then оператор_1 [else оператор_2; ] Формы: n Полная (есть else) n Сокращённая (нет else) Особенности: n операторные скобки; n Выражение – логическое!!! 4

Пример 1 if a < 0 then b : = 1; if (a < Пример 1 if a < 0 then b : = 1; if (a < b) and ((a > d) or (a = 0)) then inc(b) else begin b : = b * a; a : = 0 end; 5

Вложенные условия n if a < b then if a < c then m Вложенные условия n if a < b then if a < c then m : = a else m : = c else if b < c then m : = b else m : = c; *** else всегда относится к ближайшему if Блок-схема? 6

Пример 2 Вычисление значения функции 7 Пример 2 Вычисление значения функции 7

Пример 2 Вычисление значения функции Program Pr_1; Var x, y: real; Begin writeln(‘Введите значение Пример 2 Вычисление значения функции Program Pr_1; Var x, y: real; Begin writeln(‘Введите значение аргумента’); Read(x); If (x<-3) or (x>3) then begin writeln(‘Значение должно принадлежать интервалу [-3; 3]’); exit End; If x<-2 then y: =-2*x-5; If (x>-2) and (x<0) then y: =-SQRT(1 -SQR(x+1))-1; If (x>=0) and (x<1) then y: =x-1; If x>1 then y: =SQRT(1 -SQR(x-2)); Writeln(‘Для x=‘, x: 6: 2, ‘значение функции Y=‘, y: 6: 2) End. 8

Пример 3 y -2 1 2 x -2 program shot; var x, y: real; Пример 3 y -2 1 2 x -2 program shot; var x, y: real; begin writeln(‘ Введите значения х и у: ’); readln(x, y); if (sqr(x) + sqr(y) <= 1) or (x <= 0) and (y >= - x - 2) then writeln(‘ Точка попадает в область’) else writeln(‘ Точка не попадает в область’); end. 9

program Pr_2; var NUM : integer; Begin writeln(‘Введите число от 1 до 4: ’); program Pr_2; var NUM : integer; Begin writeln(‘Введите число от 1 до 4: ’); readln (NUM); if NUM=0 then writeln (‘Ноль’); if NUM=1 then writeln (‘Один’); if NUM=2 then writeln (‘Два’) if NUM=3 then writeln (‘Три’) if NUM=4 then writeln (‘Четыре’); end. Чем «плоха» программа? 10

Оператор варианта case выражение of константы_1 : оператор_1; константы_2 : оператор_2; константы_n : оператор_n; Оператор варианта case выражение of константы_1 : оператор_1; константы_2 : оператор_2; константы_n : оператор_n; [ else : оператор ] end; 11

Какие типы называют порядковыми? ? ? 12 Какие типы называют порядковыми? ? ? 12

Порядковые типы Все возможные значения порядкового типа представляют собой ограниченное упорядоченное множество. К любому Порядковые типы Все возможные значения порядкового типа представляют собой ограниченное упорядоченное множество. К любому порядковому типу могут быть применены функции: n. Ord - возвращает порядковый номер конкретного значения в данном типе; n. Pred и Succ - возвращают предыдущее и последующее значения соответственно; n. Low и High - возвращают наименьшее и наибольшее значения величин данного типа. К порядковым относятся: логические, целые, символьный, перечисляемый, интервальный. 13

Интервальный (ограниченный) тип данных n Интервальный от … до … n Это отрезок (диапазон Интервальный (ограниченный) тип данных n Интервальный от … до … n Это отрезок (диапазон значений) любого порядкового типа. n Отрезок задается диапазоном от минимального до максимального значения констант, разделенных двумя точками. n В качестве констант могут быть использованы константы, принадлежащие к целому, символьному, логическому или перечисляемому типам. n Скалярный тип, на котором строится отрезок, называется базовым типом. Примеры отрезков: 1. . 10 -15. . 25 'a'. . 'z' n Минимальное и максимальное значения констант называются нижней и верхней границами отрезка, определяющего интервальный тип. Нижняя граница должна быть меньше верхней. n Над переменными, относящимися к интервальному типу, могут выполняться все операции и применяться все стандартные функции, которые допустимы для соответствующего базового типа. 14

Перечисляемый тип данных n Представляет собой ограниченную упорядоченную последовательность скалярных констант, составляющих данный тип. Перечисляемый тип данных n Представляет собой ограниченную упорядоченную последовательность скалярных констант, составляющих данный тип. n Значение каждой константы задается ее именем. n Имена отдельных констант отделяются друг от друга запятыми, а вся совокупность констант, составляющих данный перечисляемый тип, заключается в круглые скобки. n Например, n перечисляемый тип Rainbow (РАДУГА) объединяет скалярные значения RED, ORANGE, YELLOW, GREEN, LIGHT_BLUE, VIOLET (КРАСНЫЙ, ОРАНЖЕВЫЙ, ЖЕЛТЫЙ, ЗЕЛЕНЫЙ, ГОЛУБОЙ, СИНИЙ, ФИОЛЕТОВЫЙ). n Перечисляемый тип Traffic_Light (СВЕТОФОР) объединяет скалярные значения RED, YELLOW, GREEN (КРАСНЫЙ, ЖЕЛТЫЙ, ЗЕЛЕНЫЙ). 15

Описание перечисляемого типа данных 1. В разделе описания типов Type Rainbow = (RED, ORANGE, Описание перечисляемого типа данных 1. В разделе описания типов Type Rainbow = (RED, ORANGE, YELLOW, GREEN, LIGHT_BLUE, VIOLET); var Color: Rainbow; 2. разделе описания переменных, например: var Section: (RED, YELLOW, GREEN); n К переменным перечисляемого типа НЕ может быть применим оператор READ n К переменным перечисляемого типа может быть применим оператор присваивания: Section: = YELLOW; *** Упорядоченная последовательность значений, составляющих перечисляемый тип, автоматически нумеруется, начиная с нуля и далее через единицу. Отсюда следует, что к перечисляемым переменным и константам могут быть применены операции отношения и стандартные функции Pred, Succ, Ord. 16

Примеры применения case a in 4 : writeln(’ 4’); 5, 6 : writeln(’ 5 Примеры применения case a in 4 : writeln(’ 4’); 5, 6 : writeln(’ 5 или 6’); program cursor_keys; 7. . 12: writeln(’от 7 до 12’); uses Crt; var key : char; end; begin writeln('Нажмите одну из курсорных клавиш '); key : = readkey; if ord(key) <> 0 then writeln('обычная клавиша') else begin key : = readkey; case ord(key) of 77: writeln('стрелка вправо'); 75: writeln('стрелка влево'); 72: writeln('стрелка вверх'); 80: writeln('стрелка вниз'); else writeln('не стрелка'); end; end. 17

Самостоятельно Написать программы: n n Дописать слово «рубль (рубля, рублей)» к заданному числу. Программа Самостоятельно Написать программы: n n Дописать слово «рубль (рубля, рублей)» к заданному числу. Программа «Калькулятор» на 4 арифм. действия 18