К учебнику «Информатика и ИКТ» для 9 класса © Н. Д. Угринович, 2009, © БИНОМ. Лаборатория знаний, 2009 Основы алгоритмизации и объектно-ориентированного.

Презентация:



Advertisements
Похожие презентации
Понятие алгоритма. Виды алгоритмов и их свойства..
Advertisements

Алгоритм как модель деятельности 18 декабря 2013 г.
Этапы решения задач на компьютере.
Задача 1 Выполните предложенные действия.Выполните предложенные действия. 1.Задумайте целое число от 1 до Прибавьте к нему 2. 3.Результат умножьте.
Основы алгоритмизации и программирования. Алгоритм. Свойства алгоритма. Исполнители. Алгоритм - это чёткое описание последовательности действий, которые.
Алгоритм Свойства алгоритмов. algorithmi Латинская форма написания имени выдающегося математика 19 века аль-Хорезми, который сформулировал правила выполнения.
Изображение алгоритма в виде блок-схемы Блок-схемой называется наглядное графическое изображение алгоритма, когда отдельные его этапы изображаются при.
Тема: Алгоритм и его свойства. Cлово «алгоритм» происходит от «algorithmi» - латинской формы написания имени выдающегося математика IX века аль-Хорезми,
АЛГОРИТМЫ подготовил учитель информатики МАОУ СОШ 2 г. Троицк Купцова Юлия Евгеньевна.
АЛГОРИТМИКА © МОУ СШ Изначально компьютеры были созданы для арифметических вычислений. Но сегодня ЭВМ также используются для изучения явлений природы,
Слово «алгоритм» происходит от имени великого среднеазиатского ученого 8–9 вв. Аль-Хорезми. Из математических работ Аль-Хорезми до нас дошли только две.
Алгоритм. Свойства алгоритма. Во многих областях человеческой деятельности для достижения требуемого результата используются алгоритмы, содержащие четкие.
Этапы решения задач с помощью компьютера Что такое алгоритм и его основные свойства Способы записи алгоритмов Основные структуры алгоритмов.
Алгоритм Что такое алгоритм Алгоритм точное и понятное предписание исполнителю совершить последовательность действий, направленных на решение поставленной.
АЛГОРИТМЫ Что такое алгоритм? Что такое алгоритм? Это последовательность действий. Это последовательность действий. Для исполнителя Кто такой исполнитель?
Алгоритм и его формальное исполнение 27 февраля 2013 г.
Алгоритм и его формальное исполнение Урок информатики, 9 класс Выполнила: Монахова О.Л., учитель информатики МБОУ Новосельская ООШ п. Сосновка Фировского.
Алгоритм и его формальное исполнение. Не существует строгого определения алгоритма. Синонимы: инструкция, правило. Основные понятия: исполнитель алгоритма,
Базовые структуры алгоритмов. Постановка задачи Построение математической модели Разработка алгоритма (блок-схемы) Составление программы на языке программирования.
Алгоритмы Алгоритм – это последовательность точных и понятных действий, необходимых для решения поставленной задачи. Отдельный шаг алгоритма называют командой.
Транксрипт:

К учебнику «Информатика и ИКТ» для 9 класса © Н. Д. Угринович, 2009, © БИНОМ. Лаборатория знаний, 2009 Основы алгоритмизации и объектно-ориентированного программирования © А.В. Атанова,

Основы алгоритмизации Урок 1. Алгоритм. Свойства алгоритма.Урок 1. Алгоритм. Свойства алгоритма.Урок 1. Урок 1. Урок 2. Блок – схемы. Линейные алгоритмы, ветвление.Урок 2. Блок – схемы. Линейные алгоритмы, ветвление.Урок 2. Урок 2. Урок 3* Урок одной задачи – поиск НОД двух чисел.Урок 3* Урок одной задачи – поиск НОД двух чисел.Урок 3*Урок 3* Урок 4. Алгоритмическая структура «цикл».Урок 4. Алгоритмическая структура «цикл».Урок 4. Урок 4.

Урок 1 Алгоритм. Свойства алгоритма. © А.В. Атанова,

Повседневные задачи " Мы редко до конца понимаем, чего мы в действительности хотим" Франсуа де Ларошфуко 1. Приготовление завтрака 2. Решение квадратного уравнения 3. Определение рода существительного

Определение 1 Алгоритм – это предписание исполнителю выполнить последовательность команд, приводящую от исходных данных к искомому результату.Алгоритм – это предписание исполнителю выполнить последовательность команд, приводящую от исходных данных к искомому результату.

Первый алгоритм ЕВКЛИД (расцвет деятельности около 300 до н.э.), также Эвклид, древнегреческий математик, известный прежде всего как автор «Начал», самого знаменитого учебника в истории.ЕВКЛИД (расцвет деятельности около 300 до н.э.), также Эвклид, древнегреческий математик, известный прежде всего как автор «Начал», самого знаменитого учебника в истории.

Происхождение слова «алгоритм» В IX веке жил Ал-Хорезми сын зороастрийского жреца, прозванный за это ал-Маджуси (маг). Заведовал библиотекой «Дома мудрости», изучал индийские и греческие знания. В IX веке жил Ал-Хорезми сын зороастрийского жреца, прозванный за это ал-Маджуси (маг). Заведовал библиотекой «Дома мудрости», изучал индийские и греческие знания. Ал-Хорезми написал книгу Ал-Хорезми написал книгу «Об индийском счёте», способствовавшую популяризации позиционной системы во всём Халифате, вплоть до Испании. В XII веке эта книга переводится на латинский, от имени её автора происходит наше слово «алгоритм» «Об индийском счёте», способствовавшую популяризации позиционной системы во всём Халифате, вплоть до Испании. В XII веке эта книга переводится на латинский, от имени её автора происходит наше слово «алгоритм»

Верно ли, что… 1.Налить воду в чайник 2.Открыть кран газовой горелки 3.Поставить чайник на плиту 4.Ждать, пока вода не закипит 5.Поднести спичку к горелке 6.Зажечь спичку 7.Выключить газ

Верно, что… 1.Налить воду в чайник 2.Поставить чайник на плиту 3.Зажечь спичку 4.Открыть кран газовой горелки 5.Поднести спичку к горелке 6.Ждать, пока вода не закипит 7.Выключить газ

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

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

Задача 1 Старик должен переправить на лодке через реку волка, козу и капусту. Лодка может выдержать только старика и одного пассажира. В каком порядке старик перевезет пассажиров? Не забудь, что волк может съесть козу, а коза – капусту. Найди 2 варианта решения Старик должен переправить на лодке через реку волка, козу и капусту. Лодка может выдержать только старика и одного пассажира. В каком порядке старик перевезет пассажиров? Не забудь, что волк может съесть козу, а коза – капусту. Найди 2 варианта решения.

Решение Левый берег Способ действия Способ действия Правый берег Исходное состояние Старик, Волк, Коза, Капуста 1 шаг Волк, Капуста Старик, Коза Старик, Коза 2 шаг Волк, Капуста Старик СтарикКоза 3 шаг Капуста Старик, Волк Старик, ВолкКоза 4 шаг Капуста Старик, Коза Старик, КозаВолк 5 шаг Коза Старик, Капуста Старик, КапустаВолк 6 шаг Коза Старик Старик Волк, Капуста 7 шаг Старик, Коза Старик, Коза Волк, Капуста Результат Старик, Волк, Коза, Капуста

Исполнитель алгоритма Исполнитель алгоритма – это человек, животное или устройство способные выполнять определенный набор команд.Исполнитель алгоритма – это человек, животное или устройство способные выполнять определенный набор команд. Набор команд – СКИ (Система Команд Исполнителя).Набор команд – СКИ (Система Команд Исполнителя). Алгоритм составляют с ориентацией на определенного исполнителя:Алгоритм составляют с ориентацией на определенного исполнителя: …формального или неформального?

Задача 2 Выполните предложенные действия.Выполните предложенные действия. 1.Задумайте целое число от 1 до Прибавьте к нему 2. 3.Результат умножьте на 2. 4.К полученному произведению прибавьте 3. 5.От суммы отнимите задуманное число. 6.К разности прибавьте 5. 7.От суммы отнимите задуманное число. 8.Сообщите ответ. Ответ: 12; мы выступали в роли формального исполнителя

Задача 3 Какому исполнителю под силу решить такую задачу: «Отгадай пословицу, обойдя поле ходом шахматного коня»?Какому исполнителю под силу решить такую задачу: «Отгадай пословицу, обойдя поле ходом шахматного коня»? НА ЕШ ИЛ ГЬ ЁИ Т РК АУ Ответ: Не игла шьёт, а руки а руки A B C D E F G H Неформальный исполнитель

Задача 4* Имеется Исполнитель алгоритма, который может передвигаться по числовой оси. Система команд Исполнителя алгоритма: 1.«Вперед N» 2.«Назад M» Переменные N и M могут принимать любые целые положительные значения. Известно, что Исполнитель алгоритма выполнил программу из 50 команд, в которой команд «Назад 2» на 12 больше, чем команд «Вперед 3». Других команд в программе не было. Какой одной командой можно заменить эту программу, чтобы Исполнитель алгоритма оказался в той же точке, что и после выполнения программы?

Решение: 1. Найдем сколько было команд: пусть х – количество команд «Вперед», тогда х+(х+12)=50;х=19; 19+12=31 – количество команд «Назад» 2. Будем вести отсчет от начала числовой оси: 19*3=57 – после выполнения «Вперед 3» 19 раз; 31*2=62 – после выполнения «Назад 2» 31 раз; 57-62=-5 – оказался на отметке Все эти команды можно заменить одной – «Назад 5»

Задача 5** Леонардо Пизанский, известный, как Фибоначчи, был первым из великих математиков Европы позднего Средневековья. Числовой ряд, который назван его именем, получился в результате решения задачи о кроликах, которую Фибоначчи изложил в своей «Книге Абака»(1202 год). Леонардо Пизанский, известный, как Фибоначчи, был первым из великих математиков Европы позднего Средневековья. Числовой ряд, который назван его именем, получился в результате решения задачи о кроликах, которую Фибоначчи изложил в своей «Книге Абака»(1202 год). Он выглядит так: 1,1,2,3,5,8,13,21,34,55,89,144… Он выглядит так: 1,1,2,3,5,8,13,21,34,55,89,144… В этом ряду каждое следующее число, начиная с третьего, равно сумме двух предыдущих. Составьте словесный алгоритм проверки принадлежности введенного числа n ряду Фибоначчи.

Решение: 1. Ввести число N. 2. Установить значение первых трех чисел Фибоначчи: 1,1,2. 3. Пока введенное число N больше очередного числа Фибоначчи, взять два последних числа Фибоначчи и получить из них новое число Фибоначчи. 3. Если число Фибоначчи равно введенному N или было введено число N=1, значит, что было введено число Фибоначчи, в противном случае – введенное число не является числом Фибоначчи.

Способы записи алгоритмов Словесный – на естественном языке;Словесный – на естественном языке; На языке блок – схем;На языке блок – схем; На языке программирования.На языке программирования. Блок-схема – это графическое изображение алгоритма в виде определенным образом связанных между собой нескольких типов блоков. Язык программирования формальная знаковая система, предназначенная для записи компьютерных программ.

Урок 2 Блок- схемы алгоритмов. © А.В. Атанова,

Основные элементы блок-схемы Элемент блок-схемыНазначение элемента Обозначение начала и конца алгоритма Описание ввода или вывода данных, имеет один вход - сверху и один выход - снизу. Описание линейной последовательности команд, имеет один вход – сверху и один выход – снизу. Обозначение условий в структурах «ветвление» и «выбор», имеет один вход – сверху и два выхода – налево, направо Применяется для объявления переменных или ввода комментариев Начало Данные Последовательность команд Условие ДаНет Объявление переменных

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

Задача 1 Зная длины трех сторон треугольника, вычислить площадь и периметр треугольника. Решение: Входные данные: a, b, c.Входные данные: a, b, c. Выходные данные: S, P.Выходные данные: S, P. Решение по формуле ГеронаРешение по формуле Герона Внимание!!! В знак "=" означает не математическое равенство, а операцию присваивания. Переменной, стоящей слева от оператора, присваивается значение, указанное справа. Причем это значение может быть уже определено или его необходимо вычислить с помощью выражения.

Задача 2 Придумайте текст задачи, воспользовавшись предложенным алгоритмом, назовите входные и выходные данные:Придумайте текст задачи, воспользовавшись предложенным алгоритмом, назовите входные и выходные данные: Решение: Известны плотность и геометрические размеры цилиндрического слитка, полученного в металлургической лаборатории. Найти объем, массу и площадь основания слитка. Входные данные: R - радиус основания цилиндра, h - высота цилиндра, ρ- плотность материала слитка. Выходные данные: m - масса слитка, V - объем, S - площадь основания.

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

Задача 3 Кровяное давление у старшеклассников считается нормальным, если верхняя его граница H100, а нижняя h60 и H-h30.Кровяное давление у старшеклассников считается нормальным, если верхняя его граница H100, а нижняя h60 и H-h30. Составьте алгоритм, который в зависимости от измеренных значений H и h выдает одно из следующих значений: «нормальное», «повышенное», «пониженное».Воспользуйтесьшаблоном. Начало H, h H100 Нет повышенное Да h60 пониженное H-h30 не норманормальное Результат Конец

Задача 4 Заполните шаблон блок- схемы алгоритма исследования квадратного уравнения ax²+bx+c=0 (a0)Заполните шаблон блок- схемы алгоритма исследования квадратного уравнения ax²+bx+c=0 (a0)Начало a, b, c D=b²-4*a*c D

Задача 5 Какое значение получит переменная Z в результате выполнения следующего алгоритма?Какое значение получит переменная Z в результате выполнения следующего алгоритма?Начало X,Y Z:=0 X>0 Y>0 Z:=1 Z:=2 Z Конец А) Х=1, Y=1 Б) X=1, Y=-1 В) X=-1, Y=1 Z=1 Z=2 Z=0 Нет Нет Да Да

Урок 3 Урок одной задачи. Поиск НОД двух чисел.* © А.В. Атанова,

Первый алгоритм Как-то раз древнегреческого геометра Евклида спросили: - Что бы ты предпочел - два целых яблока или четыре половинки? - Конечно, четыре половинки. - А почему? Это ведь одно и то же. - Отнюдь. Выбирая два целых яблока, как я узнаю, червивые они или нет? Алгоритм Евклида – это алгоритм нахождения НОД двух целых положительных чисел

Методы решения: 1. Разложение на простые сомножители; 2. Алгоритм Евклида; 3. Целочисленное деление. Существуют различные методы нахождения НОД двух натуральных чисел:

Разложение на простые множители Порядок действий: 1. Разложить число m на простые множители. 2. Разложить число n на простые множители. 3. Выбрать все одинаковые множители чисел m и n. 4. Перемножить выбранные множители – полученное значение и будет НОД (m;n). НОД (5390; 2310) = = 2*5*7*11=770;

Рекурсивный метод – алгоритм Евклида В соответствии с этим методом НОД(m,n) вычисляется по следующему правилу: НОД(m,n) = НОД(m-n,n), если m>n, НОД(m,n-m), если n>m, m, если m=n. т.е. если d является НОД(m,n), то это же число d будет являться НОД меньшего числа из этой пары и их разности.

Блок схема алгоритма 1.Ввести натуральные M и N. 2.Если MN, то перейти к шагу 3, иначе перейти к шагу 8. 3.Если M>N, то перейти к шагу 4, иначе перейти к шагу Вычислить M=M-N. 5.Перейти к шагу 2. 6.Вычислить N=N-M. 7.Перейти к шагу 2. 8.Сообщить M. Применим алгоритм для нахождения НОД(238,544) =НОД(238, 306) = =НОД(238,68) =НОД(170,68)=НОД(102,68)=НОД(34,68)=НОД(34,34) = 34 M=238N=544

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

Алгоритм 1. Ввод натуральных чисел M, N. 2. Найдем R – остаток от деления M нацело на N. 3. Если R=0, то перейдем к шагу 6, иначе перейти к шагу Положим M:=N; N:=R. 5. Перейти к шагу Сообщить значение N. Ввод M,N Вычислить R – остаток от деления M на N R=0 M:= N N:= R Вывод N M=238N=544

Пошаговое исполнение алгоритма M:=238 N:=544M:=238 N:=544 [238/544]=0 (ост. 238), заменяем: M:=544, N:=238[238/544]=0 (ост. 238), заменяем: M:=544, N:=238 [544/238]=2 (ост. 68), заменяем: M:=238, N:=68[544/238]=2 (ост. 68), заменяем: M:=238, N:=68 [238/68]=3 (ост. 34), заменяем: M:=68, N:=34[238/68]=3 (ост. 34), заменяем: M:=68, N:=34 [68/34]=2 (ост. 0), закончили процесс деления.[68/34]=2 (ост. 0), закончили процесс деления. НОД(238, 544)=34НОД(238, 544)=34

Сравним количество операций ОперацииМетод 2Метод 3 Операции замены06 Операции сложения/вычитания60 Операции умножения/деления04 Операции сравнения134 ОперацииМетод 2Метод 3 Операции замены02 Операции сложения/вычитания Операции умножения/деления01 Операции сравнения M=238,N=544 Почти одинаковое количество операций? M=32000, N=2

Задание по группам: По словесным описаниям методов поиска наибольшего из трех чисел постройте их блок-схемы и напишите пошаговый алгоритм. Метод 1:Метод 1: Даны три числа. Находим наибольшее из первых двух чисел, а затем сравниваем его с третьим числом. Метод 2:Метод 2: Определяем, является ли первое число наибольшим; если нет, то находим наибольшее из второго и третьего чисел. Метод 3:Метод 3: Попарно сравниваем все три числа, чтобы найти наибольшее.

Урок 4 Алгоритмическая структура «цикл» © А.В. Атанова,

Алгоритмические структуры Какие алгоритмические структуры изображены на рисунках? Вставьте пропущенные слова: 2. Алгоритм, в котором команды выполняются последовательно друг за другом, называется… 1. Алгоритм – это последовательность… 3. Алгоритмическая структура выполняющая выбор при истинности или ложности условия называется …

Задачи ГИА 1. Какая алгоритмическая структура используется А.С. Пушкиным в следующих отрывках из его произведений? «Приходите в половине двенадцатого. Ступайте прямо на лестницу. Коли вы найдете кого в передней, то спросите, дома ли графиня. Вам скажут нет, - делать нечего. Вы должны будете воротиться. Но, вероятно, вы не встретите никого… Из передней ступайте налево, идите все прямо до графининой спальни. В спальне за ширмами увидите две двери: справа в кабинет;… слева в коридор, и тут же узенькая витая лестница, она ведет в мою комнату.»

Задачи ГИА 2. На рисунке представлена блок-схема алгоритма. Какое значение будет иметь переменная Х после выполнения алгоритма при начальном значении переменных Y=5, Z=-3; Y=3, Z= 4. Начало Ввод Y,Z Y

Игра «Ежиные тропы»

Задачи ГИА 3. К какому результату приведет исполнение представленного в виде блок-схемы алгоритма? Начало I:=0 I

Алгоритмическая структура «цикл» В алгоритмической структуре «цикл» серия команд (тело цикла) выполняется многократно. Циклические алгоритмические структуры бывают двух типов: 1.Цикл со счетчиком, в котором тело цикла выполняется определенное количество раз; 2.Цикл с условием, в котором тело цикла выполняется пока истинно условие. Такая последовательность команд называется «телом цикла».

Задачи ГИА 3. Какая алгоритмическая структура используется А.С. Пушкиным в следующих отрывках из его произведений? «Жил старик со своею старухой У самого синего моря; … Вот пошел он к синему морю; Видит, море слегка разыгралось. Стал он кликать золотую рыбку, Приплыла к нему рыбка и спросила: «Чего тебе надобно, старче?» … Вот пошел он к синему морю, (Помутилося синее море.) Стал он кликать золотую рыбку, Приплыла к нему рыбка, спросила: «Чего тебе надобно, старче?»

Самостоятельная работа Определите значение переменных X и Y после выполнения фрагмента алгоритма. I вариантII вариант Х=13; Y=20Х=30; Y=20

Игра «Циклические ёжики»