Структурное программирование. Структурное программирование - методология и технология разработки программных комплексов, основанная на принципах: - программирования
Структурное программирование - методология и технология разработки программных комплексов, основанная на принципах: - программирования "сверху-вниз"; - модульного программирования.
При этом логика алгоритма и программы должны использовать три основные структуры: последовательное выполнение, ветвление и повторение.
XXIV. Основные принципы структурного программирования
(программирование без GO TO)
Самостоятельная работа:
Алгоритм задачи представляется только как композиция трёх базовых типов алгоритмов: линейных, ветвлений и циклов. Эти конструкции могут быть соединены или вложены друг в друга произвольным образом, но никаких других способов управления последовательностью выполнения операций не используется.
В алгоритме задачи выделяются модули. Модуль – это либо логически законченный фрагмент общей задачи, либо часто повторяющийся блок расчётов.
Каждый модуль оформляется по определённым правилам в виде подпрограммы, и в текст основного алгоритма вместо него вставляется короткая инструкция вызова подпрограммы. Когда выполнение программы доходит до этой инструкции, выполняется фрагмент, заложенный в подпрограмму, после чего управление передаётся на команду, следующую за инструкцией вызова подпрограммы.
Различают подпрограммы функции (используется как операнд в выражениях) и процедуры (используется как оператор). Общий вид подпрограммы:
Заголовок: Имя и Формальные параметры
Тело подпрограммы
Признак окончания подпрограммы
В инструкции по вызову указывается имя подпрограммы и фактические параметры, то есть значения формальных параметров, с которыми следует выполнить тело подпрограммы в данном месте.
Пример. Дан массив целых чисел {Ai},i=1, 2, ..., 15. Программа вычисляет произведение сумм некоторых элементов массива А. Так как операции, которые следует выполнить для суммирования, не зависят от конкретных значений используемых чисел, алгоритм суммирования оформлен в виде подпрограммы. Поскольку каждая из сумм, которые входят в конечное произведение, не представляет интереса сама по себе, подпрограмма оформлена по типу подпрограммы-функции.
Функция СУММА(I1,I2)
начало: S=0
начало цикла для I=I1 до I2
S=S+A(i)
конец цикла
СУММА=S
конец функции
начало программы
писать("введите значения массива А")
начало цикла для j=1 до 15
читать А(j)
конец цикла
читать G,W,T,L
Р:= СУММА(G,W)*СУММА(T,L)
писать ("произведение равно",Р:6)
конец программы
В программу введены константы: G=1; W=12;T=8;L=15. Это – фактические параметры, которые надо использовать вместо формальных параметров I1 и I2 при вычислении значения Р. В результате переменная Р примет значение произведения сумм элементов с 1 по 12 и с 8 по 15 из массива А.
Разработка программы идёт пошагово, методом сверху-вниз. Сначала пишется текст основной программы, в которой вместо фрагментов, выделенных в подпрограммы, ставят «заглушки». Это подпрограммы, в которых вместо реально нужных операторов ставят сигнальные печати или ввод данных, которые должна была бы сосчитать эта подпрограмма. Таким образом проверяют и отлаживают основной алгоритм. Затем подпрограммы-заглушки по очереди заменяют на нужные подпрограммы, отлаживают и тестируют их. Такая технология облегчает создание программы, уменьшает количество ошибок и облегчает нахождение допущенных ошибок.
Альтернативный способ – метод снизу-вверх: сначала пишут и отлаживают все подпрограммы, потом с их помощью строят, как из кубиков, основную программу.
Основные языки программирования, использующие структурную технологию:
– Ада, Си – языки общего назначения;
– Бейсик (до Visual Basic);
– КОБОЛ – для экономических задач (много операторов, облегчающих манипуляции с файлами);
– Фортран, Паскаль, ПЛ/1 – для вычислительных задач (удобные средства для записи формул).
XXV. Основные принципы объектно-ориентированного программирования
Самостоятельная работа: [4] стр. 157–181
Объектно-ориентированное программирование (ООП) применяют при программировании разных манипуляций над объектами (программы управления размерами и положением окон Windows, листами книги Excel, файлами и т. п.).
Основные принципы составления алгоритма решения таких задач:
– Моделируемая система состоит из объектов. Объекты могут быть вложены друг в друга (объект лист Excel – это часть объекта книга Excel).
– Объекты каким-то образом взаимодействуют между собой.
– Каждый объект характеризуется своим состоянием и поведением. Состояние объекта задаётся значением некоторых его свойств (объекты типа «книга Excel» имеют свойства имя, размер, открыта/закрыта и т. п.). Действия, которые можно выполнять над объектом или которые он сам может выполнять, называются методами (объект типа «книга Excel» можно открыть, закрыть, переименовать, перенести в другую папку и т. п.). После каждого действия изменяются какие-то свойства объекта.
Основные термины и понятия:
Класс объектов – шаблон, определяющий основные свойства, методы и события группы объектов, объединяемых в класс.
События – ситуации, в которых надо программировать какой-то отклик объекта (что делать, когда над гиперссылкой или кнопкой расположен курсор, или щёлкает курсор, или происходит двойной щелчок).
Наследование – порождает иерархию объектов. В основном классе (родителе) можно выделять подклассы. Они состоят из объектов, входящих в класс родителя и обладают наряду со всеми его характеристиками дополнительной группой свойств, которых у других объектов класса-родителя нет. Пример: класс-родитель – окно Windows, подклассы – диалоговые окна, окна документов, окна папок. Подклассы окон документов – окна документов Word, окна документов Excel, окна документов Power Point и т. п.
Определение наследования в Интернет-тестах: свойство ООП, которое может быть смоделировано с помощью таксонометрической классификационной схемы (иерархии).
Инкапсуляция – сокрытие деталей программ, создающих и манипулирующих объектами. Создание объектов, манипулирование ими оформляется в виде подпрограмм. Программист указывает в своей программе только то, что и с каким объектом нужно сделать или какой результат нужно получить. То есть объекты рассматриваются как «чёрные ящики». Такой способ упрощает разработку программы и её модификацию.
Полиморфизм –.одно и то же имя может обозначать в разных подклассах одного класса разные методы для выполнения одного и того же типа действий (трансформация объекта: для подкласса овал – один метод (программа), для подкласса прямоугольник – другой.
По другому. Использование одного имени для задания общих для класса действий, что означает способность объектов выбирать внутренний метод, исходя из типа данных.
По другому. Возможность использования разных функций с одним и тем же именем в разных классах.
Основные языки ООП:
– С++ – для системного программирования;
– Java, JavaScript, PHP, Perl – для разработки сценариев в динамических Veb-страницах;
– Simula – первый язык, построенный по принципам ООП;
– Delphi (Object Pascal) – удобен для программирования баз данных.
XXVI. Этапы решения задач на компьютере
Самостоятельная работа: [3] стр. 198–209; [4] стр. 182–184
1. Постановка задачи:
– сбор информации о задаче;
– описание исходных данных и конечных целей;
– определение формы выдачи результатов.
2. Анализ и исследование модели задачи:
– анализ существующих аналогов;
– анализ технических и программных средств;
– разработка мат. модели;
– разработка структур данных.
3. Разработка алгоритма:
– выбор метода проектирования алгоритма;
– выбор формы записи алгоритма (блок-схема, псевдокод и т.п.);
– выбор тестов и метода тестирования;
– проектирование алгоритма.
4. Программирование:
– выбор языка программирования;
– уточнение способа организации данных;
– запись алгоритма на выбранном языке.
5. Отладка и тестирование:
– синтаксическая отладка: исправление ошибок в форме записи конструкций;
– отладка семантики и логической структуры (семантика – система правил истолкования отдельных конструкций языка): проверка правильности организации, например, циклов, ветвлений и т. п., соответствия типов переменных в выражениях, логическая структура – правильная последовательность обработки данных;
– тестовые расчёты и анализ результатов тестирования;
– совершенствование программы.
6. Деятельность, направленная на исправление ошибок в программной системе, называется отладкой .Тестирование – прогон отлаженной программы на эталонных вариантах исходных данных, для которых заранее известны результаты.
7. Анализ результатов тестирования и, если нужно, уточнение модели и повторение п.п. 2–5.
8. Сопровождение программы: составление документации по мат. модели, алгоритму, программе, набору тестов, использованию готовой программы и т. п.
? Интегрированная система программирования включает среди прочих компоненты:
:#5 текстовый редактор – для создания исходного текста программы;
#5 компилятор и #5интерпретатор – для перевода исходного текста программы в машинный код.
? Система программирования представляет программисту возможность:#5 автоматической сборки разработанных модулей в единый проект
? В состав средств программирования на языках высокого уровня входят:
#5 трансляторы,#5интерпретаторы.
? Интерпретатор: #5 воспринимает исходную программу на исходном языке и выполняет её построчно, не создавая исполняемого модуля.
Исполняемый файл создаётся из исходного текста программы компилятором и предполагает выполнение следующих процессов:
а) компиляция
б) компоновка
? Ошибка в форме записи программы приводит к сообщению о синтаксической ошибке:
? На этапе отладки программы:#5 проверяется корректность работы программы.
На этапе тестирования проверяется правильность составления алгоритма и выделения существенных закономерностей в моделируемой системе.
---------------------------------------------------------------------------------------------------------------------------
Дата добавления: 2015-07-18; просмотров: 1928;