Алгоритмы. Стандартный набор алгоритмов презентация

Содержание

Зачем изучать алгоритмы? Практическая причина Теоретическая причина Стандартный набор алгоритмов, разработка новых алгоритмов, анализ эффективности алгоритмов Основы информатики

Слайд 1АЛГОРИТМЫ
Лекция №1


Слайд 2Зачем изучать алгоритмы?

Практическая причина
Теоретическая причина
Стандартный набор
алгоритмов,
разработка новых
алгоритмов,
анализ эффективности
алгоритмов
Основы информатики


Слайд 3
«Хорошо обученный в области информатики специалист обязан знать, как работать с

алгоритмами: как их создавать, изменять, понимать и анализировать. Эти знания позволят не только писать хорошие компьютерные программы, но и станут основой универсального мыслительного аппарата, который окажет неоценимую помощь при постижении других наук, будь то химия, лингвистика, музыка и т.д. Причину этого можно объяснить следующим образом: часто говорят, что человек ничего не понимает, пока не объяснит это кому-либо другому. Я бы перефразировал это так: человек глубоко не понимает предмет до тех пор, пока не научит этому компьютер, т.е. выразит что-либо в виде алгоритма… Попытка формализовать нечто в виде набора алгоритмов приводит к более глубокому пониманию сути вещей, чем при их осмыслении традиционным способом». /Дональд Кнут
Дональд Эрвин Кнут — американский учёный в области информатики, преподаватель и идеолог программирования, автор 19 монографий (в том числе ряда классических книг по программированию) и более 160 статей, разработчик нескольких известных программных технологий. Автор всемирно известной серии книг, посвящённой основным алгоритмам и методам вычислительной математики. 

Слайд 4Цель дисциплины
Алгоритмическое мышление – это
Искусство размышлять,
Умение планировать свои действия,
Способность предусматривать различные

обстоятельства и поступать соответственно с ними.

Слайд 5Понятие алгоритма
Слово «алгоритм» происходит от имени средневекового арабского учёного Абу Джафар

Мохамед ибн Мусы аль-Хорезми, который в IX веке сформулировал правила вычислений с десятичными числами. Работы аль-Хорезми были переведены на латинский язы и стали известны в Европе. Через некоторое время слово «алгоритм» (от имени автора, которое на латыни писали как Algorithmi) стало обозначать любую систему вычислений по определённым правилам.


Слайд 6Понятие алгоритма
Многие действия, которые мы выполняем в жизни, можно записать как

последовательность шагов.

Строительство дома
1.Заливка фундамента.
2.Возведение стен.
3. Возведение крыши.
Менять последовательность действий нельзя, иначе стройка закончится неудачно.

Слайд 7Алгоритм открывания двери:
Достать ключ из кармана.
Вставить ключ в замочную скважину.
Повернуть ключ

два раза против часовой стрелки.
Вынуть ключ.

Слайд 8Алгоритм заваривания зеленого чая:
Обдать кипятком заварочный чайник.
Насыпать в чайник листья зеленого

чая в расчете одна чайная ложка на чашку чая.
Залить чайник кипятком.
Дать постоять 2-3 минуты.
Слить заварку.
Снова залить кипятком.
Снова слить заварку.
Снова залить кипятком. Чай готов.


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

требуемого результата.

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


Слайд 10
Алгоритм
Свойства алгоритма
дискретность: состоит из отдельных шагов (команд)
понятность: должен включать только команды,

известные исполнителю (входящие в СКИ)
определенность: при одинаковых исходных данных всегда выдает один и тот же результат
конечность: заканчивается за конечное число шагов
массовость: может применяться многократно при различных исходных данных
корректность: дает верное решение при любых допустимых исходных данных

Алгоритм – это четко определенный план действий для исполнителя.


Слайд 11Эффективность алгоритма
Задача. Сложить числа 1+2+3++4+…+99+100.



1-ый алгоритм:

Последовательным сложением: 1 + 2 +

3 + 4 + … + 99 + 100 = 5050



2-ой алгоритм:

Разбить все числа на пары 1 + 100, 2 + 99, … 50 + 51 и все суммы равны 101, поэтому общий результат равен
50 × 101 = 5050.


Слайд 12Способы описания алгоритмов
Словесное описание
Псевдокод
Графический способ
На алгоритмическом языке


Слайд 13Словесная запись алгоритма
Это удобно и привычно, но есть одна проблема: во

всех естественных языках есть неоднозначность, поэтому исполнитель-человек может понять алгоритм не так, как задумывал его автор. Особенно трудно разбираться в длинных словесных алгоритмах, занимающих больше десятка строк.
Пример алгоритма:
Автомат получает на вход трехзначное десятичное число. По полученному числу строится новое десятичное число по следующим правилам. Сначала вычисляются сумма старшего и среднего разрядов, а также сумма среднего и младшего разрядов заданного числа. Затем полученные два числа записываются друг за другом в порядке не- возрастания (без разделителей).

Слайд 14Пошаговая запись алгоритма
Пример.
Вход: два натуральных числа, a и b.
Шаг

1. Если a < b, перейти к шагу 4.
Шаг 2. Уменьшить a на величину b.
Шаг 3. Перейти к шагу 1.
Шаг 4. Стоп.
Результат: значение a.
Обратите внимание, что ясно определено, что служит исходными данными для работы этого алгоритма (см. первую строчку — Вход) и что будет считаться результатом его работы (строчка Результат).
Подумайте, что вычисляет этот алгоритм и что будет, если применить его к таким исходным данным: a = 19, b = 5.

Слайд 15Блок-схемы алгоритмов
Пример.


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

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

Вход: два натуральных числа, a и b.
Шаг 1. Если a < b, перейти к шагу 4.
Шаг 2. Уменьшить a на величину b.
Шаг 3. Перейти к шагу 1.
Шаг 4. Стоп.
Результат: значение a.


Слайд 17Программа. Этапы разработки программы
Программирование – это процесс создания (разработки) программы, который

может быть представлен последовательностью следующих шагов:
Определение требований к программе
Разработка алгоритма
Написание команд (кода)
Отладка
Тестирование.

Слайд 18Определение требований к программе
Подробно описывается исходная информация и формулируются требования к

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

Слайд 19Разработка алгоритма
На этапе разработки алгоритма необходимо определить последовательность действий, которые надо

выполнить для получения результата.

Если задача может быть решена несколькими способами и, следовательно, возможны различные варианты алгоритма решения, то программист, определяет эффективность каждого алгоритма.

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

Слайд 20Кодирование

После того как определены требования к программе и составлен алгоритм решения,

алгоритм записывается на выбранном языке программирования.

В результате получается исходная программа.

Слайд 21Отладка
Отладка - это процесс поиска и устранения ошибок.

Синтаксические ошибки –

нарушение формальных правил записи на языке программирования. Диагностируются транслятором.
Семантические ошибки – нарушение правил интерпретации смыслового значения программы и ее практической полезности. Выявляются в процессе тестирования.

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

Слайд 22Тестирование
На этом этапе следует проверить, как ведет себя программа на как

можно большем количестве входных наборов данных, в том числе и на заведомо неверных.

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

Слайд 23
Комплект тестов должен быть таким, чтобы подвергнуть проверке:
все ветви алгоритма,
Все

циклические и рекурсивные структуры,
Все вырожденные и предельные случаи решения.

Слайд 24Система тестов для задачи нахождения корней квадратного уравнения ax2 + bx

+ c = 0.

Обратная связь

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

Email: Нажмите что бы посмотреть 

Что такое ThePresentation.ru?

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


Для правообладателей

Яндекс.Метрика