- •1. Базовые понятия пpогpаммиpования. Действие, пpоцесс, алгоритм, программа.
- •2. Функциональная структура эвм. Основные устройства эвм, их функциональные характеристики.
- •3. Представление данных в памяти эвм. Понятие переменной, константы, типа, диапазона значений.
- •4. Требования к качеству программного продукта. Основные критерии качества.
- •5. Этапы разработки программ. Роль каждого этапа в получении качественного программного продукта. Технология программирования.
- •1. Постановка задачи.
- •7. Исполнение программы.
- •6. Главная метафора процедурно-ориентированных языков. Стиль программирования.
- •7. Внешняя спецификация задачи, ее роль в процессе разработки программы. Состав внешней спецификации, структура документа.
- •8. Состав языка программирования. Синтаксис и семантика языка. Метаязык для записи синтаксических правил.
- •9. Структурные уровни языка программирования. Уровни языка Паскаль. Особенности языка Паскаль.
- •10. Простейшие конструкции языка Паскаль. Основные символы, слова, выражения.
- •11. Элементарные инструкции языков программирования. Особенности кодирования инструкции на язык Паскаль.
- •12. Кодирование арифметических, логических и литерных инструкций на язык Паскаль.(бл она хочет кодирование инструкций или выражений?)
- •13. Организация ввода данных из стандартного файла input. Процедуры ввода.
- •14. Ввод данных из текстового файла в Турбо-среде.
- •15. Вывод данных в текстовый файл в среде Турбо-Паскаль.
- •16. Концепция структурного программирования. Принцип Дейкстры.
- •17. Основные правила композиции структурированных программ. Базисы Вирта и Дейкстры. Эквивалентность базисов.
- •18. Последовательность действий. Особенность реализации в языке Паскаль.
- •19. Альтернативные действия. Альтернатива и полуальтернатива. Особенность реализации в языке Паскаль. Синтаксис и семантика.
- •20. Повторяемые действия. Реализация итерационных циклов пока и до в языке Паскаль. Синтаксис и семантика, особенность реализации.
- •22. Выбор из нескольких альтернатив. Реализация в стандартном и Турбо-Паскале.
- •23. Скалярные типы данных в языке Паскаль. Упорядоченные и неупорядоченные типы.
- •24. Структурный тип данных "массив". Реализация массивов переменной длины.
- •25. Правила записи программного модуля.
- •26. Основные стратегии проектирования алгоритмов, их сравнительная характеристика.
- •27. Основные декомпозиционные структуры программ. Сегменты-блоки и сегменты-процедуры, их спецификация.
- •28. Рабочий проект программы. Top-down граф.
- •29. Правила получения окончательной программы. Документация проекта.
- •30. Начальные шаги проектирования программы. Связь с внешней спецификацией. Основные варианты абстракций верхних уровней.
- •31. Процедуры языка Паскаль. Типы процедур. Правила выбора, описания и использования процедур.
- •32. Функции. Правила описания и использования.
- •33. Чистые процедуры. Правила и способы подстановки параметров. Механизм подстановки.
- •34. Структура программы. Локализация объектов.
- •35. Побочный эффект. Причины возникновения и правила предупреждения.
- •36. Цель и содержание отладки программы. Классификация ошибок. Уровни корректности программы в процессе отладки.
- •37. Основные действия при отладке. Контроль программы. Фазы контроля.
- •38. Характеристика восходящего и нисходящего способов отладки.
- •39. Локализация и исправление ошибок в процессе отладки в Турбо-среде.
- •40. Функциональное и структурное тестирование. Метод тестовых счетчиков.
- •41. Документирование программ в процессе разработки. Состав документации.
- •43. Эффективность программы. Средства стандартного и Турбо-Паскаля для повышения эффективности.
- •44. Надежность программы. Организация надежного ввода. Средства Паскаля для повышения надежности.
- •45. Эргономичность программы. Роль структурного программирования в повышении эргономичности.
- •46. Мобильность программ. Отличие версии Турбо-Паскаль от стандартного Паскаля.
- •47. Метод бисекции (деления пополам). Использование его в алгоритмах сортировки и решения уравнений.
- •48. Способы организации надежного ввода из стандартного файла, влияние на структуру программы.
- •49. Организация массива из текстового файла. Процедуры, обеспечивающие различную степень зависимости от входных данных.
- •Var f1:text
- •50. Локализация процедур Паскаля. Внешние процедуры.
- •51. Структурирование циклов. Метод объединения условий при решении задачи информационного поиска в файле.
- •53. Структурирование циклов. Метод флажка на примере организации надежного ввода с детальным анализом каждой переменной.
- •54. Организация процесса нисходящей разработки многомодульных программ. Самодокументирование процесса.
- •55. Независимость программы от данных при работе с массивами переменной длины. Обеспечение этого свойства на этапе спецификации задачи.
- •56. Экономия вычислений при суммировании рядов. Использование рекуррентных соотношений.
- •57. Метод трассировки при визуальном и компьютерном способах отладки.
17. Основные правила композиции структурированных программ. Базисы Вирта и Дейкстры. Эквивалентность базисов.
Основные правила композиции структурированных программ.
Структурированные алгоритмы - это алгоритмы, которые строятся с использованием только трех правил композиции вычислительных действий (3 управляющие структуры):
- последовательные действия (следование);
- альтернативные действия (выбор);
- повторяемые действия (цикл).
Ограничение этими тремя правилами обеспечивает разработку алгоритмов и программ, удовлетворяющих принципу Э.Дейкстры, согласно которому текстуальная упорядоченность программ должна совпадать с порядком их выполнения.
Структурированные алгоритмы и программы легко понимаемы, модифицируемы, в них легче находить ошибки, по ним легче производить анализ правильности программ.
Управляющие структуры образуют базис.
Базис Дейкстры: следование, выбор, цикл «пока».
Базис Вирта: следование, выбор, цикл «до». Св-ва базиса:
- независимость (каждая из базисных структур не может быть представлена комбинацией 2-х других);
- полнота (любой алгоритм может быть осуществлен с помощью них);
- эквивалентность базисов (следование и выбор сохраняются, а циклы «до» и «пока» взаимозаменяемы).
18. Последовательность действий. Особенность реализации в языке Паскаль.
Последовательность действий – каждое действие следует за предыдущим.
Блок-схема:
<оператор 1>
<оператор 2>
Запись на языке Псевдокод:
<оператор 1>
<оператор 2>
…………………….
Запись на языке Паскаль:
Begin
<op1>;
<op2>
End
(Составной оператор)
19. Альтернативные действия. Альтернатива и полуальтернатива. Особенность реализации в языке Паскаль. Синтаксис и семантика.
На языке Паскаль:
If <логическое выражение> then
<оператор 1>
Else
<оператор 2>;
Б) Полуальтернатива
If <логическое выражение> then
<оператор>;
20. Повторяемые действия. Реализация итерационных циклов пока и до в языке Паскаль. Синтаксис и семантика, особенность реализации.
Циклы в Паскаль представляют собой многократно - повторяющиеся действия.
Цикл ДО:
Repeat — это цикл, в котором условие стоит после тела . Причем оно выполняется тогда и только тогда, когда результат условия false; как только логическое выражение становится true, выполнение цикла прекращается.
Repeat
<оператор #1>; <оператор #2>; <оператор #3>; . . .
Until <условие>
Читается так: "Выполнять оператор #1, оператор #2. : до выполнения условия".
Цикл ПОКА:
while — это цикл, в котором условие стоит перед телом. Причем тело цикла выполняется тогда и только тогда, когда условие true; как только условие становится false, выполнение цикла прекращается.
While имеет формат:
while < условие> do <оператор 1>; {Пока … делай ….}
Данный цикл подходит только для одного оператора, если же вы хотите использовать несколько операторов в своем коде, вам следует заключить их в операторные скобки — begin и end; .
21. Реализация параметрического цикла в языке Паскаль. Синтаксис и семантика, ограничения при использовании.
Часто некоторые действия необходимо повторять более одного раза, причем количество повторений можно заранее вычислить. К примеру - обработать последовательно элементы некоторого массива. Для эффективной реализации такого рода алгоритмов в ЯП включаютциклы с параметром.
Операторы цикла используются для многогратного повторения входящих в состав операторов. В языке Турбо паскаль различают операторы цикла типа арифметической прогрессии (оператор цикла со счетчиком FOR) с шагом +1 или -1 и операторы цикла итерационного типа (While и Repeat)
Оператор цикла типа арифметической прогрессии используется, если заранее известно количество повторений цикла и шаг изменния параметра цикла +1 или -1.
For<параметр цикла>:=<выражение1> to <выражение 2> do <оператор(тело цикла>; - шаг изменения параметра цикла +1
Downto - -1