Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
pos.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
1.94 Mб
Скачать

Введение

Учебное пособие написано на основе курса лекций, читаемых студентам 1-2 курсов математического факультета. Может быть полезно начинающим программистам, желающим самостоятельно изучить основы программирования на языке Object Pascal или слушающим соот­ветствующий лекционный курс. Предполагается, что читатель хотя бы в минимальной степени знаком с операционными системами DOS и Windows и понимает, например, что такое имя файла, каталог, папка, диск, путь и т.п. Информация о средах программирования Turbo Pascal и Borland Pascal, ориентированных на работу с DOS, а также о среде программирования Delphi, предназначенной для разработки приложений, работающих под управлением операционной системы Windows, в пособии не приводится. Отмечены лишь некоторые важные моменты. Учебное пособие содержит примеры, записанные как фрагмент программы или законченная программа. Все примеры оттестированы. Однако авторы хотели бы предостеречь от некритического использования этих программ читателем - большинство из них лишь иллюстрирует возможности языка и не претендует на оптимальность. В пособие включена подборка вариантов задач по основным темам.

1. Общая схема решения задачи на персональном компьютере

В общем виде процесс решения задачи на ПК можно представить в виде последовательности следующих действий:

1) анализ задачи;

2) разработка алгоритма решения задачи;

3) разработка пользовательского интерфейса;

4) написание кода;

5) отладка программы;

6) тестирование программы;

7) составление документации.

Все эти этапы (иногда в неявной форме) обязательно выполняются любым программистом при решении любой задачи. Рассмотрим их подробнее.

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

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

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

На этапе написания кода вы записываете алгоритм на языке программирования. Один и тот же алгоритм можно запрограммировать множеством различных способов, но вы должны стремиться написать оптимальную программу. Хорошо написанная программа, как правило, содержит меньше ошибок и гораздо быстрее отлаживается.

Этап отладки включает в себя трансляцию программы и проверку ее на простейших тестах. Трансляция программы - это процесс перевода ее с языка программирования на машинный язык, его осуществляет спе­циальная программа - транслятор. В зависимости от порядка перевода и выполнения команд все трансляторы делят на два типа: компиляторы и интерпретаторы. Компилятор - это транслятор, преобразующий исходный код языка в машинный код и создающий таким образом выполнимый файл. Интерпретатор, в свою очередь, преобразует исходный код в машинный шаг за шагом, т.е. каждая команда преобразуется интерпретатором и сразу выполняется, затем интерпретатор преобразует следующую команду. Язык Pascal является компилируемым. При трансляции вы постепенно ис­правляете допущенные при написании программы синтаксические ошибки, сле­дите за сообщениями транслятора - он указывает, какая обнаружена ошибка и где именно. После того, как вы исправите все синтаксические ошибки, и транслятор сообщит об успешном завершении трансляции, будет создан файл с име­нем, таким же, как у вашего исходного файла, и с расширением exe (от ЕХЕcutive - выполняемый); этот файл содержит программу (в отличие от исход­ного файла, содержащего лишь текст программы), которая может быть выполнена. Необходимо отчетливо понимать, что задачей транслятора ни в коем слу­чае не является поиск ошибок в ваших программах, он сообщает о них лишь в том случае, когда не может правильно интерпретировать ваш текст. Успешно осуществив трансляцию, запустите свою программу. Не следует думать, что эта программа не содержит ошибок! Все логические ошибки, допущенные вами, остались в программе, и на этапе отладки вы должны найти их и исправить. Не существует никаких об­щих рецептов для отладки - класс программиста главным образом, как раз и проявляется в том, как он отлаживает программы. Но один полезный совет мож­но дать: аккуратно и подробно выводите при отладке все вычисляемые вашей программой величины.

После того, как вы решите, что ваша программа работает правильно (обычно это не соответствует действительности), начинайте тестирование - выполняйте программу с различными наборами входных данных, причем они обязательно должны содержать все особые случаи. Когда вы убедитесь, что ваша программа иногда работает правильно, а иногда - нет, возвращайтесь к алгоритму, пере­сматривайте его и заново повторяйте все этапы. Успешно завершив тестирова­ние, вы можете надеяться, что ваша программа верна.

Следует четко разграничивать два понятия - верная программа и хорошая программа. Всякая хорошая программа верна, но далеко не всякая верная про­грамма хороша - она может использовать неэффективный (или неэффективно запрограммированный) алгоритм, занимать много лишней памяти, быть неряш­ливо оформленной и т.д. Старайтесь писать не только верные, но и хорошие программы!

Под составлением документации понимается разработка всех материалов, описывающих назначение и принципы работы программы. Документация может быть внутренней и внешней. Внутренняя документация состоит из комментариев, включенных в код программы. С их помощью человек, не знакомый с програм­мой, может понять, как она работает. Внешняя документация содержит техниче­ское задание, блок-схемы, псевдокоды, базовые допущения и описание входных и выходных данных. Для коммерческих программ внешней документацией часто служит руководство пользователя. Главное назначение документации — позволить человеку, не являющемуся разработчиком программы, использовать ее и при не­обходимости модифицировать ее код.

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

Рис.1. Полный цикл разработки программы.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]