- •Федеральное агентство по образованию Российской Федерации Томский государственный университет
- •Контрольные вопросы
- •1. Этапы решения задач с помощью компьютера
- •2. Стандарты структурного программирования
- •3. Этапы процесса разработки программы
- •4. Отладка и тестирование
- •5. Работа в интегрированной среде turbo pascal
- •5.1. Назначение системы
- •5.2. Создание программы в интегрированной среде
- •5.3. Меню File
- •5.4. Меню edit
- •5.5. Меню search
- •5.6.Меню run
- •5.7. Меню compile
- •5.8. Меню Debug
- •5.9. Меню Tools
- •5.10. Меню Options
- •5.11. Меню Window
- •5.12. Меню Help
- •5.13. Локальное меню
- •5.14. Клавиши быстрого управления
- •6. Сообщения об ошибках
- •6.1. Сообщения компилятора
- •6.2. Сообщения при выполнении программы
- •Ошибки dos
- •Ошибки ввода-вывода
- •Критические ошибки
- •Фатальные ошибки
- •Словарь основных терминов
- •Литература
1. Этапы решения задач с помощью компьютера
При решении задач вычислительного характера с помощью компьютера можно выделить следующие этапы, часть которых осуществляется без участия компьютера:
1. Постановка задачи и анализ модели ( сбор информации о задаче; определение конечных целей решения задачи; формулировка условия задачи; определение формы выдачи результатов; анализ существующих аналогов, имеющихся технических и программных средств; разработка физической модели, конструктивной и расчетной схем, математической модели; разработка структур данных).
2. Выбор метода решения задачи.
3. Выбор структуры данных.
4. Разработка и проектирование алгоритма; выбор тестов и методов тестирования.
На этом этапе определяется общая структура программы, разрабатываются спецификации модулей (подпрограмм) и связи между ними. Существует ряд подходов к проектированию программы:
а) "сверху вниз" – нисходящая технология, когда сначала проектируется модуль основной программы, затем подпрограммы, вызываемые этим модулем и т. д., переходя от блоков высшего уровня к блокам низшего; при этом используется метод пошаговой детализации: к проектированию более низкого уровня переходят только после окончания проектирования верхнего уровня; б)’"снизу вверх" – восходящее проектирование, когда сначала разрабатываются блоки низшего уровня, а затем более высоких и все они потом собираются в единое целое; в)"от центра к краям" – метод, заключающийся в разработке сначала наиболее сложных блоков, а потом более простых.
На этапе проектирования следует предусматривать более простые возможности модификации программы, в том числе и при эксплуатации.
Для реальных программ процесс проектирования является итерационным, так как трудно продумать все сразу.
5. Программирование (кодирование) на определенном алгоритмическом языке.
Кодирование также предпочтительнее организовать по принципу "сверху вниз", при этом при отладке модулей верхнего уровня на месте еще не написанных подпрограмм (модулей) ставятся заглушки (временные программы), которые выдают заранее заданные или вычисленные по упрощенному алгоритму значения или просто выдают информацию о том, что им передано управление, а потом возвращают его в вызывающую программную единицу.
При кодировании логика программы продумывается более тщательно, чем при проектировании. На практике этапы проектирования и программирования совмещаются во времени: целесообразно осуществлять их не столько последовательно, сколько параллельно. Нисходящая технология программирования снижает трудоемкость исправления ошибок (не надо переделывать модули нижнего уровня) и обеспечивает естественный порядок создания тестов.
Рекомендации по правилам программирования см. в [12] п. 6 на стр. 22 и в [16] п. 3.3 на стр. 27.
6. Отладка и тестирование программы (синтаксическая отладка; отладка семантики и логической структуры; тестовые расчёты и анализ результатов тестирования; совершенствование программы, см. п. 4 на стр. 7).
7. Счет.
8. Анализ результатов решения задачи и уточнение в случае необходимости математической модели с повторением этапов 1 – 7.
9. Оформление программного продукта ( составление документации к решенной задаче, математической модели, алгоритму, программе, набору тестов, инструкций по использованию).
10. Эксплуатация и сопровождение программы (этап для внедряемых программ: доработка программы для решения конкретных задач).
Итак, процесс решения задачи на ЭВМ — это совместная деятельность человека и компьютера. Человек реализует этапы, связанные с творческой деятельностью – постановка, алгоритмизация, программирование, тестирование, отладка и анализ результатов решения задачи, а на долю компьютера – обработка информации по разработанному алгоритму.
Приведённая последовательность этапов рассчитана для любых программ. Для небольших программ этапы могут упрощаться, но суть и порядок их следования остаются неизменными.
При разработке больших программных комплексов применяется методология структурного программирования ( СП ). При таком подходе программа рассматривается как совокупность иерархических абстрактных уровней, которые позволяют четко структурировать программу (делить программу на части), что улучшает читабельность и понимание ее программистами, облегчает доказательства ее корректности и позволяет повышать надежность, эффективность программы и максимально сокращать сроки и стоимость ее разработки . Один из основных принципов СП – "разделяй и властвуй", который позволяет программисту спокойно работать над отдельной частью, не заботясь о деталях всей системы.
Основной целью структурного программирования и главным фактором достижения остальных целей (читабельность, эффективность, надежность, повышение производительности труда программиста) является обеспечение дисциплины программирования в процессе создания программных комплексов, позволяющей уменьшить время разработки и облегчить возможность модификации программ.
Автор термина "структурное программирование" Эдсгер Дейкстра (Dijkstra, 1969г.) дал такое определение: "Структурное программирование – это дисциплина, которую программист навязывает сам себе".
