Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
курс лекций программирование.doc
Скачиваний:
62
Добавлен:
31.08.2019
Размер:
5.03 Mб
Скачать

Раздел 1. Основы программирования

Тема 1.1 Понятие алгоритма

Тип лекции: вводная

План:

  1. Понятие алгоритма. Свойства алгоритма

  2. Алгоритмический язык

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

- Эволюция языков программирования. Классификация алгоритмических языков. Их использование. Языков высокого и низкого уровня.

  1. Понятие алгоритма. Свойства алгоритма

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

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

Слово алгоритм появилось еще в 9в. Когда на латинский язык переводились труды великого восточного ученого Мухаммеда Аль Хорезми (рис.1).

О н занимался математикой и первым написал четкие, краткие указания, следуя которым можно было решить уравнения первой и второй степени. На латынь имя Аль Хорезми перевели как Алгоритм. И учителя, обучая решению уравнений первой и второй степени, говорили: «Следуйте указаниям алгоритма», а потом просто: «Следуйте алгоритму».

А

Рисунок 1 - Мухаммед Аль

Хорезми

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

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

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

Исполнитель алгоритма – это объект или субъект, для которого составлен алгоритм.

СКИ (система команд исполнителя)- эта вся совокупность команд, которые исполнитель умеет выполнять.

Пример: Исполнитель чертежник имеет свою систему команд: вперед (1 см), направо (90 градусов по часовой стрелке). Результатом исполнения следующего алгоритма будет рисунок (рис. 2).

Рисунок 2 – Алгоритм выполнения чертежа

Вперед (1 см), направо 90, вперед (1 см),

направо 90, направо 90, направо 90,

вперед (1 см), направо 90, вперед (1 см)

Возникает вопрос: любая ли последовательность действий (или инструкция) является алгоритмом?

Конечно, нет. Не всякая инструкция алгоритм, а только та, которая обладает определенными свойствами.

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

  1. Понятность – алгоритм составлен только из команд, входящих в состав СКИ.

  2. Точность – каждая команда алгоритма определяет однозначное действие исполнителя.

  3. Дискретность - алгоритм состоит из ряда шагов, последовательность операций определена, новая операция выполняется только после завершения предыдущей.

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

  5. Эффективность – возможность получения результата при минимальном числе операций.

  6. Результативность - алгоритм должен приводить к решению поставленной задачи за конечное число шагов

Привести примеры алгоритмов, не удовлетворяющих свойствам.

  1. Исполнитель: робот;

СКИ: вперед, вправо, влево, назад;

Алгоритм «перехода к заданному месту»:

Вправо; Вперед; Влево; Вверх; Вправо.

Рисунок 3 - Алгоритм «перехода к заданному месту»

Данный алгоритм не удовлетворяет свойству понятности, так как в СКИ нет команды Вверх.

2. Алгоритм «взятия ручки с синей пастой с парты»

Зайти в класс;

Подойти к парте;

Взять ручку с синей пастой.

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

3. Алгоритм нахождения суммы двух чисел.

Прибавить 2+3; Результат вывести на экран.

Данный алгоритм не удовлетворяет свойству массовости.

4. Алгоритм вывода на печать квадратов натуральных чисел от 1 до 15.

Задать х значение 1;

Пока х меньше 15 выводить на экран х2;

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

5. Алгоритм просмотра телевизора;

Просмотр телепередачи

Выключить телевизор

Выбрать нужную программу

Включить телевизор

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

6. Алгоритм решения задачи «Конюх»

1

2

3

А

Б

Б

Б

Б

С

Ч

Ч

Ч

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

Алгоритм является основным фундаментальным понятием информатики.

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

Вычислительные алгоритмы, как правило, работают со сравнительно простыми типами данных (числа, матрицы), но сам процесс вычисления может быть долгим и сложным.

Информационные алгоритмы представляют собой набор сравнительно простых процедур (поиск, замена) но работают с большими объемами информации (базы данных).

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