Средства проектирования прикладных программ.
Графическое построение схем алгоритмов программ.
ГОСТ 19.002 – 80 года
19.003 - 80
Применяется ограниченно это средство проектирования, вследствие недостатков:
1) высокая трудоёмкость вычерчивания схем;
2) отсутствие графических средств для отображения структур данных;
3) не отражает особенностей конструкций конкретных языков программирования;
4) потеря наглядности при большом количестве блочных символов.
Разработка схем алгоритмов программ с использованием конкретного языка программирования.
Недостатки:
1) современные языки программирования не обладают наглядными средствами для описания алгоритмов;
2) требуют использования многих второстепенных языковых конструкций, которые затрудняют понимание общих принципов построения алгоритма.
Использование специальных языков проектирования программ, псевдокодов.
Псевдокод – это частично формализованная запись для наглядного текстового представления схем алгоритмов и программ, разрабатываемая в соответствии с общими принципами структурного программирования. Псевдокод используется в следующих целях:
1. для фиксации с нужным уровнем детализации алгоритма в процессе его разработки;
2. для формулировки заданий на кодирование программы на языке программирования;
3. для описания логики программы.
Достоинство псевдокода:
Состоит в том, что он освобождает программиста от необходимости следить за точным соблюдением формальных языковых правил, позволяет ему максимально концентрировать внимание на содержании решаемых логических проблем.
Основные элементы языка псевдокода:
1. Алфавит: строчные, прописные буквы латиницы и кириллицы, специальные символы, цифры
2. Идентификаторы: имена.
3. Ключевые слова: используются для обозначения операторов и конструкций языка. При написании их желательно подчеркивать.
4. Константы: символьные и другие.
5. Комментарии: могут располагаться в любом месте текста, отделяются от него знаками «-».
Реализация программ.
Основные методы программирования:
1. Программирование на языках высокого уровня (ЯВУ).
2. Программирование с защитой от ошибок.
3. структурное программирование.
4. Программирование в стандартизированном стиле.
5. Нисходящее программирование.
1. Программирование на языках высокого уровня:
По сравнению с языками низкого уровня.
1. Чем выше уровень языка программирования, тем меньше ошибок в программе, легче понимать программу.
2. Выше степень автоматического обнаружения ошибок компилятором с этих языков.
3. Большая наглядность программы, что позволяет упростить документирование.
4. Программа на ЯВУ обладает высокой переносимостью.
5. Эти программы менее эффективны.
ВЫВОД:
Основные резервы эффективности программ лежат в области разумного выбора методов и алгоритмов.
2. Программирование с защитой от ошибок.
Подключение в программу дополнительных операторов контроля данных уменьшает вероятность появления ошибочных ситуаций при работе программы:
Виды проверок:
Ø допустимость значений числовых аргументов;
Ø проверка допустимости типов данных в выражении;
Ø проверка допустимости значений индексов массивов;
Ø допустимости значений управляющих переменных;
Ø проверка операций ввода-вывода с передачей данных.
ВЫВОД:
Необходим разумный подход, чтобы эффект от проверок не стал отрицательным, т.к. проверка увеличивает объём программы и вносит дополнительные ошибки.
3. Структурное программирование.
Программы должны обладать свойствами:
1. Модульная структура (модуль имеет по одной точке входа и выхода, размер модуля ограничен – не более 100 операторов).
2. Модуль представляет собой композицию основных управляющих структур (последовательность ветвления циклов).
3. Модули могут содержать операторы безусловного перехода только в исключительных случаях (go to), при этом передача управления происходит в точку программы, расположенную по тексту ниже самого оператора go to. Оператор go to допускается в том случае, когда в языке программирования отсутствуют операторы, реализующие структуры «если-то-иначе», цикл «пока» и цикл «до».
Языки программирования считаются структурными, если они содержат возможности реализации принципа модульного программирования и включает операторы, реализующие основные управляющие структуры.
Примеры структурных языков программирования:
С++;
Pascal;
Basic.
Примеры не структурных языков:
Assembler;
Fortran.
При использовании неструктурных языков основные управляющие структуры имитируются с помощью комментариев или специальных макрокоманд и процедур.
4. Программирование в стандартизированном стиле.
Стиль программирования – это набор специальных приёмов, используемых программами с целью получения единообразных наглядных приспособленных для изучения программ.
Основные принципы стандартизации стиля программирования: