Основной принцип структурного программирования

Основы структурного программирования Алгоритмы

Этапы решения задач на компьютере

Технология решения задач на компьютере

Алгоритмизация и основные этапы решения инженерных задач

Алгоритм - это

a. описание последовательности действий для решения задачи или достижения поставленной цели;

b. правила выполнения основных операций обработки данных;

c. описание вычислений по математическим формулам.

Решение задач на компьютере можно разделить на несколько основных этапов:

На первом этапе обычно строится описательная информационная модель объекта или процесса.

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

На третьем этапе необходимо формализованную модель преобразовать в компьютерную модель, то есть выразить на понятном для компьютера языке.

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

§ построение алгоритма решения задачи и его кодирование на одном из языков программирования;

§ построение компьютерной модели с использованием одного из приложений (электронных таблиц, СУБД. MathCAD и т.д.).

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

Для реализации второго пути создается компьютерная модель в одном из приложения, например, MathCAD и проводится её исследование.

Четвертый этап исследования информационной модели состоит в проведении компьютерного эксперимента. Если компьютерная модель существует в виде программы на языке программирования, её нужно запустить на выполнение и получить результаты.
Если компьютерная модель исследуется в приложении, то можно построить диаграмму или график и т.д.

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

Структурное программирование — это метод программирования, опирающийся на структурную организацию программы.

Структурное программирование сосредоточивается на одном из наиболее подверженных ошибкам факторов программирования – логике программы – и включает три главные составляющие:

· проектирование сверху вниз;

· модульное программирование;

· структурное кодирование.

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

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

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

Структурированная (разбитая на части)задача имеет следующие достоинства:

1) легче читается- становится понятней

2) легче отлаживается( отдельными небольшими частями)-сокращается вероятность ошибок

3) одну задачу могут разрабатывать несколько программистов одновременно (при неиспользовании глобальных величин)

Основной принципструктурного программирования - обеспечить максимальное соответствие структуры текста программы логике решаемой проблемы.

Способы реализации основного принципа структурного программирования:

1) Структурируемости и читаемости текста программы –отступы, обозначения, группировка частей текста.

2) Отлаживаемость программы – пригодность конструкций языка к отладке. В значительной степени связана с особенностямитипизации данных. Наличие жесткого контроля типов с диагностикой ошибок при трансляции программы. Другая важная часть – наличие интегрированной среды разработки.

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

4) Инкапсуляция программного кода -блоки разных уровней, модули, пакеты и т.п. с особыми правилами прозрачности и интерфейсами между ними.

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

Примеры неструктурных языков: Ассемблер; FORTRAN;

Примеры структурных языков: С; C++; PASCAL; Object Pascal; Java; JavaScript/Jscript.