Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
_МЕТ№1.DOC
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
180.74 Кб
Скачать

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

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

Пример – решение систем линейных уравнений методом Гаусса, вычисление определенного интеграла методом трапеций.

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

1) определенность (точность предписаний и однозначность результата);

2) массовость (ориентирован на класс задач: система произвольного количества уравнений, данные любые);

3) дискретность (деление процесса решения на этапы, понятные человеку и ЭВМ);

4) результативность (результат должен быть обязательно - даже если его нет, должно быть сообщение об этом).

Способы описания алгоритмов:

1) словесный (выполнение математических операций в столбик, и т.д.);

2) математический (в виде формул);

3) графический (схемы алгоритмов);

4) на языке программирования.

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

1) особенности задачи, математические методы ее решения;

2) возможности языка программирования и его основные конструкции:

- ввод-вывод данных и вычисление по формулам;

- принятие решения ( в зависимости от некоторого условия);

- повторение некоторых команд ( групп команд);

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

Пример. Алгоритм определения всех множителей нескольких целых чисел.

Множитель – это число, на которое нацело делится исходное число. Последовательность чисел вводится с дисплея в ЭВМ, в конце ее вводится признак конца последовательности (например, "0" или отрицательное число).

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

План 1

1. Ввести в ЭВМ первое число.

2. Пока нет признака конца обработать число и прочитать следующее число.

3. Выдать сообщение, что программа закончила свою работу.

Этот план в таком виде правилен.

Пункты 1 и 3 - очевидные и просто реализуются. Пункт 2 надо уточнить - как обработать число. Число может быть:

1) простое;

2) составное.

Если простое, то множитель один – оно само. Если составное, то оно должно делиться на множитель без остатка. Значения множителя могут быть любые в пределах от 2 до ]число/2[ - целое.

Уточняем п.2:

2.1. Предположить, что число - простое.

2.2. Изменять множитель от 2 до ]число/2[ и выполнять:

если число делится на множитель, то

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

2.3. Если число простое, то

выдать сообщение "Простое число".

2.4. Прочитать следующее число.

Чтобы убедиться, что пункт 2 выполняется верно, проверим его вручную.

Пусть число равно 12

Множители должны быть: 2, 3, 4 и 6.

Проверяя работу пунктов 2.1 - 2.4, получаем пары:

2 и 6 3 и 4 4 и 3 6 и 2

Теперь план, в котором описаны пункты 1, 2.1 - 2.4 и 3 может быть запрограммирован. Он содержит только типовые конструкции. Программу составим позднее.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]