- •Введение
- •1. Общие положения
- •1.1. Понятие алгоритма. Данные в задачах и алгоритмах
- •1.2. Понятие о технологии разработки программ. Принципы и этапы разработки программ
- •1.3. Состав документации по отдельным этапам
- •1. Задача
- •9. Структурные тесты
- •1.4. Нисходящая разработка и нисходящая отладка
- •2. Процесс разработки программы на примере решения типовой задачи
- •2.1. Разработка алгоритма и программы уровня 0 с заглушками
- •2. Входные данные
- •3. Выходные данные
- •5. Функциональные тесты
- •6. Метод
- •7. Алгоритм
- •8. Программа на паскале. Диалоговый вариант
- •9. Структурные тесты
- •2.2. Отладка программы с заглушкой
- •2.3. Общая схема перехода от метода к алгоритму решения
- •2.4. Разработка алгоритма и программы для примера
- •2. Входные данные
- •5. Функциональные тесты
- •6. Метод
- •7. Алгоритм
- •8. Программа на паскале
- •9. Структурные тесты
- •2.5. Отладка полной программы
- •2.6. Список заданий
- •3. Организация хранения данных с позиций эффективности отладки и использования программы
- •3.1. Как лучше хранить, вводить и выводить данные
- •3.2. Использование текстовых файлов для хранения входных и выходных данных
- •3.3. Использование параметров в Паскаль-программах
- •3.4. Задание
- •4. Некоторые методы решения типовых задач
- •4.1. Поиск экстремальных значений (максимума, минимума) в одномерном массиве
- •2. Входные данные
- •3. Выходные данные
- •6. Метод
- •4.2. Поиск элемента, удовлетворяющего заданному условию
- •2. Входные данные
- •6. Метод
- •2. Входные данные
- •3. Выходные данные
- •6. Метод
- •4.3. Задача со сложной логикой
- •2. Входные данные
- •3. Выходные данные
- •6. Метод
- •4.4. Упорядочение одномерного массива
- •3. Выходные данные
- •6_А. Метод включения
- •6_Б. Метод пузырька
- •4.5. Список заданий
- •5. Работа с двумерными массивами (матрицами)
- •5.1. Схема обработки матриц
- •5.2. Ввод и вывод матрицы
- •5.3. Пример решения задачи
- •3. Выходные данные
- •6. Метод
- •5.4. Список заданий
- •6. Оформление алгоритмов в виде процедур
- •6.1. Основные положения
- •6.2. Кодирование процедур на языке Паскаль
- •6.3. Специфика оформления процедур ввода – вывода
- •6.4. Рекомендации по оформлению процедур
- •6.5. Примеры разработки процедур
- •3. Выходные данные
- •6. Метод
- •3 Истина, если все элементы строки больше 1, ложь, в противном случае . Выходные данные
- •7. Описание процедуры
- •8. Кодирование на паскале
- •9. Структурные тесты
- •2. Входные данные
- •3. Выходные данные
- •4. Аномалии не рассматриваем
- •6. Метод
- •7. Алгоритм
- •2. Входные данные
- •3. Выходные данные
- •6. Метод
- •8. Кодирование на паскале
- •2. Входные данные
- •3. Выходные данные
- •6. Метод
- •8. Кодирование на паскале
- •2. Входные данные
- •3. Выходные данные
- •6. Метод
- •7. Описание процедуры
- •8. Кодирование на Паскале
- •6.6. Список заданий
- •7. Внешние модули (unit) в турбо-Паскале
- •7.1. Суть и описание модуля
- •7.2. Связь модуля с другими модулями и главной программой. Область действия описаний объектов
- •7.3. Специфика оформления процедур ввода – вывода в модулях
- •7.4. Примеры оформления процедур во внешних модулях
- •7.5. Задания
- •7.6. Обработка многомодульных программ в среде турбо-Паскаль
- •8. Контрольные вопросы к главе 1
- •К главе 2
- •К главе 3
- •К главе 6
- •К главе 7
- •Заключение
- •Литература
- •Приложение 1. Базовые структуры алгоритмов
- •Приложение 2. Простые типы в Паскале
- •Приложение 3. Структура типов данных в языке Паскаль
- •Содержание
8. Контрольные вопросы к главе 1
В чем различие понятий «алгоритм» и «программа»? Какое из них является более широким?
В чем различие констант и переменных? Можно ли по тексту алгоритма (или программы) определить, является некоторое данное константой или переменной?
Почему необходимо в программе четко определять типы данных? В чем различие представления числовых данных?
Зачем нужен формат данных? Как он определяется и как используется?
Приведите определение массива. В чем различие понятий «простая переменная» и «массив»?
Как определить входные данные задачи? Почему включение в состав входных данных лишних данных или потеря входных данных является недопустимым?
На каком этапе обработки программы задаются значения входных данных?
Что такое интерактивный режим работы программы? В каком еще режиме можно организовать ввод – вывод?
Перечислить и прокомментировать критерии качества программ; принципы современной технологии разработки программ; этапы разработки программы и элементы соответствующей документации.
Что такое нисходящая разработка программ? Как осуществляется отладка программы при нисходящем подходе? Зачем это нужно?
К главе 2
Почему рекомендуется сразу после условия задачи выполнить конкретный пример? Можно ли далее использовать этот пример, если да, то где?
Можно ли в задаче «Точки в круге» видоизменить формы ввода – вывода? Если да, приведите варианты.
Почему в задаче именно два теста?
Всегда ли разделяются подзадачи ввода, обработки и вывода? Зачем их разделять?
Внимательно проанализируйте текст алгоритма задачи «Точки в круге». Отметьте в нем элементы, определяемые из спецификации, собственно операции и их взаимосвязь.
То же проделать применительно к программе. Отметить «технические» элементы, связанные с синтаксисом языка программирования, а не с решением задачи.
Опишите схему действий в случае, если в задаче требуется найти некоторое значение из множества заданных, учитывая, что искомое значение в одних наборах данных может наличествовать, в других – отсутствовать.
К главе 3
В чем преимущество использования файлов для хранения входных данных и результатов программы?
Как организовать ввод – вывод, чтобы, не изменяя программы, вводить и выводить данные в разные файлы (согласно тестам)?
Как, используя параметры программы для задания имен входных (выходных) файлов, реализовать диалоговый ввод (вывод)?
Сравнить варианты задания имен входных и выходных файлов как параметров программы и запроса этих имен в диалоге при выполнении программы.
К главе 6
Привести основные понятия, характеризующие специфику процедур.
Привести классификацию процедур в зависимости от размещения описания и вызова; в зависимости от числа выходных значений.
Каковы особенности передачи в процедуру параметров – переменных и параметров – значений? Как это используется при проектировании процедуры? Почему и какое исключение делается для массивов?
Каковы особенности оформления процедур ввода – вывода?