Скачать презентацию Понятие алгоритма Свойства алгоритмов Исполнитель алгоритма Формы представления Скачать презентацию Понятие алгоритма Свойства алгоритмов Исполнитель алгоритма Формы представления

Алгоритмы_Свойства_алгоритмов.ppt

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

Понятие алгоритма. Свойства алгоритмов. Исполнитель алгоритма. Формы представления алгоритма. Алгоритм не роскошь, а средство Понятие алгоритма. Свойства алгоритмов. Исполнитель алгоритма. Формы представления алгоритма. Алгоритм не роскошь, а средство достижения цели.

Должны знать: понятие АЛГОРИТМА, свойства алгоритма, способы и формы представления алгоритма; основные базовые структуры Должны знать: понятие АЛГОРИТМА, свойства алгоритма, способы и формы представления алгоритма; основные базовые структуры алгоритмов;

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

В течение жизни каждый человек постоянно пользуется набором всевозможных АЛГОРИТМОВ – ПРАВИЛ – ИНСТРУКЦИЙ- В течение жизни каждый человек постоянно пользуется набором всевозможных АЛГОРИТМОВ – ПРАВИЛ – ИНСТРУКЦИЙ- СПОСОБОВРЕЦЕПТОВ, которые заложены в него природой, даны воспитанием, обучением.

Так, утром мама перед твоим выходом в школу дает указание: “Когда придешь из школы, Так, утром мама перед твоим выходом в школу дает указание: “Когда придешь из школы, пообедай и вымой посуду. После этого сходишь в магазин за хлебом и можешь немного погулять. Гулять разрешаю не больше часа, а потом сразу за уроки”. Эта инструкция состоит из последовательности отдельных указаний, которые определяют твое поведение по возвращении из школы. Это и есть алгоритм.

Примеры: Инструкция пользования лифтом, телефоном; Правила перехода улицы; Распорядок дня; Правила вычислений, методы решения Примеры: Инструкция пользования лифтом, телефоном; Правила перехода улицы; Распорядок дня; Правила вычислений, методы решения задач.

А Л Г О Р И Т М - ПОНЯТНОЕ И ТОЧНОЕ ПРЕДПИСАНИЕ (УКАЗАНИЕ) А Л Г О Р И Т М - ПОНЯТНОЕ И ТОЧНОЕ ПРЕДПИСАНИЕ (УКАЗАНИЕ) ИСПОЛНИТЕЛЮ СОВЕРШИТЬ ПОСЛЕДОВАТЕЛЬНОСТЬ ДЕЙСТВИЙ, НАПРАВЛЕННЫХ НА ДОСТИЖЕНИЕ УКАЗАННОЙ ЦЕЛИ ИЛИ НА РЕШЕНИЕ ПОСТАВЛЕННОЙ ЗАДАЧИ.

"ALGORITHMI" - латинская форма написания имени великого узбекского математика IХ века Аль. Хорезми, который сформулировал правила выполнения арифметических действий.

История алгоритма В 820 г. нашей эры в Багдаде был написан учебник «Аль-Джабар Ва-Аль-Мукабала» История алгоритма В 820 г. нашей эры в Багдаде был написан учебник «Аль-Джабар Ва-Аль-Мукабала» , в котором были представлены правила выполнения четырех арифметических действий над числами в десятичной системе счисления. Автором был арабский математик Мухаммед бен Мусы аль-Хорезми. От слов «Аль- Джабр» в названии учебника пошло слово «алгебра» , а от имени аль-Хорезмислово «алгоризм» , позже перешедшее в «алгоритм» .

Составление алгоритма начинается с того, что описываемый процесс разбивается на последовательность отдельных шагов. Например, Составление алгоритма начинается с того, что описываемый процесс разбивается на последовательность отдельных шагов. Например, алгоритм приготовления яичницы: 1. Нагрейте сковороду. 2. Положите на сковороду масло или жир. 3. Разбейте яйца над сковородой. 4. Посолите содержимое сковороды. 5. Жарьте яичницу до готовности.

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

Чтобы составить для исполнителя алгоритм, нужно знать, какие команды этот исполнитель может понять и Чтобы составить для исполнителя алгоритм, нужно знать, какие команды этот исполнитель может понять и исполнить. Любой исполнитель (и компьютер в частности) может выполнять только ограниченный набор операций (например, экскаватор копает яму, учитель учит, компьютер выполняет арифметические действия и т. п. ).

Поэтому алгоритмы должны обладать такими свойствами: ПОНЯТНОСТЬ. Чтобы исполнитель мог достичь поставленной перед ним Поэтому алгоритмы должны обладать такими свойствами: ПОНЯТНОСТЬ. Чтобы исполнитель мог достичь поставленной перед ним цели, используя данный алгоритм, исполнителю необходимо уметь выполнять каждое указание этого алгоритма, то есть понимать любую из команд, которые входят в алгоритм.

Например, мама поручила купить в магазине продукты. Исполнителем этого алгоритма может быть кто-то из Например, мама поручила купить в магазине продукты. Исполнителем этого алгоритма может быть кто-то из семьи: отец, сын, бабушка, дочка. Ясно, что отцу достаточно сказать, какие купить продукты, а дальше детализировать алгоритм не нужно. Сыну-подростку необходимо подробнее объяснить в каких магазинах можно приобрести нужный товар, что можно купить вместо отсутствующего товара и тому подобное. Маленькой дочке алгоритм надо детализировать еще большее: где взять сумку, чтобы принести товар, какую сдачу необходимо принести из магазина, как дойти к магазину и как там себя правильно вести.

РЕЗУЛЬТАТИВНОСТЬ. • Алгоритм должен приводить к определенному результату через конечное число шагов. То есть РЕЗУЛЬТАТИВНОСТЬ. • Алгоритм должен приводить к определенному результату через конечное число шагов. То есть ситуации возникновения так называемого “зацикливания”, должны быть исключены еще при написании алгоритма. Например, рассмотрим такую ситуацию: роботу дано указание выйти из комнаты (замкнутое пространство), не выполняя разрушительных действий. В этом случае, если ему не дать команды “открыть дверь” (которые, возможно, закрытые), то попытки оставить комнату будут безуспешными.

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

Понятный алгоритм не должен содержать указаний, содержание которых может восприниматься неоднозначно. Например, “почисти картофель”, Понятный алгоритм не должен содержать указаний, содержание которых может восприниматься неоднозначно. Например, “почисти картофель”, “посоли по вкусу”, “убери в квартире” и т. п. есть неоднозначным, так как в разных случаях могут привести к разным результатам. Кроме того, в алгоритмах недопустимые такие ситуации, если после очередного распоряжения алгоритма исполнителю не ясно, что нужно делать потом. Например, вас послали за каким-то товаром в магазин, и еще и предупредили: “без хлеба (сахара и т. п. ) не возвращайся”. А что делать, если этот товар отсутствующий?

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

МАССОВОСТЬ. возможность применения этого алгоритма для решения большого количества однотипных задач. Очень важно, чтобы МАССОВОСТЬ. возможность применения этого алгоритма для решения большого количества однотипных задач. Очень важно, чтобы составленный алгоритм обеспечивал решения не одной отдельной задачи, а выполнял решения широкого класса задач данного типа. Например, алгоритм покупки товара в магазине будет всегда одинаковый, независимо от товара, который покупается. Или алгоритм стирки не зависит от белья, которое стирается, и т. д.

ФОРМАЛЬНОСТЬ. Исполнитель может не вникать в смысл того, что он делает, и вместе с ФОРМАЛЬНОСТЬ. Исполнитель может не вникать в смысл того, что он делает, и вместе с тем, получать нужный результат. Исполнение алгоритма не требует рассуждений, связанных с существом задачи, и может осуществляться формально.

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

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

Алгоритм может быть записан различными способами, которые отличаются по степени наглядности и точности: 1) Алгоритм может быть записан различными способами, которые отличаются по степени наглядности и точности: 1) Словесный способ на естественном языке; 2) Учебный алгоритмический язык; 3) Язык блок-схем; ориентированы на исполнителя человека 4) Языки программирования. Исполнитель – ЭВМ

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

Например, алгоритм нахождения модуля числа можно записать следующим образом. 1. Начало. 2. Задать числовое Например, алгоритм нахождения модуля числа можно записать следующим образом. 1. Начало. 2. Задать числовое значение величины х. 3. Если х больше или равен 0, то у присвоить значение х, иначе у присвоить значение минус х. 4. Вывести значение у. 5. Конец.

Эта форма записи обладает существенными недостатками: Недостаточно наглядна Словесную запись трудно перевести на язык Эта форма записи обладает существенными недостатками: Недостаточно наглядна Словесную запись трудно перевести на язык программы для компьютера. Словесная запись применяется на начальном этапе изучения алгоритмов.

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

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

Алгоритмы не являются программами для решения задач на компьютере. Для записи программ предназначены языки Алгоритмы не являются программами для решения задач на компьютере. Для записи программ предназначены языки программирования. Алгоритм, представленный в виде программы, может быть исполнен компьютером. Языки программирования

Например, так выглядит в виде алгоритма и программы, нахождение модуля числа. Алг Модуль (вещ Например, так выглядит в виде алгоритма и программы, нахождение модуля числа. Алг Модуль (вещ х, у) арг х рез у нач Ввод х если х>0 то у: =х иначе у: =-х все Вывод у кон Program modyl; Var x, y: real; Begin Writeln (‘Введите число x, ’); Readln(x); If x>0 then y: =x else y: =-x; End.

Задачи для самостоятельного решения Составить алгоритм пользования телефоном; приготовления шашлыка; деления отрезка пополам. Определить, Задачи для самостоятельного решения Составить алгоритм пользования телефоном; приготовления шашлыка; деления отрезка пополам. Определить, когда в составленных алгоритмах могут не выполняться свойства алгоритма. Составить алгоритм определения номера подъезда и этажа квартиры по заданным номеру квартиры, количеству этажей в доме и количеству квартир на лестничной площадке. Составить алгоритм решения задачи: Переправа семьи. Отец, мать и двое детей хотят перебраться через реку. Все умеют грести, но лодка выдержит одного взрослого или двух детей. Как им всем переправиться на другой берег. Проверь логику. Ханойская башня

Вопросы для самоконтроля Дайте определение понятия алгоритм. Назовите исполнителей для следующих алгоритмов: а) способ Вопросы для самоконтроля Дайте определение понятия алгоритм. Назовите исполнителей для следующих алгоритмов: а) способ решения задачи, который записывает на доске учитель; б) инструкция о том, как завести автомобиль. Будет ли выполняться алгоритм, если исполнитель встретил команду, не входящую в его систему команд? Перечислите известные вам свойства алгоритмов. Будет ли считаться алгоритмом последовательность действий, которая не приводит к какому-либо результату? Что такое результативность алгоритма. Приведите примеры свойства массовости алгоритма.

Литература Інформатика, А. Ф. Верлань, Н. В. Апатова Основы информатики (алгоритмический язык), Ю. А. Литература Інформатика, А. Ф. Верлань, Н. В. Апатова Основы информатики (алгоритмический язык), Ю. А. Фролков, Донецк, 2000 А. Ю. Гаевский, Информатика 7 -11 класс, К. , 2003 Основи інформатики та обчислювальної техніки, TURBO PASCAL, зошит -конспект 10 -11 класи, Тернопіль, 2000 Основы информатики и вычислительной техники, под ред. А. П. Ершова, В. М. Монахова, 1986 Информатика, сборник задач для средней школы, Л. И. Белоусова, С. А. Веприк, А. С. Муравка, 2000 М. Г. Коляда, Учебное пособие, Информатика, Д. : Сталкер, 1999