Скачать презентацию Этапы решения задач с помощью компьютера 1 Скачать презентацию Этапы решения задач с помощью компьютера 1

Лекция 6.АЛГОРИТМЫ..ppt

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

Этапы решения задач с помощью компьютера 1 Этапы решения задач с помощью компьютера 1

1. Формальная постановка задачи. Говорят, что если задача корректно поставлена, то она решена на 1. Формальная постановка задачи. Говорят, что если задача корректно поставлена, то она решена на 50%. n Рассмотрим пример следующей постановки задачи: найти решение квадратного уравнения: ax 2 + bx + c = 0 n 2

Решая задачу в такой ее постановке, конечно же, возникают вопросы: n Каков тип исходных Решая задачу в такой ее постановке, конечно же, возникают вопросы: n Каков тип исходных величин a, b, c? c n Каков тип результата х? n Сколько и каких корней выдать в качестве результата? 3

n А теперь рассмотрим другую постановку: для действительных величин a, b, c найти все n А теперь рассмотрим другую постановку: для действительных величин a, b, c найти все действительные корни квадратного уравнения ax 2 + bx + c = 0 Возникшие вопросы сняты! 4

2. Выбор метода вычислений. n n Для решения одной и той же задачи в 2. Выбор метода вычислений. n n Для решения одной и той же задачи в общем случае может быть несколько методов ее решения. Если говорить о квадратном уравнении ax 2 + bx + c = 0, то на этом этапе необходимо было бы вспомнить: сколько действительных корней имеет квадратное уравнение, от чего это зависит и формулы корней. 5

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

Возникает вопрос: n каким из этих методов воспользоваться? Здесь приходится решать проблему оценки качества Возникает вопрос: n каким из этих методов воспользоваться? Здесь приходится решать проблему оценки качества того или иного метода вычислений. В качестве такой оценки, например, в нашей ситуации может служить точность вычислений 7

Этапы решения задачи с помощью компьютера n n 3. Разработка алгоритма на основе выбранного Этапы решения задачи с помощью компьютера n n 3. Разработка алгоритма на основе выбранного метода вычислений. 4. Разработка программы для компьютера (кодирование, программирование). 5. Отладка и выполнение программы. Разработка программного продукта 6. Сопровождение программного продукта. 8

n Все этапы важны! n Остановимся на третьем, основополагающем этапе – разработке алгоритма решения n Все этапы важны! n Остановимся на третьем, основополагающем этапе – разработке алгоритма решения задачи. 9

АЛГОРИТМЫ. ИНТУИТИВНОЕ ПОНЯТИЕ. СВОЙСТВА И ПРИМЕРЫ 10 АЛГОРИТМЫ. ИНТУИТИВНОЕ ПОНЯТИЕ. СВОЙСТВА И ПРИМЕРЫ 10

Историческая справка n n Слово “алгоритм” происходит от имени узбекского математика Хорезми (ал. Хорезми), Историческая справка n n Слово “алгоритм” происходит от имени узбекского математика Хорезми (ал. Хорезми), который в IX веке нашей эры разработал правила выполнения четырех арифметических дейcтвий над числами в десятичной системе счисления. Совокупность этих правил в Европе стали называть “алгоризм”, а позднее “алгоритм”. 11

ОПРЕДЕЛЕНИЕ n Алгоритмом называют понятное и точное предписание исполнителю совершить последовательность действий, направленных на ОПРЕДЕЛЕНИЕ n Алгоритмом называют понятное и точное предписание исполнителю совершить последовательность действий, направленных на достижение указанной цели или на решение поставленной задачи. 12

ПРИМЕРЫ АЛГОРИТМОВ n Рассмотрим понятие алгоритма в интуитивном смысле на примерах. 13 ПРИМЕРЫ АЛГОРИТМОВ n Рассмотрим понятие алгоритма в интуитивном смысле на примерах. 13

1. ОТГАДЫВАНИЕ ЧИСЛА a) b) c) d) e) Задумайте число. n РЕШЕНИЕ Умножьте его 1. ОТГАДЫВАНИЕ ЧИСЛА a) b) c) d) e) Задумайте число. n РЕШЕНИЕ Умножьте его на 5. n х – задуманное число Прибавьте к n (5 х + 8)*2=результату 8. Умножьте n х=(результат/2 – 8)/5 результат на 2. Сообщите n х=(результат-16)/10 результат. 14

2. ЗАДАЧА О ВОЛКЕ, КОЗЕ и КАПУСТЕ n Человек с помощью маленькой лодки должен 2. ЗАДАЧА О ВОЛКЕ, КОЗЕ и КАПУСТЕ n Человек с помощью маленькой лодки должен перевезти с одного берега реки на другой козу, волка и капусту, не допустив, чтобы коза съела капусту, а волк – козу. n СХЕМА РЕШЕНИЯ КЗ В, КЗ, КП КЗ КЗ В, КП КП В КЗ, КП КЗ КП В, КЗ В, КП КЗ КЗ КЗ, КП, В 15

3. ЗНАКОМСТВО ДВУХ ЛЮДЕЙ n ПОСТАНОВКА ЗАДАЧИ. Вам необходимо познакомить двух ваших приятелей. Кого 3. ЗНАКОМСТВО ДВУХ ЛЮДЕЙ n ПОСТАНОВКА ЗАДАЧИ. Вам необходимо познакомить двух ваших приятелей. Кого представлять первым? 16

АЛГОРИТМ 1) 2) 3) Если ваши знакомые одного пола, младшего представляют старшему. Если ваши АЛГОРИТМ 1) 2) 3) Если ваши знакомые одного пола, младшего представляют старшему. Если ваши знакомые разного пола и сильно отличаются по возрасту, младшего представляют старшему. Если ваши знакомые разного пола и примерно одинаковы по возрасту, первым представляют мужчину. 17

4. СИТУАЦИЯ n В жаркий летний день Вы решили попутешествовать с другом на велосипеде. 4. СИТУАЦИЯ n В жаркий летний день Вы решили попутешествовать с другом на велосипеде. Как Вы поступите? 18

Можно предложить следующую последовательность действий: 1) 2) 3) 4) достать карту местности, проложить маршрут, Можно предложить следующую последовательность действий: 1) 2) 3) 4) достать карту местности, проложить маршрут, оговорить длительность путешествия; продумать перечень необходимых продуктов; определить перечень необходимых вещей; подготовить велосипед. 19

СВОЙСТВА АЛГОРИТМОВ n Замечание Каждый алгоритм предполагает наличие некоторых исходных данных и приводит к СВОЙСТВА АЛГОРИТМОВ n Замечание Каждый алгоритм предполагает наличие некоторых исходных данных и приводит к получению определенного искомого результата. 20

1. Массовость. n n Для каждого алгоритма существует некоторый класс объектов, допустимых в качестве 1. Массовость. n n Для каждого алгоритма существует некоторый класс объектов, допустимых в качестве исходных данных. Массовость – это допустимость для алгоритма всех объектов соответствующего класса (а не допустимость какого-то определенного их количества). 21

n Массовость требует от алгоритма давать решение задачи для всех возможных ее формулировок, т. n Массовость требует от алгоритма давать решение задачи для всех возможных ее формулировок, т. е. исходные данные должны изменяться в некоторых допустимых пределах. 22

“ПАРАДОКС КУЧИ” n n n Сущность его можно передать, задавая себе ряд вопросов и “ПАРАДОКС КУЧИ” n n n Сущность его можно передать, задавая себе ряд вопросов и тут же отвечая на них. Один камень – это куча? НЕТ! А два камня – это куча? Тоже НЕТ! А три? И т. д. 23

n n В конце концов мы либо придем к выводу, что куч не существует, n n В конце концов мы либо придем к выводу, что куч не существует, либо вынуждены существует будем признать, что есть такое число камней, увеличение которого на 1 приводит к получению кучи. И то, и другое противоречит фактам и является следствием расплывчатости понятия кучи 24

2. Дискретность. n Свойство алгоритма поочередного выполнения образующих его предписаний называется дискретностью алгоритма. 25 2. Дискретность. n Свойство алгоритма поочередного выполнения образующих его предписаний называется дискретностью алгоритма. 25

3. Результативность. n n Результативность означает, что исполнение алгоритма заканчивается за конечное число шагов. 3. Результативность. n n Результативность означает, что исполнение алгоритма заканчивается за конечное число шагов. Окончание алгоритма означает решение задачи или указание на то, что решения нет. 26

ПРИМЕР. 1) 2) 3) Умножить исходное число Y на 2. Перейти к п. 2. ПРИМЕР. 1) 2) 3) Умножить исходное число Y на 2. Перейти к п. 2. К полученному числу прибавить 1. Определить остаток от деления результата на 3. Перейти к п. 3. Разделить исходное число Y на вычисленный остаток. Частное от деления является результатом. Конец. 27

Результаты выполнения алгоритма n 1) 2) 3) Y=6 6*2=12 12+1=13; ост=1 6: 1=6; конец Результаты выполнения алгоритма n 1) 2) 3) Y=6 6*2=12 12+1=13; ост=1 6: 1=6; конец n 1) 2) 3) Y=7 7*2=14 14+1=15; ост=0 7: 0 – действие невозможно! Процесс безрезультатно оборвался! 28

4. Понятность. n Любой алгоритм строится в расчете на некоторого исполнителя. Естественно, исполнителя что 4. Понятность. n Любой алгоритм строится в расчете на некоторого исполнителя. Естественно, исполнителя что для того, чтобы исполнитель мог бы решить заданную задачу по заданному алгоритму, необходимо, чтобы он был в состоянии выполнить каждое действие, предписываемое алгоритмом. 29

Определение n Способность исполнителя выполнить каждое действие, предписываемое алгоритмом, называется понятностью 30 Определение n Способность исполнителя выполнить каждое действие, предписываемое алгоритмом, называется понятностью 30

5. Точность (определенность). n n Исполнитель алгоритма не нуждается в какой-либо фантазии или сообразительности. 5. Точность (определенность). n n Исполнитель алгоритма не нуждается в какой-либо фантазии или сообразительности. Более того, алгоритм не оставляет места для проявления этих качеств, если даже исполнитель ими обладает. Выполняя алгоритм, действуют механически. 31

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

Пример. Определение кислотности раствора. 1) Опустить в раствор лакмусовую бумажку. 2) Если ее цвет Пример. Определение кислотности раствора. 1) Опустить в раствор лакмусовую бумажку. 2) Если ее цвет стал синим, считать раствор щелочным. 3) Если ее цвет стал красным, считать раствор кислотным. Конец. А если цвет бумажки не изменился? ? ? n 33

ЗАДАНИЕ 1 Какой из объектов может являться исполнителем? n n молоток; карта; принтер; книга. ЗАДАНИЕ 1 Какой из объектов может являться исполнителем? n n молоток; карта; принтер; книга. 34

ОТВЕТ v принтер 35 ОТВЕТ v принтер 35

ЗАДАНИЕ 2 Свойством алгоритма является … n n цикличность; возможность изменения последовательности выполнения команд; ЗАДАНИЕ 2 Свойством алгоритма является … n n цикличность; возможность изменения последовательности выполнения команд; результативность; возможность выполнения алгоритма в обратном порядке. 36

ОТВЕТ v результативность 37 ОТВЕТ v результативность 37

ЗАДАНИЕ 3 n n n Какому свойству не удовлетворяет следующий алгоритм определения простого числа? ЗАДАНИЕ 3 n n n Какому свойству не удовлетворяет следующий алгоритм определения простого числа? числа Задать число N. Проверить, имеет ли N в качестве делителей только 1 и само себя. Если да, то N – простое число. Конец. 38

n n n массовость; результативность; дискретность; точность; понятность. 39 n n n массовость; результативность; дискретность; точность; понятность. 39

ОТВЕТ v точность 40 ОТВЕТ v точность 40