- •1. Понятие и состав языка программирования. Машинные и символьные языки.
- •2. Особенности процедурных языков программирования. Примеры языков.
- •3. Общая характеристика непроцедурных языков программирования.
- •4. Понятие и состав системы программирования.
- •5. Компилятор. Назначение и состав.
- •7. Описание алгоритмических языков. Формулы бнф.
- •8. Описание алгоритмических языков. Синтаксические диаграммы.
- •9. Типы ошибок в программах. Понятие отладки и отладчиков.
- •10. Операторы ввода из стандартного файла.
- •11. Операторы вывода в стандартный файл.
- •12. Целый тип данных.
- •13. Вещественный тип данных.
- •14. Булевский тип.
- •15. Символьный тип.
- •16. Структура программы на Паскаль. Комментарии.
- •17. Понятие метки. Раздел описания меток.
- •18. Раздел описания констант.
- •19. Раздел описания типов.
- •20. Раздел описания переменных.
- •21. Правила записи выражений. Порядок старшинства операций.
- •22. Понятие оператора. Раздел оператор. Простые и сложные операторы.
- •23. Оператор присваивания. Пустой оператор. Составной оператор.
- •24. Условный оператор if.
- •25. Оператор вариантов.
- •26. Операторы цикла while и repeat.
- •Оператор цикла с предусловием
- •Оператор цикла с постусловием.
- •Оператор цикла с параметром.
- •27. Скалярный тип.
- •28. Ограниченный тип.
- •29. Регулярный тип. Массивы.
- •30. Понятие комбинированного типа.
- •31. Множественный тип.
- •32. Файловый тип. Понятие последовательного файла и файла с прямым доступом.
- •33. Текстовые файлы. Внешние и внутренние файлы.
- •34. Понятие подпрограммы. Процедуры. И 35. Функции. Раздел описания процедур и функций.
- •36. Рекурсия. Основные понятия. Прямая и косвенная рекурсия.
- •37. Динамические переменные. Ссылочный тип.
- •38. Понятие списка. Типы списков: однонаправленные и двунаправленные.
- •39. Иерархические и ассоциативные списки.
- •40. Стеки.
- •41. Очереди.
- •42. Деревья - как структуры данных. Двоичные деревья. Методы их просмотра.
- •43. Упорядоченные двоичные деревья. Операции поиска.
- •44. Включения и удаления элементов из двоичного упорядоченного дерева.
7. Описание алгоритмических языков. Формулы бнф.
Любой ЯП состоит из символов, выражений и операторов.
Символы – основные неделимые знаки с помощью которых записываються все допустимые конструкции языка.
Слова – структура образов в соответствии с некоторыми правилами из основных символов языка и являющихся минимальными единицами имеющих самостоятельный смысл.
Числа являются словами.
Выражения – группа слов, имеющих некоторый смысл.
В АЯ это конструкция, состоящая из слов и символов задающая правила вычисления некоторого значения.
Оператор – конструкция, задающая полное описание некоторого действия, которые необходимо выполнить.
Описание ЯП состоит из описания четырех указанных элементов. Это описание обычно включает:
- синтаксис
- семантику
Синтаксис позволяет определить множество допустимых конструкций определить её смысл.
Для описания синтаксиса ЯП обычно использует спец. Языки называемые метаязыками.
Формулы Бэкуса-Наура.
Этот язык характеризуется тем, что для описания синтаксиса используются спец. Формулы. Эти формулы содержат знаки:
::= - есть по определению.
| - или.
< > - меньше, больше. В эти скобки заключаются описания конструкций языка.
[ ] – необязательные элементы.
{ } – элементы которые могут входить ноль или большее число раз.
Используемые формулы в этом языке допускают рекурсивные определения, т.е. когда в определении кого-то понятия входит это понятии как элемент.
<целое число>::=[<знак>]<цифра>{<цифра>}
<знак>::= + / -
<цифра>::= 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
C помощью формул БНФ можно однозначно описать синтаксис любого ЯП, но эти формулы имеют малую наглядность и достаточно громоздки.
Потому наряду с БНФ для описания синтаксиса используются другие метаязыки.
8. Описание алгоритмических языков. Синтаксические диаграммы.
СД также можно использовать для описания синтаксиса ЯП. Они состоят из овалов, кружков и прямоугольников, соединяемых прямыми линиями со стрелками.
Кружки и овалы служат для обозначения неделимых символов языка – терминальные силы.
Прямоугольники обозначают ссылку на другую синтаксическую диаграмму.
Указанные элементы объединены в более общую структуру, которая используется для описания синтаксиса конструкций языка.
Типовыми объединениями элементов являются след. диаграммы:
1)
А – имя диаграммы или определяемого понятия, а сама диаграмма означает, что по структуре конструкция А может состоять из конструкций описанных диаграммой А1 или А2 или … или АN.
Знак арифметической операции:
2) A => [A1] => [A2] => … => [AN]
Конструкция А представляет собой последовательную конструкцию А1, А2, …, АN.
3)
Конструкцией А может содержать или элемент А1 или вообще не чего.
4)
Определенная конструкция А может быть пустой или может содержать одну или несколько подряд идущих конструкций А1.
5)
Конструкция А может содержать одну или несколько подряд идущих конструкций А1.
Диаграммы являются более наглядным отображаем синтаксиса. Для изображения диаграмм требуются спец. средства и определения сложных конструкций требуются сложные диаграммы, которые будут слишком громоздкими.
СД используются наряду с формулами БНФ.
Для описания семантики (смысла) ЯП обычно используется неформальные пояснения на естественном языке или также специальные метаязыки. Для изучения ЯП необходимо изучить его синтаксис и семантику.