Алгоритм Алгоритм – описание последовательности действий, строгое исполнение которых приводит к решению задачи за конечное число шагов. Исполнитель – это объект, умеющий выполнять определенный набор действий. Исполнителем может быть человек, робот, животное, компьютер. Система команд исполнителя (СКИ) – это все команды, которые исполнитель умеет выполнять. Задание: Назовите исполнителей следующих видов работы: • Уборка мусора во дворе • Обучение детей в школе • Вождение автомобиля • Ответ у доски • Приготовление пищи • Печатание документа на принтере Результативность – Результативность получение результата за конечное количество шагов АЛГОРИТМ Массовость – использование алгоритмаМассовость для решения однотипных задач Свойства алгоритма Дискретность (прерывность, Дискретность раздельность) – разбиение алгоритма на шаги Детерминированность Детерминированность (определенность, точность) – каждое действие должно строго и недвусмысленно определено Конечность – каждое действие Конечность в отдельности и алгоритм в целом должны иметь возможность завершения Определение Какой (ая, ое)? Сказуемое Подлежащее Кто? Что? Дополнение Дополнение Дополнение Алгоритм решения задачи: найдите способ разрезания торта на куски тремя движениями ножа таким образом, чтобы каждому досталась розочка. Блоки, используемые при составлении блок-схем - Начало, конец алгоритма - Ввод-вывод - Элементарное действие Блоки, используемые при составлении блок-схем - Условие - Цикл Классификация алгоритмов по структуре: • Линейный (следование) • Разветвленный (ветвление, выбор, альтернатива) • Циклический (повтор) • Вспомогательный • Комбинированный Линейный алгоритм Линейный алгоритм — алгоритм, в котором действия выполняются последовательно одно за другим. Основные служебные слова школьного алгоритмического языка: сим (символьный) арг (аргумент) лит (литерный) лог рез (результат) (логический) нач (начало) таб(таблица) нц (начало кон (конец) цикла) кц (конец цел (целый) цикла) вещ длин (длина) (вещественный) алг (алгоритм) дано для да надо от нет если до при то знач выбор иначе и ввод все или вывод пока не утв Общий вид алгоритма: алг название алгоритма (аргументы и результаты) дано условия применимости алгоритма надо цель выполнения алгоритма нач описание промежуточных величин | последовательность команд (тело алгоритма) кон Арифметические операции Операция На математическом языке На школьном АЯ Сложение Вычитание Умножение Деление Возведение в степень + . : + * / ** Самостоятельная работа Найди и исправь ошибки: алг площадь прямоугольника нач вещ a, b вывод «Введите стороны прямоугольника» ввод a b s= a*b вывод s кон. алг площадь круга нач вещ s вывод «Введите радиус» ввод r s= pi*r**2 вывод s кон. Составьте алгоритмы 1. Имеется садовый участок, имеющий форму прямоугольника со сторонами А метров и В метров. Составьте алгоритм, который определит сколько досок надо купить, чтобы поставить сплошной забор. Ширина одной доски 10 см. 2. В магазине продается костюмная ткань. Ее цена В руб. за квадратный метр. Составьте алгоритм, который подсчитает и выведет на экран стоимость куска этой ткани длиной Х метров и шириной 80 см. 3. Хозяин хочет оклеить обоями длинную стену в своем доме. Длина этой стены равна А метров, а высота - В метров. Рулон обоев имеет длину 12 метров и ширину K см. Составьте алгоритм, который определит стоимость обоев для всей стены, если цена одного рулона К руб. Самостоятельная работа Определите значение переменной b после выполнения следующего фрагмента алгоритма, где a и b – вещественные (действительные) переменные: a := -5; b := 5 + 7 * a; b := b / 2 * a; Определите значение переменной b после выполнения следующего фрагмента алгоритма, где a и b – вещественные (действительные) переменные: a := 5; b := 5 - 3 * a; b := b / 2 * a; Разветвляющийся алгоритм Ветвление в алгоритме Полная форма Да Серия 1 Условие Нет Серия 2 Ветвление в алгоритме Неполная форма Да Серия 1 Условие Нет Ветвление на школьном АЯ если (условие) то действия 1 иначе действия 2 все 1. Написать алгоритм, проверяющий, принадлежит ли число, введенное с клавиатуры, интервалу (0,5) 2.Меньшее из двух заданных неравных чисел увеличить вдвое. 3.Определить, является ли данный треугольник равнобедренным. Домашнее задание П. 12.5, составить алгоритм возведения большего из двух чисел в квадрат Самостоятельная работа Определите значение переменной c после выполнения следующего фрагмента программы: a := 100 b := 30 a := a – b*3 если a > b то c := a – b иначе c := b – a Определите значение переменной c после выполнения следующего фрагмента программы: a := 6 b := 15 a := b – a*2 если a > b то c := a + b иначе c := b – a Циклический алгоритм Циклический алгоритм – алгоритм, содержащий типовую структуру «цикл». Циклические структуры алгоритмов а) цикл с параметром Счетчик цикла Серия команд Цикл с параметром на школьном АЯ нц для i от нач. знач. до кон. знач. тело цикла кц Начало К 1 сентября в школу привезли 15 новых мониторов для компьютерного класса. Составить алгоритм для робота, который будет переносить эти мониторы из машины в класс. i=1, 15 Подойти к машине Взять 1 монитор Отнести его в класс Поставить на стол Идти отдыхать Конец б) цикл с предусловием Условие Да Серия команд Нет Алгоритм копания траншеи “от забора и до обеда” Начало Подойти к забору Обед еще не начался? да Выкопать 10 см3 траншеи Идти обедать Конец нет в) цикл с постусловием Серия команд Нет Условие Да Начало А теперь давайте вспомним Тома Сойера – как он построил свой алгоритм покраски забора Подойти к забору Алгоритм покраски забора Покрасить 1 доску нет Забор закончился? да Отнести кисть и краску и идти гулять Конец Самостоятельная работа Заданы два числа 4 и 5 необходимо выполнить алгоритм 2 раза, записать число, полученное в результате выполнения ниже приведённого алгоритма. Заданы два числа 6 и 7 необходимо выполнить алгоритм 2 раза, записать число, полученное в результате выполнения ниже приведённого алгоритма. Алгоритм: Алгоритм: к наименьшему числу прибавить 2; к наименьшему числу прибавить 2; определить большее из чисел; определить большее из чисел; заменить большее из чисел разностью большего и меньшего из чисел; заменить большее из чисел разностью большего и меньшего из чисел; повторить алгоритм с шага 2. повторить алгоритм с шага 2.