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

Контрольные вопросы экзамену

2 Семестр

  1. Группы символов языка Паскаль.

[Алфавит языка ТП 7.0 составляют:

1. Символы, используемые для составления идентификаторов:

  • латинские строчные и прописные буквы,

  • арабские цифры от 0 до 9 (в идентификаторах цифры могут использоваться наряду с буквами, начиная со второй позиции),

  • символ подчеркивания (ASCII, код 95).

2. Символы-разделители:

  • Символ пробела (ASCII, код 32). Как уже отмечалось, символ пробела является разделителем в языке ТП 7.0. Основное назначение этого символа - разделение ключевых слов и имен.

  • Управляющие символы (имеют ASCII-коды от 0 до 31). Эти символы могут применяться при описании строчных и символьных констант. Управляющие символы с ASCII-кодом 9 (табуляция), а также 10 и 13 (замыкающее строку) используются в качестве разделителей при написании программ на ТП 7.0.

В любом месте программы, где можно расположить один символ-разделитель, их можно разместить сколько угодно, т.е. для компилятора следующие записи будут эквивалентны:  A:=B+C-D;Write(A);  А := В + С - D; Write (A);  A:=  В+С  - D ; Write (А);

3. Специальные символы - символы, выполняющие определенные функции при построении различных конструкций языка:  + - * / { } [ ] ( ) < > . , ' : ; ^ @ # $ 4. Составные символы - группа символов, которые воспринимаются компилятором как единое целое:  <= => := (* *) (. .) .. 5."Неиспользуемые" символы.  Символы так называемой расширенной таблицы ASCII, т.е. символы, имеющие коды от 128 до 255 (в этой области находятся символы алфавита русского языка и символы псевдографики на IBM-совместимых компьютерах), а также некоторые символы из основной таблицы ASCII (например: (&), (!), (%), (-), (") и некоторые другие) не входят в алфавит языка, т.е. эти символы не используются в идентификаторах. Тем не менее, их можно использовать в тексте комментариев, а также в виде значений констант строк или констант символов. 6. Зарезервированные слова.  ТП 7.0, как и его предшественники, включает в себя так называемые ключевые или зарезервированные слова (BEGIN, END, PROGRAM). В качестве имен идентификаторов в программе зарезервированные слова использоваться не могут. Если Вы будете использовать зарезервированные слова не по назначению, это вызовет ошибку при попытке откомпилировать программу.]

  1. Структура языка Паскаль.

Правила языка Паскаль предусматривают единую для всех программ форму основной структуры:

Program <Имя программы>; <Раздел описаний> Begin <Тело программы> End.

Здесь слова Program, Begin и End являются служебными. Правильное и уместное употребление этих слов является обязательным.

  1. Понятие лексемы языка, категории лексем.

Программа на Паскале состоит из последовательности лексических единиц - лексем.  Лексема - минимальная единица языка, имеющая самостоятельный смысл.

В Паскале лексемы условно делятся на несколько классов:

  • идентификаторы;

  • числа без знака;

  • специальные знаки (слова-символы и специальные знаки);

  • символьные константы (строки),

  • директивы;

  • метки.

Блок лексического анализа Паскаль-компилятора, рассматривая символы входного языка, должен определить, какому классу принадлежит лексема. Между лексемами разрешено вставлять один и более разделителей. В качестве разделителей в стандарте Паскаля используются пробелы, комментарии, символы «конец строки». В Турбо-Паскале кроме этих в качестве разделителей разрешено использование и других символов. Комментарии заключают в фигурные скобки {}. Вместо них также могут использоваться пары символов (**) Примеры записи лексем:  12–А  12 - A+5 В первом примере записаны три лексемы “12”, “-“, “А”, между которыми нет разделителей. Во втором примере между первой и второй лексемами, а также между второй и третьей использован разделитель пробел.  А{присвоить}:=1; Между лексемами “А” и “:=” в качестве разделителя использован комментарий.  А:{присвоить}=1 Последний пример ошибочен, так как разделитель в виде комментария разрывает лексему ":=”.