Скачать презентацию Pascal СТРУКТУРНЫЕ ОПЕРАТОРЫ УПРАВЛЕНИЯ Назначение и виды Скачать презентацию Pascal СТРУКТУРНЫЕ ОПЕРАТОРЫ УПРАВЛЕНИЯ Назначение и виды

06 Управляющие конструкции.pptx

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

Pascal СТРУКТУРНЫЕ ОПЕРАТОРЫ УПРАВЛЕНИЯ Pascal СТРУКТУРНЫЕ ОПЕРАТОРЫ УПРАВЛЕНИЯ

Назначение и виды Данные операторы включают в себя другие операторы и управляют последовательностью их Назначение и виды Данные операторы включают в себя другие операторы и управляют последовательностью их выполнения. Виды: составной; условный; выбора цикла.

Составной оператор объединяет группу операций в единое целое, после чего они могут считаться одним Составной оператор объединяет группу операций в единое целое, после чего они могут считаться одним оператором. Формат: begin <группа операций>; end;

Условный оператор позволяет выбирать одно из двух возможных действий в зависимости от условия. Условие Условный оператор позволяет выбирать одно из двух возможных действий в зависимости от условия. Условие – это свойство величин, которое может соблюдаться или не соблюдаться для их конкретных значений. Условие представляет собой логическое выражение, значение которого является «True» / «False» . Примеры: X<>Y S mod 3=0 D (логическая переменная);

Условный оператор Логическое выражение может быть сложным, включающим логические операции: NOT, OR, AND, XOR. Условный оператор Логическое выражение может быть сложным, включающим логические операции: NOT, OR, AND, XOR. Тогда говорят о составном условии. Примеры: (a >90) or (b >90) or (c >90) - 'Треугольник - тупоугольный' (a<90) and (b <90) and (c <90) - 'Треугольник - остроугольный'

Таблица истинности a b OR AND XOR True False True True False False При Таблица истинности a b OR AND XOR True False True True False False При а=3 и b =true (a<10) and not (b) При с=5 и р= ’а’ (p<’ k’) or (c>5)

Условный оператор Формат полной формы if <условие> then <оператор1> else <оператор2>; Да S 1 Условный оператор Формат полной формы if <условие> then <оператор1> else <оператор2>; Да S 1 условие Нет S 2

Условный оператор Пример: var a, b: real; begin writeln(’ введите 2 числа’); readln(a, b); Условный оператор Пример: var a, b: real; begin writeln(’ введите 2 числа’); readln(a, b); if b = 0 then writeln(’ошибка ввода’) else writeln(’ Result : = ’, a/b); readln end.

Условный оператор var X, Y, Max: Integer; begin. . if X > Y then Условный оператор var X, Y, Max: Integer; begin. . if X > Y then Max : = X else Max : = Y; . . end;

Условный оператор Формат неполной формы if <условие> then <оператор>; Да S 1 условие Нет Условный оператор Формат неполной формы if <условие> then <оператор>; Да S 1 условие Нет

Условный оператор Пример: var a, Result : real; begin writeln(’ введите число’); readln(a); if Условный оператор Пример: var a, Result : real; begin writeln(’ введите число’); readln(a); if a >= 0 then Result : = sqrt( a); … Readln end.

Правила оформления условного оператора 1. 2. 3. 4. Отдельные составные части сложного логического выражения Правила оформления условного оператора 1. 2. 3. 4. Отдельные составные части сложного логического выражения заключаются в скобки. После слова then и перед словом else ставить «; » нельзя. После Then и Else должен быть один оператор, иначе операторы заключаются в операторный блок. В случае “вложенных” условных операторов компилятор всегда считает, что else относится к последней из конструкций if, в которой не было раздела else

Например, в конструкции Нет Да условие if <условие 1> then if <условие 2> then Например, в конструкции Нет Да условие if <условие 1> then if <условие 2> then Да Нет <оператор1> условие else <оператор2>; S 1 S 2 else будет отнесено компилятором ко второй конструкции if

Если же необходимо отнести else к первому if Да if <условие 1> then begin Если же необходимо отнести else к первому if Да if <условие 1> then begin if <условие 2> then <оператор1> end else <оператор2>; условие Нет Да Нет условие S 1 S 2

Оператор выбора позволяет выбирать одно из нескольких возможных действий (операторов). Формат: case <выражение> of Оператор выбора позволяет выбирать одно из нескольких возможных действий (операторов). Формат: case <выражение> of <список значений 1>: <оператор 1>; . . . <список значений n>: <оператор n>; [else <оператор>] end;

Правила оформления оператора выбора выражение (переключатель) должно иметь порядковый тип после списка значений должен Правила оформления оператора выбора выражение (переключатель) должно иметь порядковый тип после списка значений должен быть один оператор. Если в какой – либо ветви необходимо выполнить несколько операторов, то используется составной оператор.

Списки значений 1. могут содержать одно или несколько разделенных 2. 3. 4. 5. запятыми Списки значений 1. могут содержать одно или несколько разделенных 2. 3. 4. 5. запятыми возможных значений константных выражений; а также диапазоны значений; константы и константные выражения должны быть совместимы по типу с объявленным выражением; не могут включать переменные и многие функции; не должны пересекаться; должны располагаться в возрастающем порядке (рекомендовано для получения оптимального кода).

Определить порядок целого числа N от 0 до 999 Var N: integer; … Randomize; Определить порядок целого числа N от 0 до 999 Var N: integer; … Randomize; N: =Random(1000); case N of 0. . 9: writeln('однозначное'); 10. . 99: writeln('двузначное'); 100. . 999: writeln('трехзначное') end;

Определить тип символа Var symbol: Char; … case symbol of ’ 0’. . ’ Определить тип символа Var symbol: Char; … case symbol of ’ 0’. . ’ 9’: writeln('это цифра'); ’a’. . ’z’: writeln('стр. буква'); ’A’. . ’Z’: writeln('прописная буква') else writeln(‘Это др. символ’) end;

Циклы Цикл – это группа последовательных действий, завершающаяся переходом при выполнении некоторого условия на Циклы Цикл – это группа последовательных действий, завершающаяся переходом при выполнении некоторого условия на первую команду этой группы. Существуют два основных вида циклов: 1. Цикл с известным числом повторений. Пример такого цикла- вычисление суммы последовательности чисел: X=X 1+X 2+…+Xn= nk=1 Xk 2. Циклы с неизвестным количеством повторений. Например, в задаче обработки файла передача файла закончится, как только будет прочитан “конец файла”.

Структура цикла: 1. 2. 3. Начало: подготовка цикла. Проверка: определяет момент выхода из цикла. Структура цикла: 1. 2. 3. Начало: подготовка цикла. Проверка: определяет момент выхода из цикла. Тело цикла: содержит рабочую часть и продвижение (обновление параметра или величины, его заменяющей).

Цикл с предусловием Позволяет многократно выполнять одни и те же действия тела цикла в Цикл с предусловием Позволяет многократно выполнять одни и те же действия тела цикла в зависимости от некоторого условия, проверяемого каждый раз перед выполнением тела цикла. while <условие работы > do <тело цикло>; Да Нет Условие Тело

Цикл с предусловием <условие работы цикла> - это логическое выражение, в случае истинности которого Цикл с предусловием <условие работы цикла> - это логическое выражение, в случае истинности которого выполняется тело цикла. <тело цикла> - это один оператор или совокупность операторов, объединенных в один составной оператор. В теле цикла обязательно должен изменятся параметр, от которого зависит условие цикла. Иначе произойдет зацикливание.

Const N=10; Var X, S: real; k: integer; Begin Writeln (‘Input N numbers with Const N=10; Var X, S: real; k: integer; Begin Writeln (‘Input N numbers with Enter: ’); k: =1; S: =0 // начальные установки (инициализация); while k<=N do Begin Readln(X); S: =S+abs(X); Inc(k) End; Writeln (‘Srednee = ’, S/N: 10: 4); Readln; End.

Цикл с постусловием Позволяет многократно выполнять одни и те же действия тела цикла в Цикл с постусловием Позволяет многократно выполнять одни и те же действия тела цикла в зависимости от некоторого условия, проверяемого каждый раз после выполнения тела цикла. repeat <тело цикла> until <условие окончания цикла>; тело Нет Да Условие

Const N=10; Var X, S: real; k: integer; Begin Writeln (‘Input N number with Const N=10; Var X, S: real; k: integer; Begin Writeln (‘Input N number with Enter: ’); k: =1; S: =0 // начальные установки Repeat Readln(X); S: =S+abs(X); Inc(k) Until k>N; Writeln (‘Srednee = ’, S/N: 10: 4); Readln; End.

Цикл с параметром Позволяет многократно выполнять одни и те же действия в теле цикла Цикл с параметром Позволяет многократно выполнять одни и те же действия в теле цикла в зависимости от значения параметра (счетчика повторений), изменение которого определено в виде начального и конечного значения в заголовке тела цикла for <пар. цикла>: =<нач_знач> to <кон. знач> do <тело цикла>; for <пар. цикла>: =<нач_знач> downto <кон. знач> do < тело цикла >; i: =j 1, j 3 Серия

Цикл с парметром <параметр_цикла> - переменная любого порядкового типа <нач_знач> - начальное значение - Цикл с парметром <параметр_цикла> - переменная любого порядкового типа <нач_знач> - начальное значение - выражение того же типа; <кон_знач> - конечное значение - выражение того же типа; <оператор> - произвольный оператор.

Const N=10; Var X, S: real; k: integer; Begin Writeln (‘Input your number with Const N=10; Var X, S: real; k: integer; Begin Writeln (‘Input your number with Enter: ’); S: =0; // начальные установки (инициализация) For k: =1 to N do Begin Readln(X); S: =S+abs(X); End; Writeln (‘Srednee = ’, S/N: 10: 4); Readln; End.

Пример для подсчета любых сумм первых N чисел - положительных и отрицательных: Sum : Пример для подсчета любых сумм первых N чисел - положительных и отрицательных: Sum : = 0; if N >= 0 then for i : = 1 to N do Sum : = Sum + i else for i : = -1 downto N do Sum : = Sum + i ;