Информатика ФГОСС Алгоритмическая форма ветвление полная форма Информатика ФГОСС Алгоритмическая конструкция ветвления «Полная форма» Алгоритмическая конструкция ветвления. Полная форма. Информатика 8 класс Токар И.Н. Алгоритмическая конструкция «Повторение». Цели урока На этом уроке вы • Разберем примеры решения задач с помощью этих структур; • Рассмотрим способы записи данных структур. Алгоритмическая конструкция ветвления «Полная форма» Разветвляющиеся алгоритмы Задача. Ввести два целых числа и вывести на экран наибольшее из них. Идея решения: надо вывести на экран первое число, если оно больше второго, или второе, если оно больше первого. Особенность: действия исполнителя зависят от некоторых условий (если … иначе …). Ветвление- алгоритмическая конструкция, в которой в зависимости от результата проверки условия(«да» или «нет» предусмотрен выбор одной из двух последовательностей действий (ветвей)). Алгоритмы, в которых последовательность шагов зависит от выполнения некоторых условий, называются разветвляющимися. Алгоритмическая конструкция ветвления «Полная форма» Полная форма ветвления если <условие> то <действия 1> иначе <действия 2> все Условие Действие 1 Пример алг правописание частиц НЕ, НИ нач если частица под ударением то писать НЕ иначе писать НИ все кон Действие 2 Алгоритмическая конструкция ветвления «Полная форма» Блок-схема Полной формы ветвления начало блок "решение" ввод a,b да a > b? max:= a; полная форма ветвления нет max:= b; Действие № 2 вывод max конец ? Если a = b? Алгоритмическая конструкция ветвления «Полная форма» Сокращённая форма ветвления если <условие> то <действия 1> все Условие Действие 1 Пример: алг сборы на прогулку нач если на улице дождь то взять зонтик все кон Алгоритмическая конструкция ветвления «Полная форма» Блок-схема не полной формы ветвления начало блок "решение" ввод a,b да a > b? Не полная форма ветвления нет max:= a; вывод max конец ? Если a = 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. Алгоритмическая конструкция ветвления «Полная форма» Условный оператор if <условие> then begin {что делать, если условие верно} end else begin {что делать, если условие неверно} end; Особенности: • перед else НЕ ставится точка с запятой • вторая часть (else …) может отсутствовать (неполная форма) • если в блоке один оператор, можно убрать слова begin и end Алгоритмическая конструкция ветвления «Полная форма» Что неправильно? if a > b then begin a := b; end elsebegin b := a; end; if a > b then begin a := b; end else begin b := a; end; if a > b then begin a := b; end elsebegin b > a begin b := a; end; if a > b then begin a := b; end; end else begin b := a; end; Алгоритмическая конструкция ветвления «Полная форма» Блок-схема начало ввод a,b max:= a; да b > a? max:= b; вывод max конец нет неполная форма ветвления Алгоритмическая конструкция ветвления «Полная форма» Вариант 1. Программа program qq; var a, b, max: integer; begin writeln('Введите два целых числа'); read ( a, b ); неполная форма max := a; условного оператора if b > a then max := b; writeln ('Наибольшее число ', max); end. Алгоритмическая конструкция ветвления «Полная форма» Вариант 2. Программа program qq; var a, b, max: integer; begin writeln('Введите два целых числа'); read ( a, b ); max := b; if a??? > b then ???:= a; max writeln ('Наибольшее число ', max); end. Алгоритмическая конструкция ветвления «Полная форма» Что неправильно? if a > b then begin b; a := b else b := a; if a > b then b a := b; else b := a; end; if a > b then begin a := b; end; end else b := a; if b >= a then b := a; Алгоритмическая конструкция ветвления «Полная форма» Простые и составные условия Простые условия состоят из одной операции сравнения. Составные условия получаются из простых с помощью логических связок and (и), or (или), not (не). Пример. Алгоритм определения принадлежности точки Х отрезку [A; B]. A, B, X да (X>=A) and (X<=B) ДА нет НЕТ Ответ: Ответ:Не Принадлежит принадлежит A=2 X=4 B=4 B=6 X=6 Алгоритмическая конструкция ветвления «Полная форма» Наибольшая из 3-х величин Переменной Y присваивается значение большей из трёх величин A, B и C. YY B >Y AB C= = Шаг Y:=A да B>Y нет Y:=B 1 Константы А В С 10 30 20 Переменная Y 10 2 да Y:=C C>Y 30 > 10 (Да) нет 3 Условие 30 4 20 > 30 (Нет) Ответ: Y = 30 Алгоритмическая конструкция ветвления «Полная форма» Решение линейного уравнения ax + b = 0 Список данных a, b, x - вещ a, b да x:=-b/a нет a<>0 да Корней нет b<>0 нет Любое число Алгоритмическая конструкция ветвления «Полная форма» Задания "4": Ввести три числа и найти наибольшее из них. Пример: Введите три числа: 4 15 9 Наибольшее число 15 "5": Ввести пять чисел и найти наибольшее из них. Пример: Введите пять чисел: 4 15 9 56 Наибольшее число 56 4 Алгоритмическая конструкция ветвления «Полная форма» Вопросы и задания Известно, чтоалгоритм 31 января года 9приходится Дополните из2011 примера так, чтобы на с его понедельник. Какиебыло значения быть присвоены помощью можно найтидолжны наибольшую из четырёх Запишите Запишите Определите, Какие алгоритмы Приведите алгоритм алгоритм пример есть называют липравописания разветвляющегося определения среди цифр разветвляющимися? заданного принадлежности приставок, алгоритма целого из Составьте алгоритм, с помощью которого можно литерной переменной y в алгоритме, определяющем Запишите Составьте алгоритм алгоритм, определения с помощью которого количества можно чётных величин A, B, C и D. Составьте Даны две точки алгоритм на плоскости. возведения чётного числа в Какая задача решается с помощью следующего точки Х отрезку [А; В] с использованием комбинации из начинающихся трёхзначного повседневной числа с жизни. буквы одинаковые «з» («с»). определить, существует ли треугольник с длинами чисел среди заданных целых чисел А, В и С. определить, является ли треугольник с заданными день недели для любого числа (chislo) января 2011 Определите, квадрат, а нечётного какая из- них в куб. находится ближе к началу алгоритма? двух ветвлений. сторон a, сторон b, с. a, b, с равносторонним. года? длинами координат. Y:=A chislo:= chislo mod 7 К:=0 если chislo=3 то у:='…‘ да Да нет А>=0 Нет B>Y если chislo=4 то у:='…‘ K:=K+1 если chislo=5Y:=B то у:='…‘ B>=0 Нет если chislo=6 то у:='…‘Да K:=K+1 если chislo=0 то у:='…‘ да нет если chislo=1 то у:='…‘ C>Y K если chislo=2 то у:='…' Y:=C Алгоритмическая конструкция ветвления «Полная форма» Опорный конспект Ветвление - алгоритмическая конструкция, в которой в зависимости от результата проверки условия (да или нет) предусмотрен выбор одной из двух последовательностей действий (ветвей). Алгоритмы, в основе которых лежит структура «ветвление», называют разветвляющимися. Условие Действие 1 Действие 2 Полная форма ветвления Условие Действие 1 Сокращённая форма ветвления Алгоритмическая конструкция ветвления «Полная форма» Источники информации 1. http://school-sector.relarn.ru/dckt/projects/kolobok3/3road.jpg - развилка дорог 2. http://img-fotki.yandex.ru/get/4608/sovaryaz-sova.1/0_5c8b9_728f857d_L развилка дорог 3. http://wallpaper.goodfon.ru/image/101271-800x600.jpg - дождь 4. http://wiki.vspu.ru/_media/workroom/ikto/m5/tatiana_du/0004-007-razrjadychastits.png - Незнайка 5. http://www.shemetov.ru/images/consult.jpg - сравнение