- •Информатика
- •Тверь-2008
- •15 Сентября 2008 г., протокол n1
- •Содержание
- •Глава 1. Языки программирования (яп)…………………………………..8
- •Глава 2. Основы алгоритмизации……………………………………………24
- •Глава 3. Язык и система программирования
- •Глава 4. Объектно-ориентированное программирование (ооп)……….56
- •Глава 5. Лабораторные работы и практические задания ………………..68
- •Введение
- •Глава 5 содержит перечень лабораторных работ (8) по этим темам, а также список индивидуальных заданий для самостоятельного выполнения студентами по желанию или рекомендации преподавателя.
- •Глава 1. Языки программирования (яп)
- •1.1. Эволюция яп (поколения яп)
- •1.2. Элементы яп
- •1.3. Способы описания яп
- •1.4. Типы данных
- •1.5. Краткие сведения о некоторых яп
- •1.5.1. Бейсик (Basic)
- •1.5.2. Паскаль (Pascal)
- •1.6. Системы программирования
- •Глава 2. Основы алгоритмизации
- •2.1. Понятие алгоритма
- •2.2. Свойства алгоритма
- •2.3. Основные этапы решения задачи с помощью эвм
- •2.4. Способы записи алгоритмов
- •2.5. Основные элементы блок-схемы
- •2.6. Типовые структуры алгоритмов
- •2.7. Стандартные алгоритмы
- •2.7.1. Алгоритм накопления суммы (произведения)
- •2.7.2. Алгоритм поиска максимального (минимального) элемента
- •2.7.3. Алгоритмы сортировки
- •2.7.3.1. Метод выбора
- •2.7.3.2. Пузырьковая сортировка
- •Глава 3. Язык и система программирования
- •3.1. Общая характеристика языка и системы программирования vba
- •3.2. Типы данных в языке vba
- •Описание переменных и идентификаторы типов данных
- •3.3. Арифметические и логические выражения
- •3.4 Основные операторы языка vba
- •1. Оператор присваивания.
- •2. Условный оператор.
- •3. Оператор цикла с заданным числом повторений.
- •4. Оператор цикла с незаданным числом повторений.
- •3.5. Разбиение строки программы, несколько операторов в одной строке, задание комментариев в тексте программы
- •3.6. Типы процедур
- •Глава 4. Объектно-ориентированное программирование (ооп)
- •4.1. Структурное программирование и ооп
- •4.2. Понятие программного объекта
- •4.3. Наследование, инкапсуляция и полиморфизм
- •4.4. Понятие класса объектов
- •4.5. Типы программных компонентов
- •Глава 5. Лабораторные работы и практические задания
- •2) По заданным значениям сторон а, в, с найти площадь треугольника по формуле Герона , где р – полупериметр треугольника. (Без проверки условия на существование треугольника.)
- •Лабораторная работа n2 Создание функций пользователя с разветвляющейся структурой алгоритма
- •Практическое задание
- •Лабораторная работа n3 Создание функций пользователя с циклической структурой алгоритма и накоплением суммы (произведения)
- •Практическое задание
- •Лабораторная работа n4 Создание функций пользователя с циклической структурой алгоритма и поиском максимума (минимума)
- •Практическое задание
- •Лабораторная работа n5 Автоматическая запись программы с помощью макрорекодера
- •Практическое задание.
- •Лабораторная работа n6 Создание оконных форм пользователя
- •Практическое задание.
- •Самостоятельное задание к лабораторной работе n6
- •Лабораторная работа n7 Вычисления по разным сценариям
- •Практическое задание.
- •Лабораторная работа n8 Сортировка элементов массива
- •Самостоятельное задание к лабораторной работе n8
- •Список индивидуальных заданий для самостоятельного выполнения
- •Список рекомендуемой литературы
2.7. Стандартные алгоритмы
Стандартными называют алгоритмы, эффективные способы организации которых уже были разработаны ранее (т.е. уже известны). К стандартным алгоритмам относятся алгоритмы решения таких задач как накопление суммы и произведения элементов массива, поиск максимального и минимального элемента массива, сортировка элементов массива.
2.7.1. Алгоритм накопления суммы (произведения)
Суть алгоритма накопления в том, что сумма или произведение вычисляются не сразу, а постепенно накапливаются за счет добавления очередного элемента массива на каждом шаге цикла. Для правильной работы алгоритма переменной, в которой будет накапливаться сумма (произведение), должно быть присвоено определенное начальное значение, не влияющее на действие накопления. Например, при накоплении суммы в качестве начального значения берется 0 (т.к. прибавление нуля не влияет на сумму), а при накоплении произведения начальное значение равно 1 (при умножении на 1 произведение не меняется).
Пусть Х – одномерный массив из n элементов (чисел). Требуется вычислить сумму элементов массива S. Переменную-индекс для перебора элементов в цикле обозначим как i.
Рис. 8. Накопление суммы Рис. 9. Накопление произведения
Блок-схема накопления суммы элементов массива Х в переменную S изображена на рисунке 8. Накопление произведения элементов массива Х в переменную P выполняется аналогично накоплению суммы (рис. 9).
2.7.2. Алгоритм поиска максимального (минимального) элемента
Поиск максимального или минимального элемента массива основан на последовательном переборе всех элементов массива и сравнении каждого элемента с некоторой переменной, в которую должен быть найден максимум (минимум). Если значение элемента превышает значение этой переменной, то оно заносится в нее. При поиске минимума проверяется обратное условие.
Для правильной работы алгоритма переменной для поиска максимума (минимума) должно быть присвоено некоторое начальное значение до цикла поиска. Это должно быть значение, не превышающее максимального элемента (или не меньше минимального элемента). Поэтому в качестве начального значения в обоих случаях может быть взят любой элемент массива (даже если он сам будет максимумом или минимумом, то он не больше и не меньше самого себя). Для простоты в качестве начального значения при поиске максимума (минимума) берут первый элемент массива.
Пусть Х – одномерный массив из n элементов (чисел), М – переменная для поиска максимального (минимального) элемента, k – номер максимального (минимального) элемента, i – номер очередного элемента.
Блок-схема поиска максимального элемента массива и его номера изображена на рисунке 10. Поиск минимального элемента выполняется аналогично, только необходимо поменять знак сравнения “>” на “<” при проверке условия в цикле.
Рис. 10. Поиск максимального элемента и его номера
2.7.3. Алгоритмы сортировки
Сортировкой называют упорядочивание элементов по какому-либо признаку. Например, числовые данные можно упорядочить (отсортировать) либо по возрастанию, либо по убыванию их значений. А строковые данные – в алфавитном порядке, либо в порядке обратном алфавитному.
Наиболее известны два метода сортировки: 1) сортировка методом выбора, 2) пузырьковая сортировка.
