- •1.Структура команды File главного меню среды Turbo Pascal 7.0. Создание, открытие, сохранения, переименование и печать файла. Завершение работы в среде Turbo Pascal 7.0.
- •2.Редактирование, компиляция и запуск программы в среде Turbo Pascal 7.0. Трассировка программы. Трассировка программы
- •3.Главное меню интегрированной системы Turbo Pascal 7.0.
- •4.Текстовый редактор системы Turbo Pascal 7.0. Работа с блоками текста. Текстовый редактор
- •Работа с блоком текста.
- •5.Позиционные и непозиционные системы счисления. Основание и база системы счисления.
- •6.Двоичная система счисления. Двоичные таблицы сложения и умножения.
- •7.Перевод числа (целого и дробного) из десятичной системы в двоичную систему. Преобразование десятичных чисел в двоичные
- •Преобразование дробных десятичных чисел в двоичные
- •8. Восьмеричная и шестнадцатеричная системы счисления.
- •9.Представление целых и вещественных чисел в эвм. Представление вещественных чисел
- •Представление целых чисел
- •Кодирование символов
- •Двоично-десятичное кодирование
- •10.Алфавит Турбо Паскаля. Идентификаторы. Стандартные идентификаторы Турбо Паскаля. Служебные слова. Алфавит
- •Имена и идентификаторы
- •11.Разделители текста и правила их использования в программе на Турбо Паскале. Комментарии и директивы компилятора. Директивы компилятора
- •Комментарии
- •12.Понятие константы. Типы констант в Турбо Паскале. Раздел констант программы на Турбо Паскале.
- •13.Переменная. Раздел переменных программы на Турбо Паскале. Понятие типа значения. Раздел типов программы на Турбо Паскале.
- •Раздел типов
- •14.Классификация типов значений в Турбо Паскале. Стандартные и упорядоченные типы.
- •15.Стандартный тип символьный. Кодирование символьной информации. Кодировочные таблицы. Символьные типы
- •16.Стандартный тип целый. Операции и стандартные функции над целыми в Турбо Паскале. Дополнительные целые типы Турбо Паскаля. Целые типы
- •17.Стандартный тип логический. Логические операции.
- •18.Стандартный тип вещественный. Операции и стандартные функции над значениями вещественного типа. Дополнительные вещественные типы Турбо Паскаля. Вещественные типы
- •19.Наиболее важные стандартные функции Турбо Паскаля. Операция возведения в произвольную степень.
- •20.Понятие оператора в алгоритмическом языке. Классификация операторов Турбо Паскаля.
- •21.Операторы присваивания. Типы операторов присваивания в Турбо Паскале.
- •22.Арифметические выражения и арифметический оператор присваивания. Стандартные функции арифметического типа.
- •23 Логические выражения и логический оператор присваивания.
- •24. Условные операторы: полный и сокращенный.
- •25.Оператор варианта Case.
- •26. Использование условных операторов для организации разветвляющихся вычислительных процессов
- •27.Операторы цикла с параметром. Использование операторов цикла с параметром для вычисления конечных сумм и произведений.
- •28.Оператор цикла с предусловием.
- •29.Оператор цикла с постусловием.
- •31.Операторы перехода. Метки операторов. Раздел меток программы на Турбо Паскале. Пустой и составной операторы. Оператор перехода
- •Пустой оператор
- •Раздел меток
- •33.Графические блок-схемы алгоритмов. Представление составного, условного и циклического операторов с помощью графических блок-схем.
- •43. Многомерные массивы. Ввод и вывод многомерных массивов.
- •44. Множественный тип в Турбо Паскале. Конструктор множества.
- •55.Модули в Турбо Паскале. Структура модуля.
Имена и идентификаторы
Идентификатор (от идентифицировать, отождествлять) – синоним слова имя, т.е. <идентификатор>::=<имя> .
Поскольку алгоритм, определяющий процесс обработки данных, оперирует с различными программными объектами, то при записи алгоритма приходится ссылаться на используемые объекты. Для этого программным объектам даются индивидуальные имена, и описание действий над объектами дается в терминах их имен, которые и представляют соответствующие объекты. Именами обозначаются и некоторые атрибуты используемых объектов, например, тип значений. Роль таких имен и выполняют идентификаторы.
Идентификатором является любая конечная последовательность букв и цифр, начинающаяся буквой. Служебное слово нельзя использовать, как идентификатор.
<идентификатор>::=<буква>!<идентификатор><буква>!
<идентификатор><цифра>
Поскольку пробелы внутри идентификатора не допускаются, то наличие пробела означает конец идентификатора.
Пример
x, pi, s3 – идентификаторы; а end, 5f, sum(2), step.7 – не идентификаторы.
Имена выбираются программистом по своему усмотрению. Хотя синтаксическое определение не накладывает ограничений на длину идентификатора, в реализациях языка такие ограничения имеются. В Object Pascal, например, значимыми являются первые 63 символа. Буквы в верхнем и нижнем регистре в имени неразличимы, но могут использоваться для удобочитаемости. Символ подчеркивания ‘_’ считается буквой.
Некоторым идентификаторам в Паскале предписан вполне определенный смысл. Например, sin считается именем известной функции, значение которой равно синусу аргумента. Такие идентификаторы называют стандартными. Однако в отличие от служебных слов типа begin, смысл и назначение любого стандартного идентификатора может быть переопределен программистом по своему усмотрению с помощью соответствующего описания, хотя делать это без особой необходимости не рекомендуется для избежания ошибок в программе.
11.Разделители текста и правила их использования в программе на Турбо Паскале. Комментарии и директивы компилятора. Директивы компилятора
В меню OPTIONS/COMPILER включены опции, с помощью которых можно управлять работой компилятора. В ряде случаев бывает необходимо временно отменить действие той или иной опции при трансляции некоторого фрагмента программы. Особенно часто, например, такая необходимость возникает при обращении к диску: если программа пытается прочитать несуществующий файл или записать данные на защищенный диск, возникнет ошибка периода исполнения и программа аварийно закончит свою работу. В то же время, если отключить опцию I/O CHECKING, этого не произойдет, программа сможет проанализировать последствия обращения к диску и предпринять альтернативные действия.
В Турбо Паскале можно использовать директивы компилятора, которые в виде особым образом оформленных комментариев вставляются в текст программы и модифицируют те или иные возможности компилятора в процессе компиляции. Директивы могут быть переключающими, условными и параметрическими. Переключающие директивы воздействуют на те опции, которые включены в диалоговое окно OPTIONS/COMPILER; условные директивы определяют условия, при которых компилируются те или иные фрагменты программы; параметрические директивы задают параметры, которые должен учитывать компилятор.
Все директивы оформляются в виде особых комментариев: они обрамляются фигурными скобками, а за открывающей скобкой должен без пробелов следовать знак доллара (десятичный код 36). Как только в процессе разбора исходного текста программы компилятор встретит такого рода последовательность символов, он воспримет их как директиву и нужным образом изменит свою работу.
Переключающая директива содержит букву, обозначающую опцию, и знак «+» или «-». Знак «+» означает установку опции в активное состояние, знак «-» - в пассивное состояние. Например, директива {$I-} означает временное отключение контроля ошибок ввода-вывода, директива {$R+} - включение контроля границ диапазона. В одной директиве можно перечислить несколько опций, например:
{ $A+,B-,D+,E+,F+,I+,L+,N+,O-,R+,S+,V+}
В случае конфликта между директивами и опциями, предпочтение отдается директивам. Таким образом, правильно расставленные директивы обеспечивают нужную компиляцию программы независимо от настройки среды. Некоторые директивы компилятора могут действовать только на часть текста программы, такие директивы называются локальными; в отличие от этого глобальные директивы располагаются в самом начале текста программы (модуля) и действуют сразу на всю программу (модуль) в целом.
Ниже приводится список некоторых директив компилятора. В скобках дается действие директивы для знака «-». Знаком * отмечены локальные директивы.
{$А+} - выравнивать данные на границу слова (байта);
{SB+}* - вычислять логические выражения полностью (до получения результата);
{SD+} - разрешить (запретить) работу со встроенным отладчиком;
{$Е+} - включить (отключить) режим программной эмуляции сопроцессора;
{SF+} - использовать дальнюю (ближнюю) модель вызова;
{$G+}* - использовать (не использовать) полный набор команд микропроцессора Intel 80286 (микропроцессора Intel 8088);
{$I+}* - включить (отключить) контроль операций ввода-вывода;
{$L+} - включить (не включать) локальные символы в информацию для отладчика;
{SN+} - использовать числовой сопроцессор (реализовать операции с плавающей точкой программно);
{$O+} - разрешить (не разрешать) создание оверлейной структуры;
{$R+}* - включить (отключить) контроль границ диапазона;
{$S+}* - включить (отключить) контроль возможного переполнения стека;
{SV+}* - включить (отключить) контроль длины строк при обращении к процедуре или функции;
{$Х+} - использовать (не использовать) расширенный синтаксис.
К условным директивам относятся следующие локальные директивы компилятора:
{SDEFINE <условный символ>} - установить условный символ;
{SIFDEF <условный символ>}
{SIFNDEF <условный символ>)
{$ELSE}
{SENDIF}
К параметрическим относятся директивы:
{$М <стек>,<нижн>,<верх>} - установить требуемые размеры памяти (глобальная директива); здесь <стек> - размер стека; <нижн> - нижняя граница динамической памяти; <верх> - верхняя граница динамической памяти;
{$I <имя файла>} - включение PAS-файла: <имя файла> - имя включаемого файла;
{$L <имя фапла>} - включение OBJ-файла: <имя файла> - имя включаемого файла.