Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Цель работы: приобрести практические навыки разработки блок-схем линейных, разветвляющихся и циклических процессов
Теоретическая часть Алгоритм – это точное предписание о порядке выполнения действий над исходными данными для получения требуемого результата. Наиболее распространенным способом представления алгоритма является графический. В графическом представлении алгоритмы изображаются в виде блок-схемы, дополненной элементами словесной или математической записи. Схема алгоритма включает геометрические фигуры (блочные символы), соединенные между собой стрелками (линиями), указывающими порядок выполнения операций. Блочные символы стандартизированы и различаются по типу выполняемых действий (ГОСТ 19.002–80 и 19.003–80, международные стандарты ИСО 2636-73 или ИСО 1028–73). Единственное ограничение накладывается на последовательность записей – они должны читаться слева направо и сверху вниз независимо от направления потоков информации. Логика алгоритма должна опираться на минимальное число достаточно простых управляющих базовых структур. При разработке схем алгоритмов необходимо соблюдать некоторые требования: § В схеме алгоритма все линии от блока «начало» до блока «конец» не должны иметь разрывов, не помеченных соединителями. Все линии, указывающие последовательность выполнения действий, должны быть замкнутыми. § В схеме должны четко прослеживаться потоки информации. Блоки следует размещать таким образом, чтобы избегать пересечения линий. При передаче управления в схеме «снизу–вверх» или «справа–налево» линии обязательно помечают стрелками. § Блоки следует размещать таким образом, чтобы избегать пересечения линий. При передаче управления в схеме «снизу–вверх» или «справа–налево» линии обязательно помечают стрелками. § Не допускается передача управления в никуда. «Источник» передачи управления и «получатель» должны быть четко обозначены. Виды структур алгоритмов По структуре алгоритмы разделяют на линейные, алгоритмы с ветвлением и циклические. Таблица 1 – Виды и значения алгоритмических блоков
Линейные алгоритмы Линейными называют алгоритмы, в которых операции выполняются последовательно одна за другой, в естественном и единственном порядке следования. В таких алгоритмах все блоки имеют последовательное соединение логической связью передачи информационных потоков. В них могут использоваться все блоки, за исключением блоков проверки условия и модификации. Линейные алгоритмы, как правило, являются составной частью любого алгоритмического процесса. Используя общепринятые символы блоков, на рис.1 изображена блок-схема линейного алгоритма. Алгоритмы с ветвлением При составлении схем алгоритмов часто возникает необходимость проведения анализа исходных данных или промежуточных результатов вычислений и определения дальнейшего порядка выполнения вычислительного процесса в зависимости от результатов этого анализа. Алгоритмы, в которых в зависимости от выполнения некоторого логического условия происходит разветвление вычислений по одному из нескольких возможных направлений, называют разветвляющимися, или алгоритмы с ветвлением. Подобные алгоритмы предусматривают выбор одного из альтернативных путей продолжения вычислений. Каждое возможное направление вычислений называется ветвью. Логическое условие называют простым, если разветвляющийся процесс имеет две ветви, и сложным, если процесс разветвляется на три и более ветви. На рис. 2 приводится пример разветвляющегося алгоритма с простым логическим условием. Для определения ветви, по которой необходимо производить процесс вычисления значения x, достаточно проверить выполнение одного условия. Если условие x > 3 не выполняется, то очевидно и без дополнительной проверки, что будет выполнено условие 3 ≤ x. На рис. 3 приводится пример сложного алгоритма с ветвлением. Циклический алгоритм Алгоритм циклической структуры предусматривает многократное повторение действий в одной и той же последовательности по одним и тем же математическим зависимостям, но при разных значениях некоторой специально изменяемой величины. Циклические алгоритмы позволяют существенно сократить объем программы за счет многократного выполнения группы повторяющихся вычислений, так называемого тела цикла . Специально изменяемый по заданному закону параметр, входящий в тело цикла, называется переменной цикла . Переменная цикла используется для подготовки очередного повторения цикла и отслеживания условий его окончания. В качестве переменной цикла используют любые переменные, индексы массивов, аргументы вычисляемых функций и тому подобные величины цикла. Циклы, в теле которых нет разветвлений и других встроенных в них циклов, называют простыми . В противном случае их относят к сложным . Циклические алгоритмы разделяют на детерминированные и итерационные . Циклы, в которых число повторений заранее известно из исходных данных или определено в ходе решения задачи, называют детерминированными. Для организации детерминированных циклов наиболее целесообразно использовать блок модификации, внутри которого указывается переменная цикла, ее начальное и конечное значения. Организовать подобный цикл возможно и при использовании блока проверки условия вместо блока модификации, однако при этом несколько усложняется алгоритм и теряется его рациональность. На рис. 4 пример циклического алгоритма с использованием блока модификации. Операция нахождения суммы, при предварительном обнулении значения переменной S (блок 5), повторяется 10 раз в теле цикла. Использована операция присваивания S: = S + X * I, по которой и осуществляется вычисление суммы путем прибавления к предыдущему значению переменной S всё новых значений элементов ряда. Цикл является детерминированным, и количество его повторений заранее определено ( 10 раз). В качестве переменной цикла i принято текущее значение членов натурального ряда. На рис. 8блок-схема алгоритма для расчетасуммы бесконечного ряда. Вычисление суммы прекратить, как только значение очередного элемента ряда станет меньше или равно e (e = 0, 00001), и значениями остальных элементов ряда можно пренебречь. На рис. 5 для примера 9.1 организован цикл в виде итерационного, т.к. число повторений заранее неизвестно. В алгоритме выход из цикла или его продолжение определяется выполнением условия delta < = e в блоке 5. Если условие не выполняется, то вычисление суммы продолжается путем прибавления к предыдущему значению суммы (переменная S) значения очередного члена ряда, отслеживаемого переменной цикла i. На рис. 7 разработана блок-схема табулирования функции, заданной на отрезке [a, b], где h шаг приращения аргумента x, значение константы d вводится с клавиатуры. Вводятся исходные данные ( a и b – границы интервала табулирования функции y, h – приращение аргумента, d – постоянная величина), затем задается начальное значение аргумента функции ( x = a ) и вычисляется значение функции y, которая задана системой равенств. Значения аргумента х и функции у выводятся на экран. Для расчета следующего значения функции аргумент х получает приращение h (блок 12). После выполнения первой итерации управление передается на начало цикла, где проверяется условие повторения цикла. Если оно выполняется, то расчет функции повторяется, в противном случае происходит выход из цикла. Логические блоки 6 и 7 определяют функцию расчета у. При a ≤ х < 2 значение у рассчитывается по формуле у = 12d + х + cos(x3) (блок 10), при 2 ≤ х ≤ 4 – по формуле y = ln|10 – x2| (блок 9), при 4 < х ≤ b – по формуле y = 4 + tg(x2) (блок 8). Вид итерационного цикла (с пост- или предусловием) определяется условием задачи и допустимыми или возможными значениями исходных данных. При организации цикла с постусловием необходимо помнить, что при любых начальных значениях исходных данных тело цикла обязательно будет выполнено хотя бы один раз. Если же организовать цикл с предусловием, то необходимо быть уверенным в том, что начальные значения исходных данных позволяют проверить условие выхода из цикла без его выполнения. Задание Популярное:
|
Последнее изменение этой страницы: 2016-05-03; Просмотров: 699; Нарушение авторского права страницы