Смекни!
smekni.com

Электронное портфолио учителя информатики, ориентированное на тему "Алгоритмизация" в базовом курсе информатики (стр. 6 из 8)

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

Собираясь сшить платье, вы сначала постараетесь найти в модном журнале выкройку и описание к ней.

Каждый шофер должен знать правила дорожного движения.

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

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

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

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

Рассмотрим, например, порядок вычисления на калькуляторе значения выражения:

(255 + 378) * 56

(670 - 235) * 33

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

Выполнить сложение чисел 255 и 378 и получить значение, которое назовем Результат1.

Выполнить умножение величины Результат1 на число 56. Полученное число Результат2 записать.

Вычесть из числа 670 число 235 и получить значение Результат З.

Выполнить умножение величины Результат З на число 33. Полученное число Результат4 записать.

Выполнить деление числа Результат2 на значение Результат4. Число, появившееся на индикаторе, и есть искомое значение.

Свойства алгоритма.

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

Обычно мы выполняем привычные действия не задумываясь, механически. Например, вы хорошо знаете, как открывать дверь ключом. Однако, чтобы научить этому малыша, придется четко разъяснить и сами действия, и порядок их выполнения:

1. Достать ключ из кармана.

2. Вставить ключ в замочную скважину.

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

4. Вынуть ключ.

Представьте себе, что вас пригласили в гости и подробно объяснили, как добраться:

1. Выйти из дома.

2. Повернуть направо.

3. Пройти два квартала до остановки.

4. Сесть в автобус № 5, идущий к центру города.

5. Проехать три остановки.

6. Выйти из автобуса.

7. Найти по указаному адресу дом.

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

Рассмотрим их.

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

Детерминированность (от лат. determinate - определенность, точность). Это свойство указывает, что любое действие алгоритма должно быть строго и недвусмысленно определено в каждом случае. Например, если к остановке подходят автобусы разных маршрутов, то в алгоритме должен быть указан конкретный номер маршрута - 5. Кроме того, необходимо указать точное количество остановок, которое надо проехать, - скажем, три.

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

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

Отрезать ломтик хлеба.

Намазать его маслом.

Отрезать кусок любого другого пищевого продукта (колбасы, сыра, мяса).

4. Наложить отрезанный кусок на ломоть хлеба.

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

Из числа А вычесть число В.

Если получилось отрицательное значение, то сообщить, что число В больше.

Если получилось положительное значение, то сообщить, что число А больше.

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

Из числа А вычесть число В.

Если получилось отрицательное значение, то сообщить, что число В больше.

Если получилось положительное значение, то сообщить, что число А больше.

Если получился ноль, то сообщить, что числа равны.


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

IV. Подведение итогов урока

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

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

V. Домашнее задание

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

Урок на тему "Типовые конструкции алгоритма"

Цели урока:

Образовательная - систематизировать знания учащихся по теме "Алгоритмизация";

Развивающая - развивать логическое мышление у учащихся;

Воспитательная - воспитывать аккуратность, самостоятельность и культуру самостоятельной подготовки.

I. Организационный момент

Проверка готовности.

II. Сообщение темы и цели урока

- Тема сегодняшнего урока называется "типовые конструкции алгоритма".

III. Практическая часть урока

Линейный алгоритм.

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

Знакомство с типовыми конструкциями начнем с линейного алгоритма.

Предположим, требуется составить алгоритм вычисления результата выражения:

100 + 15-40 + 20

1. Сложить числа 100 и 15.

2. Из полученной суммы вычесть 40.

3. К результату прибавить 20.

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

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

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

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

Циклический алгоритм.

Многие процессы в окружающем мире основаны на многократном повторении одной и той же последовательности действий. Каждый год наступают весна, лето, осень и зима.

Жизнь растений в течение

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

Допустим, робот обучен красить забор. Он последовательно закрашивает доску за доской.

Для робота составлен следующий алгоритм:

1. Покрасить доску.

Переместиться к следующей доске.

Перейти к действию 1.

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

Покрасить доску.

Если есть еще доска, переместиться к следующей; перейти к действию 1.

Если доски закончились, завершить работу.

Особенно часто появляются повторяющиеся действия при вычислениях. Так действие умножения выполняется как заданное количество повторений действия сложения. Например, результат умножения 60 = 20x3 равноценен результату выполнения трехкратного сложения одного и того же числа 60 = 20+20+20.

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

Выбрать первое четное двузначное число (10) и записать его.

Определить начальную сумму всех двузначных чисел равной 10.

Повторить п раз следующую операцию:

К предыдущему четному двузначному числу прибавить 2 и записать результат.

К предыдущей сумме двузначных чисел прибавить число, получившееся на шаге 3.1

Замечание.

В рассмотренном примере действия, пронумерованные как 3.1 и 3.2, должны повторяться 44 раза. Алгоритм, который содержит описание повторяющихся действий, принято называть циклическим.

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

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

1. Записать двузначное число.