Студопедия

Главная страница Случайная лекция


Мы поможем в написании ваших работ!

Порталы:

БиологияВойнаГеографияИнформатикаИскусствоИсторияКультураЛингвистикаМатематикаМедицинаОхрана трудаПолитикаПравоПсихологияРелигияТехникаФизикаФилософияЭкономика



Мы поможем в написании ваших работ!




АЛГОРИТМИЗАЦИЯ ТИПИЧНЫХ ЗАДАЧ

Читайте также:
  1. IV. СОВРЕМЕННЫЕ ЗАДАЧИ И ПЕРСПЕКТИВЫ РАЗВИТИЯ БИОТЕХНОЛОГИИ.
  2. VII. Организация служебной деятельности и порядок действий наряда вневедомственной охраны полиции, назначенного для выполнения задач по охране имущества при его транспортировке
  3. Алгоритм решения задач с ПКС
  4. Базисное решение задачи ЛП.
  5. Билет 2. Задачи и характеристика основных методов психологической науки.
  6. Боевые задачи
  7. БУХГАЛТЕРСКИЙ УЧЕТ ЕГО РОЛЬ И ЗАДАЧИ
  8. В каких случаях задача определения напряжений считается плоской?
  9. Введение. Доктрина информационной безопасности России о системах, функциях и задачах государства

3.1. Общие положения

 

Этап алгоритмизации данных включает математическую формулировку задачи и разработку алгоритма ее решения

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

Отметим основные свойства алгоритмов :

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

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

формальность - то есть возможность человека (программиста) правильно составить программу по данному алгоритмому.

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

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

 

3.2. Особенности языка графических символов

 

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

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

Наиболее часто используемые символы схем алгоритмов приведены в таблице 3.1.

 

Таблица 3.1

Основные символы схем алгоритмов

Название символа   Обозначение   Объяснение  
Пуск, остановка Начало, конец, остановка, вход в подпрограммы и выход из них
Ввод, вывод Преобразование данных в форму, пригодную для обработки (ввод) или отображение результатов обработки (вывод)
Процесс Вычислительное действие или последовательность вычислительных действий
Решение Проверка условий
Модификация Начало цикла
Предопределен-ный процесс Вычисление в подпрограмме, стандартной подпрограмме
Соединитель Разрыв линии потока
Комментарий Объяснение, содержание подпрограмм, формулы

 

Минимальное значение размера отрезка a равняется 10 мм, а его увеличение обычно выполняется на число, кратное 5. Размер отрезка b принимается ровным 1,5а (допускается также b=2а). В пределах одной схемы рекомендовано изображать символы одинаковых размеров. Контуры символов и линий потоков, что их соединяют, выполняются сплошной (непрерывной) линией, толщина которой представляет 0,6 - 1,5 мм

В середине символа описывается содержание операции (или операций).

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

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

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

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

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

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

Комментарий позволяет включать в схемы алгоритмов объяснения к функциональным блокам. Частое использование комментариев нежелательно, поскольку это усложняет (загромождает) схему, делает ее менее наглядной. Однако некоторые обозначения переменных, принятые предположения или назначение отдельных алгоритмов требуют дополнительных объяснений.

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

 

3.3. Алгоритмы основных видов вычислительных процессов

 

3.3.1. Общие положения

 

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

● простые (линейные) вычислительные;

● разветвлены вычислительные;

● циклические обчислювальніи.

3.3.2. Простой (линейный) неразветвлен вычислительный процесс

 

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

Пример 3.1.Записать алгоритм вычисления значения величины Y определяемого следующей формулой:

Y = 150 + a·x.

Схема алгоритма подано на рис. 3.1.

 

3.3.3. Разветвленные вычислительные процессы

 

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

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

 

 

Рис. 3.1. Схема алгоритма простого (линейного) процесса

 

Пример 3.2.Записать в виде схемы следующийалгоритм вычисления :

S = { k·x + 2 ·t, если t >= 0
k·- 4·t, если t < 0

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

● в разных ветках можно использовать и те же обозначения переменных величин;

● вычисление или процессы, которые повторяются в разных ветках схемы алгоритма, выносятся за пределы разветвления (в нашем примере это вычисление выражения k · х ( і);

● сложные условия вычислений разбиваются на ряд простых.

Решение задачи будет иметь вид, поданный на рис. 3.2.

Рис. 3.2. Схема алгоритма простого разветвленного вычислительного процесса

 

3.3.4. Циклические вычислительные процессы

 

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

Например, при вычислении выражения в = ах, операция умножения повторяется х раз. Если х = 5, то операция умножения повторяется 5 раз, то есть в = а·а·а·а·а, а когда х = 100, то умножение повторяется 100 раз.

Таким образом, циклический вычислительный процесс - это последовательность действий, которая предусматривает повторяемые n раз этапы обработки информации.

Цикл должен длиться до тех пор, пока не выполнится некоторое условие выхода из него.

Пример 3.3.Составить схему алгоритма для вычисления такого выражения

,

при этом параметр цикла изменяется до xп с шагом h. Такие вычисления значений заданной функции называются табулированием.

 

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

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

Кроме того, стоит обратить внимание, что в первый символ вводятся отдельные переменные, а несколько однотипных операций введения или выведения данных должны входить в цикл как многократно повторяемые

Циклические процессы можно классифицировать в зависимости от количества и сложности входных циклов на простые (один цикл) и сложные (цикл в цикле или разветвление в цикле). В свою очередь простые циклы разделяются в зависимости от способа выхода из цикла на арифметические и итерационные. Рассмотрим каждый из таких циклов.

 

 

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

3.3.5. Арифметические циклы

 

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

Например, решение уравнения величины в = ах при заданном значении х или в = n! при заданном значении n, реализуется с помощью арифметических циклических процессов. Количество повторений цикла в них задает величины х и n соответственно.

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

 

3.3.6. Итерационные циклы

 

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

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

3.3.7. Сложные циклы

 

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

 

Контрольные вопросы

 

1. Назовите этапы подготовки к решению задач на ПК, что выполняются без применения компьютера.

2. Какие основные свойства алгоритмов вычислительных процессов?

3. Какие процессы могут описывать алгоритмы?

4. С какой целью строят графические схемы алгоритмов?

5. По каким правилам складывают блок-схемы алгоритмов?

6. Какие виды блоков используют в блок-схемах?

7. С учетом каких правил складывают структурные схемы алгоритмов?

 


<== предыдущая страница | следующая страница ==>
ВИРУСНЫЕ ИНФЕКЦИИ И БЕРЕМЕННОСТЬ | БАХОВЕДЕНИЕ

Дата добавления: 2014-11-01; просмотров: 870; Нарушение авторских прав




Мы поможем в написании ваших работ!
lektsiopedia.org - Лекциопедия - 2013 год. | Страница сгенерирована за: 0.005 сек.