|
Основные элементы схем алгоритма
Запись на алгоритмическом языке Алгоритмический язык – это совокупность определенных знаков, слов, правил, устанавливающих, как с помощью этих знаков описывать алгоритм. Запись алгоритма на алгоритмическом языке состоит из заголовка и собственно алгоритма (то есть последовательности команд). В простейшем случае алгоритм на алгоритмическом языке записывается так: алг имя алгоритма арг список аргументов (исходные данные) описательная часть рез список результатов (цель выполнения алгоритма) нач начало алгоритма последовательность команд тело алгоритма кон конец алгоритма Слова алг, арг, рез, нач, кон называются служебными словами и предназначены для оформления алгоритма. Существуют и другие служебные слова, которые будут рассмотрены далее. Алгоритм, записанный на алгоритмическом языке, оформляется в соответствии с приведенными ниже правилами. 1. Служебные слова алг, нач и кон пишутся строго одно под другим. 2. Алгоритм должен иметь название. Имя (название) выбирается так, чтобы было понятно, решение какой задачи описывает алгоритм. 3. В строке арг перечисляются имена (названия) всех исходных данных. 4. В строке рез перечисляются имена (названия) тех неизвестных, которые должны быть найдены с помощью этого алгоритма. 5. Команды алгоритма записываются последовательно, одна за другой. 6. Если одна команда не вмещается на одной строке, ее можно перенести на другую строку. 7. Допускается запись нескольких команд на одной строке. В этом случае команды разделяются между собой знаком «точка с запятой» – «;». Часть алгоритма от строки нач до строки кон называется телом алгоритма, которое представляет собой команды алгоритма. Тело показывает процесс достижения цели алгоритма. Алгоритмические структуры Любой алгоритм может быть реализован в виде комбинации трех базовых алгоритмических конструкций: линейной, ветвления, циклической. В зависимости от последовательности выполнения действий в алгоритме выделяют алгоритмы линейной, разветвленной и циклической структуры. 1. Линейным называется алгоритм, в котором все этапы решения задачи выполняются строго последовательно, без пропусков и повторений. Такую алгоритмическую структуру иногда называют «следование». 2. Ветвлением называется такая алгоритмическая структура, в которой, в зависимости от истинности условия, выбирается только одно из возможных направлений выполнения алгоритма. 3. Цикл предусматривает многократное повторение действий. Циклическим алгоритмом называют алгоритм, в котором набор некоторых действий должен неоднократно выполняться. Циклические алгоритмы по способу организации выхода из цикла можно разделить на два типа – арифметические (циклы со счетчиком) и итерационные (циклы с условием). Количество повторений в первых (циклы со счетчиком) заранее известно или может быть легко вычислено. Количество повторений во вторых (циклы с условием) – заранее неизвестно. Выход из таких циклов осуществляется в зависимости от истинности условия, которое определяет дальнейшую работу цикла: будет ли он выполняться еще раз или будет завершен. Для успешного завершения цикла среди действий внутри цикла должны производиться операции, влияющие на условие. Иначе цикл может стать бесконечным, что приведет к ошибке. Все алгоритмические конструкции имеют общее свойство: один вход и один выход. Линейные алгоритмы Понятие линейного алгоритма Определение: Линейным называется алгоритм, в котором все этапы решения задачи выполняются строго последовательно, без пропусков и повторений. Задача 1. Вычислить площадь прямоугольника S. Известно, что его ширина равна а, а длина в 2 раза больше ширины. Решение. 1. Анализ условия задачи. Площадь можно найти, перемножив длины сторон. Длина одной стороны известна – ширина а, задаваемая пользователем. Вторую сторону легко найти, зная, что она в 2 раза больше ширины. Итак, проанализировав условие задачи, делаем вывод, что исходными данными (аргументом), является ширина а прямоугольника, а выходными данными являются длина (вторая сторона) и площадь. Причем вторая сторона – назовем ее b – это промежуточный результат, а площадь – назовем ее S – это искомый результат. Все эти три объекта являются переменными, поскольку их значения станут известны в процессе выполнения алгоритма: первое будет задано пользователем, а два других будут получены в результате вычислений. Необходимо учесть, что все три переменные это вещественные числа. 2. Составим математическую модель решения нашей задачи. Запишем условие в виде одного предложения – найти площадь прямоугольника. Наша задача может быть разбита на три основных этапа: ввод исходных данных, этап вычислений и вывод результатов. На первом этапе задается ширина а, на последнем этапе выводится результат – значение площади S. Этап вычислений детализируем. Сначала вычисляется длина второй стороны – это первая под задача. Затем, перемножив длины обеих сторон, получим значение площади – искомый результат – это вторая под задача. Таким образом, решение данной задачи состоит из двух действий. Используя введенные обозначения, запишем их: 3. Учитывая все выше сказанное, составим блок-схему алгоритма нашей задачи. Она будет выглядеть как на рисунке. 4. Запишем алгоритм на алгоритмическом языке.
Алгоритм ветвления (условный алгоритм) Определение: Алгоритмом ветвления (условным алгоритмом) называется такая алгоритмическая структура, в которой, в зависимости от истинности некоторого выражения (условия), производится выбор одного из двух направлений выполнения алгоритма, называемых ветвями. На языке блок-схем ветвление может изображаться в виде как на рисунке:
Задача 3. Даны два числа А и В. Найти наибольшее из них. 1. Анализируем условие.Что дано в задаче? а) Первое число А. Это переменная, ее задает пользователь в начале алгоритма. б) Второе число В. Тоже переменная определяется в начале алгоритма. Что является результатом в этой задаче? Максимальное из этих двух заданных чисел. Обозначим эту переменную через Max. Все эти переменные относятся к классу действительных чисел. 2. Математическая модель. Запишем условие в виде одного предложения – найти максимальное из двух заданных чисел. Что необходимо сделать для этого? Для этого надо сравнить их и выбрать наибольшее из них следующим образом: если первое число больше второго, то максимальное – это первое число, если второе число больше первого, то максимальное – это второе число. Заметим, что эти две ситуации взаимно противоположные: либо первое число больше, либо второе. Поэтому условно можно считать, что один случай соответствует слову «да», тогда другой случай соответствует слову «нет». Может быть еще случай, когда эти числа равны между собой. Тогда оба они равны максимальному значению. Итак, алгоритм решения задачи состоит из этапа ввода чисел, этапа сравнения этих чисел и, наконец, этапа вывода максимального числа. Этап сравнения этих чисел описывается так, как было сказано выше, если A больше, чем B, то Мах равен A, в другом случае (если B больше, чем A) Мах равен B. Запишем «русские слова» на математическом языке – языком формул:
Если A>B, то Мах=А, иначе Мах=В. 3. Блок-схема алгоритма нашей задачи будет выглядеть как на рисунке 3. 4. Запишем алгоритм на алгоритмическом языке.
Задача 4. Алгоритм нахождения суммы чисел Давайте определим, как найти сумму чисел? Надо взять первые два числа и сложить их, потом к полученной сумме прибавить следующее число и так далее пока не сложим все числа. Заметим, что всегда повторяется одно и то же действие: к старой сумме прибавляется следующее число. Только самое первое действие немного отличается. Мы складываем два числа. Было бы хорошо, если бы все действия были бы одинаковыми, тогда задачу можно было бы решить с помощью цикла. Этого можно добиться, если задать начальную сумму, равной нулю. (Символично это будет первое число, и оно не изменит значение суммы). А затем к ней прибавим первое число, к полученной сумме второе и так далее. Мы получили алгоритм нахождения суммы чисел. Этот алгоритм можно использовать во многих задача х. Его необходимо понять и запомнить. Обозначим сумму S, а число. Тогда алгоритм нахождения суммы 5 чисел будет иметь следующий вид: 1) Параметр цикла: счетчик, который считает, сколько чисел уже введено и прибавлено к сумме. Пусть его имя будет I. 2) Начальное значение параметра цикла равно 1, конечное значение параметра цикла равно 5. 3) Повторяющиеся действия:
Надо иметь ввиду, что начальное значение суммы S:= 0. 1. Анализируем условие.Что дано в задаче? – числа X. Это переменная вещественного типа. Что является результатом в этой задаче? – Сумма S, которая тоже является переменной вещественного типа. Есть еще промежуточный результат. Это счетчик I – переменная целого типа. Так как есть действия, которые повторяются известное количество раз, то для решения задачи необходимо использовать цикл со счетчиком (цикл типа «ДЛЯ»). 2. Математическая модель. Здесь опишем формальную схему работы цикла со счетчиком 1. S:= 0 2. (действия цикла) 2.1. Параметр цикла – переменная I. 2.2. Начальное значение I равно 1, конечное значение I равно 5. 2.3. Повторяющиеся действия: Ввод X S:= S + X 3. После завершения работы цикла: Вывод S 3. Блок-схема алгоритма нашей задачи будет выглядеть как на рисунке 4. 4. Запишем алгоритм на алгоритмическом языке.
ПРИНЦИП ПОСТРОЕНИЯ ЭВМ Система охраняемых территорий в США Изучение особо охраняемых природных территорий(ООПТ) США представляет особый интерес по многим причинам... Живите по правилу: МАЛО ЛИ ЧТО НА СВЕТЕ СУЩЕСТВУЕТ? Я неслучайно подчеркиваю, что место в голове ограничено, а информации вокруг много, и что ваше право... Что делать, если нет взаимности? А теперь спустимся с небес на землю. Приземлились? Продолжаем разговор... Что способствует осуществлению желаний? Стопроцентная, непоколебимая уверенность в своем... Не нашли то, что искали? Воспользуйтесь поиском гугл на сайте:
|