Алгоритм и его свойства Понятие алгоритма и исполнителя Свойства алгоритма
Алгоритм Исполнитель Система команд Порядок действия Результат Алгоритм это понятные и точные предписания исполнителю совершить конечное число шагов, направленных на решение поставленной задачи. Пример: рецепт печенья; инструкция по ремонту утюга.
Исполнитель Исполнитель это человек, животное или техническое устройство, которое понимает и может выполнить команды алгоритма. Система команд исполнителя (СКИ) это набор команд, которые он понимает и может исполнить. Среда исполнителя это условия, при которых становиться возможным выполнение алгоритма.
Виды исполнителей Исполнитель Формальный Неформальный Не знает конечной цели алгоритма, не задумывается о результате Знает конечную цель алгоритма
Заполните таблицу: Задание Вид работы Исполнитель Команды СКИ Среда исполнителя Расписание уроков Перевозка пассажиров Рецепт врача Пациент Принять лекарство, помереть температуру Таблетки, градусник и др. Водитель Ученик Подготовиться к урокам, идти на урок, идти на перемену Школа, учебники, тетради и др. Посадить в машину, высадить из машины, отвезти пассажиров Машина, водит. права
Свойства алгоритма Дискретность Понятность Однозначность Массовость Результативность Алгоритм и каждый его шаг должны приводить к определенному результату По данному алгоритму должна решаться не одна, а целый класс подобных задач Каждое действие (шаг) пониматься в строго определенном смысле Каждое из действий (шагов) является законченным и понятным исполнителю Алгоритм разбивается на конечное число элементарных действий (шагов) Конечность Алгоритм должен выполняться за конечное количество шагов
Какое свойство алгоритма нарушено? Задание Алгоритм Нарушенное свойство Добавить в кофе 2-3 ложки сахара Найти детерминант матрицы размером 2 2 Найти произведение чисел 4 и 5 Сварить суп Принимать таблетки 3 раза в день после еды Вымыть посуду грязной губкой Массовость Дискретность Понятность Однозначность Конечность Результативность
Способы записи алгоритма Словесный Блок-схема Алгоритмический 1. Задать а и b 2. Найти сумму а и b 3. Записать ответ алг СУММА цел а, b, S нач ввод а, b S = a + b вывод S кон Начало Ввод а, b Конец S = a + b Вывод S Язык программирования program SUM; var a, b, S : Integer; begin readln (a, b); S := a + b; writeln (S); end.
Составьте алгоритм «Вскипятить 1 л воды». 1.Начало. 2. Взять чайник. 3. Открыть кран. 4. Налить 1 л воды. 5. Закрыть кран. 6. Включить плиту. 7. Поставить чайник. 8. Ждать пока вода закипит. 9. Выключить плиту. 10.Конец. Какое свойство отсутствует у алгоритма? Словесная запись алгоритма
Составьте алгоритм решения задачи: Преобразовать слово «БЫК» в слово «ВОЛ». Исполнитель умеет на каждом шаге менять только одну букву. При этом должно получаться существующее слово. 1.Начало.БЫК 2. Ы ОБОК 3. К РБОР 4. Б ВВОР 5. Р ЛВОЛ 6.Конец. Словесная запись алгоритма
Составьте алгоритм решения задачи: Получить из числа «1» число «100». Исполнитель умеет на каждом шаге или умножать на 2, или прибавлять 1. 1.Начало = = × 2 = × 2 = × 2 = = × 2 = × 2 = Конец. Словесная запись алгоритма
Блок-схема Пуск-останов Условие Ввод- вывод Блок вычислений Цикл Блок-схема это графический способ записи алгоритма, при котором отдельные шаги изображаются в виде блоков различной формы, соединенных между собой линиями.
Базовые алгоритмические конструкции Линейный алгоритм Алгоритм ветвления Циклический алгоритм
Линейный алгоритм это алгоритм, который описывает последовательно выполняющиеся действия. Формат блока: нач... кон Линейный алгоритм Начало Команда 1 Конец Команда 2 Команда 3
Восстановите алгоритм «Запуск программы» Выбрать пункт меню «Программы» Начало Нажать кнопку «Пуск» Конец Выбрать пункт меню «Стандартные» Дождаться загрузки ОС Включить компьютер Выбрать пункт меню «Калькулятор» Задание
Циклический алгоритм Циклический алгоритм это алгоритм, который описывает повторяющиеся заданное количество раз действия. Формат блока: Цикл n раз нц... кц Начало Конец Команды Повтори n раз Тело цикла
Составьте алгоритм «Мытье посуды». Нач Открыть кран Повтори 5 раз нц Взять тарелку Помыть тарелку Поставить тарелку в шкаф кц Закрыть кран Кон Оформите алгоритм в виде блок-схемы. Задание
Разветвляющийся алгоритм Разветвляющийся алгоритм это алгоритм, в котором в зависимости от выполнения условия совершается одно или другое действие. Начало Условие Команда 1Команда 2 Конец Да Нет Формат блока: Если то иначе
Какую задачу решает данный алгоритм? Нарисовать для него блок-схему. алг Задача цел a, b Нач Ввод а, b Если a > b, то R = a + b Иначе R = a – b Вывод R Кон Задание Начало a > b R = a + b R = a – b Конец Да Нет Ввод а, b Вывод R
Этапы решения задач с помощью ПК
Этап 1. Постановка задачи Задача: Найти сумму двух чисел. На этапе постановки задачи определяются цель решения задачи, входные и выходные данные. Пример: Ввести числа a и b. Найти их сумму и вывести результат S.
Этап 2. Моделирование На этапе моделирования разрабатывается математическая или информационная модели задачи. Для простых задач достаточно указать нужные формулы или логические условия. Для более сложных задач необходимо построить информационную модель, т. е. модель, описывающую наиболее существенные признаки объекта, внутренние и внешние взаимосвязи и т. д. Пример: S = a + b, где a, b, S (– ;+ )
Этап 3. Алгоритмизация На этапе алгоритмизации разрабатываться алгоритм решения задачи и записывается одним из способов записи. Пример: алг Сумма цел a, b, Sum нач ввод а, b S = a + b вывод S кон Начало Ввод а, b Конец S = a + b Вывод S
Этап 4. Программирование Программа это алгоритм, записанный на языке программирования и исполнителем которого является компьютер. Пример: Program Summa; Var a, b, S : Real; Begin Write (Введите числа a и b); ReadLn (a, b); S := a + b; WriteLn (Сумма чисел S =, S); End.
Этап 5. Тестирование и отладка Тестирование это процесс проверки правильности работы программы на заранее подготовленных значениях. Отладчик это программа, которая позволяет проверить работу программы «по шагам» с отслеживанием промежуточных результатов. Пример: аbS 538 –6–5–11 –2013–7 001 Ошибка
Этап 6. Анализ результатов Анализ результатов помогает определить, достигнута ли поставленная на первом этапе цель создания программы. Если цель достигнута, программа может быть использована по назначению заказчиком. Если цель не достигнута, программа отправляется на переработку.