Основной принцип структурного программирования
Основы структурного программирования Алгоритмы
Этапы решения задач на компьютере
Технология решения задач на компьютере
Алгоритмизация и основные этапы решения инженерных задач
Алгоритм - это
a. описание последовательности действий для решения задачи или достижения поставленной цели;
b. правила выполнения основных операций обработки данных;
c. описание вычислений по математическим формулам.
Решение задач на компьютере можно разделить на несколько основных этапов:
– На первом этапе обычно строится описательная информационная модель объекта или процесса.
– На втором этапе описательная информационная модель формализуется (записывается с помощью какого-либо формального языка), то есть создается формализованная модель.
– На третьем этапе необходимо формализованную модель преобразовать в компьютерную модель, то есть выразить на понятном для компьютера языке.
Существует два принципиально различных пути построения компьютерной модели:
§ построение алгоритма решения задачи и его кодирование на одном из языков программирования;
§ построение компьютерной модели с использованием одного из приложений (электронных таблиц, СУБД. MathCAD и т.д.).
Для реализации первого пути необходимо построить алгоритм решения задачи и закодировать его на одном из языков программирования, например, на языке Pascal.
Для реализации второго пути создается компьютерная модель в одном из приложения, например, MathCAD и проводится её исследование.
– Четвертый этап исследования информационной модели состоит в проведении компьютерного эксперимента. Если компьютерная модель существует в виде программы на языке программирования, её нужно запустить на выполнение и получить результаты.
Если компьютерная модель исследуется в приложении, то можно построить диаграмму или график и т.д.
– Пятый этап состоит в анализе полученных результатов и корректировке исследуемой модели.
Структурное программирование — это метод программирования, опирающийся на структурную организацию программы.
Структурное программирование сосредоточивается на одном из наиболее подверженных ошибкам факторов программирования – логике программы – и включает три главные составляющие:
· проектирование сверху вниз;
· модульное программирование;
· структурное кодирование.
Метод проектирования сверху вниз предусматривает вначале определение задачи в общих чертах, а затем постепенное уточнение структуры путем внесения более мелких деталей.
Чтобы преуспеть в структурном программировании, программу следует представить в виде модулей. Модульное программирование – это процесс разделения программы на логические части, называемые модулями, и последовательное программирование каждой части.
Структурное кодирование – это метод написания хорошо структурированных программ, который позволяет получать программы, более удобные для тестирования, модификации и использования. Структурное кодирование состоит в получении правильной программы из некоторых простых логических структур.
Структурированная (разбитая на части)задача имеет следующие достоинства:
1) легче читается- становится понятней
2) легче отлаживается( отдельными небольшими частями)-сокращается вероятность ошибок
3) одну задачу могут разрабатывать несколько программистов одновременно (при неиспользовании глобальных величин)
Основной принципструктурного программирования - обеспечить максимальное соответствие структуры текста программы логике решаемой проблемы.
Способы реализации основного принципа структурного программирования:
1) Структурируемости и читаемости текста программы –отступы, обозначения, группировка частей текста.
2) Отлаживаемость программы – пригодность конструкций языка к отладке. В значительной степени связана с особенностямитипизации данных. Наличие жесткого контроля типов с диагностикой ошибок при трансляции программы. Другая важная часть – наличие интегрированной среды разработки.
3) Инкапсуляция данных — наличие структурных типов данных (массивы, записи, строки, множества, файловые типы, потоки и т.п.) с возможностью оперирования переменной структурного типа как единым целым.
4) Инкапсуляция программного кода -блоки разных уровней, модули, пакеты и т.п. с особыми правилами прозрачности и интерфейсами между ними.
5) Инкапсуляция программного кода и данных во время выполнения программы, со специальными ограничениями доступа, правилами прозрачности, интерфейсами, диагностикой ошибок во время выполнения программы. Примеры: обработка исключительных ситуаций во время выполнения, обработки событий, подпроцессы.
Примеры неструктурных языков: Ассемблер; FORTRAN;
Примеры структурных языков: С; C++; PASCAL; Object Pascal; Java; JavaScript/Jscript.