
- •5. Проектирование разветвляющихся вычислительных процессов
- •5.1. Условный оператор
- •5.2. Проектирование приложения, реализующего разветвляющийся вычислительный процесс
- •Используемые переменные
- •5.2.5. Интерфейс с пользователем
- •5.2.6. Код программы
- •5.2.7. Реализация проекта
- •5.2.8. Анализ проекта
- •5.2.9. Выполнение программы и анализ полученных результатов
- •5.4. Пример использования оператора выбора
- •6. Проектирование приложений с циклами
- •6.1. Назначение операторов цикла
- •6.2. Условные циклы
- •6.3. Проектирование приложения на базе условного цикла с верхним окончанием
- •Используемые переменные
- •6.3.5. Интерфейс с пользователем
- •6.3.6. Код программы
- •6.3.7. Анализ проекта
- •6.3.8. Выполнение программы и анализ полученных результатов
- •6.4. Проектирование приложения с использованием условного цикла с нижним окончанием
- •Используемые переменные
- •6.4.5. Интерфейс с пользователем
- •6.4.6. Код программы
- •6.4.7. Анализ проекта
- •6.4.8. Выполнение программы и анализ полученных результатов
- •Планируемые расходы на ремонт офиса
- •6.5. Цикл со счетчиком
- •6.6. Проектирование приложения с использованием цикла со счетчиком
- •6.6.7. Реализация проекта
- •6.6.8. Анализ проекта
- •6.6.9. Выполнение программы и анализ полученных результатов
- •Остаток товаров на 17.09.01
- •7. Массивы данных
- •7.1. Общие сведения о сложных типах
- •Стоимость товаров
- •7.2. Описание и обращение к массивам
- •7.3. Динамические массивы
- •7.4. Использование массивов при решении экономической задачи
- •Используемые данные
- •7.4.5. Интерфейс с пользователем
- •7.4.6. Код программы
- •7.4.7. Реализация проекта
- •7.4.8. Анализ проекта
- •7.4.9. Выполнение программы и анализ полученных результатов
- •Прайс-лист
- •8. Массивы элементов управления
- •8.1. Назначение и создание массивов элементов управления
- •"Группа переключателей"
- •8.2.4. Структура данных
- •Используемые данные
- •8.2.5. Интерфейс с пользователем
- •8.2.6. Код программы
- •8.2.7. Реализация проекта
- •8.2.8. Анализ проекта
- •8.2.9. Выполнение программы и анализ полученных результатов
- •9. Пользовательский тип данных
- •9.1. Определение и обращение
- •9.2. Оператор присоединения With
- •10. Файлы
- •10.1. Назначение файлов
- •10.2. Операции с файлами
- •10.3. Режимы доступа
- •10.4. Файлы с произвольным доступом
- •10.5. Проектирование приложения с файлами
- •10.5.1. Постановка задачи
- •10.5.2. Экономико-математическая модель
- •10.5.3. Алгоритм решения задачи
- •10.5.4. Структура данных
- •10.5.5. Интерфейс с пользователем
- •10.5.6. Код проекта
- •10.5.7. Реализация проекта
- •10.5.8. Анализ проекта
- •9.5.9. Выполнение программы и анализ полученных результатов
- •Данные по заказу на крепежные изделия
- •11. Процедуры и функции
- •11.1. Назначение процедур и их виды
- •11.2. Описание процедур
- •11.3 Вызов процедуры
- •11.4. Функции
- •11.5. Использование процедур и функций при решении экономической задачи
- •11.5.1. Код проекта
- •11.5.2. Реализация проекта
10.2. Операции с файлами
После открытия файла с ним можно выполнять различные операции – читать из него информацию или, наоборот, записывать в него данные. Операции ввода/вывода заканчиваются при закрытии файла. После закрытия файл можно переименовать, скопировать и удалить.
Направление передачи данных (чтение или запись) определяется относительно оперативной памяти: чтение – это передача данных из файла в оперативную память, а запись, наоборот, – из оперативной памяти в файл.
При открытии файла указатель файла устанавливается на начало первой записи. При чтении записи данные копируются в оперативную память, указатель файла перемещается на начало следующей записи. При записывании в файл данные из оперативной памяти копируются в файл в поле записи, в начале которой находится указатель файла.
В отличие от массива, в котором количество элементов задается заранее, в файле количество записей произвольное. Оно заранее не задается и ограничивается только размерами диска. В конце файла (после последней записи) операционная система помещает маркер конца файла. Новые записи добавляются в файл после последней записи, при этом маркер конца файла отодвигается дальше. Попытка прочитать запись после конца файла приводит к ошибке.
Для определения конца файла используется функция EOF(n), где n – номер канала ввода/вывода. С помощью этой функции можно определить достигнут ли конец файла. Если “Да”, то значением функции является True, в противном случае – False. Название функции происходит от сокращения английских слов End Of File (конец файла).
10.3. Режимы доступа
Передача данных может производится в одном из трех режимов:
Последовательно (Sequential);
Произвольно (Random);
Двоичными данными (Binary).
Последовательный доступ предполагает помещение элементов (записей) в файл по принципу “последующий за предыдущим”. В таком же порядке осуществляется и чтение элементов из файла – вначале читается первый элемент, затем второй, далее третий и т.д. Двадцать первый элемент может быть прочитан только после двадцатого. Последовательный доступ чаще всего применяется для работы с текстовыми файлами, т. е. файлами, элементы которых записаны в виде символов. Каждый элемент может иметь произвольную длину. Поэтому они разделяются специальным символом. Действия в режиме последовательного доступа аналогичны работе с аудиозаписями на кассете в магнитофоне.
В отличие от магнитофона, записи на грампластинках или компакт-дисках могут воспроизводиться в порядке, который укажет пользователь. Такой режим доступа к данным называется произвольным. В нем каждый элемент имеет строго фиксированную длину и свой номер в файле. Поэтому в любой момент времени можно добраться к нужному месту на диске и прочитать оттуда информацию, или наоборот записать данные. Причем при записи последующие данные не будут повреждены, поскольку длина каждого элемента строго фиксирована. В качестве элементов данных в файлах с произвольным доступом используют пользовательский тип данных.
Рисунки, аудио и видеозаписи, готовые к выполнению приложения хранятся на дисках в двоичном виде. Чтение и запись таких объектов осуществляется по частям (блоками байтов). Для работы с такими данными файл должен быть открыт в режиме двоичных данных.
Современные базы данных содержат информацию всех трех видов. Информация о том, какие данные помещены в базу (наименование полей и их типы), содержится в текстовом виде в заголовке базы данных, сами данные (значения текстовых и числовых полей) представляются записями пользовательского типа данных, а рисунки, клипы и другие объекты – в виде двоичных полей.
Поскольку на практике для экономических приложений наибольший интерес представляют данные, хранящиеся в виде записей, далее более подробно будет рассмотрен произвольный режим доступа. Используемые здесь примеры лежат в основе работы с базами данных экономического характера.