Словесно-формульный способ.




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

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

у=2а-(х+6).

Словесно-формульным способом алгоритм решения этой задачи может быть запи­сан в следующем виде:

1. Ввести значения а и х.

2. Сложить х и 6.

3. Умножить а на 2.

4. Вычесть из 2а сумму (х+6).

5. Вывести у как результат вычисления выражения.

Блок-схемы.

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

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

Оформление программ должно соответствовать определенным требованиям. В на­стоящее время действует единая система программной документации (ЕСПД), которая устанавливает правила разработки, оформления программ и программной документа­ции. В ЕСПД определены и правила оформления блок-схем алгоритмов (ГОСТ 10.002-80 ЕСПД, ГОСТ 10.003-80 ЕСПД).

Операции обработки данных и носители информации изображаются на схеме соот­ветствующими блоками. Большая часть блоков по построению условно вписана в пря­моугольник со сторонами а и b. Минимальное значение а равно 10 мм, увеличение а производится на число, кратное 5 мм. Размер b =1,5 мм. Для отдельных блоков допускает­ся соотношение между а и b, равное 1:2. В пределах одной схемы рекомендуется изобра­жать блоки одинаковых размеров. Все блоки нумеруются. Виды и назначение основных блоков приведены в табллице.

Линии, соединяющие блоки и указывающие последовательность связей между ними, должны проводится параллельно линиям рамки. Стрелка в конце линии может не ста­виться, если линия направлена слева направо или сверху вниз. В блок может входить несколько линий, то есть блок может являться преемником любого числа блоков. Из блока (кроме логического) может выходить только одна линия. Логический блок мо­жет иметь в качестве продолжения одни из двух блоков, и из него выходят две линии. Если на схеме имеет место слияние линий, то место пересечения выделяется точкой. В случае, когда одна линия подходит к другой и слияние их явно выражено, точку можно не ставить.

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

Если при обрыве линии продолжение схемы находится на этом же листе, то на од­ном и другом конце линии изображается специальный символ соединитель окруж­ность диаметром 0,5 мм. Внутри парных окружностей указывается один и тот же иденти­фикатор. В качестве идентификатора, как правило, используется порядковый номер блока, к которому направлена соединительная линия. Если схема занимает более одного листа, то в случае разрыва линии вместо окруж­ности используется межстраничный соединитель. Внутри каждого соединителя ука­зывается адрес — откуда и куда направлена соединительная линия. Адрес записывает­ся в две строки: в первой указывается номер листа, во второй — порядковый номер блока.

Блок-схема должна содержать все разветвления, циклы и обращения к подпрограм­мам, содержащиеся в программе.

 

 


Таблица. Условные обозначения блоков схем алгоритмов.

Наименование 0бозначенне Функции
Процесс   Выполнение операции или группы операции, в результате которых изменяется значение, форма представления или расположение данных.
Ввод-вывод   Преобразование данных в форму, пригодную для обработки (ввод) или ото­бражения результатов обработки (вывод).
Решение   Выбор направления вы­полнения алгоритма в за­висимо­сти от некоторых переменных условии.
Предопределенный процесс   Использование ранее со­зданных и отдельно напи­санных программ (подпро­грамм).
Документ   Вывод данных на бумаж­ный носитель.
Магнитный диск   Ввод-вывод данных, носи­телем которых служит маг­нитный диск.
Пуск-останов   Начало, конец, прерывание процесса обработки данных.
Соединитель   Указание связи между прер ванными линиями, соединя­ющими блоки.
Межстраничный соединитель     Указание связи между прер­ванными линиями, соединяющими блоки, расположенные на разных листах.
Комментарий   Связь между элементом схемы и пояснением.

20)Структурные схемы алгоритмов.

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

@ Следование (последовательность двух или более операций);

@ Ветвление (выбор направления);

@ Повторение (цикл «до» и цикл «пока»).

@ Обход.

@ Множественный выбор.

Заметим при этом, что две последние структуры можно реализовать, используя структуру типа ветвление. Таким образом, любой вычислительный процесс может быть представлен как комбинация трёх эле­ментарных алгоритмических структур. Соответственно, вычислительные процессы, выполняемые на ЭВМ по заданной программе, можно разделить на три основных вида:

1. линейные;

2. ветвящиеся;

3. циклические

 

Линейные процессы.

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

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

Ветвящиеся процессы.

Вычислительный процесс называется ветвящимся, если для его реализации предусмотрено несколько направлений (ветвей). Каждое отдельное направление процесса обработки данных является отдельной ветвью вычислений. Ветвление в про­грамме — это выбор одной из нескольких последовательностей команд при выпол­нении программы. Выбор направления зависит от заранее определенного призна­ка, который может относиться к исходным данным, к промежуточным или конеч­ным результатам. Признак характеризует свойство данных и имеет два или более значений.

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

Направление ветвления выбирается логической проверкой, в результате кото­рой возможны два ответа: «да» — условие выполнено и «нет» — условие не выпол­нено.

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

Циклические процессы.

Циклическими называются программы, содержащие циклы. Цикл — это многократ­но повторяемый участок программы.

В организации цикла можно выделить следующие этапы:

@ подготовка (инициализация) цикла (И);

@ выполнение вычислений цикла (тело цикла) (Т);

@ модификация параметров (М);

@ проверка условия окончания цикла (У).

Порядок выполнения этих этапов, например, Т и М, может изменяться. В зависимо­сти от расположения проверки условия окончания цикла различают циклы с нижним и верхним окончаниями. Для цикла с нижним окончанием тело цикла выполняется как минимум один раз, так как сначала производятся вычисления, а затем проверяется условие выхода из цикла.

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

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

Решение задач на ЭВМ.

21)Этапы подготовки и решения задач на ЭВМ.

На ЭВМ могут решаться задачи различного характера, например: научно-инженер­ные; разработки системного программного обеспечения; обучения; управления произ­водственными процессами и т. д. В процессе подготовки и решения на ЭВМ научно-инженерных задач можно выделить следующие этапы:

1. постановка задачи;

2. математическое описание задачи;

3. выбор и обоснование метода решения;

4. алгоритмизация вычислительного процесса;

5. составление программы;

6. отладка программы;

7. решение задачи на ЭВМ и анализ результатов.

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

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

Постановка задачи.

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



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-07-22 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: