- •Билет 1. Базовые понятия пpогpамиpования. Действие, процесс, алгоритм, программа.
- •Билет 2. Функциональная структура эвм. Основные устройства эвм, их функциональные характеристики.
- •Билет 3. Представление данных в памяти эвм. Понятие переменной, константы, типа, диапазона значений.
- •Билет 4. Требования к качеству программного продукта. Основные критерии качества.
- •Билет 5. Этапы разработки программ. Роль каждого этапа в получении качественного программного продукта. Технология программирования.
- •Билет 6. Главная метафора процедурно-ориентированных языков. Стиль программирования.
- •Билет 7. Внешняя спецификация задачи, ее роль в процессе разработки программы. Состав внешней спецификации, структура документа.
- •Билет 8. Состав языка программирования. Синтаксис и семантика языка. Метаязык для записи синтаксических правил.
- •Билет 9. Структурные уровни языка программирования. Уровни языка Паскаль. Особенности языка Паскаль.
- •Билет 10. Простейшие конструкции языка Паскаль. Основные символы, слова, выражения.
- •Билет 11. Элементарные инструкции языков программирования. Особенности кодирования инструкции на язык Паскаль.
- •Билет 12. Кодирование арифметических, логических и литерных инструкций на язык Паскаль.
- •Билет 13. Организация ввода данных из стандартного файла input. Процедуры ввода.
- •Билет 14. Ввод данных из текстового файла в Турбо-среде.
- •Билет 15. Вывод данных в текстовый файл в среде Турбо-Паскаль.
- •Билет 16. Концепция структурного программирования. Принцип Дейкстры.
- •Билет 17. Основные правила композиции структурированных программ. Базисы Вирта и Дейкстры. Эквивалентность базисов.
- •Билет 18. Последовательность действий. Особенность реализации в языке Паскаль.
- •Билет 19. Альтернативные действия. Альтернатива и полуальтернатива. Особенность реализации в языке Паскаль. Синтаксис и семантика.
- •Билет 20. Повторяемые действия. Реализация итерационных циклов пока и до в языке Паскаль. Синтаксис и семантика, особенность реализации.
- •Билет 21. Реализация параметрического цикла в языке Паскаль. Синтаксис и семантика, ограничения при использовании.
- •Билет 22. Выбор из нескольких альтернатив. Реализация в стандартном и Турбо-Паскале.
- •Билет 23. Скалярные типы данных в языке Паскаль. Упорядоченные и неупорядоченные типы.
- •Билет 24. Структурный тип данных "массив". Реализация массивов переменной длины.
- •Билет 25. Правила записи программного модуля.
- •Билет 26. Основные стратегии проектирования алгоритмов, их сравнительная характеристика.
- •Билет 27. Основные декомпозиционные структуры программ. Сегменты-блоки и сегменты-процедуры, их спецификация.
- •Билет 32. Функции. Правила описания и использования.
- •Билет 33. Чистые процедуры. Правила и способы подстановки параметров. Механизм подстановки.
- •Билет 34. Структура программы. Локализация объектов.
- •Билет 35. Побочный эффект. Причины возникновения и правила предупреждения.
- •Билет 36. Цель и содержание отладки программы. Классификация ошибок. Уровни корректности программы в процессе отладки.
- •Билет 37. Основные действия при отладке. Контроль программы. Фазы контроля.
- •Билет 38. Характеристика восходящего и нисходящего способов отладки.
- •Билет 39. Локализация и исправление ошибок в процессе отладки в Турбо-среде.
- •Билет 40. Функциональное и структурное тестирование. Метод тестовых счетчиков.
- •Билет 41. Документирование программ в процессе разработки. Состав документации.
- •Билет 42. Классификация алгоритмов внутренней сортировки. Сравнительная оценка методов сортировки.
- •Билет 43. Эффективность программы. Средства стандартного и Турбо-Паскаля для повышения эффективности.
- •Билет 44. Надежность программы. Организация надежного ввода. Средства Паскаля для повышения надежности.
- •Билет 45. Эргономичность программы. Роль структурного программирования в повышении эргономичности.
- •Билет 46. Мобильность программ. Отличие версии Турбо-Паскаль от стандартного Паскаля.
- •Билет 47. Метод бисекции (деления пополам). Использование его в алгоритмах сортировки и решения уравнений.
- •Билет 48. Способы организации надежного ввода из стандартного файла, влияние на структуру программы.
- •Билет 49. Организация массива из текстового файла. Процедуры, обеспечивающие различную степень зависимости от входных данных.
- •Билет 50. Локализация процедур Паскаля. Внешние процедуры.
- •Билет 51. Структурирование циклов. Метод объединения условий при решении задачи информационного поиска в файле.
- •Билет 59. Метод трассировки при визуальном и компьютерном способах отладки.
Билет 25. Правила записи программного модуля.
Модуль - независимая часть программы, которая описывает абстрактное действие и к которому можно обращаться по имени. Структура модуля:
{<Абстрактное действие >}
<Заголовок>
<Блок> // <Блок> ::=<Раздел описаний>
<Составной оператор>
При проектировании используется 2 типа модуля: главный модуль и процедурный модуль (процедура). Структура главного модуля (с главного модуля начинается выполнение программы):
{Цель программы}
Program <имя> (<имена файлов>); //Перечислены имена файлов с входными и выходными данными программы.
Раздел описаний //Должен содержать определение типов входных, выходных данных задачи.
begin
Главный алгоритм
end.
Процедура - это вспомогательный алгоритм, который описывает некоторое абстрактное действие и к которому можно обращаться по имени.
Аппарат процедур в языках программирования состоит из двух частей: описание процедуры и вызов процедуры.
Описание процедуры (процедура) - это фрагмент программы, оформленный по определенным правилам и имеющий имя, по которому его можно вызвать.
Структура процедурного модуля (описание процедуры) (Выполняется процедура только при выполнении оператора процедуры, вызове ее из другого модуля):
{Цель, описание входных, выходных данных}
Procedure <имя> (<описание параметров>); //Содержит описания типов входных выходных данных процедуры.
Раздел описаний //Содержит описания внутренних данных процедуры.
begin
Алгоритм
end.
Процедура обязательно содержит имя, тело процедуры и может содержать или не содержать параметры, которые называются формальными параметрами.
<Описание входных формальных параметров>:=<список описаний переменных>
<Описание выходных формальных параметров>:=var<список описаний переменных>
В языке Паскаль существует два вида процедур: процедуры общего вида и функции. Результатом вычисления процедуры общего вида могут быть несколько переменных, как скалярного, так и структурного типа. Функция может вычислять только одно значение скалярного типа. Формальные параметры функции могут быть только аргументами (входными данными функции).
{Цель, описание входных, выходных данных}
Function <имя> (<описание параметров>): <тип>;
Раздел описаний
begin
Алгоритм (должен содержать оператор, который присваивает результат имени функции).
end.
С точки зрения структурного программирования оператор процедуры является элементарным оператором наряду с оператором присваивания, т.е. рассматривается как однократное действие по преобразованию входных данных в выходные. Указатель функции рассматривается как одноместная операция в выражении.
Среди входных параметров процедуры может быть формальное имя функции (процедуры). Для описания типа этой функции в языке Турбо Паскаль существует процедурный тип, который описывает заголовок этой формальной функции (процедуры).
Дпя того чтобы установилась такая связь формального и фактического процедурного параметра, необходимо перед описанием функции вставить директиву компилятора {$F+}. Параметры, предаваемые процедуре при вызове, называются фактическими параметрами.
Вызов процедуры включает следующие шаги:
- среди описаний процедур ищется процедура с именем <имя процедуры>;
- вместо формальных параметров подставляются (передаются) соответствуют фактические параметры;
- выполняется модифицированное тело процедуры;
- управление возвращается из процедуры к оператору, следующему за оператором процедуры.