Смекни!
smekni.com

Организация и методика производственного обучения (стр. 26 из 40)

Нередко возникает необходимость применения уже имеющихся (разработаных кем-то) алгоритмов. В этом случае можно использовать блок «предопределѐнный процесс». Если же часть алгоритма подлежит уточнению (детальной проработке) вдальнейшем, то в блок – схеме это часть езображается спомощью блока «детализированная программа». При большей насыщенности блок - схем блока допускается прерывать стралки, затем продолжать их внужном мете (т.е. как бы удалять часть стрелки, пресекающую блок – схему). В этом случае начало и конец удалѐных участков обозначаются соеденителями, в нутри которых записываются (для каждой стрелке) одни и теже обозначения: буква, буква и цыфра или цифра. Помино этих блоков допустимо использование некоторых других, однако перечиленых выше в полне достаточно для разроботке учебных блок- схем.

Пример записи алгоритмов Евклидом. Запись алгоритма на языке программирования. Эта запись представляет собой форму изображение алгоритма в том случае, когда исполнителем алгоритма является компьютер. Языки програмирования имеют более жѐсткие правила, чем, например, правила описания алгоритма на естественом языке, т.к. их должна «понимать » машина. Однако лишнее сложности записи алгоритма на таких языках окупаются возможностью их автоматического «прочтения» и исполнения.

Программа 4.1 запись алгоритма Евклида на языке Бейсик

INPUT Введите число А и В ; А, В

15 REM ввод чисел А и В

20 IF А=В THEN 80

25 REM проверка равенства чисел А и В 30 IF А> В THEN 60

35 REM больше ли А, чем В? 40 В=В-А 45 REM уменьшение числа В

50 GOTO 20

55 REM переход на проверку условия равенства А и В

60 А=А-В 65 REM уменьшение числа А

70 GOTO 20

75 REM переход на проверку условия равенства А и В

80 NOD=А

85 REM присвоение значения переменная NOD

90 PRINT «NOD=»: NOD

95 REM вывод значения NOD 100 END

105 REM конец вычислений

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

КОНТРОЛЬНЫЕ ВОПРОСЫ:

1. Что называется алгоритмом?

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

3. Назовите формы представления алгоритмов?

Тема 4.10 Типовые алгоритмы обработки информации

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

Ниже рассматриваются некоторые типовые алгоритмы обработки информации.

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

Пример 1. На нижележащем рисунке приведена блок-схема алгоритма определения площади треугольника по длинам его основания и опущенной на него высоты.

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

Задачи данного класса в чистом виде встречаются очень редко. Как правило, линейные последовательности (серии команд) используются в виде компонентов в разветвляющихся или циклических программ.

Задачи с разветвляющейся алгоритмической структурой.

Рассмотрим несколько примеров задач с таким алгоритмом.

Пример 2. Абсолютная величина (модуль) числа В определяется

следующим образом:

Блок-схема алгоритма вычисления модуля для произвольного числа B показана на рисунке:

B,еслиB 0,

| B | B,еслиB0

Для конкретного числа В выполняется или только левая ветвь (если В 0) или только правая (если В<0).

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

Алгоритм вычисления площади для перечисленных видов фигур приводится на рис. (фигуры получаются как сечения некоторого тела).

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

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

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

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

условий (ромб), трех - один и т.д.

КОНТРОЛЬНЫЕ ВОПРОСЫ:

1. Значение типовых алгоритмов

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

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

Тема 4.11 Задачи с циклической алгоритмической структурой

Рассмотрим примеры типовых циклических алгоритмов.

Пример 4. Составить таблицу значений функции

F x2 6x 10

При изменении x от x0 до xk с шагом t. Блок-схема алгоритма показана на рисунке:

Телом цикла в данной схеме являются два блока: определение F и печать F и x. Тело цикла выполняется до тех пор, пока значение переменной цикла x не превысит конечное значение xk. В тот момент, когда x окажется больше xk, выполнение циклического участка схемы закончится и управление передастся следующему за циклом блоку (в данном примере на конец блок-схемы), при этом переменная цикла сохранит свое значение (превысившее xk ).

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

должен соответствовать интервалу: Определить, имеются ли в партии из N деталей бракованные.

Блок-схема алгоритма решения задачи представлена на рисунке:

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

Пример 6. Определить сумму и произведение N произвольных чисел.

Блок-схема данного алгоритма представлена на рисунке:

Определение суммы и произведения нескольких величин требует начального присваивания переменным, обозначающим сумму и произведение (в данном примере S и P). Без такого присваивания результатов могут не соответствовать действительности из-за возможного использования этих величин каким-то другим образом до цикла. Начальное значение для суммы равно нулю, для произведения - единице.

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

Пример 7. Вычислить сумму сходящегося ряда