- •1.Технология программирования. Основные понятия и подходы 8
- •Технология программирования. Основные понятия и подходы
- •1.1. Технология программирования и основные этапы ее развития
- •1.2. Жизненный цикл и этапы разработки программного обеспечения
- •Контрольные вопросы
- •2.Разработкаструктуры программы и модульное программирование
- •2.1. Цель модульного программирования
- •2.2. Основные характеристики программного модуля
- •2.3. Методы разработки структуры программы
- •Контрольные вопросы
- •3.Тестирование и отладка программного средСтВа
- •3.1. Принципы и виды отладки программного средства
- •3.2. Заповеди отладки программного средства
- •3.3. Автономная отладка программного средства
- •3.3. Комплексная отладка программного средства
- •Контрольные вопросы
- •4. Обеспечение качества программного средства
- •4.1. Общая характеристика процесса обеспечения качества программного средства
- •4.2. Обеспечение легкости применения программного средства
- •4.3. Обеспечение эффективности программного средства
- •4.4. Обеспечение сопровождаемости программного средства
- •Контрольные вопросы
- •5. Документирование программных средств составление программной документации
- •5.1. Виды программных документов
- •5.2. Пояснительная записка
- •5.3. Руководство пользователя
- •5.4. Руководство системного программиста
- •5.5. Основные правила оформления программной документации
- •Контрольные вопросы
- •6. Объектный подход к разработке программных средств
- •6.1. Объекты и отношения в программировании. Сущность объектного подхода к разработке программных средств
- •6.2. Особенности объектного подхода к разработке внешнего описания программного средства
- •6.3. Особенности объектного подхода на этапе конструирования программного средства
- •Контрольные вопросы
- •7. Постановка и алгоритмизация задач
- •7.1. Понятие алгоритма
- •7.2. Способы описания алгоритмов
- •Условные обозначения блоков
- •7.3. Структурные схемы алгоритмов
- •Контрольные вопросы
- •8. Основы языка
- •8.1. Алфавит языка
- •8.2. Структура программы
- •Контрольные вопросы
- •9. Типы данных
- •9.1. Целые типы
- •9.2. Вещественные типы
- •9.3. Логический тип
- •9.4. Символьный тип
- •9.5. Выражения
- •Арифметические операции
- •Операция отрицания
- •Операции конъюнкция, дизъюнкция, «исключающее» или
- •Приоритет операций
- •9.6. Константы
- •9.7. Совместимость типов данных
- •Контрольные вопросы
- •10. Линейные алгоритмы
- •10.1. Пустой и составной операторы
- •10.2. Оператор присваивания
- •10.3. Простейший ввод и вывод
- •Контрольные вопросы
- •11. Разветвляющиеся алгоритмы
- •11.1. Оператор перехода
- •11.2. Условный оператор
- •11.3. Оператор выбора
- •Контрольные вопросы
- •12. Циклические алгоритмы
- •12.1. Циклы с параметром
- •12.2. Циклы с условием
- •Контрольные вопросы
- •13. Пользовательские типы данных
- •13.1. Перечисляемый тип
- •13.2. Тип - диапазон
- •13.3. Массивы
- •13.4. Записи
- •13.5. Множества
- •Контрольные вопросы
- •14. Работа со строками
- •Контрольные вопросы
- •15. Процедуры и функции
- •15.1. Параметры-значения
- •15.2. Параметры-переменные
- •15.3. Параметры-константы
- •15.4. Открытые параметры-массивы
- •15.5. Бестиповые параметры
- •15.6. Процедурные типы
- •15.7. Рекурсия
- •Контрольные вопросы
- •16. Типизированные константы
- •Контрольные вопросы
- •17. Модули
- •Interface
- •Implementation
- •Interface
- •18.2. Поиск с барьером
- •83.3. Двоичный (бинарный) поиск
- •Контрольные вопросы
- •19. Алгоритмы сортировки
- •19.1. Сортировка выбором
- •19.2.Сортировка обменом (методом «пузырька»)
- •19.3. Сортировка включением
- •Контрольные вопросы
- •20. Файлы
- •20.1. Текстовые файлы
- •20.2. Компонентные файлы
- •20.3. Бестиповые файлы
- •20.4. Последовательный и прямой доступ
- •Контрольные вопросы
- •21.Программирование с использованием динамической памяти
- •21.1. Указатели и операции над ними
- •21.2. Процедуры и функции, работающие с указателями
- •Контрольные вопросы
- •22. Модуль crt (основные возможности)
- •Контрольные вопросы
- •22. Модуль graph (основные возможности)
- •22.1. Базовые процедуры и функции
- •22.2. Экран и окно в графическом режиме
- •22.3. Вывод точки
- •22.4. Вывод линии
- •22.5. Построение прямоугольников
- •22.6. Построение многоугольников
- •22.7. Построение дуг и окружностей
- •22.8. Работа с текстом
- •Контрольные вопросы
- •Заключение
- •Библиографический список
Условные обозначения блоков
Наименование |
Обозначение |
Функции |
1 |
2 |
3 |
Процесс |
|
Выполнение операции или группы операций, в результате которых изменяется значение, форма представления или расположение данных |
Вводвывод
|
|
Преобразование данных в форму, пригодную для обработки (ввод) или отображения результатов обработки (вывод) |
Решение
|
|
Выбор направления выполнения алгоритма в зависимости от некоторых переменных условий |
Модификация |
|
Организация циклических конструкций |
Предопределенный процесс
|
|
Использование ранее созданных и отдельно написанных программ (подпрограмм) |
Окончание табл.7.1 | ||
1 |
2 |
3 |
Пускостанов |
|
Начало, конец, прерывание процесса обработки данных |
Документ
|
|
Вывод данных на бумажный носитель
|
Магнитный диск |
|
Вводвывод данных, носителем которых служит магнитный диск |
Соединитель
|
|
Указание связи между прерванными линиями, соединяющими блоки |
Межстраничный соединитель
|
|
Указание связи между прерванными линиями, соединяющими блоки, расположенные на разных листах |
Комментарий
|
|
Связь между элементом схемы и пояснением |
7.3. Структурные схемы алгоритмов
Одним из свойств алгоритма является дискретность возможность расчленения процесса вычислений, предписанных алгоритмом, на отдельные этапы, возможность выделения участков программы с определенной структурой. Можно выделить и наглядно представить графически три простейшие структуры:
последовательность двух или более операций;
выбор направления;
повторение.
Любой вычислительный процесс может быть представлен как комбинация этих элементарных алгоритмических структур. Соответственно, вычислительные процессы, выполняемые на ЭВМ по заданной программе, можно разделить на три основных вида:
линейные;
циклические.
Линейным принято называть вычислительный процесс, в котором операции выполняются последовательно, в порядке их записи. Каждая операция является самостоятельной, независимой от каких-либо условий. На схеме блоки, отображающие эти операции, располагаются в линейной последовательности.
Линейные вычислительные процессы имеют место, например, при вычислении арифметических выражений, когда имеются конкретные числовые данные и над ними выполняются соответствующие условию задачи действия. На рис. 7.1 показан пример линейного алгоритма, определяющего процесс вычисления арифметического выражения
y = (b2 ас):(а + с).
Вычислительный процесс называется ветвящимся, если для его реализации предусмотрено несколько направлений (ветвей). Каждое отдельное направление процесса обработки данных является отдельной ветвью вычислений. Ветвление в программе это выбор одной из нескольких последовательностей команд при выполнении программы. Выбор направления зависит от заранее определенного признака, который может относиться к исходным данным, к промежуточным или конечным результатам. Признак характеризует свойство данных и имеет два или более значений.
Ветвящийся процесс, включающий в себя две ветви, называется простым, более двух ветвей сложным. Сложный ветвящийся процесс можно представить с помощью простых ветвящихся процессов.
Направление ветвления выбирается логической проверкой, в результате которой возможны два ответа: «да» условие выполнено и «нет» условие не выполнено.
На рис. 7.2 показан пример алгоритма с разветвлением для вычисления следующего выражения:
y = (а + b), если x < 0;
y = с / b, если x > 0.
|
|
Рис. 7.1. Пример линейного алгоритма |
Рис. 7.2. Пример разветвляющегося алгоритма |
Следует иметь в виду, что, хотя на схеме алгоритма должны быть показаны все возможные направления вычислений в зависимости от выполнения определенного условия (или условий), при однократном прохождении программы процесс реализуется только по одной ветви, а остальные исключаются. Любая ветвь, по которой осуществляются вычисления, должна приводить к завершению вычислительного процесса.
Циклическими называются программы, содержащие циклы. Цикл это многократно повторяемый участок программы.
В зависимости от расположения проверки условия окончания цикла различают циклы с нижним и верхним окончаниями (рис.7.3). Для цикла с нижним окончанием (рис.7.3, б) тело цикла выполняется как минимум один раз, так как сначала производятся вычисления, а затем проверяется условие выхода из цикла. В случае цикла с верхним окончанием (рис.7.3, а) тело цикла может не выполниться ни разу в случае, если сразу соблюдается условие выхода.
б
Рис. 7.3. Примеры циклических алгоритмов
Цикл называется детерминированным, если число повторений тела цикла заранее известно или определено. Цикл называется итерационным, если число повторений тела цикла заранее неизвестно, а зависит от значений параметров (некоторых переменных), участвующих в вычислениях.
На рис.7.4 показан пример циклического алгоритма вычисления суммы десяти чисел.
Рис. 7.4. Алгоритм нахождения суммы десяти чисел
Дляуспешного использования ЭВМ в своей профессиональной деятельности пользователь должен уметь формулировать задачи, разрабатывать алгоритмы их решения, записывать алгоритмы на языке, понятном ЭВМ.
Этапыподготовки и решения реальных задач приведены на рис.7.5.
В курсе информатики детально рассматриваются 4, 5 и 6 этапы решения задач, так как они непосредственно связаны с использованием ЭВМ.
Рис.7.5. Этапы решения задач на ЭВМ