Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
_Лекция-5-Т3.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
205.82 Кб
Скачать

3.2. Алгоритм и его свойства.

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

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

Пример .

Пусть имеется последовательность из N чисел (например результаты измерения средней дневной температуры за определенный период). Надо подсчитать сколько отрицательных чисел в этой последовательности. Число ноль будем считать положительным.

Можно использовать следующий способ.

Последовательно просматриваем числа, начиная с первого и когда очередное число < 0 прибавляем к счетчику отрицательных чисел единицу.

Это идея алгоритма, ее надо уточнить и представить в виде последовательности шагов.

Во-первых счет начинаем с нуля, поэтому счетчик (KN) надо сначала установить на ноль.

Во-вторых надо просматривать N чисел, поэтому нужен счетчик чисел (М), причем этот счетчик надо установить на 1 (М = 1), а при переходе к следующему числу этот счетчик надо увеличивать на 1.

В-третьих последовательность может быть пустой (N = 0), поэтому надо сначала надо сравнивать М с N и проверять очередное число если М <= N.

Алгоритм.

1. Записать в KN ноль, в М 1 .

2. Проверить, если M <= N , то идти к шагу 3, иначе идти к шагу 6.

3. Проверить, если число < 0, то увеличить счетчик KN на 1.

4. Увеличить счетчик М на единицу.

5. Перейти к шагу 2.

6. Взять число находящееся в счетчике KN в качестве результата. Стоп.

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

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

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

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

3.2.2. Требования к алгоритму

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

Требования:

1. Алгоритм должен правильно решать задачу.

2. Затраты времени и усилий на разработку алгоритма и отладку программы должны быть минимальными.

3. Затраты времени на выполнение алгоритма и требуемый объем памяти должны быть минимальными.

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

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

Существует несколько способов изображения алгоритмов: словесная формулировка алгоритма; запись на псевдокоде; представление алгоритма в виде свокупности геометрических фигур (схема алгоритма). С первой формой мы уже познакомились при рассмотрении примера. В этом случае алгоритм записывается в виде отдельных инструкций в той последовательности, в какой они должны выполняться в процессе решения задачи. Это простая и понятная форма, однако по мере роста сложности алгоритма наглядность ее резко падает.

Рис.3.5.1.

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

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

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

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

-каждый блок имеет только один вход, входить в блок можно только сверху, а выход вниз;

- если линия направлена сверху вниз или слева направо, то стрелку можно не ставить.

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

Пример укрупненной схемы алгоритма приведен на рис.3.5.1.

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

Набор фигур и правила составления схем алгоритмов определяют ГОСТы. Наиболее часто используетсяследующий набор блоков.

Рис.3.5.2

  1. Блоки "Пуск" и "Останов" (рис.3.5.2). В блоке "Пуск" записывается слово "начало", этот блок располагается в самом начале алгоритма. Блок "останов" является последним блоком алгоритма, в нем записывается слово "конец".

а) б)

Рис.3.5.3

2 Блок "Процесс" (рис.3.5.3) предназначен для оформления операторов присваивания. В этом блоке записывается один или несколько операторов присваивания (рис.3.5.3б).

Рис.3.5.4 Рис.3.5.5

3. Блок "Ввод – вывод" (рис.3.5.4) предназначен для указания операций ввода и вывода данных. При организации ввода данных в этом блоке записывается слово "ввод" и далее список имен вводимых данных. Пример оформления блока ввода приведен на рис. 3.5.5.

Аналогично при организации вывода данных в параллелограме записывается слово "вывод" и список имен переменных, значения которых надо вывести на внешний носитель информации.

Пример оформления блока вывода приведен на рис.3.5.6

Рис.3.5.6

4.Решение . С помощью этого блока осуществляется разветвление по двум путям (рис.3.5.7).

Рис.3.5.7 Рис.3.5.8

Этот блок имеет один вход и два выхода. В самом блоке записывается условное выражение. Результат вычисления этого выражения логического типа. Если результат имеет значение "Истина", то процесс продолжается по пути "Да", иначе выполняются операторы по пути "Нет". Пример оформления такого блоке приведен на рис.3.5.8.

5. Предопределенный процесс. Этот блок предназначен для обращения к подпрограмме процедуре (рис.3.5.10). В блоке записывается имя процедуры и список фактических параметров (рис.3.5.11).

Рис.3.5.10 Рис.3.5.11

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

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

Пример. Пусть необходимо составить схему алгоритма вычисления функции

В данной задаче входными данными являются значения Выходные данные – значение . Из математической формулировки задачи следует, что сначала надо вычислить значение z, затем проверить (для этого нам понадобится ромбик) х и вычислить У по той или иной формуле. В результате получим схему алгоритма приведенную на рис.3.5.12.

Рис.3.5.12.

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