Свойства, блок-схема линейного и разветвляющегося алгоритма. Запись и ввод переменных. Решение задач программирования в сложных условиях. Использование циклов и последовательностей. Применение операторов выбора. Построение графиков функций, процедуры.
Программа max := a ; max := b ; полная форма условного оператора program qq; var a, b, max: integer; begin writeln(" Введите два целых числа "); read (a, b ); if a > b then begin end else begin end ; writeln (" Наибольшее число ", max); end.32 Условный оператор if then begin {что делать, если условие верно } end else begin {что делать, если условие неверно } end ; Особенности: перед else НЕ ставится точка с запятой вторая часть (else …) может отсутствовать (неполная форма) если в блоке один оператор, можно убрать слова begin и end33 Что неправильно? if a > b then begin a := b; end else b := a; end ; if a > b then begin a := b; else begin b := a; end ; if a > b then begin a := b; end; else begin b := a; end ; if a > b then begin a := b; end else b > a begin b := a; end ; begin end begin end34 Вариант 2 . Блок-схема неполная форма ветвления начало max:= a; ввод a,b вывод max max:= b; конец да нет b > a?35 Вариант 2. Программа program qq; var a, b, max: integer; begin writeln(" Введите два целых числа "); read (a, b ); max := b; if ??? then ??? writeln (" Наибольшее число ", max); end. max := a; a > b37 Что неправильно? if a > b then begin a := b; else b := a; if a > b then begin a := b; end; else b := a; if a > b then else begin b := a; end ; if a > b then a := b; else b := a; end; a := b end a := b if b >= a then b := a;38 Задания «4»: Ввести три числа и найти наибольшее из них. ?56 Алгоритм начало i, i2, i3 конец нет да i := to do begin {тело цикла } end; Увеличение переменной на 1: for := downto do begin {тело цикла } end; Уменьшение переменной на 1:61 Цикл с переменной Особенности: переменная цикла может быть только целой (integer ) шаг изменения переменной цикла всегда равен 1 (to ) или-1 (downto ) если в теле цикла только один оператор, слова begin и end можно не писать: если конечное значение меньше начального, цикл (to ) не выполняется ни разу (проверка условия в начале цикла, цикл с предусловием) for i:= 1 to 8 do writeln( "Привет ");62 Цикл с переменной Особенности: в теле цикла не разрешается изменять переменную цикла (почему?) при изменении начального и конечного значения внутри цикла количество шагов не изменится: n := 8; for i:= 1 to n do begin writeln( "Привет "); n := n 1; end; нет зацикливания63 Цикл с переменной Особенности: после выполнения цикла во многих системах устанавливается первое значение переменной цикла, при котором нарушено условие: for i:= 1 to 8 do writeln( "Привет "); writeln ("i=", i ) ; for i:= 8 d ownto 1 do writeln( "Привет "); writeln ("i=", i ) ; i=9 i=0 НЕ ДОКУМЕНТИРОВАНО64 Сколько раз выполняется цикл? a := 1; for i:= 1 to 3 do a := a 1; a = 4 a := 1; for i:=3 to 1 do a := a 1; a = 1 a := 1; for i:= 1 down to 3 do a := a 1; a = 1 a := 1; for i:= 3 down to 1 do a := a 1; a = 465 for i:= 1 to 9 do begin if ??? then begin i2 := i*i; i3 := i2*i; writeln(i:4, i2:4, i3:4); end; end; Как изменить шаг? Задача: Ввести целое число (0 » . n count 123 0 12 1 1 2 0 371 Алгоритм начало count конец нет да n 0? count := 0 ; count := count 1; n := n div 10; обнулить счетчик цифр ввод n выполнять «пока n 0 »72 Программа program qq; var n, count: integer; begin writeln(" Введите целое число "); read(n); count := 0; while n 0 do begin count := count 1; n := n div 10; end; writeln(" В числе ", n, "нашли ", count, "цифр "); end. while n 0 do begin count := count 1; n := n div 10; end; , n1: integer; n1 := n; n1, выполнять «пока n 0 » Что плохо ? ") else writeln(" Неверный номер месяца "); end. case M of 2: begin D := 28; end; 4,6,9,11: begin D := 30; end; 1,3,5,7,8,10,12: D := 31; else D :=-1; end; ни один вариант не подошел92 Оператор выбора Особенности: после case может быть имя переменной или арифметическое выражение целого типа (integer ) или символьного типа (char ) case i 3 of 1: begin a := b; end; 2: begin a := c; end; end; var c: char; ... case c of "а ": writeln(" Антилопа "); "б ": writeln(" Барсук "); else writeln(" Не знаю "); end;93 Оператор выбора Особенности: если нужно выполнить только один оператор, слова begin и end можно не писать нельзя ставить два одинаковых значения case i 3 of 1: a := b; 1: a := c; end; case i 3 of 1: a := b; 2 : a := c; end;94 Оператор выбора Особенности: значения, при которых выполняются одинаковые действия, можно группировать case i of 1: a := b; 2,4 ,6 : a := c; 10..15: a := d; 20,21,25..30: a := e; else writeln(" Ошибка "); end; перечисление диапазон смесь95 Что неправильно ? case a of 2: begin a := b; 4: a := c; end; case a of 2: a := b 4: a := c end; ; case a of 2..5: a := b; 4: a := c; end; case a of 0..2: a := b; 6..3: a := c; end; 3..6: case a c/2 of 2: a := b; 4: a := c; end; case a of 2: a := b; d := 0; 4: a := c; end; begin end;96 Задания (с защитой от неверного ввода) «4»: Ввести
Вы можете ЗАГРУЗИТЬ и ПОВЫСИТЬ уникальность своей работы