Лабораторная работа по дисциплине «Информационные технологии в менеджменте» для ТулГУ



Лабораторная работа №32 «Язык программирования Турбо Паскаль: Интегрированная среда программирования»

1.Цель и задачи лабораторной работы

Приобретение навыков программирования на языке Турбо Паскаль.

2.Теоретические сведения

2.1.Главное меню системы программирования. Максимальные возможности по  взаимодействию с системой программирования Турбо Паскаль имеет тот, кто работает в специальной интегрированной среде этой системы (запускается программа BPW.EXE), представленной следующим окном с главным меню и панелью инструментов, внутри которого открываются вторичные окна редактирования.

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

Команды главного меню:

Команда File позволяет создавать файлы, помещать их в окно редактирования и проводить с ними различные операции.

Эта команда открывает подменю из десяти опций:

Опция New производит открытие нового окна редактирования и нового файла с именем NONAME <цифра><цифра>.PAS .

Опция Open позволяет выбрать файл с исходным текстом программы и поместить его в одно из окон редактирования.

Опция Save позволяет сохранить текст активного окна редактирования в файле с именем, указанным в строке заголовка этого окна.

Опция Save As позволяет сохранить текст активного окна редактирования в файле с новым именем.

Опция Save All работает так же, как опция Save, но сохраняет файлы, находящиеся не только в активном окне, но и во всех остальных открытых к данному моменту окнах редактирования.

Опция Print распечатывает содержимое активного окна редактирования.

Опция Printer Setup позволяет установить нужный принтер и задать выделение элементов синтаксиса при печати. Сама печать производится с помощью опции Print.

Опция Exit осуществляет выход из Среды программирования Турбо Паскаль и удаление ее из оперативной памяти компьютера. Если перед выбором этой опции не все редактируемые файлы были сохранены, система предложит Вам их сохранить.

List of closed files. Если Вы закрыли файл в процессе редактирования (нажав Ctrl+F4), закрытые файлы отображаются внизу подменю FILE. Выберете имя файла из списка в нижней части меню для его открытия.

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

Подменю команды Edit состоит из семи опций:

Опция Undo позволяет отменить все изменения, внесенные последней операцией редактирования.

Опция Redo отменяет действия, выполненные с помощью опции Undo.

Опция Cut. С помощью этой опции выделенный фрагмент текста удаляется из окна редактирования и помещается в Буфер обмена.

Опция Copy помещает копию выделенного фрагмента текста в Буфер обмена. Важно помнить, что фрагмент можно взять из окна помощи (это окно чаще всего открывается по команде Help).

Опция Paste позволяет поместить текст из Буфера обмена (или выделенный фрагмент текста из окна Clipboard) в то место активного окна, которое указано курсором.

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

Команда Search осуществляет поиск любой необходимой последовательности символов в редактируемых текстах.

Ее подменю включает следующие опции:

Опция Find ищет заданную последовательность символов. Условия поиска задаются с помощью нескольких кнопок-флажков. Флажки позволяют установить, следует ли при поиске:

  • различать прописные и строчные буквы;
  • анализировать только слова или знаки пунктуации тоже;
  • распознавать включаемые в искомую строку спецификаторы формата.

Кроме того, с помощью кнопок-переключателей определяется область и направление поиска: областью поиска может быть весь текст или выделенный фрагмент;  начало или конец области может также помечаться курсором; направление поиска может либо быть прямым, т.е. от начала области к концу, либо обратным.

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

Опция Search Again позволяет сохранить все те условия поиска, которые были сформированы в результате самого последнего вызова либо опции Find, либо опции Replace, и снова провести поиск.

Опция Go to line number. С помощью этой опции ищется участок текста, содержащий строку с заданным номером. Найденный участок появляется в окне редактирования.

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

Опция Find Error позволяет определить место нахождения ошибки, возникающей во время выполнения программы. Если флаг Debugging установлен (см. меню опции Option), то при возникновении ошибки курсор автоматически будет помещен на строку, содержащую ошибочный оператор.

Опция Objectвыводит список объектов Вашего приложения и отображает связи между ними.

Опция Unitвыводит информацию о подключенных модулях в Вашей программе.

Опция Globals выводит список встроенных функций, типов данных, операторов и команд.

Опция Symbol выводитдиалоговыйзапрос на поиск указываемых символов.

Команда Run позволяет проводить компиляцию, компоновку и выполнение программы.

Ее подменю включает две опции:

Опция Run осуществляет компиляцию, компоновку и выполнение программы, находящейся в активном окне редактирования. Если со времени последней компиляции исходный текст не претерпел изменений, программа сразу же будет выполнена.

Нажатие комбинации клавиш Ctrl+Break приводит к приостановке процесса выполнения программы; курсор в этом случае будет установлен на строке, которая непосредственно следует за уже выполненной. Выполнение программы после этого можно продолжить. Повторное нажатие клавиш Ctrl+Break завершит работу программы.

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

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

В состав подменю входят следующие опции:

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

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

Опция Make. С помощью этой опции компилируются:

а) программа (модуль) либо находящийся в файле, имя которого указано в опции Primary File, либо присутствующий в активном окне редактирования;

б) все модули, которые удовлетворяют двум условиям: во-первых, вызываются откомпилированной программой (модулем) из пункта (а) и, во-вторых, изменялись с момента их последней компиляции;

в) модули, которые обращаются к определенным в пунктах (а) и (б) модулям, секции связи которых претерпели изменения.

Опция Build подобна опции Маке, но предусматривает перекомпиляцию всех модулей, определенных в пунктах (а), (б) и (в) вне зависимости от того, подвергались они изменениям с момента последней компиляции или нет.

Опция Target определяет режим работы программы: а) реальный режим DOS; б) защищенный режим DOS; в) Windows-приложение.

Опция Primary File отображает диалоговый запрос, где Вы определяете какой файл с расширением .PAS будет откомпилирован, когда Вы выберете Make или Build. Используется когда Вы работаете над программой, содержащей несколько модулей (с расширениями .TPW, .TTP, .TPU). Независимо от редактируемого файла команда Make или Build всегда оперирует с главным файлом. Если файл, расположенный в активном окне не является головным, а Вы хотите откомпилировать именно его, выберите команду Compile.

Опция Clear primary File очищает поле опции Primary File.

Опция Information дает возможность по результатам компиляции получить информацию о программе (или модуле).

Команда Tools предназначена для доступа к сопутствующим среде программирования Турбо Паскаль дополнительным программам.

Опция Turbo Debugger предназначена для запуска внешнего отладчика, который предоставляет широкий спектр различных возможностей для отладки Вашей программы.

Опция Resource Workshop позволяет получить информацию об используемых ресурсах.

Опция Turbo profiler запускает оптимизатор программ.

Команда Options предназначено для управления режимами компиляции и компоновки программ, написанных на Турбо Паскале, для определения  параметров интегрированной среды и, в частности, встроенного отладчика.

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

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

Опция Memory Sizes позволяет задать потребные ресурсы памяти для работы программы. Установки Memory-size также могут быть заданы в коде программы с помощью директивы компилятора $M.

Опция Linker позволяет задать режимы этапа компоновки программы.

Опция Directories открывает диалоговый запрос, где определяются директории, которые использует среда программирования Турбо Паскаль во время запуска и работы программ.

Опция Browser выводит на экран диалоговый запрос, который позволяет определить какую символьную информацию отображает ObjectBrowser (Инспектор объектов).

Опция Tools выводит диалоговый запрос, где можно определить путь и аргументы для следующих приложений:

  • Turbo Debugger
  • Resource Workshop
  • Winsight
  • Turbo Profiler.

Опция Environment имеет подменю со следующими опциями:

Опция Preferences… выводит диалоговый запрос, где Вы можете выбрать установки и интерфейс среды программирования Турбо Паскаль.

Опция Editor… выводит диалоговый запрос Editor, где Вы можете выбрать установки и интерфейс текстового редактора.

Опция Mouse… выводит диалоговый запрос для задания режимов работы мыши.

Опция Startup… выводит диалоговый запрос, где можно задать начальные установки для среды программирования Турбо Паскаль.

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

Опция Open выводит диалоговый запрос для открытия файла конфигурации среды программирования Турбо Паскаль со всеми установками, выполненными в рамках команды Options.

Опция Save сохраняет все установки, выполненные в рамках команды Options, в текущем файле конфигурации.

Опция Save As сохраняет установки, выполненные в рамках команды Options, в новом файле конфигурации.

Команда Window содержит опции управления окнами. В среде программирования Турбо Паскаль 7.0 могут быть открыты окна редактирования, наблюдений, вывода, помощи.

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

Опция Cascade располагает на экране все открытые окна, но друг за другом; не перекрытым останется только одно активное окно. У всех остальных окон видны только их заголовки.

Опция Tile размещает на экране все открытые в данный момент окна. Размеры всех окон одинаковы, друг друга они не перекрывают.

Опция Arrange icons позволяет упорядочить значки всех свернутых окон

Опция Close All предназначена для закрытия всех открытых окон.

Команда Help позволяет получить справочную информацию по любым аспектам языка и его интегрированной среды через окно помощи.

Получить справку можно также о выбранной опции меню, нажав клавишу F1, или о языке, поместив курсор в окне редактирования под интересующим словом и нажав клавиши Ctrl+F1. Если окно Help активно, то присутствующие в нем подсвеченные ключевые слова или предложения могут быть выбраны для получения справочной информации.

Опция Contents выдает оглавление справочной информации.

Опция Topic Search выдает справку о языковой конструкции, на котором стоит курсор в окне редактирования.

Опция Using Help поясняет как пользоваться справкой.

Опция Compiler directives выдает информацию о директивах компилятора.

Опция Procedure and Functions содержит данные о подпрограммах

Опция Reserved words выдает информацию о зарезервированных словах языка.

Опция Standard Units содержит информацию о стандартных модулях системы программирования.

Опция Turbo Pascal Language дает информацию о синтаксических элементах языка.

Опция Error messages содержит список сообщений об ошибках компиляции и выполнения.

Опция About выводит информацию о программе.

2.2. Локальные меню. Имеется два локальных меню, каждое из которых привязано к соответствующему окну: редактирования и Инспектора объектов. Активизация локального меню производится правой кнопкой мыши.

Меню окна редактирования содержит четыре опции команды Edit главного меню: Cut, Copy, Paste, Clear; одну опцию команды Help: Topic search; опцию Options, которая дублирует опцию Environment/Editor команды Options; две новые опции:

Опция Open file at cursor приводит к загрузке в новое окно файла, имя которого позиционировано курсором.

Опция Browse symbol at cursor открывает окно для выделенного объекта (модуль, процедура, переменная и т.п.)

Меню окна Инспектора объектов содержит опции:

Опция Goto       позволяет перейти к программе.

Опция Browse позволяет работать с выбранным объектом.

Опция Previous View противоположна опции Browse выводит начальное окно Инспектора объектов.

Опция Overview отображает объекты в иерархическом порядке.

Опция Print распечатывает активное окно.

Опция Window Mode позволяет работать или в одном окне или в нескольких.

Опция Options выводит окно установок Инспектора объектов.

Запустите программу Borland Pascal (BPW.exe).

Скопируйте текст нижеприведенной программы в окно редактирования.

Сохраните программу в файле.

Запустите программу на выполнение командой Run/ Run.

Program Exampl;

uses wincrt; {Подключение модуля}

VAR          {Раздел объявления переменных}

       I:INTEGER;{Объявление целочисленной переменной}

       Y:REAL;   {Объявление вещественной переменной}

BEGIN        {Начало раздела операторов}

       write(‘Введите число:’); {Вывод на экран}

       read(i);   {Ввод значения с клавиатуры.

                      Окончание ввода — клавиша Enter}

       i:=i+4;    {Увеличение введенного значения на 4}

       y:=10/i;   {Присвоить переменной y значение 10/i}

       write(‘Ответ: i=’,i,’  y=’,y);{ Вывод на экран}

END.         {Конец программы}

Удалите из текста программы третью, четвертую и пятую строки.

Откомпилируйте программу.

Результатом будет:

  • останов выполнения программы на этапе компиляции;
  • выделенная строка в тексте программы в которой обнаружена ошибка;
  • если ошибка позволяет точно идентифицировать место ее возникновения, то курсор будет находится непосредственно перед эти местом, в противном случае в начале строки.
  • в нижней части окна будет выведено сообщение об ошибке в процессе компиляции (запомните номер).

Восстановите удаленные строки используя команду Undo.

Запустите программу на выполнение.

На приглашение ввести число, введите любое число не равное 0

Результатом будет вывод на экран значений переменных.

Запустите программу на выполнение.

На приглашение ввести число, введите 0

Результатом будет:

  • останов выполнения программы на этапе выполнения;
  • выделенная строка в тексте программы в которой обнаружена ошибка;
  • если ошибка позволяет точно идентифицировать место ее возникновения, то курсор будет находится непосредственно перед эти местом, в противном случае в начале строки.
  • в нижней части окна будет выведено сообщение об ошибке во время выполнения программы (запомните номер)

Выполните команду Help/ Error massages.

Выберите: ошибки в процессе компиляции (compiler error)

или ошибки во время выполнения программы (run time error).

Найдите описание ранее встреченных Вами ошибок по их номеру

(см. также приложение 1)

3.Оборудование для лабораторной работы.

Персональный IBM PC — совместимый компьютер, подключенный в одноранговую локальную вычислительную сеть под управлением Windows 95.

4.Порядок выполнения работы.

  1. Прочитать п.2 настоящего руководства и выполнить предписанные в нем действия.
  2. Закрепить полученные знания, ответив на вопросы для самотестирования.

Приложение 1.

Сообщения об ошибках в процессе компиляции

№ ошибки Message Сообщение
1 Out of memory Нехватка памяти
2 Identifier expected ожидается идентификатор
3 Unknown identifier неизвестный идентификатор
4 Duplicate identifier попытка использовать один идентификатор для разных типов переменных
5 Syntax error Синтаксическая ошибка
6 Error in real constant Ошибка в вещественной константе
7 Error in integer constant Ошибка в целочисленной константе
8 String constant exceeds line Строка содержит превышает длину
10 Unexpected end of file Неожиданный конец файла
11 Line too long Слишком большая строка
12 Type identifier expected Тип идентификатора не описан как положено
13 Too many open files слишком много открытых файлов
14 Invalid file name Неправильной имя файла
15 File not found Файл не найден
16 Disk full Нехватка мести на диске
17 Invalid compiler directive Неправильная директива компилятора
18 Too many files Слишком много файлов
19 Undefined type in pointer definition Неопределенный тип при определении указателя
20 Variable identifier expected ожидается идентификатор переменной
21 Error in type Ошибка типа
22 Structure too large Структура слишком большая
23 Set base type out of range Выход за границы диапазона
24 File components may not be files or objects Компоненты файла не могут быть файлами или объектами
25 Invalid string length Неправильная длина строки
26 Type mismatch Несоответствие типов
27 Invalid subrange base type Недействительный тип основы поддиапазона
28 Lower bound > than upper bound Нижняя граница больше верхней
29 Ordinal type expected Ожидается тип Ordinal
30 Integer constant expected ожидается целочисленная константа
31 Constant expected ожидается константа
32 Integer or real constant expected ожидается целочисленная или вещественная константа
33 Pointer type identifier expected ожидается идентификатор типа Pointer
34 Invalid function result type Неправильный тип результата функции
35 Label identifier expected ожидается идентификатор типа Label
36 BEGIN expected ожидается оператор BEGIN
37 expected ожидается оператор END
38 Integer expression expected ожидается целочисленное выражение
39 Ordinal expression expected ожидается Порядковое выражение
40 Boolean expression expected ожидается булево выражение
41 Operand types do not match operator Типы Операнда не соответствуют оператору
42 Error in expression Ошибка в выражении
43 Illegal assignment Неправильное назначение
44 Field identifier expected ожидается идентификатор типа Field
45 Object file too large Объект файл слишком большой
46 Undefined external Процедура или функция неопределенна как external
47 Invalid object file record Неправильная запись объекта файла
48 Code segment too large Сегмент кода слишком большой
49 Data segment too large Сегмент данных слишком большой
50 DO expected ожидается оператор DO
51 Invalid PUBLIC definition Неправильное определение оператора PUBLIC
52 Invalid EXTRN definition Неправильное определение оператора EXTRN
53 Too many EXTRN definitions Слишком много EXTRN определений
54 OF expected ожидается оператор OF
55 INTERFACE expected ожидается оператор INTERFACE
56 Invalid relocatable reference Недействительная ссылка
57 THEN expected ожидается оператор THEN
58 TO or DOWNTO expected ожидается оператор TO или DOWNTO
59 Undefined forward неопределен заранее
61 Invalid typecast
62 Division by zero деление на 0
63 Invalid file type неправильный тип файла
64 Cannot Read or Write variables of this type Невозможно прочитать или записать переменную данного типа
65 Pointer variable expected ожидается переменная типа Pointer
66 String variable expected ожидается переменная типа String
67 String expression expected ожидается строковое выражение
68 Circular unit reference Циклическая ссылка
69 Unit name mismatch
70 Unit version mismatch
71 Internal stack overflow переполнение внутреннего стека
72 Unit file format error неправильный формат файла типа Unit
73 IMPLEMENTATION expected ожидается оператор IMPLEMENTATION
74 Constant and case types do not match
75 Record or object variable expected ожидается переменная типа Record или object
76 Constant out of range Значение константы вышло за пределы диапазона
77 File variable expected ожидается файловая переменная
78 Pointer expression expected ожидается выражение типа Pointer
79 Integer or real expression expected ожидается целочисленное или вещественное выражение
80 Label not within current block Метка вне текущего блока
81 Label already defined Попытка еще раз определить уже определенную метку
82 Undefined label in preceding statement part Метка не определена ранее
83 Invalid @ argument Недействительный аргумент
84 expected ожидается оператор UNIT
85 «;» expected ожидается»;»
86 «:»expected ожидается «:»
87 «,» expected ожидается «,»
88 «(» expected ожидается «(«
89 «)» expected ожидается «)»
90 «=» expected ожидается «=»
91 «:=» expected ожидается «:=»
92 «[» or «(.» expected ожидается «[» или «(.»
93 «]» or «.)» expected ожидается «]» или «.)»
94 «.» expected ожидается «.»
95 «..» expected ожидается «..»
96 Too many variables Лишние переменные
97 Invalid FOR control variable Неправильный тип переменной цикла
98 Integer variable expected ожидается переменные типа Integer
99 File types are not allowed here
100 String length mismatch Превышена длинна строки
101 Invalid ordering of fields неправильный порядок или поля
102 String constant expected ожидается константа типа String
103 Integer or real variable expected ожидается переменные типа Integer или real
104 Ordinal variable expected ожидается Порядковая переменная
105 INLINE error
106 Character expression expected ожидается выражение символьного типа
108 Overflow in arithmetic operation Переполнение в арифметической операции
109 No enclosing FOR, WHILE, or REPEAT statement Нет завершающего блока для циклов типа FOR, WHILE или REPEAT
112 CASE constant out of range метка в операторе CASE неправильная
113 Error in statement Ошибка в программе
114 Cannot call an interrupt procedure
116 Must be in 8087 mode to compile Должен компилироваться в режиме 8087
117 Target address not found Место назначения не найдено
118 Include files are not allowed here
119 No inherited methods are accessible here
121 Invalid qualifier
122 Invalid variable reference
123 Too many symbols Слишком много символов
124 Statement part too large
126 Files must be var parameters файловые переменные  должны быть описаны
127 Too many conditional symbols
128 Misplaced conditional directive
129 ENDIF directive missing отсутствие директивы ENDIF
130 Error in initial conditional defines
131 Header does not match previous definition Заголовок не соответствует предыдущему описанию
133 Cannot evaluate this expression Не возможно оценить это выражение
136 Invalid indirect reference
137 Structured variables are not allowed here
140 Invalid floating-point operation Неправильная операция с плавающей точкой
142 Pointer or procedural variable expected Ожидается переменная типа Pointer или procedural
143 Invalid procedure or function reference
146 File access denied Доступ к файлу запрещен
147 Object type expected Ожидается тип Object
148 Local object types are not allowed
149 VIRTUAL expected Ожидается оператор VIRTUAL
150 identifier expected ожидается идентификатор Method
151 Virtual constructors are not allowed
152 Constructor identifier expected ожидается идентификатор Constructor
153 Destructor identifier expected ожидается идентификатор Destructor
154 Fail only allowed within constructors
155 Invalid combination of opcode and operands
156 Memory reference expected
157 Cannot add or subtract relocatable symbols
158 Invalid register combination Неправильное состояние регистров
159 286/287 instructions are not enabled инструкции 286/287 не задействованы
160 Invalid symbol reference
161 Code generation error Ошибка генерации сода программы
162 ASM expected ожидается оператор ASM
163 Duplicate dynamic method index
164 Duplicate resource identifier Повторное определение ресурса
165 Duplicate or invalid export index
166 Procedure or function identifier expected ожидается идентификатор процедуры или функции
167 Cannot export this symbol Не может экспортировать этот символ
168 Duplicate export name
169 Executable file header too large Заголовок исполняемого файла слишком велик

©2008-2020, Интернет-институт ТулГУ

Если Вы нашли ошибку, выделите её и нажмите Ctrl+Enter.
Узнать сколько стоит решение этого задания
(ответ в течение 5 мин.)
X