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

Билет 1 Языки программирования. Язык Pascal. Описание синтаксиса языка программирования.

Императивные языки программирования были разработаны после машины Фон-Неймана, чтобы абстрагироваться от компонентов и действий машины для облегчения вычислений.

В 1970 году Николасом Виртом был разработан язык Pascal, он оказался очень удобен для решения многих прикладных задач, он прекрасно обеспечивал применение методов структурного программирования, что стало необходимо при создании больших программных систем. Pascal является ЯВУ, средства которого допускают описание задачи в наглядном, легко воспринимаемом виде.

Для описания нотаций языка (внешней формы) она должна быть синтаксически определимой. Кроме того, смысловое содержание языка, семантика, которая при обучении языку первоначально воспринимается интуитивно, посредством ассоциаций с известным, всё же требует точного описания, чтобы:

- не возникало трудностей с пониманием и толкованием языка.

- было возможным писать трансляторы.

- можно было делать теоретические высказывания о программах.

Существует несколько способов формального описания синтаксиса языка:

Формула Бекуса-Наура (БНФ). В ней конструкции обозначаются словами, отражающими их природу и смысл и заключёнными в угловые скобки. Если конструкция в метаскобках, то будет повторяться 0 и более раз.

Например, <программа>::=<заголовок><блок>

Снтаксические диаграммы. Овалы, прямоугольники и стрелочки.

Билет 2 Лексическая структура языка Pascal.

Лексема - Минимальная единица языка, имеющая самостоятельный смысл. В Паскале существуют следующие подмножества ASCII символов:

Пары символов: <= >= := .. (* *) (. .)

Зарезервированные слова и стандартные директивы.

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

Директивы – команды (export, import, far)

Идентификаторы – любые слова любой длины, но значимыми являются только первые 63 символы. Они должны начинаться с буквы, или символа.

Числа: Используются 16-ричная и 10-ичная системы. Для записи 16-ричного числа используют символ $ (напр. $А3В112). Также используют инженерную нотацию (напр. 7Е-2, 2.24Е+6).

Диапазон: Напр. 32462156543459248544

Символы: Строка символов – последовательность из 0 и более символов, записанная в одну линию в программе и ограниченная апострофами. Если необходимо использовать символ не имеющий изображения, то используют # и код символа (например, #12).

Комментарии: Фрагмент пояснительного характера, не влияющий на смысл программы, и не изменяющий ее выполнения. Т.е., это любой текст, помещённый между символами { } или (* *). Компилятор не обращает внимание на эти фрагменты. Одна строка программы равна 126 символам.

Билет 3 Структура Pascal-программы. Составной оператор. Константы. Переменные.

Программа:

Program <имя>; <Блок>;

Блок:

<Раздел описаний> <Раздел операторов>

Раздел описаний:

<Метки> <Константы> <Типы переменных> <переменные> <процедуры и функции> < экспортируемые процедуры>

Составной оператор – последовательность произвольных операторов, заключённых в операторные скобки, которыми являются зарезервированные слова Begin … End. Составные операторы – важный инструмент Паскаля, дающий возможность писать программы по современной технологии структурного программирования.

Язык Pascal не накладывает никаких ограничений на состав операторов, входящих в состав составного. Среди них могут быть и другие вложенные.

Фактически, весь раздел операторов, обрамлённый словами begin…end представляет собой единый оператор.

Константа – это идентификатор, обозначающий величину. В Паскале в качестве констант могут использоваться целые, вещественные, шестнадцатеричные числа, логические константы, строки символов, символы, конструкторы множеств и признак неопределённого указателя NIL. Существуют также типизированные константы, например:

Digits: array [0..9] of char=’0123456789’

Переменная – центральное понятие императивных языков программирования. Она характеризуется своими атрибутами: имя, месторасположения, значение, тип (и, как следствие, множество операций, допустимых над переменной), время связывания, область связывания, время жизни.

Значение переменной определяется и может изменяться в процессе выполнения программы.

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

Время жизни переменной может быть локальным (все время работы программы), или локальным (время работы процедуры, или функции). Переменные ссылочного типа имеют время жизни с момента команды распределения памяти (new) до момента освобождения памяти (dispose).

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