Мухаммед ибн Муса аль-Хорезми Урок 2
Что мы знаем об алгоритмах? Алгоритм – Свойства алгоритма: Типы алгоритмических структур: Линейный алгоритм – Способы записи алгоритма: это последовательность предписаний исполнителю, приводящая к решению задачи и обладающая определенными свойствами. дискретность, понятность, определенность, эффективность, результативность, массовость, конечность. линейная, ветвление, циклическая это алгоритм, в котором команды выполняются последовательно. словесный, программный, табличный, графический
Как называется блок? Начало / конец
Как называется блок? Ввод / вывод
Как называется блок? Действие
Как называется блок? Условие Да Нет
Как называется блок? Счетчик
Составить блок-схему и написать программу на языке программирования QBasic для решения следующей математической задачи: Вычислить площадь треугольника по формуле Герона, если даны его стороны a, b c., где ab c
Почему при вводе некоторых исходных данных (сторон треугольника a,b,c) программа Qbasic при вычислении площади (S) выдавала результат S = 0 Когда площадь треугольника равна «0» ?
При каких значениях a, b, c треугольник существует ? abc S 423 ? 523 ? 351 ? ab c
Построение треугольника по трем сторонам ab c abcs 423 ? a=4 b=2 c=3 a b c
Построение треугольника по трем сторонам ab c abcs 523? a=5 b=2 c=3 a b c
Построение треугольника по трем сторонам ab c abcs 513? a=5 b=2 c=3 a b + c > a b c a + c > b a + b > c > > < 5
Условие существования треугольника a b c a + b > c и a + c > b и b + c > a геометрия
Неравенство треугольника Для любых трех точек А, В,С не лежащих на одной прямой справедливы неравенства: АВ < AC + CB AC < AB + BC BC < BA + AC А В С
Начало Очистить экран p=(a+b+c)/2 Конец s=SQR(p*(p-a)*(p-b)*(p-c)) Ввод a,b,c Вывод s CLS INPUT "Введите сторону а: ", a INPUT "Введите сторону b: ", b INPUT "Введите сторону c: ", c p=(a+b+c)/2 S=SQR(p*(p-a)*(p-b)*(p-c)) PRINT " Площадь треугольника равна: ", s END Блок-схема Программа на QBasic Чего не хватает? Условие данет
Тема урока: Алгоритмическая конструкция «ветвление»
Цели урока: Узнать: Какая алгоритмическая структура называется «ветвлением»; Уметь: Записать сложное условие на языке программирования Qbasic для решения задачи; Применить оператор условного перехода для решения задачи на языке программирования QBasic;
Алгоритмическая конструкция «ветвление» Алгоритмическая конструкция, в которой в зависимости от истинности или ложности условия выполняется одна или другая серия команд называется ветвлением. Команда 1 условие Команда 2 Нет Да
Ветвление действие 1 условие действие 2 Нет Да начало ввод исходных данных вывод результатов конец ПолноеНеполное действие1 условие Нет Да начало ввод исходных данных вывод результатов конец
Начало Ввод: А,В А > B Нет Конец Да Вывод: ВВывод: А Задача: Найти наибольшее среди чисел А и В.
Начало Идет дождь? Нет Взять зонт Конец Да Пример из жизни: На улице дождь
Запись простых условий в математике в QBasic АВAB АСA> =C АСACB>CB>CB>C A
Сложные условия – это последовательность простых условий, объединенных между собой знаками логических операций. Например: 5 < A < 10 (A > 5) and (A < 10) - должны выполняться все условия (A 5) - должно выполняться хотя бы одно из условий Например: (A+В > 5) and (B+С > 10) and (A+D > 6) Запись сложных условий
Оператор условного перехода для полного ветвления: команда 1 условие команда 2 Нет ДаДа начало ввод исходных данных вывод результатов конец If Then Else ЕСЛИ ТО ИНАЧЕ Например: Input A Input B If А > B Then Print A Else Print B End Введи А Введи В ЕСЛИ А > B ТО Печатай A ИНАЧЕ Печатай B Конец Начало Ввод: А,В А > B Нет Конец Да Вывод: В Вывод: А Задача: Найти наибольшее среди чисел А и В. - в одну строку
Оператор условного перехода для неполного ветвления: команда 1 условие Нет Да начало ввод исходных данных вывод результатов конец If Then Если ТО
команда 1 условие Команда 3 Нет ДаДа начало ввод исходных данных вывод результатов конец Команда 2 Команда 4 If Then : Else :
Выполнение заданий
Задание 1 (a + b > c) and (a + c > b) and (b + c > a)
Задание 2 Конец Начало Очистить экран p=(a+b+c)/2 s=SQR(p*(p-a)*(p-b)*(p-c)) Ввод a,b,c Вывод: s Треугольник не существует НЕТ ДА (a + b > c) and (a + c > b) and (b + c > a) CLS INPUT "Введите сторону треугольника а: ",a INPUT " Введите сторону треугольника b: ",b INPUT " Введите сторону треугольника c: ",c IF (a + b > c) AND (a + c > b) AND (b + c > a) THEN p = (a + b + c) / 2: s = SQR(p * (p - a) * (p - b) * (p - c)): PRINT " Площадь треугольника равна : ", s : ELSE PRINT "Невозможно построить треугольник" END
Полное! Задание 3
Задание 4
Какие числа могут быть длинами сторон треугольника? abc S ab c b + c > a;a + c > b;a + b > c; Треугольник не существует Треугольник не существует Треугольник не существует
Итог урока: Узнали: Какая алгоритмическая структура называется «ветвлением»; Можем: Записать сложное условие на языке программирования Qbasic для решения задачи; Применить оператор условного перехода для решения задачи на языке программирования QBasic;
Домашнее задание § Творческое задание: Найдите пословицы, поговорки, отрывки из стихотворений, из сказок, литературных произведений, жизненные ситуации, где встречается алгоритмическая структура «ветвление». Виктор Васнецов «Витязь на распутье» «направу ехати женату быти; налеву ехати богату быти».