Скачать презентацию LOGO Алгоритмы и информационное моделирование Составитель Рудакова Е Скачать презентацию LOGO Алгоритмы и информационное моделирование Составитель Рудакова Е

Алгоритмы и информационное моделирование.pptx

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

LOGO Алгоритмы и информационное моделирование Составитель: Рудакова Е. А. , к. п. н. , LOGO Алгоритмы и информационное моделирование Составитель: Рудакова Е. А. , к. п. н. , доц. каф. информатики и дискретной математики НГПУ

Исполнитель - человек или автомат (например, компьютер), который умеет выполнять определенный конечный набор действий. Исполнитель - человек или автомат (например, компьютер), который умеет выполнять определенный конечный набор действий.

СКИ – система команд исполнителя СКИ – система команд исполнителя

Предписание приказ на выполнение действий из указанного конечного набора. Система предписаний совокупность допустимых приказов. Предписание приказ на выполнение действий из указанного конечного набора. Система предписаний совокупность допустимых приказов.

Исполнитель – компьютер: v предписание называется командой, v система предписаний называется системой команд компьютера. Исполнитель – компьютер: v предписание называется командой, v система предписаний называется системой команд компьютера.

Программа конечная последовательность предписаний с указанием порядка их выполнения. Программирование – составление последовательности команд, Программа конечная последовательность предписаний с указанием порядка их выполнения. Программирование – составление последовательности команд, которая необходима для решения поставленной задачи.

Составлению программы предшествует разработка алгоритма. Составлению программы предшествует разработка алгоритма.

Термин «алгоритм» от лат. «algorithm» – имени величайшего ученого из города Хорезма - Мухамеда Термин «алгоритм» от лат. «algorithm» – имени величайшего ученого из города Хорезма - Мухамеда бен Мусу аль – Хорезми (783 – 850 гг. ), который разработал правила выполнения арифметических действий.

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

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

Примеры алгоритмов: vинструкция по использованию междугороднего телефонного автомата; v правила пользования банкоматом; v решение Примеры алгоритмов: vинструкция по использованию междугороднего телефонного автомата; v правила пользования банкоматом; v решение систем уравнений методом Гаусса.

 Задача: Крестьянин стоит на левом берегу реки с волком, козой и капустой. Ему Задача: Крестьянин стоит на левом берегу реки с волком, козой и капустой. Ему нужно перевезти всех на правый берег. Но его лодка может взять только одного пассажира – либо волка, либо капусту, либо козу. Составьте алгоритм решения задачи.

СКИ для задачи: v. Посадить козу v. Высадить козу v. Посадить волка v. Высадить СКИ для задачи: v. Посадить козу v. Высадить козу v. Посадить волка v. Высадить волка v. Погрузить капусту v. Выгрузить капусту v. Плыть вправо v. Плыть влево

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

Дискретность возможность разбиения алгоритма на отдельные элементарные действия, которые могут быть исполнены при помощи Дискретность возможность разбиения алгоритма на отдельные элементарные действия, которые могут быть исполнены при помощи системы команд исполнителя.

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

Однозначность (определенность) совпадение получаемых результатов независимо от исполнителя и применяемых технических средств. Однозначность (определенность) совпадение получаемых результатов независимо от исполнителя и применяемых технических средств.

Точность (детерминированность) Запись алгоритма должна быть такой, чтобы, выполнив очередную команду, исполнитель точно знал, Точность (детерминированность) Запись алгоритма должна быть такой, чтобы, выполнив очередную команду, исполнитель точно знал, какую команду надо выполнять следующей.

Результативность - (конечность) выполнение алгоритма должно приводить к результату за конечное число шагов. Результативность - (конечность) выполнение алгоритма должно приводить к результату за конечное число шагов.

Способы представления алгоритма: • словесный; • табличный; • графический; • программа на алгоритмическом языке. Способы представления алгоритма: • словесный; • табличный; • графический; • программа на алгоритмическом языке.

Для словесного представления алгоритма используется естественный язык (пример - любые инструкции, рецепты и т. Для словесного представления алгоритма используется естественный язык (пример - любые инструкции, рецепты и т. п. )

Табличный способ представления алгоритма: • в расчетных книжках при плате за квартиру, • в Табличный способ представления алгоритма: • в расчетных книжках при плате за квартиру, • в бухгалтерских ведомостях, • в таблицах инженерных расчетов и т. п.

Графический способ представления алгоритма: • граф – схема; • блок-схема. Графический способ представления алгоритма: • граф – схема; • блок-схема.

Блоки блок-схемы начало Проверка условия конец Выполнение действия Вызов подпрограммы Ввод/вывод данных Межстраничный соединитель Блоки блок-схемы начало Проверка условия конец Выполнение действия Вызов подпрограммы Ввод/вывод данных Межстраничный соединитель

Программа на алгоритмическом языке: изложение алгоритма специально для ЭВМ в понятных ей символах, словах Программа на алгоритмическом языке: изложение алгоритма специально для ЭВМ в понятных ей символах, словах и командах

Программа для ЭВМ представляет собой описание алгоритма и данных на некотором языке программирования, предназначенное Программа для ЭВМ представляет собой описание алгоритма и данных на некотором языке программирования, предназначенное для последующего автоматического выполнения.

Алгоритм Линейный Циклический Разветвленный Нециклический Алгоритм Линейный Циклический Разветвленный Нециклический

 Алгоритмическая структура стандартный способ соединения отдельных шагов алгоритма для выполнения типичной последовательности действий. Алгоритмическая структура стандартный способ соединения отдельных шагов алгоритма для выполнения типичной последовательности действий.

 Любой алгоритм может быть представлен в виде комбинации трех алгоритмических структур: Следование Развилка Любой алгоритм может быть представлен в виде комбинации трех алгоритмических структур: Следование Развилка Цикл

 Следование - представляет собой последовательное выполнение действий. Следование - представляет собой последовательное выполнение действий.

начало действие конец начало действие конец

Линейный алгоритм состоит из команд, которые выполняются последовательно. Линейный алгоритм состоит из команд, которые выполняются последовательно.

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

начало действие ДА условие действие Нет действие конец начало действие ДА условие действие Нет действие конец

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

начало действие Да условие действие конец Нет начало действие Да условие действие конец Нет

предполагает наличие действий, выполняющихся многократно. предполагает наличие действий, выполняющихся многократно.

 Цикл применяется, когда некоторые действия необходимо выполнить несколько раз. Цикл До Применяется, когда Цикл применяется, когда некоторые действия необходимо выполнить несколько раз. Цикл До Применяется, когда некоторые операции надо повторять до тех пор, пока некоторое условие не станет ложным Цикл Пока Применяется, когда некоторые операции надо повторять до тех пор, пока некоторое условие не станет истинным Цикл

Стадии цикла Начало цикла Тело цикла Конец цикла Стадии цикла Начало цикла Тело цикла Конец цикла

Начало цикла – это условие вхождения в цикл. Цикл может никогда не наступить, если Начало цикла – это условие вхождения в цикл. Цикл может никогда не наступить, если не выполняется условие вхождения в цикл.

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

Конец цикла это условие выхода из цикла или прекращение цикла. Если условие выхода из Конец цикла это условие выхода из цикла или прекращение цикла. Если условие выхода из цикла нарушено – цикл может никогда не кончиться, произойдет зацикливание (бесконечный цикл).

Алгоритм Евклида для нахождения НОД (вычитанием) Алгоритм Евклида для нахождения НОД (вычитанием)

Алгоритм Евклида для нахождения НОД (делением) 1. Вводим числа а и в. 2. Большее Алгоритм Евклида для нахождения НОД (делением) 1. Вводим числа а и в. 2. Большее число делим на меньшее. 3. Если делится без остатка, то меньшее число и есть НОД (следует выйти из цикла). 4. Если есть остаток, то большее число заменяем на остаток от деления. 5. Переходим к пункту 1. Пример: Первое число Второе число Деление нацело Остаток 3367 1001 3367 = 1001× 3 + 364 364 1001 =364 × 2 + 273 364 = 273 × 1 + 91 91 91 273 = 91× 3 + 0 0 91 0 Получили, что НОД (3367, 1001) = 91.

Выполните действия по алгоритму: Выполните действия по алгоритму:

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

В основе информационного моделирования лежат три постулата: • Все состоит из элементов; • Элементы В основе информационного моделирования лежат три постулата: • Все состоит из элементов; • Элементы имеют свойства; • Элементы связаны между отношениями. собой Объект, к которому применимы эти постулаты, может быть представлен информационной моделью.

Информационные модели: v паспорт личности; v личное дело работника; v описание спортивной дисциплины или Информационные модели: v паспорт личности; v личное дело работника; v описание спортивной дисциплины или игры; v структура государства и власти; экономическая модель развития общества; v структурное построение языка и т. д.

Решение задачи на компьютере это процесс автоматического преобразования информации в соответствии с поставленной целью. Решение задачи на компьютере это процесс автоматического преобразования информации в соответствии с поставленной целью.

Этапы решения задач на компьютере 1 -й этап - постановка задачи 2 -й этап Этапы решения задач на компьютере 1 -й этап - постановка задачи 2 -й этап - моделирование 3 -й этап - алгоритмизация 4 -й этап - программирование

Этапы решения задач на компьютере 1 -й этап - постановка задачи - заключается в Этапы решения задач на компьютере 1 -й этап - постановка задачи - заключается в выявлении значений, которые являются аргументами, т. е. величин, являющихся данными, и значений, являющихся результатами, величин, которые необходимо найти в ходе решения задачи. 2 -й этап - моделирование - представляет собой нахождение решения и составление математической модели поставленной задачи.

Этапы решения задач на компьютере 3 -й этап - алгоритмизация - разбиение математической модели Этапы решения задач на компьютере 3 -й этап - алгоритмизация - разбиение математической модели на этапы, представляющие собой конечные действия, которые возможно запрограммировать на алгоритмическом языке. Необходимо по возможности находить более короткий алгоритм решения. 4 -й этап - программирование - перевод алгоритма на какой-нибудь из языков программирования и отладка программы (задание таких данных, которые дают заранее известный результат, или оценивание полученных результатов).