1 Лекция 4. Управляющие операторы языка Операторы ветвления

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

38506-4_usloviya_i_case.ppt

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

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

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

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

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

>Пример 1 5  if a < 0 then b := 1; if (a Пример 1 5 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;

>Вложенные условия if a < b then  if a < c then m Вложенные условия 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

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

>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

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

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

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

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

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

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

>17 Примеры применения case case a in  4 :  writeln(’4’);  5, 17 Примеры применения case case a in 4 : writeln(’4’); 5, 6 : writeln(’5 или 6’); 7 .. 12: writeln(’от 7 до 12’); end; program cursor_keys; uses Crt; var key : char; 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; end.

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