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

Раздел 3. Среда программирования

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

Мы уже упоминали о существенном вкладе основателя фирмы Borland Ф. Канна в создание интегрированной среды разработки (IDE – Integrated Development Environment), появившейся в системе Turbo Pascal. Очень многие его идеи в той или иной мере повторяются во многих системах программирования, созданных и другими разработчиками программных продуктов.

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

Диалоговый режим работы, ставший основным на персональных компьютерах, позволил за один сеанс обнаружить и исправить несколько ошибок. Однако на первых ПК для создания полноценных программных продуктов приходилось работать с несколькими автономными системными программами. Сначала запускался текстовый редактор для набора текста исходной программы на соответствующем алгоритмическом языке. Потом неоднократно запускался компилятор для устранения многочисленных синтаксических ошибок. В конечном итоге компилятор переводил исходный модуль в некоторую заготовку на машинном языке (объектный модуль). Непосредственно выполняться объектный модуль не мог, т.к. для его работы приходилось вызывать другие системные и/или прикладные модули, устанавливать связи между ними по общим переменным, объединять модули в единую программу, настраивать ее по месту расположения в оперативной памяти. Этим занимались две автономные утилиты – редактор связей (жаргонное название – линковщик, от англ. link) и загрузчик (жаргонное название – лоадер, от англ. load). После формирования так называемого загрузочного модуля наступал этап отладки, связанный с поиском ошибок алгоритмического характера. Для этой цели использовалась специальная программа – отладчик (ее название ассоциируется с процессом поимки вредных насекомых – от англ. debug). К перечисленному набору системных программ добавлялся еще и библиотекарь – утилита, обслуживающая системные и пользовательские библиотеки объектных модулей. Заслуга интегрированной среды заключалась в объединении всех этих компонент в единую систему, которая автоматически переходила к следующему этапу обработки после устранения ошибок, обнаруженных очередной утилитой. Кроме того, перед глазами пользователя всегда находился текст исходной программы, которую в любой момент времени можно было поправить и дополнить. В случае удачи (из программы исключены все синтаксические и семантические ошибки) запуск программы из интегрированной среды сводился к выполнению единственной команды Run (от англ. – Пуск).

3.1. Интегрированная среда Borland C++, ver 3.1

Система программирования Borland C++ (ver. 3.1) была разработана фирмой Borland в 1992 году для создания программ под управлением MS-DOS. Поэтому ресурсы, предоставляемые разрабатываемому приложению, подчиняются тем ограничениям, которые действовали в среде MS-DOS. Главные из них – объем оперативной памяти не более 640 Кбайт (за минусом того, что занимают компоненты операционной системы), объем каждого массива не более 64 Кбайт (на самом деле, еще немного меньше), диапазон данных типа int от -32768 до 32767. Эти ограничения наиболее характерны для так называемых 16-битных приложений. Во время запуска таким приложениям предоставляется полный экран дисплея, работающего в текстовом режиме.

Система BC 3.1 может быть запущена и из под Windows, но указанные ограничения для создаваемого приложения остаются в силе. После старта BC 3.1 в среде Windows на экране появляется окно интегрированной среды, представленное на рис. 3.1.

Рис. 3.1. Окно интегрированной среды Borland C 3.1

В верхней строке располагаются названия пунктов главного меню, краткое назначение которых таково:

File – общение с файловой подсистемой;

Edit – ввод и редактирование исходной программы;

Search – поиск в тексте исходной программы;

Run – запуск программы в автоматическом или пошаговом режиме;

Compile – компиляция исходной программы;

Debug – отладка программы;

Project – управление проектом сборки программы из нескольких модулей;

Options – настройка параметров интегрированной среды;

Window – управление дополнительными окнами системы программирования;

Help – обращение к файлам помощи.

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

Команды меню File (рис. 3.2) используются при наборе новой программы (команда New), при запоминании в файле на диске набранной или измененной программы (команды Save и Save as), при вызове ранее сохраненной программы (команда Open). Последняя команда этого меню (Quit) исполняется при выходе из интегрированной среды.

Рис. 3.2. Команды меню File

Вход в меню File происходит либо после щелчка мышью по заголовку File, либо после набора клавишной комбинации Alt+F. Выполнение наиболее употребительных команд также продублировано нажатием одной функциональной клавиши или соответствующей клавишной комбинации. Эквивалентные клавишные команды указаны справа.

Переход к той или иной команде выбранного меню сопровождается появлением в нижней строке подсказки. На рис. 3.2 выделена команда New, а в строке подсказки находится сообщение – "Создание нового файла в новом окне редактирования".

До тех пор, пока при сохранении набранной программы соответствующему дисковому файлу не присвоено индивидуальное имя, вновь набираемая программа выступает под именем NONAMEnn.CPP, т.е. программа "безымянная" (здесь nn – порядковый номер безымянной программы, созданной в течении одного сеанса).

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

Одной из наиболее часто используемых групп команд являются строки меню Run (рис. 3.3). По команде Run производится попытка запуска на выполнение программы, находящейся в текущем окне редактирования. При этом новая программа сначала компилируется, потом редактируются ее связи с другими модулями, затем полученный исполняемый модуль загружается в оперативную память и начинает выполняться. Если текущая программа ранее компилировалась и на диске существует соответствующий исполняемый модуль, то повторное выполнение начальных этапов не происходит. Любые ошибки, обнаруженные на стадии компиляции, выдаются в окне сообщений с указанием строки исходной программы, при обработке которой возникла исключительная ситуация. Аналогичные ошибки, обнаруженные редактором связей, выводятся в окно сообщений и процесс исполнения прерывается. Настоятельно рекомендуется запускать программу только после сохранения ее исходного текста на диске. Дело в том, что при некоторых зависаниях системы или работающей программы продолжение сеанса возможно только после перезагрузки компьютера. А в этом случае содержимое поля редактирования будет потеряно и текст программы придется набирать заново.

Во время выполнения программы ее работа может быть прервана системой, обнаружившей исключительную ситуацию (деление на нуль, переполнение, и т.д.), или пользователем. В ряде случаев для продолжения работы необходимо восстановить первоначальное состояние программы. Для этой цели используется команда Program reset.

Рис. 3.3. Команду меню Run

Командой Go to cursor пользуются для автоматического запуска программы с остановом в той строке исходного текста, где находится курсор. Обычно такой режим используется при отладке программы. Также для отладочных целей используется пошаговое выполнение программы. В этом режиме очередное нажатие функциональной клавиши F7 или F8 приводит к останову после выполнения очередной строки исходного текста. Разница между этими двумя режимами заключается в исполнении строк, содержащих вызов пользовательской функции. Нажатие F7 приводит к тому, что пошаговое исполнение сохраняется и в вызываемой функции. В отличие от этого нажатие F8 приводит к автоматическому выполнению вызываемой функции и останову после возврата из нее.

Очень важно уметь пользоваться справочной системой интегрированной среды – командами меню Help (рис. 3.4).

Рис. 3.4. Команды меню Help

Справочная система предназначена для работы в двух режимах. Первый из них, называемый контекстной помощью, срабатывает следующим образом. Курсор мыши подводится к интересующему вас служебному слову или наименованию системной функции и нажимается клавиша F1. Второй способ связан с использованием команд меню HelpContents (Содержание) и Index (Указатель терминов, упорядоченных по алфавиту).

По команде Contents на экране (рис.3.5) появляются названия справочных разделов:

  • How to Use Help – Как использовать помощь;

  • Menus and Hot Keys – Меню и "горячие" клавиши (клавишные команды);

  • Editor Commands – Команды редактора;

  • Assembler (built-in) – Встроенный ассемблер;

  • Borland C++ Language – Язык C++ среды Borland;

  • Command Line – Использование командной строки;

  • Container Classes – Классы-контейнеры;

  • Error Messages – Сообщения об ошибках;

  • Functions – Функции;

  • Header Files – Заголовочные файлы;

  • IOStream Classes – Потоковые классы ввода/вывода;

  • Utilities – Сервисные программы.

Рис. 3.5. Разделы файла помощи системы BC 3.1

По команде Index на экране появляется упорядоченный по алфавиту список (рис. 3.6), в котором можно выбрать интересующий вас термин и перейти к соответствующему кадру помощи.

Рис. 3.6. Фрагмент списка терминов

3.2. Среда визуального программирования Borland C++ Builder

Система Borland C++ Builder (ver. 5.0) появилась в 2000 году. После ее запуска на экране появляется многооконное приложение Windows, фрагмент которого приведен на рис. 3.7. Его главное меню содержит уже знакомые наименования – File, Edit, Search, Project, Help. Основной набор команд соответствующих разделов главного меню системы BC 3.1 здесь повторяется, но новый набор существенно шире. Кроме того, в эти меню включены команды, ранее приписанные разделам Compile, Debug, Options. Детальное знакомство со всем этим хозяйством состоится в более позднем курсе "Визуальное программирование". В рамках настоящего курса мы познакомимся с основными расширениями языка системы программирования BCB C++ и возможностью создания так называемых консольных приложений Windows.

Консольное приложение Windows внешне очень напоминает приложение в стиле MS-DOS. Монитор работает в режиме, похожем на текстовый режим DOS-приложений, окно консольного приложения может быть распахнуто на весь экран нажатием клмбинации Alt+Enter. Однако сняты все прежние ограничения на ресурсы по оперативной памяти – задача может использовать максимальный объем, предоставляемый операционной системой Windows, массивы могут иметь достаточно большие размеры, обусловленные 32-разрядной адресацией памяти. Кроме того, для данных типа int теперь выделяется по 4 байта, что расширяет диапазон представления таких значений по модулю до 231-1.

Рис. 3.7. Среда программирования Borland C++ Builder (ver. 5.0)

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

Для создания консольного приложения в среде BCB необходимо выполнить команду New в меню File и в появившемся диалоговом окне (рис. 3.8) выбрать помощника Console Wizard и нажать кнопку OK.

Рис. 3.8. Выбор режима создания консольного приложения

Затем появится еще одно диалоговое окно (рис. 3.9) для выбора языка программирования (C или C++) и формирования имени текущего проекта. После нажатия кнопки OK появится еще одно окно для набора исходной программы (рис. 3.10). Если имя проекта мы не меняли, то головной программе присваивается стандартное имя Unit1.cpp (или Unit2.cpp, Unit3.cpp, …), а соответствующий проект именуется как Project1.bpr (Project2.bpr, Project3.bpr, …).

Рис. 3.9. Окно помощника Console Wizard

В окне редактирования консольного приложения находится стандартная заготовка (см. рис. 3.10), которая подключает системный заголовочный файл vcl.h, содержит указание hdrstop, предотвращающее повторную обработку заголовочных файлов (это ускоряет процесс повторной компиляции), и стандартную оболочку головной функции main. В этой оболочке предусмотрена возможность использования параметров командной строки – количества параметров (argc) и массива со списком имен параметров (argv[]). Так как тип функции объявлен как int, то в заготовке предусмотрен оператор возврата с признаком нормального завершения приложения (return 0).

Рис 3.10. Окно редактирования консольного приложения

Дополнительные заголовочные файлы, подключаемые пользователем, необходимо набирать после строки #include <vcl.h>.

После набора текста консольного приложения его проект и исходный модуль необходимо сохранить. Это рекомендуется делать в отдельном каталоге, выполнив команду File Save Project As. И только теперь можно осуществить запуск по команде Run Run.