русс | укр

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

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

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

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


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

Свойства алгоритма

Свойства алгоритма—набор свойств, отличающих алгоритм от любых предписаний и обеспечивающих его автоматическое исполнение.

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

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

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

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

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

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

В процессе алгоритмизации задачи исходный алгоритм разбивают на отдельные частные алгоритмы (шаги).

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

Линейный алгоритм –набор команд (указаний), выполняемых последовательно во времени друг за другом.

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

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

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

Цикл программы –последовательность команд (серия, тело цикла), которая может выполняться многократно (для новых исходных данных) до удовлетворения некоторого условия.

Вспомогательный (подчиненный) алгоритм (процедура) –алгоритм, ранее разработанный и целиком используемый при алгоритмизации конкретной задачи.

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

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

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

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

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

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

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

Для облегчения процесса разработки и восприятия графического изображения алгоритмов, их составление осуществляется в соответствии с требованием ГОСТа:

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

Схемы алгоритмов и программ, обозначения условные графические.

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

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

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

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

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

– блок вычисления

– ввод, вывод

– проверка условий

– модификация

– подпрограмма:

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

       
   

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

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

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

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

 
 

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

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

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

Последовательность выполнения операций алгоритма определяется расположением операторов в схеме (при чтении слева направо) в соответствии с цифровой индексацией.

Передача управления от оператора к оператору осуществляется в порядке следования символов записи алгоритма. В случае отсутствия передачи управления от очередного оператора к последующему, между ними ставится признак завершения ветви алгоритма, а именно (;). Нарушение естественного порядка выполнения оператора отображаются с помощью стрелок.

Использование операторного способа представления упрощает процесс записи алгоритма, но малонагляден.

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

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

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

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

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

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

в какой-то момент не может продолжить работу (прерывание) с сообщением оператора;

программа работает, но не выдаёт всех запланируемых результатов и не выходит на остановку (происходит зацикливание);

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

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

Для сокращения затрат на проведение тестирования и отладки в настоящее время широко используют специальные программные средства тестирования (например трассировки программ).

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

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

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

Экспериментальная эксплуатация заключается во внедрении разработанных программных средств на объекте заказчика (иногда параллельно с традиционными методами решения задач). С целью проверки неработоспособности при решении реальных задач в течение достаточно большого периода времени (обычно не менее года).

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

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

Просмотров: 887


Вернуться в оглавление



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


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

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

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


 


Полезен материал? Поделись:

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

 
 

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