
- •Билет 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. Метод трассировки при визуальном и компьютерном способах отладки.
Билет 17. Основные правила композиции структурированных программ. Базисы Вирта и Дейкстры. Эквивалентность базисов.
Структурированные алгоритмы - это алгоритмы, которые строятся с использованием только трех правил композиции вычислительных действий (3 управляющие структуры):
- последовательные действия (следование);
- альтернативные действия (выбор);
- повторяемые действия (цикл).
Ограничение этими тремя правилами обеспечивает разработку алгоритмов и программ, удовлетворяющих принципу Э.Дейкстры, согласно которому текстуальная упорядоченность программ должна совпадать с порядком их выполнения.
Структурированные алгоритмы и программы легко понимаемы, модифицируемы, в них легче находить ошибки, по ним легче производить анализ правильности программ.
Управляющие структуры образуют базис. Базис Дейкстры: следование, выбор, цикл «пока». Базис Вирта: следование, выбор, цикл «до». Св-ва базиса:
- независимость (каждая из базисных структур не может быть представлена комбинацией 2-х других);
- полнота (любой алгоритм может быть осуществлен с помощью них);
- эквивалентность базисов (следование и выбор сохраняются, а циклы «до» и «пока» взаимозаменяемы).
Билет 18. Последовательность действий. Особенность реализации в языке Паскаль.
Тривиальный билет.
Билет 19. Альтернативные действия. Альтернатива и полуальтернатива. Особенность реализации в языке Паскаль. Синтаксис и семантика.
Оператор if выбирает между двумя вариантами развития событий:
if <условие> then <один_оператор>
[else <один_оператор>];
Обратим внимание, что перед словом else (когда оно присутствует, конечно же) символ «;» не ставится — ведь это разорвало бы оператор на две части.
Условный оператор if работает следующим образом:
Сначала вычисляется значение <условия> — это может быть любое выражение, возвращающее значение типа Boolean.
Затем, если в результате получена «истина» (True), то выполняется оператор, стоящий после ключевого слова then, а если «ложь» (False) — без дополнительных проверок выполняется оператор, стоящий после ключевого слова else. Если же else–ветвь отсутствует, то не выполняется ничего.
Билет 20. Повторяемые действия. Реализация итерационных циклов пока и до в языке Паскаль. Синтаксис и семантика, особенность реализации.
Если заранее неизвестно, сколько раз необходимо выполнить тело цикла, то удобнее всего пользоваться циклом с предусловием (while) или циклом с постусловием (repeat-until).
Общий вид этих операторов таков:
while <условие_1> do <оператор>; (если операторов несколько, то используем begin и end)
repeat <операторы> until <условие_2>; (если операторов несколько, то используем begin и end)
Условие окончания цикла может быть выражено переменной, константой или выражением, имеющим логический тип.
Циклы while и repeat-until можно назвать в некотором смысле противоположными друг другу.
Последовательности действий при выполнении этих циклов таковы:
Для while: |
Для repeat-until: |
1. Проверяется, истинно ли <условие_1>. |
1. Выполняются <операторы>. |
2. Если это так, то выполняется <оператор>. |
2. Проверяется, ложно ли <условие_2> |
3. Пункты 1 и 2 выполняются до тех пор, пока <условие_1> не станет ложным. |
3. Пункты 1 и 2 выполняются до тех пор, пока <условие_2> не станет истинным. |
Таким образом, если <условие_1> изначально ложно, то цикл while не выполнится ни разу. Если же <условие_2> изначально истинно, то цикл repeat-until выполнится один раз.