«Программирование разветвляющихся алгоритмов» Учитель информатики гимназии 12 г. Тюмени Бугаева Елена Викторовна
Разветвляющиеся алгоритмы В отличие от линейных алгоритмов, в которых команды выполняются последовательно одна за другой, в разветвляющиеся алгоритмы входят условие, в зависимости от выполнения или невыполнения которого, исполняется та или иная последовательность команд. Изображение разветвляющихся алгоритмов в виде БЛОК-СХЕМ условие да нет Серия команд Серия команд 2 условие да нет Серия команд 1 Полная команда ветвления Неполная команда ветвления
Реализация на Pascal(е ) полной команды ветвления На естественном языке эта команда записывается в виде: если условие (выполняется) тогда команда 1 иначе команда 2 На языке программирования Pascal(е ) IF условие THEN команда 1 ELSE команда 2;
Рассмотрим пример Даны действительные числа X,Y. Вычислить Z: Readln (x); Readln (y); IF X>Y THEN Z:=X-Y ELSE Z:=Y+X+1; writeln (Z=, Z);
Реализация на Pascal(е ) неполной команды ветвления На естественном языке эта команда записывается в виде: если условие (выполняется) тогда команда На языке программирования Pascal(е ) IF условие THEN команда;
Рассмотрим пример Составьте программу, удваивающую значение переменной А, если А>5. (Решение: Если А>5, то значение А надо заменить на 2А, в противном случае никаких действий не производить.) Readln (А); IF А>5 THEN А:=2*А; writeln (Значение переменной А равняется, А);
При использовании вложенных условных и нескольких операторов может возникнуть неоднозначность. А чтобы такая двусмысленность не возникала, лучше всего пользоваться составным оператором: begin if then begin if end; then else end; или begin if then begin if end then end else ; Вложенное условие Вложенное условие
Домашнее задание Лекция; Подготовить вопросы к тесту (загадки)
Упражнение 1: Какое число будет выведено на экран при исполнении программы? Readln (x); IF X
Операторы условного перехода
Реализация команды ветвления. Задание 1 Создайте программу - тест по разным предметам, проверяющую знания учащихся. (или) Создайте программу – «загадки. (программа должна быть написана в цвете с очисткой экрана)
Результат программы Тест Информатика 1)За минимальную единицу измерения количества информации принят: 1) 1 бит; 2) 1 байт; 3) 1 бод; 4) 1 бар. Ваш ответ: _____ Правильно … Вы набрали ____ баллов
Program test; uses crt; var x,n: integer ; {х- ответ на вопрос пользователя, n- счетчик баллов} Begin clrscr; … {Смотри продолжение в алгоритме ниже} «Тест» Программа «Тест»
Алгоритм: Тест (или Загадка) Выведите Тест по информатике; Выведите вопрос 1; Выведите варианты ответов 1.., 2…, 3…, 4…; Выведите Ваш ответ; Введите Х; Если Х = 1 Тогда Выведите молодец!; n:=n+1; Иначе Выведите Плохо; Выведите вопрос 2; … Выведите ваша оценка:, n; Конец. (n-счетчик правильных ответов) (x – ответ на вопрос) Правильный ответ begin end
Реализовать данную программу на компьютере, 10 вопросов для диалога
Решение задач на разветвляющиеся алгоритмы.
Пример X X0 Y = -1 Y = 0 Y = 1 Y да нет Readln X IF X0 THEN Y= 1 writeln Y Определите какую задачу решает этот алгоритм, программа?
Реализуйте данные записанные алгоритмы на языке программирования Pascal.
Решение задач. Операторы условного перехода. Запишите алгоритмы в тетрадь, переведите их на язык программы. 1 Определите сколько корней имеет квадратное уравнение: ax 2 +bx-c=0; { а, в, с вводятся с клавиатуры} Алгоритм: где D-дискриминант Введите значения переменных a,b,c D=b 2 -4ac Если D
В математической логике имеются специальные логические операции которые применяются в алгоритмах ветвления: Or - логическое сложение (ИЛИ); And -логическое умножение (И); Not - логическое отрицание (НЕ).
Решение задач: 1 Найти куб наименьшего и квадрат наибольшего из чисел X,Y,Z. Алгоритм: где min-минимальное число, max- максимальное число ; F-куб, G-квадрат Введите «значения переменных», Z,X,Y Если X>Z тогда max=X иначе max=Z Если Y>max тогда max=Y Печать «максимальное»;max Если X
2 Вычислить площадь фигуры вывести сообщение о том, площадь какой фигуры вычисляется. Алгоритм: где Печать «введите К чтобы посчитать площадь какой фигуры будет рассчитана, 1