- •Информатика
- •Тверь-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
- •Список индивидуальных заданий для самостоятельного выполнения
- •Список рекомендуемой литературы
1.4. Типы данных
В информатике термин «данные» используется как синоним понятия «информация». В программировании данными принято называть информацию, подвергающуюся обработке с помощью некоторого алгоритма (программы).
Данные, известные до выполнения алгоритма и подающиеся ему на вход (например, через ввод), называют исходными данными. Данные, получающиеся в процессе выполнения алгоритма на его различных шагах, называют промежуточными. Данные, получаемые в конце работы алгоритма (как результат решения задачи), называют выходными данными.
Во многих ЯП данные делятся на константы и переменные. Константы – это данные, значения которых не меняются в процессе выполнения алгоритма. Переменные – это такие данные, значения которых могут меняться в процессе выполнения алгоритма.
Каждая переменная, используемая в алгоритме (программе), должна иметь свое уникальное имя – идентификатор. В большинстве ЯП идентификатор переменной представляет собой последовательность букв и цифр, начинающуюся с буквы.
Любой константе, переменной, выражению (с точки зрения обработки на ЭВМ) ставится в соответствие некоторый тип данных. Тип данных характеризует множество значений, к которому относится данная константа и которые может принимать данная переменная (или выражение). Например, если переменная i в некотором алгоритме должна принимать только значения из множества целых чисел, то ей ставится в соответствие целый тип данных.
Типы данных принято делить на простые (базовые) и структурированные (сложные).
К основным простым типам относятся:
– целый (чаще всего обозначается как Integer) определяет множество целых чисел (в ограниченном диапазоне),
– вещественный (в Паскале обозначается как Real, в языке Visual Basic как Double) определяет множество действительных чисел (в ограниченном диапазоне),
– логический (обозначается как Boolean) определяет множество из двух значений: истина и ложь,
– символьный (в Паскале обозначается как Char, в Visual Basic отсутствует) определяет множество целых чисел (в ограниченном диапазоне).
Основные типы языка VBA перечислены в главе 3 в пункте 3.2 (в таблице 3) с указанием диапазона и размера занимаемой памяти по каждому типу данных.
Отличие простых переменных от структурированных. Переменной простого типа в определенный момент времени ставится в соответствие только одно значение. Переменной структурированного типа ставится в соответствие целый набор значений (т.е. некоторая структура).
К основным структурированным типам данных относятся: массив, запись и файл.
Массив представляет собой конечный набор элементов одного типа. Размерность массива определяется количеством индексов, которые ставятся в соответствие каждому элементу массива. Например, в одномерном массиве каждому элементу ставится в соответствие значение только одного индекса (номер элемента), в двумерном массиве (матрице) каждому элементу ставятся в соответствие значения двух индексов: номер строки и номер столбца.
При описании переменной типа массив указывается имя массива, а также тип элементов данного массива (описание массива в языке VBA см. в пункте 3.2).
Для обращения к отдельному элементу массива указывается не только имя массива, но и значения его индексов (в одномерном массиве – номер элемента) в скобках после имени массива.
Пример. Х – одномерный массив из 10 элементов целого типа. Требуется присвоить пятому элементу массива Х значение 10.
На языке Паскаль это действие запишется так:
X[5]:=10;
На языке Бейсик (в том числе на VBA):
X(5)=10
Для обработки массивов, как правило, используются циклические структуры (типовые структуры алгоритмов описаны в главе 2 в пункте 2.6), т.к. в цикле можно задать выполнение одного и того же действия поочередно для всех элементов массива.
Пример. Х – одномерный массив из n элементов. Требуется задать ввод значений элементов данного массива. В данном случае удобно использовать цикл с заданным числом повторений, в теле которого будет задано действие «Ввод X(i)» как ввод очередного i-го элемента массива Х. В заголовке цикла будет задан перебор всех значений индекса i от 1 до n (с первого до последнего) с шагом 1 (рис.1).
Рис.1 Блок-схема цикла для ввода значений элементов массива Х
Запись представляет собой конечный набор элементов разного типа. Элементы записи называют полями. Каждое поле должно иметь собственное имя. При описании переменной типа запись кроме имени записи указываются имена всех полей и их типы.
Если в описании нескольких записей присутствует поле с одним и тем же именем, то далее при обращении к этому полю в программе должно указываться составное имя, где будет указано не только имя поля, но также имя записи, к которой данное поле относится.
Файл можно определить как логически непрерывный именованный набор данных на внешнем носителе (например, диске). Связь программы с внешними файлами осуществляется через специальные переменные. Процесс обработки файла включает в себя следующие операции: 1) открытие файла, 2) организация цикла для обработки содержания файла, который обычно заканчивается по исчерпании записей файла – достижении состояния EOF(End-Of-File), 3) закрытие файла.
По типу записей различают: 1) файлы с записями фиксированной длины, 2) файлы с записями переменной или неопределенной длины, 3) файлы, образующие байтовый или битовый поток. По способу выборки информации различают: 1) файлы последовательного доступа, 2) файлы прямого доступа.
