- •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. Метод трассировки при визуальном и компьютерном способах отладки.
28. Рабочий проект программы. Top-down граф.
СМ синюю методичку 7 стр
29. Правила получения окончательной программы. Документация проекта.
В результате процесса проектирования алгоритма программы мы получим отдельные фрагменты программы, представляющие собой сегмент-блоки и сегмент-процедуры.
Все новые переменные, которые появились при проектировании блоков-сегментов, необходимо описать в разделе описаний главного модуля. Процедуры должны занять свое место либо в разделе процедур главной программы, либо в виде отдельного модуля UNIT.
Абстракции останутся в программе в виде комментариев и будут пояснять текст программы, отражая ее структуры.
Документа́ция на программное обеспечение — печатные руководства пользователя, диалоговая (оперативная) документация и справочный текст, описывающие, как пользоваться программным продуктом.
30. Начальные шаги проектирования программы. Связь с внешней спецификацией. Основные варианты абстракций верхних уровней.
Общая задача разделяется на более простые подзадачи. Определяются связи между задачей и подзадачами и устанавливается правильность этих связей и подзадач.
Для каждой из подзадач повторяется процесс разделения и устанавливается правильность этого разделения.
Процесс повторяется до достижения задач настолько простых, что их решение может быть выражено в нескольких строках языка программирования.
{1-й шаг проектирования состоит в построении интерфейса задачи. Интерфейсом являются исходные и выходные данные задачи. Проектированин интерфейса состоит в описании типов и структур этих данных на языке проектирования. Информацией для описания является состав входных и выходных данных этапа спецификации. Результатом 1-го шага проектирования является некоторый сегмент, который содержит описание данных и формулировку цели задачи. В нем содержится одна абстракция, определяющая цель задачи.
2-й шаг проектирования: отделяются действия: ввод исходных данных, обработка, вывод результатов. Другими словами, формируется структура главный программы которая зависит от структуры входных и выходных данных.
3-й шаг проектирования: инициализация файлов и ввод исходных данных.
4-й шаг и далее:}
В ЗАВИСИМОСТИ ОТ КОНКРЕТНОЙ ЗАДАЧИ.
Связь со спецификацией: когда проектируешь, необходимо сверяться со спецификацией.
31. Процедуры языка Паскаль. Типы процедур. Правила выбора, описания и использования процедур.
Процедура - это вспомогательный алгоритм, который описывает некоторое абстрактное действие и к которому можно обращаться по имени.
Процедура являегся одним из важных средств программирования, традиционным назначением которой является экономия труда программиста. Например, зачем много раз писать программу вычисления sin(x), если ее можно написать один раз и многократно использовать для различных значений х.
Аппарат процедур в языках программирования состоит из двух частей: описание процедуры и вызов процедуры.
Описание процедуры (процедура) - это фрагмент программы, оформленный по определенным правилам и имеющий имя, по которому его можно вызвать.
Процедура обязательно содержит имя, тело процедуры и может содержать или не содержать параметры, которые называются формальными параметрами. Имя процедуры должно быть уникальным. В теле процедуры заключен алгоритм процедуры.
Формальные параметры описывают входные и выходные данные процедуры.
В языке Паскаль существует два вида процедур: процедуры общего вида и функции.
Результатом вычисления процедуры общего вида могут быть переменные как скалярного, так и структурного типа.
Функция может вычислять только одно значение скалярного типа.
Вызов процедуры общего вида производится оператором процедуры.
С точки зрения структурного программирования оператор процедуры является элементарным оператором, наряду с оператором присваивания, т.е. рассматривается как однократное действие по преобразованию входных данных в выходные.
Параметры, передаваемые процедуре при вызове, называются фактическими параметрами.
Процедуры общего вида:
Описание процедуры помещается в конце раздела описаний и имеет следующую структуру:
{<Раскрываемая абстракция>}
<Заголовок>
<Тело процедуры>
<Раскрываемая абстракция> является комментарием, в котором кратко определена цель процедуры.
<Тело процедуры> описывает алгоритм.
<Заголовок процедуры> имеет вид:
procedure <имя процедуры> (<список описаний формальных параметров>)
Список параметров может отсутствовать, и тогда процедура является процедурой без параметров.
Вызов процедуры осуществляется с помощью оператора процедуры:
<оператор процедуры>::=<имя процедуры>(<список фактических параметров>);
Вызов процедуры включает следующие шаги:
- среди описаний процедур ищется процедура с именем <имя процедуры>;
- вместо формальных параметров подставляются (передаются) соответствующие фактические параметры;
- выполняется модифицированное тело процедуры;
- управление возвращается из процедуры к оператору, следующему за оператором процедуры.
Таким образом, взаимодействие вызывающего алгоритма и процедуры есть взаимодействие "хозяин - слуга", т.е. может быть цепочка вызовов, но управление всегда возвращается в исходную точку вызова.