
- •Билет 2 Лексическая структура языка Pascal.
- •Билет 3 Структура Pascal-программы. Составной оператор. Константы. Переменные.
- •Билет 4. Концепция переменной языка паскаль.
- •Билет 5 Концепция типа данных языка Pascal.
- •Билет 6 Простые типы.
- •Билет 7 Стандартные типы языка Pascal.
- •Билет 8 Тип Boolean
- •Билет 9 Перечисляемый тип.
- •Билет 10. Ограниченные типы (диапазоны).
- •Билет 11 Условный оператор
- •Билет 12 Оператор варианта
- •Билет 13 Оператор цикла с постусловием
- •Билет 14 Оператор цикла с предусловием
- •Билет 15 Оператор цикла с параметром
- •Билет 16 Составные типы
- •Билет 17 Массивы, примеры использования
- •Билет 18 Записи, примеры использования
- •Билет 19 Оператор сцепления
- •Билет 20 Записи с вариантами
- •Билет 21 Множества (определение, примеры, операции).
- •Билет 22 Представления множеств, примеры использования.
- •Билет 22. Представления множеств.
- •Билет 23 Файловые типы
- •Билет 24 Операции с файлами
- •Билет 25 Текстовые файлы
- •Билет 26 Типизированные файла
- •Билет 27 Нетипизированные файлы
- •Билет 28 Процедуры и функции
- •Билет 29 Описание процедур и функций
- •Билет 30 Локальные и глобальные переменные
- •Билет 31 Параметры процедур и функций
- •Билет 32 открытые параметры.
- •Билет 33. Нетипизированные параметры.
- •Билет 34. Необходимость и преимущества модульного программирования. Структура модуля в языке Pascal.
- •Билет 35. Процедурный тип. Передача процедур и функций в качестве параметра.
- •Билет 36. Рекурсия.
- •Билет 37. Рекурсия и итерация.
- •Билет 38. Линейный поиск.
- •Билет 39. Поиск делением пополам.
- •Билет 40. Сортировка.
- •Билет 41. Сортировка простыми включениями.
- •Билет 42. Сортировка бинарными включениями
- •Билет 43. Сортировка простым выбором.
- •Билет 44. Сортировка простым обменом(пузырек).
- •Билет 45. Шейкер-сортировка.
- •Билет 46. Сортировка шелла.
- •Билет 47. Сортировка с разделением(быстрая сортировка).
- •Билет 48. Ссылочные типы.
- •Билет 49. Динамические структуры данных.
- •Билет 50. Создание и уничтожение динамических переменных.
- •Билет 51. Связные списки.
- •Билет 52. Связные списки. Создание очередного элемента. Просмотр списка.
- •Билет 53. Добавление компонента в середину списка.
- •Билет 54. Исключение компонент из середины списка.
- •Билет 55. Рекурсивная обработка списка.
- •Билет 56. Двусвязные кольца.
- •Билет 57. Деревья. Двоичные деревья. Двоичные деревья поиска.
- •Билет 58. Добавление узла к двоичному дереву поиска.
- •Билет 59. Поиск в двоичном дереве.
- •Билет 60. Просмотр двоичного дерева.
- •Билет 61. Удаление из дерева.
- •Билет 62. Деревья общего вида.
Билет 4. Концепция переменной языка паскаль.
Императивные я.п. поддерживают вычисления посредством выполнения команд. Целью выполнения которых является изменение состояния компа. Состояние компа определяется, кроме прочего, содержимым ячеек памяти. Переменная- центральное понятие ИЯП(т.к. моделирует ячейку памяти). Переменная характеризуется ее атрибутами, которые обычно включают: имя, место расположение,значение, тип и как следствие множество операций допустимых над данной переменной, время связывания, область связывания (область видимости),время жизни. Значение переменной определяется и может измениться в процессе выполнения проги(до выполнения проги значение переменной считается неопределенным). В зависимости от контекста значением переменной может являться или ее величина, или ее адрес. Значение переменной встречающееся слева от знака присваивания это величина переменной, то есть велечина хранящаяся по адресу x. Адрес глобальной переменной определяется во время загрузки, а адреса локальных при входе в процедуру. СВЯЗЫВАНИЕ-это ассоциирование какого-либо атрибута и имени. Примеры, когда связывание может произойти:
-при проектировании языка, например true связывается со своим булевским (логическим значением;
- при реализации языка, когда пишется компилятор или интерпритатор, например различные типы связываются с их внутреннем представлением;
-во время компиляции, когда программа транслируется в машинный язык, например тип переменной в статически типизированных языках определяется в это время;
- во время загрузки, когда выполняемый образ проги загружается в память для выполнения, например, адреса глобальных переменных определяются в это время;
-во время вызова процедур и функкций, во время выполнения проги, например действительные параметры привязываются к формальным, а также определяются адреса локальных переменных;
- во время выполнения проги, например новое значение привязанное к переменной.
В языках с динамичной типизацией тип переменной может определятся во время выполнения проги.
ОБЛАСТЬ СВЯЗЫВАНИЯ(видимости) - это место или раздел в проге в котором данное конкретное связывание имеет место. Методы и правила которые определяют действующие области связывания,
а также время связывания в большой степени влияют на полезность и применимость Я.П. Если,например, правила позволяют определять области связывания во время выполнения проги, язык может быть более гибким, но код проги при этом может быть более трудным для понимания. Глобальные переменные:время их жизни- это время жизни проги. Локальные переменные:время их жизни- с момента вызова проц. или фун. до момента возврата в вызывающую прогу. Переменные ссылочного типа(дают возможность доступа к динамически распределяемой области памяти):время их жизни- с момента, когда прога выполняет команду распределения такой памяти и до момента, когда эта память станет не нужна и прога выполнит команду освобождения этой памяти. Переменные, описанные вне процедуры и функции, называются глобальными переменными и располагаются в сегменте данных. Переменные, описанные в самой процедуре или функции, называются локальными переменными и располагаются в сегменте стека.