Скачать презентацию Примеры алгоритмов Оплата через терминал На экранеокно счёта Скачать презентацию Примеры алгоритмов Оплата через терминал На экранеокно счёта

2597a6c3-1468-4d55-86c7-a2dc43ef9eee.pptx

  • Количество слайдов: 106

Примеры алгоритмов Оплата через терминал На экранеокно счёта. оплаты» число, указанноенужную опцию Ввести номер Примеры алгоритмов Оплата через терминал На экранеокно счёта. оплаты» число, указанноенужную опцию Ввести номер «сумма оплаты» . Для совершения оплаты, необходимо выбрать на квитанции. в появится окно Выбрать пункт «Оплатить услуги» пока не получится число, Вносить купюры «оплатить» и дождаться распечатки чека. Нажать правильно, то нажать кнопку «далее» . Если всёкнопку с купюроприемник, На экране появится окно выбора суммы оплаты. на экране терминала. равное введенной ранее в окне выбора суммы оплаты.

Примеры алгоритмов Нарисовать лошадь Примеры алгоритмов Нарисовать лошадь

Примеры алгоритмов Вычислительный алгоритм Среднее арифметическое двух чисел 1. Задать два числа 2. Сложить Примеры алгоритмов Вычислительный алгоритм Среднее арифметическое двух чисел 1. Задать два числа 2. Сложить заданные числа 3. Разделить сумму на 2 Общая схема работы алгоритма Исходные данные Алгоритм Результат

Исполнитель алгоритма Исполнитель - это некоторый объект (человек, животное, техническое устройство), способный выполнять определённый Исполнитель алгоритма Исполнитель - это некоторый объект (человек, животное, техническое устройство), способный выполнять определённый набор команд. Исполнитель Формальный Неформальный Круг решаемых задач Среда исполнителя Область, обстановка, условия СКИ Непосредственное управление Режимы работы Программное управление Исполнители алгоритмов

Разработка алгоритма Определение объектов, указанных в задаче Установление свойств объектов, отношений и действий с Разработка алгоритма Определение объектов, указанных в задаче Установление свойств объектов, отношений и действий с объектами Определение исходных данных и результата Определение последовательности действий Запись последовательности действий с помощью команд СКИ Алгоритм – модель деятельности исполнителя алгоритмов

Свойства алгоритма Дискретность Путь решения задачи разделён на отдельные шаги Понятность Алгоритм состоит из Свойства алгоритма Дискретность Путь решения задачи разделён на отдельные шаги Понятность Алгоритм состоит из команд, входящих в СКИ Определённость Команды понимаются однозначно Результативность Обеспечивается получение ожидаемого результата Массовость Обеспечивается решение задач с различными исходными данными

Дискретность (от лат. discretus – разделенный, прерывистый) указывает, что любой алгоритм должен состоять из Дискретность (от лат. discretus – разделенный, прерывистый) указывает, что любой алгоритм должен состоять из конкретных действий, следующих в определенном порядке. Образованная структура алгоритма оказывается дискретной: только выполнив одну команду, исполнитель сможет приступить к выполнению следующей. Начало x, y да нет x>y a=x a=y a Конец

Понятность означает, что алгоритм состоит только из команд, входящих в систему команд исполнителя, т. Понятность означает, что алгоритм состоит только из команд, входящих в систему команд исполнителя, т. е. из таких команд, которые исполнитель может воспринять и по которым может выполнить требуемые действия. Окрошка «Мясная» 1 -1. 5 л кваса 500 г картофеля 300 г колбасы 3 яйца 200 г редиса 300 г огурцов зелень по вкусу сметана соль перец Рецепт приготовления Картофель отварить до готовности. Остудить, почистить. Нарезать кубиками. Колбасу нарезать кубиками. Яйца нарезать кубиками. Редис тонко нарезать. Огурцы нарезать кубиками. Смешать картофель, колбасу, яйца, редис, огурцы. Посолить, поперчить. Выложить в тарелки. Залить квасом, посыпать зеленью. Подавать со сметаной.

Определённость означает, что в алгоритме нет команд, смысл которых может быть истолкован исполнителем неоднозначно; Определённость означает, что в алгоритме нет команд, смысл которых может быть истолкован исполнителем неоднозначно; недопустимы ситуации, когда после выполнения очередной команды исполнителю неясно, какую команду выполнять на следующем шаге. Доехать до стадиона 1. Идти прямо 2. Повернуть 3. Идти прямо 4. Сесть в автобус 5. Доехать до остановки «Стадион» Алгоритм не уточняет, какое расстояние нужно пройти прямо. В какую сторону повернуть. В какой автобус сесть.

Результативность означает, что алгоритм должен обеспечивать возможность получения результата после конечного, возможно, очень большого, Результативность означает, что алгоритм должен обеспечивать возможность получения результата после конечного, возможно, очень большого, числа шагов. При этом результатом считается не только обусловленный постановкой задачи ответ, но и вывод о невозможности продолжения по какой-либо причине решения данной задачи. Чтение книги 1. Взять книгу 2. Открыть первую страницу 3. Пока не конец книги выполнять следующие действия: 3. 1 Прочитать текст 3. 2 Перелистнуть страницу 3. 3 Прочитать текст 3. 4 Открыть первую страницу Данная последовательность команд не соответствует свойству результативности. Что нужно изменить?

Массовость означает, что алгоритм должен обеспечивать возможность его применения для решения любой задачи из Массовость означает, что алгоритм должен обеспечивать возможность его применения для решения любой задачи из некоторого класса задач с различными исходными данными. Алгоритм вычисления корней квадратного уравнения. Начало Ввод коэффициентов Вычислить дискриминант Дискриминант меньше 0? да нет Вычислить значения корней Вывод корней Конец «Корней нет»

Решето Эратосфена Рассмотренная последовательность действий является алгоритмом, так как она удовлетворяет свойствам: • дискретности Решето Эратосфена Рассмотренная последовательность действий является алгоритмом, так как она удовлетворяет свойствам: • дискретности - процесс нахождения простых чисел разбит на шаги; • понятности - каждая команда понятна ученику 9 класса, выполняющему этот алгоритм; • определённости - каждая команда трактуется и выполняется исполнителем однозначно; имеются указания об очерёдности выполнения команд; • результативности - через некоторое число шагов достигается результат; • массовости - последовательность действий применима для любого натурального n.

Алгоритм - это предназначенное для конкретного исполнителя описание последовательности действий, приводящих от исходных данных Алгоритм - это предназначенное для конкретного исполнителя описание последовательности действий, приводящих от исходных данных к требуемому результату, которое обладает свойствами: • дискретности • понятности • определённости • результативности • массовости

Возможности автоматизации деятельности человека Решение задачи по готовому алгоритму требует от исполнителя только строгого Возможности автоматизации деятельности человека Решение задачи по готовому алгоритму требует от исполнителя только строгого следования заданным предписаниям. Формального исполнения алгоритма обеспечивает возможность автоматизации деятельности человека Процесс решения задачи представляется в виде последовательности операций Создается машина, способная выполнять эти операции в указанной последовательности Человек освобождается от рутинной работы, выполнение которой поручается автомату

Автоматизация деятельности человека Автоматизация торговли. Автоматизация гостиниц. Роботизированная линия сборки, управляемая Автоматизация услуг в Автоматизация деятельности человека Автоматизация торговли. Автоматизация гостиниц. Роботизированная линия сборки, управляемая Автоматизация услуг в система «UCS-Shelter» . скорость работы Профессиональная сфере торговли делает компьютером и запрограммированная на бронирование, Автоматизация производства персонала значительно такие процессы как производство Автоматизированы выше, поднимает уровень сварных швов на корпусе каждого автомобиля товара. обслуживания выселение, работа со счетами гостей. поселение, покупателей, позволяет вести учет

Самое главное Исполнитель - некоторый объект (человек, животное, техническое устройство), способный выполнять определённый набор Самое главное Исполнитель - некоторый объект (человек, животное, техническое устройство), способный выполнять определённый набор команд. Формальный исполнитель одну и ту же команду всегда выполняет одинаково. Для каждого формального исполнителя можно указать: круг решаемых задач, среду, систему команд и режим работы. Алгоритм предназначенное для конкретного исполнителя описание последовательности действий, приводящих от исходных данных к требуемому результату, которое обладает свойствами дискретности, понятности, определённости, результативности и массовости. Способность исполнителя действовать формально обеспечивает возможность автоматизации деятельности человека.

Опорный конспект Алгоритм - это предназначенное для конкретного исполнителя описание последовательности действий, приводящих от Опорный конспект Алгоритм - это предназначенное для конкретного исполнителя описание последовательности действий, приводящих от исходных данных к требуемому результату, которое обладает свойствами дискретности, понятности, определённости, результативности и массовости. Свойства алгоритма Дискретность Понятность Определённость Результативность Массовость

Марков А. А. (1903— 1979) установил, что алгоритмы должны содержать предписания двух видов: 1) Марков А. А. (1903— 1979) установил, что алгоритмы должны содержать предписания двух видов: 1) функциональные операторы направленные на непосредственное информации; - предписания, преобразование 2) логические операторы - предписания, определяющие дальнейшее направление действий. Именно эти операторы положены в основу большинства способов записи алгоритмов.

Основные способы записи алгоритма Словесные Графические На алгоритмических языках Словесное описание Последовательность рисунков Школьный Основные способы записи алгоритма Словесные Графические На алгоритмических языках Словесное описание Последовательность рисунков Школьный алгоритмический язык Построчная запись Структурограмма Язык программирования Блок-схема

Словесное описание - самая простая запись алгоритма в виде набора высказываний на обычном разговорном Словесное описание - самая простая запись алгоритма в виде набора высказываний на обычном разговорном языке. Пример. Словесное описание алгоритма нахождения наибольшего общего делителя (НОД) пары целых чисел (алгоритм Евклида). Чтобы найти НОД двух чисел, составьте таблицу из двух столбцов и назовите столбцы X и Y. Запишите первое из заданных чисел в столбец Х, а второе - в столбец Y. Если данные числа не равны, замените большее из них на результат вычитания из большего числа меньшего. Повторяйте такие замены до тех пор, пока числа не окажутся равными, после чего число из столбца Х считайте искомым результатом.

Построчная запись Правила построчной записи алгоритма Каждое предписание записывается с новой строки Предписание (шаги) Построчная запись Правила построчной записи алгоритма Каждое предписание записывается с новой строки Предписание (шаги) алгоритма нумеруются Исполнение алгоритма происходит в порядке возрастания номеров шагов, начиная с первого, если нет особых указаний Кроме слов естественного языка предписания могут содержать математические выражения и формулы.

Построчная запись алгоритма Евклида 1. Начало. 2. Обозначить первое из заданных чисел Х, второе Построчная запись алгоритма Евклида 1. Начало. 2. Обозначить первое из заданных чисел Х, второе - Y. 3. Если Х = Y то перейти к п. 9. 4. Если X >Y , то перейти к п. 5, иначе перейти к п. 7. 5. Заменить X на X-Y. 6. Перейти к п. 3. 7. Заменить Y на Y-X 8. Перейти к п. 3. 9. Считать Х искомым результатом. 10. Конец.

Графические способы Структурограмма Последовательные картинки Графические способы Структурограмма Последовательные картинки

Блок-схемы В блок-схеме предписания изображаются с помощью различных геометрических фигур, а последовательность выполнения шагов Блок-схемы В блок-схеме предписания изображаются с помощью различных геометрических фигур, а последовательность выполнения шагов указывается с помощью линий. Блок начала или конца алгоритма Блок ввода или вывода данных Блок обработки данных Блок проверки условия Блок пояснительных записей

Запись алгоритма Евклида с помощью блок-схемы Начало Ввод значений X и Y X, Y Запись алгоритма Евклида с помощью блок-схемы Начало Ввод значений X и Y X, Y Да Нет X: =Y Да X: =X-Y НОД: =Х НОД Конец Проверка равенства X и Y X

Алгоритмические языки формальные предназначенные для записи алгоритмов. языки, Характеристики алгоритмического языка Алфавит Набор используемых Алгоритмические языки формальные предназначенные для записи алгоритмов. языки, Характеристики алгоритмического языка Алфавит Набор используемых символов Синтаксис Система правил образования конструкций языка Семантика Система правил, определяющих смысл и способ употребления конструкций языка

Самое главное Существуют различные способы записи алгоритмов: • словесное описание • построчная запись • Самое главное Существуют различные способы записи алгоритмов: • словесное описание • построчная запись • блок-схема • школьный алгоритмический язык и другие. Каждый из этих способов достоинствами и недостатками. обладает своими

Опорный конспект Способы записи алгоритмов Словесный Блок-схема Алгоритмический язык Обычный разговорный язык Геометрические фигуры Опорный конспект Способы записи алгоритмов Словесный Блок-схема Алгоритмический язык Обычный разговорный язык Геометрические фигуры Слова имеют заданный смысл и способ записи

Величины Алгоритмы описывают последовательность действий над некоторыми информационными объектами. Величина в информатике информационный объект. Величины Алгоритмы описывают последовательность действий над некоторыми информационными объектами. Величина в информатике информационный объект. – это отдельный Информационный объект Число Символ Строка Величина Постоянная Переменная Таблица

Операции над величинами Арифметические Отношения + (сложение) - (вычитание) * (умножение) / (деление) < Операции над величинами Арифметические Отношения + (сложение) - (вычитание) * (умножение) / (деление) < (меньше) > (больше) <= (не больше) >= (не меньше) = (равно) Логические И (конъюнкция) ИЛИ (дизъюнкция) НЕ (инверсия) Операнды - объекты, над которыми выполняют операции.

Типы величин Тип величины в алгоритме Целая Числовой Вещественная Текстовый Символьная Литерная Логический ДА Типы величин Тип величины в алгоритме Целая Числовой Вещественная Текстовый Символьная Литерная Логический ДА (ИСТИНА, TRUE, 1) НЕТ (ЛОЖЬ, FALSE, 0) Один символ Строка символов

Имя величины в алгоритме Латинская буква A, B, M, AP Латинская буква и цифра Имя величины в алгоритме Латинская буква A, B, M, AP Латинская буква и цифра A 1, B 4, M 2 Мнемоническое имя SUMMA, PLAN

Выражения Выражение - языковая конструкция для вычисления значения с помощью одного или нескольких операндов. Выражения Выражение - языковая конструкция для вычисления значения с помощью одного или нескольких операндов. Выражения Арифметические Строковые Операция сцепления (+). А=`том` `a`+А= `атом` Логические X>5 X<10 X<=3

Команда присваивания <имя переменной>: = <выражение> Свойства присваивания Пока переменной не присвоено значение, она Команда присваивания <имя переменной>: = <выражение> Свойства присваивания Пока переменной не присвоено значение, она остаётся неопределённой Значение, присвоенное переменной, сохраняется до следующего присваивания Если переменной присваивается новое значение, то предыдущее её значение теряется

Алгоритм обмена значений переменных Алгоритм, в результате которого переменные А и В литерного типа Алгоритм обмена значений переменных Алгоритм, в результате которого переменные А и В литерного типа обменяются своими значениями. Решение ! Неверно А: =В В: =А Верно алг обмен значениями (лит А, В) арг А, В рез А, В нач лит М М: =А А: =В В: =М кон

Аналогия с перемещением Алгоритм перемещения зайца из клетки 1 в клетку 2, а волка Аналогия с перемещением Алгоритм перемещения зайца из клетки 1 в клетку 2, а волка - из клетки 2 - в клетку 1. Нужна клетка 3. 1 2 3

Табличные величины В практической деятельности используются всевозможные таблицы. человека Таблица Линейная Прямоугольная Одномерный массив Табличные величины В практической деятельности используются всевозможные таблицы. человека Таблица Линейная Прямоугольная Одномерный массив Двумерный массив Дни недели Табель успеваемости часто

Примеры линейных таблиц 1 1 Понедельник 2 Вторник Васечкин 2 3 4 5 6 Примеры линейных таблиц 1 1 Понедельник 2 Вторник Васечкин 2 3 4 5 6 6 1 0 0 3 Среда 4 Четверг 5 Пятница 6 Суббота 7 Воскресенье Дни недели Количество пропущенных учеником уроков

Пример прямоугольной таблицы 1 2 3 4 5 1 Васечкин 6 6 1 0 Пример прямоугольной таблицы 1 2 3 4 5 1 Васечкин 6 6 1 0 0 2 Ионов 0 0 6 3 Радугина 0 0 1 0 0 . . . . 0 0 0 19 Чабанюк Количество уроков, пропущенных учениками класса

Самое главное Величина в информатике – это отдельный информационный объект (число, символ, строка, таблица Самое главное Величина в информатике – это отдельный информационный объект (число, символ, строка, таблица и др. ). Величины делятся на: постоянные - значения указываются в тексте алгоритма и не меняются в процессе его исполнения переменные - значения меняются в процессе исполнения алгоритма. Тип величины: целый, вещественный, логический, символьный и литерный. Для ссылок на величины используют их имена (идентификаторы). Имя величины может состоять из одной или нескольких латинских букв, из латинских букв и цифр. Таблица (массив) - набор некоторого числа однотипных элементов, которым присвоено одно имя. Положение элемента в таблице однозначно определяется его индексами.

Опорный конспект Величина в информатике – это отдельный информационный объект (число, символ, строка, таблица Опорный конспект Величина в информатике – это отдельный информационный объект (число, символ, строка, таблица и др. ). Величина Постоянная Переменная Тип величины Числовой Целый Логический Вещественный Текстовый Символьный Литерный

Опорный конспект Выражения Арифметические Строковые Логические Команда присваивания <имя переменной>: = <выражение> Опорный конспект Выражения Арифметические Строковые Логические Команда присваивания <имя переменной>: = <выражение>

Опорный конспект Таблица Линейная Одномерный массив Прямоугольная Двумерный массив Опорный конспект Таблица Линейная Одномерный массив Прямоугольная Двумерный массив

Основные алгоритмические конструкции Для записи любого алгоритма достаточно трёх основных алгоритмических конструкций: • следования, Основные алгоритмические конструкции Для записи любого алгоритма достаточно трёх основных алгоритмических конструкций: • следования, • ветвления, • Повторения. (Э. Дейкстра) Эдсгер Вибе Дейкстра (1930– 2002). Выдающийся нидерландский учёный, идеи которого оказали огромное влияние на развитие компьютерной индустрии.

Следование - алгоритмическая конструкция, отображающая естественный, последовательный порядок действий. Алгоритмы, в которых используется только Следование - алгоритмическая конструкция, отображающая естественный, последовательный порядок действий. Алгоритмы, в которых используется только структура «следование» , называются линейными алгоритмами. Действие 1 Действие 2 Алгоритмическая структура «следование»

Линейный алгоритм приготовления отвара шиповника Начало Столовую ложку сушёных плодов шиповника измельчить в ступке Линейный алгоритм приготовления отвара шиповника Начало Столовую ложку сушёных плодов шиповника измельчить в ступке Залить стаканом кипячёной воды Кипятить 10 минут на слабом огне Охладить Процедить Конец

Вычисления по алгоритму Алгоритм х: =2 у: =х*х у: =у*у х: =у*х s: =x+y Вычисления по алгоритму Алгоритм х: =2 у: =х*х у: =у*у х: =у*х s: =x+y Шаг алгоритм а Переменные x y s 1 2 - - 2 2 4 3 2 16 - 4 32 16 - 5 32 16 48 Ответ: s = 48

Целочисленная арифметика С помощью операции div вычисляется целое частное, с помощью операции mod - Целочисленная арифметика С помощью операции div вычисляется целое частное, с помощью операции mod - остаток. 7 : 3 = 2 (ост. 1) 7 div 3 = 2 7 mod 3 = 1 8 : 3 = 2 (ост. 2) 8 div 3 = 2 8 mod 3 = 2 10: 3 = 3 (ост. 1) 10 div 3 = 3 10 mod 3 = 1 13 : 4 = 3 (ост. 1) 13 div 4 = 3 13 mod 4 = 1 11 : 4 = 2 (ост. 3) 11 div 4 = 2 11 mod 4 = 3 8 : 3 = 2 (ост. 2) 8 div 3 = 2 8 mod 3 = 2

Алгоритм работы кассира, выдающего покупателю сдачу (s) наименьшим количеством банкнот по 500 (k 500), Алгоритм работы кассира, выдающего покупателю сдачу (s) наименьшим количеством банкнот по 500 (k 500), 100 (k 100), 50 (k 50) и 10 (k 10) рублей. k 500: =s div 500 s: =s mod 500 k 100: =s div 100 s: =s mod 100 k 50: =s div 50 s: =s mod 50 k 10: =s div 10 Линейный алгоритм

Самое главное Для записи любого алгоритма достаточно трёх основных алгоритмических конструкций (структур): следования, ветвления, Самое главное Для записи любого алгоритма достаточно трёх основных алгоритмических конструкций (структур): следования, ветвления, повторения. Следование алгоритмическая конструкция, отображающая естественный, последовательный порядок действий. Алгоритмы, в которых используется только структура «следование» , называются линейными.

Опорный конспект Следование алгоритмическая конструкция, отображающая естественный, последовательный порядок действий. Алгоритмы, в которых используется Опорный конспект Следование алгоритмическая конструкция, отображающая естественный, последовательный порядок действий. Алгоритмы, в которых используется только структура «следование» , называются линейными. Действие 1 Действие 2

Ветвление - алгоритмическая конструкция, в которой в зависимости от результата проверки условия ( «да» Ветвление - алгоритмическая конструкция, в которой в зависимости от результата проверки условия ( «да» или «нет» ) предусмотрен выбор одной из двух последовательностей действий (ветвей). Алгоритмы, в основе которых лежит структура «ветвление» , называют разветвляющимися.

Полная форма ветвления если <условие> то <действия 1> иначе <действия 2> все Условие Действие Полная форма ветвления если <условие> то <действия 1> иначе <действия 2> все Условие Действие 1 Пример алг правописание частиц НЕ, НИ нач если частица под ударением то писать НЕ иначе писать НИ все кон Действие 2

Сокращённая форма ветвления если <условие> то <действия 1> все Условие Действие 1 Пример: алг Сокращённая форма ветвления если <условие> то <действия 1> все Условие Действие 1 Пример: алг сборы на прогулку нач если на улице дождь то взять зонтик все кон

Операции сравнения A<B A <= B А меньше В А меньше или равно В Операции сравнения AB А больше В A >= B А больше или равно В A <> B А не равно В

Вычисление функции f(x)=|x| Начало Список данных X, Y -вещ Х да Х>0 Y: =X Вычисление функции f(x)=|x| Начало Список данных X, Y -вещ Х да Х>0 Y: =X нет Y: =-X Y Конец

Простые и составные условия Простые условия состоят из одной операции сравнения. Составные условия получаются Простые и составные условия Простые условия состоят из одной операции сравнения. Составные условия получаются из простых с помощью логических связок and (и), or (или), not (не). Пример. Алгоритм определения принадлежности точки Х отрезку [A; B]. A, B, X да (X>=A) and (X<=B) ДА нет НЕТ Ответ: Не принадлежит Ответ: Принадлежит A=2 X=4 B=4 X=6 B=6

Наибольшая из 3 -х величин Переменной Y присваивается значение большей из трёх величин A, Наибольшая из 3 -х величин Переменной Y присваивается значение большей из трёх величин A, B и C. YB >Y Y=B = C A Y: =A да B>Y Шаг Константы А Y: =B 1 В С 10 нет 30 Переменная Y 20 10 2 да Y: =C C>Y нет 3 Условие 30 > 10 (Да) 30 4 20 > 30 (Нет) Ответ: Y = 30

Решение линейного уравнения ax + b = 0 Список данных a, b, x - Решение линейного уравнения ax + b = 0 Список данных a, b, x - вещ a, b да x: =-b/a нет a<>0 да Корней нет b<>0 нет Любое число

Разветвляющийся алгоритм для Робота В какую клетку переместится Робот после выполнения следующего фрагмента алгоритма. Разветвляющийся алгоритм для Робота В какую клетку переместится Робот после выполнения следующего фрагмента алгоритма. если справа свободно или снизу свободно то закрасить все если справа стена то влево если все слева стена то вправо все б а

Самое главное Для записи любого алгоритма достаточно трёх основных алгоритмических конструкций (структур): следования, ветвления, Самое главное Для записи любого алгоритма достаточно трёх основных алгоритмических конструкций (структур): следования, ветвления, повторения. Ветвление - алгоритмическая конструкция, в которой в зависимости от результата проверки условия (да или нет) предусмотрен выбор одной из двух последовательностей действий (ветвей). Алгоритмы, в основе которых лежит структура «ветвление» , называют разветвляющимися.

Опорный конспект Ветвление - алгоритмическая конструкция, в которой в зависимости от результата проверки условия Опорный конспект Ветвление - алгоритмическая конструкция, в которой в зависимости от результата проверки условия (да или нет) предусмотрен выбор одной из двух последовательностей действий (ветвей). Алгоритмы, в основе которых лежит структура «ветвление» , называют разветвляющимися. Условие Действие 1 Действие 2 Полная форма ветвления Условие Действие 1 Сокращённая форма ветвления

Повторение последовательность действий, выполняемых многократно. Алгоритмы, содержащие конструкцию повторения, называют циклическими или циклами. Последовательность Повторение последовательность действий, выполняемых многократно. Алгоритмы, содержащие конструкцию повторения, называют циклическими или циклами. Последовательность действий, многократно повторяющаяся в процессе выполнения цикла, называется телом цикла.

Типы циклов Могут быть Заданы условия продолжения работы Заданы условия окончания работы Пока есть Типы циклов Могут быть Заданы условия продолжения работы Заданы условия окончания работы Пока есть кирпич Задано число повторений Ровно 100 кирпичей Пока не наступит ночь

Цикл с заданным условием продолжения работы (цикл-ПОКА, цикл с предусловием) нц пока <условие> <тело Цикл с заданным условием продолжения работы (цикл-ПОКА, цикл с предусловием) нц пока <условие> <тело цикла (последовательность действий)> кц Условие да Тело цикла нет

Погрузка кирпичей алг погрузка нач нц пока есть кирпичи взять один кирпич если кирпич Погрузка кирпичей алг погрузка нач нц пока есть кирпичи взять один кирпич если кирпич целый то положить кирпич в машину иначе отложить кирпич в сторону все кц кон

Робот в коридоре Правее Робота расположен коридор неизвестной длины. Необходимо, чтобы Робот закрасил все Робот в коридоре Правее Робота расположен коридор неизвестной длины. Необходимо, чтобы Робот закрасил все клетки этого коридора. нц пока справа свободно вправо закрась кц

Частное и остаток Начало Список данных x, y, r, q - цел x, y Частное и остаток Начало Список данных x, y, r, q - цел x, y r: =x q: =0 r >=y да r: = r - y q: = q +1 r, y Конец нет

Таблица значений переменных Шаг алгоритма Операция Переменная x y r q 1 Ввод x Таблица значений переменных Шаг алгоритма Операция Переменная x y r q 1 Ввод x 17 2 Ввод 17 5 3 r : = x 17 5 17 4 q : = 0 17 5 r >=y 6 r : = r – y 17 5 12 0 7 q : = q +1 17 5 12 1 8 r >=y 9 r : = r – y 17 5 7 1 10 q : = q +1 17 5 7 2 11 r >=y 12 r : = r – y 17 5 2 2 13 q : = q +1 17 5 2 3 17 r >=y 18 Вывод r 19 Вывод q Условие r >= y y 0 17 > 5 (Да) 12 > 5 (Да) 7 > 5 (Да) 2 > 5 (Нет) 2 3

Цикл с заданным условием окончания работы (цикл-ДО, цикл с постусловием) Тело цикла Условие да Цикл с заданным условием окончания работы (цикл-ДО, цикл с постусловием) Тело цикла Условие да нет Запись на алгоритмическом языке: нц <тело_цикла (последовательность действий)> кц при <условие>

Цикл с постусловием Пример. Алгоритм по выучиванию наизусть четверостишия. алг четверостишие нач нц прочитать Цикл с постусловием Пример. Алгоритм по выучиванию наизусть четверостишия. алг четверостишие нач нц прочитать четверостишие по книге 1 раз рассказать четверостишие кц при не сделал ошибку кон

Вычисление переменной b Начало Список данных a, b - цел a : = 1 Вычисление переменной b Начало Список данных a, b - цел a : = 1 b : = 1 a : = a *2 b : = b +a a=8 нет да b Конец

Таблица значений переменных Шаг алгоритма Операция Переменные 1 a : = 1 1 2 Таблица значений переменных Шаг алгоритма Операция Переменные 1 a : = 1 1 2 b : = 1 1 1 3 a : = a * 2 2 1 4 b : = b+a 2 3 5 a=8 6 a : = a * 2 4 3 7 b : = b+a 4 7 8 a=8 9 a : = a * 2 8 7 10 b : = b+a 8 15 11 a=8 a Условие b a=8 2 = 8 (Нет) 4 = 8 (Нет) 8 = 8 (Да)

Задача о тренировках Начало В 1 -й день - пробежать 10 км; каждый следующий Задача о тренировках Начало В 1 -й день - пробежать 10 км; каждый следующий день увеличивать на 10% от нормы предыдущего дня. Как только достигнет или превысит 25 км, необходимо прекратить увеличение и пробегать 25 км. Начиная с какого дня спортсмен будет пробегать 25 км? Пусть x — количество километров, которое спортсмен пробежит в некоторый i-й день. Тогда в следующий (i + 1)-й день он пробежит x + 0, 1 x километров (0, 1 x — это 10% от x). Список данных i – цел x- вещ i : = 1 x : = 10 i : = i +1 x : = x +0, 1 x x>= 25 нет да i Конец

Цикл с заданным числом повторений (цикл-ДЛЯ, цикл с параметром) i = i 1, i Цикл с заданным числом повторений (цикл-ДЛЯ, цикл с параметром) i = i 1, i 2 Тело цикла Запись на алгоритмическом языке: нц для i от i 1 до i 2 <тело_цикла (последовательность действий)> кц

Цикл с заданным числом повторений алг переправа нач нц для i от 1 до Цикл с заданным числом повторений алг переправа нач нц для i от 1 до 5 два мальчика переправляются на противоположный берег один мальчик высаживается на берег, другой плывёт обратно солдат переправляется через реку мальчик возвращается на

Вычисление степени Начало Список данных i, n – цел a, y- вещ a, n Вычисление степени Начало Список данных i, n – цел a, y- вещ a, n y : = 1 i = 1, n y : = y * a y Конец

Таблица значений переменных Шаг алгоритма Операция Переменная a n y Условие i 1 Ввод Таблица значений переменных Шаг алгоритма Операция Переменная a n y Условие i 1 Ввод a, n 4 3 2 y : = 1 4 3 1 3 i : = 1 4 3 1 4 i <= n 5 y : = y * a 4 3 4 1 6 i : = i + 1 4 3 4 2 7 i <= n 8 y : = y * a 4 3 16 2 9 i : = i + 1 4 3 16 3 10 i <= n 11 y : = y * a 4 3 64 3 12 i : = i + 1 4 3 64 4 13 i <= n 1 1 <= 3 (Да) 2 <= 3 (Да) 3 <= 3 (Да) 4 <= 3 (Нет)

Повторение Пример. Для исполнителя Робот цикл с известным числом повторений реализуется с помощью следующей Повторение Пример. Для исполнителя Робот цикл с известным числом повторений реализуется с помощью следующей конструкции: нц <число повторений> раз <тело цикла> кц Так, если правее Робота не встретится препятствий, то, выполнив приведённый ниже алгоритм, он переместится на пять клеток вправо и закрасит эти клетки: алг нач нц 5 раз вправо; закрасить кц кон

Повторение Пример. В населённом пункте N домов. Известно количество людей, проживающих в каждом из Повторение Пример. В населённом пункте N домов. Известно количество людей, проживающих в каждом из домов. Составим алгоритм подсчёта жителей населённого пункта. Исходные данные (количество жильцов) представим с помощью линейной таблицы А, содержащей N элементов: A[1] — количество жильцов дома 1, …, A[N]—количество жильцов дома N. В общем случае А[i] – количество жильцов дома i, где i принимает все значения от 1 до n (i =1, n). Результат работы алгоритма обозначим через s. Начало n, a[i] = 1, n s: = 0 i = 1, n s : = s + a[i] s Конец

Самое главное Для записи любого алгоритма достаточно трёх основных алгоритмических конструкций (структур): следования, ветвления, Самое главное Для записи любого алгоритма достаточно трёх основных алгоритмических конструкций (структур): следования, ветвления, повторения. Повторение - алгоритмическая конструкция, представляющая собой последовательность действий, выполняемых многократно. Алгоритмы, содержащие конструкцию «повторение» , называют циклическими или циклами. Последовательность действий, многократно повторяющаяся в процессе выполнения цикла, называется телом цикла. В зависимости от способа организации повторений различают три типа циклов: 1) цикл с заданным условием продолжения работы; 2) цикл с заданным условием окончания работы; 3) цикл с заданным числом повторений.

Опорный конспект Повторение - алгоритмическая конструкция, представляющая собой последовательность действий, выполняемых многократно. Алгоритмы, содержащие Опорный конспект Повторение - алгоритмическая конструкция, представляющая собой последовательность действий, выполняемых многократно. Алгоритмы, содержащие конструкцию «повторение» , называют циклическими или циклами. Последовательность действий, многократно повторяющаяся в процессе выполнения цикла, называется телом цикла. Тип цикла С заданным условием продолжения работы С заданным условием окончания работы С заданным числом повторений Цикл - ПОКА Цикл - ДО Цикл - ДЛЯ

Последовательное построение алгоритма Начало Исходные данные Постановка задачи Результат Конец Я совершенный исполнитель: всё Последовательное построение алгоритма Начало Исходные данные Постановка задачи Результат Конец Я совершенный исполнитель: всё знаю и всё умею!

Последовательное построение алгоритма Не могу решить поставленную задачу!? Упрощение команд постановки задачи Задача разбивается Последовательное построение алгоритма Не могу решить поставленную задачу!? Упрощение команд постановки задачи Задача разбивается на более простые части Решение каждой части задачи формулируется в отдельной команде (предписании) Предписания, выходящие за пределы возможностей исполнителя, представляют в виде более простых команд

Разработка алгоритма методом последовательного уточнения для исполнителя Робот находится в некоторой клетке горизонтального коридора. Разработка алгоритма методом последовательного уточнения для исполнителя Робот находится в некоторой клетке горизонтального коридора. Ни одна из клеток коридора не закрашена. Робот должен закрасить все клетки этого коридора и вернуться в исходное положение.

Укрупнённый план действий Робота Начало 1. Закраска всех клеток коридора левее исходной 2. Возвращение Укрупнённый план действий Робота Начало 1. Закраска всех клеток коридора левее исходной 2. Возвращение в исходное положение 3. Закраска всех клеток коридора правее исходной 4. Возвращение в исходное положение 5. Закраска исходной клетки Конец

Детализация плана действий Робота 1. Закраска всех клеток коридора, находящихся левее Робота: влево нц Детализация плана действий Робота 1. Закраска всех клеток коридора, находящихся левее Робота: влево нц пока сверху стена и снизу стена закрасить; влево кц Положение Робота после выполнения этого алгоритма:

Детализация плана действий Робота 2. Возвращение Робота в коридор в исходную точку: вправо нц Детализация плана действий Робота 2. Возвращение Робота в коридор в исходную точку: вправо нц пока клетка закрашена вправо кц Положение Робота после выполнения этого алгоритма:

Детализация плана действий Робота 3. Закраска всех клеток коридора, находящихся правее Робота: вправо нц Детализация плана действий Робота 3. Закраска всех клеток коридора, находящихся правее Робота: вправо нц пока сверху стена и снизу стена закрасить; вправо кц Положение Робота после выполнения этого алгоритма:

Детализация плана действий Робота 4. Возвращение Робота в коридор в исходную точку: влево нц Детализация плана действий Робота 4. Возвращение Робота в коридор в исходную точку: влево нц пока клетка закрашена влево кц 5. По команде исходную точку. закрасить Робот закрашивает

Программа для Робота алг нач влево нц пока сверху стена и снизу стена закрасить; Программа для Робота алг нач влево нц пока сверху стена и снизу стена закрасить; влево кц вправо нц пока клетка закрашена вправо кц вправо нц пока сверху стена и снизу стена закрасить; вправо кц влево нц пока клетка закрашена влево

Вспомогательный алгоритм - алгоритм, целиком используемый в составе другого алгоритма. Блок «предопределённый процесс» Вспомогательный Вспомогательный алгоритм - алгоритм, целиком используемый в составе другого алгоритма. Блок «предопределённый процесс» Вспомогательный алгоритм делает структуру алгоритма более простой и понятной.

Алгоритм вычисления степени y = ax, где x - целое число, a 0. По Алгоритм вычисления степени y = ax, где x - целое число, a 0. По определению степени с целым показателем: 1 при x = 0 ax при x >0, y= при x <0. Обозначим алгоритм возведения числа в степень st(a, n, y). Это вспомогательный алгоритм.

Блок-схема решения задачи: Начало a, x да y : = 1 нет x=0 да Блок-схема решения задачи: Начало a, x да y : = 1 нет x=0 да st (a, x, y) y Конец x>0 нет st (1/a, x, y)

Формальные и фактические параметры Формальные параметры используются при описании алгоритма. Фактические параметры - те Формальные и фактические параметры Формальные параметры используются при описании алгоритма. Фактические параметры - те величины, для которых будет исполнен вспомогательный алгоритм. Типы, количество и порядок следования формальных и фактических параметров должны совпадать.

Схема вызова вспомогательного алгоритма Основной алгоритм Имя вспомогательного алгоритма (список фактических параметров) … Вспомогательный Схема вызова вспомогательного алгоритма Основной алгоритм Имя вспомогательного алгоритма (список фактических параметров) … Вспомогательный алгоритм Формальные аргументы …

Рекурсивный алгоритм Алгоритм, в котором прямо или косвенно содержится ссылка на него же как Рекурсивный алгоритм Алгоритм, в котором прямо или косвенно содержится ссылка на него же как на вспомогательный алгоритм, называют рекурсивным. Начало Пример. Алгоритм вычисления степени с натуральным показателем n для любого вещественного числа а, представленный в виде рекурсивного алгоритма a, n st (a, n-1, y) y : =a*y y Конец

Снежинка Коха Пример. Рассмотрим алгоритм построения геометрической фигуры, которая называется снежинкой Коха. Шаг процедуры Снежинка Коха Пример. Рассмотрим алгоритм построения геометрической фигуры, которая называется снежинкой Коха. Шаг процедуры построения состоит в замене средней трети каждого из имеющихся отрезков двумя новыми той же длины. Начальное положение Второй шаг Первый шаг Третий шаг С каждым шагом фигура становится всё причудливее. Граница снежинки Коха - положение кривой после выполнения бесконечного числа шагов.

Самое главное Метод последовательного построения алгоритма: • исходная задача разбивается на несколько частей, каждая Самое главное Метод последовательного построения алгоритма: • исходная задача разбивается на несколько частей, каждая из которых проще всей задачи, и решение каждой части формулируется в отдельной команде; • если получаются команды, выходящие за пределы возможностей исполнителя, то они представляются в виде совокупности ещё более простых предписаний; • процесс продолжается до тех пор, пока все предписания не будут понятны исполнителю. Вспомогательный алгоритм - алгоритм, целиком используемый в составе другого алгоритма. Алгоритм, в котором прямо или косвенно содержится ссылка на него же как на вспомогательный алгоритм, называют рекурсивным.

Опорный конспект Метод последовательного построения алгоритма один из основных методов конструирования алгоритмов. Упрощение команд Опорный конспект Метод последовательного построения алгоритма один из основных методов конструирования алгоритмов. Упрощение команд постановки задачи Задачу разбивают на более простые Решение каждой части задачи формулируют в отдельной команде Предписания, выходящие за пределы возможностей исполнителя, представляют в виде более простых команд Вспомогательный алгоритм - алгоритм, целиком используемый в составе другого алгоритма.

Управление это процесс целенаправленного воздействия на объект; осуществляется для организации функционирования объекта по заданной Управление это процесс целенаправленного воздействия на объект; осуществляется для организации функционирования объекта по заданной программе. Норберт Винер (1894— 1964), основоположник кибернетики - науки об управлении.

Управляющий объект: человек Управляемый объектом: коллектив техническое устройство коллектив человек Последовательность команд по управлению Управляющий объект: человек Управляемый объектом: коллектив техническое устройство коллектив человек Последовательность команд по управлению объектом, приводящая к заранее поставленной цели, называется алгоритмом управления.

Информация и управление Информация для управляющего объекта Цель действий Способы достижения цели Пример. Управление Информация и управление Информация для управляющего объекта Цель действий Способы достижения цели Пример. Управление движением автомашин (объект управления) на перекрёстке с помощью светофора (управляющий объект). Управляющее воздействие зависит от заложенной в управляющем объекте исходной информации.

Обратная связь - это процесс передачи информации о состоянии объекта управления в управляющую систему. Обратная связь - это процесс передачи информации о состоянии объекта управления в управляющую систему. Обратная связь позволяет корректировать управляющие воздействия управляющей системы на объект управления в зависимости от состояния объекта управления. Кибернетическая модель управления Управляющий объект Управляющее воздействие Обратная связь Объект управления

Самое главное Управление воздействия на процесс объект; целенаправленного осуществляется для организации функционирования объекта по Самое главное Управление воздействия на процесс объект; целенаправленного осуществляется для организации функционирования объекта по заданной программе. Последовательность команд по управлению объектом, приводящая к заранее поставленной цели, называется алгоритмом управления.

Опорный конспект Управление - это процесс целенаправленного воздействия на объект; осуществляется для организации функционирования Опорный конспект Управление - это процесс целенаправленного воздействия на объект; осуществляется для организации функционирования объекта по заданной программе. Информация для управляющего объекта Цель действий Способы достижения цели Последовательность команд по управлению объектом, приводящая к заранее поставленной цели, называется алгоритмом управления. Обратная связь - это процесс передачи информации о состоянии объекта управления в управляющую систему.