русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Понятие алгоритма и типы алгоритмических процессов


Дата добавления: 2013-12-24; просмотров: 283316; Нарушение авторских прав


Технологии и инструментальные средства программирования

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

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

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

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

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

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

К основным свойствам алгоритма относятся:

дискретность — разбивка процесса решения на этапы обработки (отдельные шаги выполнения);

определенность — однозначность и точное выполнение каждого этапа;

выполнимость — решение каждого этапа и всей задачи за конечное число шагов;



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

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

При разработке блок-схем алгоритмов используются специальные условные обозначения, которые определяютяся ГОСТом, например:

для обозначения начала и конца работы — овал (эллипс);

для блоков ввода данных в ЭВМ и вывода результатов — параллелограммы;

для блоков обработки — прямоугольник;

для блоков принятия решений — ромбы и т.д.

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

Линейные алгоритмические процессы являются составной частью любого алгоритма и включает фиксированный перечень блоков (операторов). Каждый очередной блок начинает «работать» после завершения обработки информации в предыдущем блоке без дополнительных условий.

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

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

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

При циклической структуре алгоритма в блоке «Условие» задается условие выполнения тела цикла определенной обработки. Если условие не выполняется, цикл прерывается и осуществляется выход.

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



<== предыдущая лекция | следующая лекция ==>
Структурные компоненты и протоколы прикладного уровня сети Internet | Инструментальные средства программирования


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.003 сек.