Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Структурное программирование




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

Лекция № 7. Основные технологии программирования – 2 час.

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

РАЗДЕЛ 6.
ТЕХНОЛОГИИ ПРОГРАММИРОВАНИЯ.

Понятие о структурном программировании. Модульный принцип программирования. Подпрограммы. Принципы проектирования программ сверху-вниз и снизу-вверх. Основные положения объектно-ориентированного программирования. Интегрированные среды программирования. Этапы решения задач на компьютере.

 

XXIII. Основные технологии программирования
Самостоятельная работа: [3] стр. 198–209; [4] стр. 182–184

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

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

Метод восходящего проектирования (Программирование "снизу вверх")

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

Нисходящее программирование (Программирование "сверху вниз")

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

Структурное программирование - методология и технология разработки программных комплексов, основанная на принципах:
- программирования "сверху-вниз";
- модульного программирования.

При этом логика алгоритма и программы должны использовать три основные структуры: последовательное выполнение, ветвление и повторение.

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 проверяется корректность работы программы.

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

---------------------------------------------------------------------------------------------------------------------------




Поделиться с друзьями:


Дата добавления: 2014-01-07; Просмотров: 3059; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.012 сек.