1 / 1 / 0
Регистрация: 14.03.2011
Сообщений: 14
|
|
1 | |
Работа с Базой данных06.05.2011, 19:05. Показов 2787. Ответов 0
Метки нет (Все метки)
ПОСТАНОВКА ЗАДАЧИ
Создать базу данных, содержащую минимум 10 строк и 5 полей. База должна загружаться из текстового файла и сохраняться в типизированный файл. Интерфейс и вывод данных должны быть реализованы в графическом режиме. При создании полей Базы должны быть обязательно использованы следующие 5 типов данных: string, char, integer, extended, Boolean. Минимум по двум полям должна быть организована сортировка (по убыванию или по возрастанию). Интерфейс будет иметь 4 кнопки: кнопка загрузки Базы из текстового файла, кнопка сортировки, кнопка сохранения Базы в типизированный файл, кнопка выхода в программу. В программе должен быть создан свой модуль (обычно в него включают кнопки) и оверлей модуль. ТЕОРИЯ Для работы с данными полей базы данных используют тип запись. Тип запись содержит установленное число элементов или полей, которые могут быть различных типов. Описание типа запись указывает тип каждого поля и идентификатор, который именует поле. Структура объявления типа записи такова: <имя записи> = Record <список полей > END Пример: Type ABC=record year: integer; { год } month: 1..12; { месяц } day: 1..31; { число } end; Обращение к полю записи происходит следующим образом: ABC.year:=2006; ABC.month:=6; ABS.day:=27; Чтобы упростить доступ к полям записи, используется оператор присоединения WITH With <переменная> Do <оператор> В лабораторной работе сохранение базы данных происходит в файл. Файл – это именованная область внешней памяти ПК. В Паскале различают три типа файлов: типизированные, не типизированные, текстовые. Структура объявления файла: <имя > = File of <тип > ; {типизированный файл} <имя > = File; {не типизированный файл} <имя > = Text ; {текстовый файл} Для работы с файлами используют следующие функции: -------------------T--------------------------------------------¬ ¦ Функция ¦ Описание ¦ +------------------+--------------------------------------------+ ¦ Append ¦ Открывает существующий файл для добавле-¦ ¦ ¦ ния.(только для текстового файла) ¦ +------------------+--------------------------------------------+ ¦ Assign ¦ Присваивает имя внешнего файла файловой пе-¦ ¦ ¦ ременной. ¦ +------------------+--------------------------------------------+ ¦ BlockRead ¦ Считывает из нетипизированного файла одну¦ ¦ ¦ или более записей. ¦ +------------------+--------------------------------------------+ ¦ BlockWrite ¦ Записывает в нетипизированный файл одну¦ ¦ ¦ или более записей. ¦ +------------------+--------------------------------------------+ ¦ ChDir ¦ Выполняет смену текущего каталога. ¦ +------------------+--------------------------------------------+ ¦ Close ¦ Закрывает открытый файл. ¦ +------------------+--------------------------------------------+ ¦ Erase ¦ Стирает внешний файл. ¦ +------------------+--------------------------------------------+ ¦ Eоf ¦ Возвращает для файла состояние end-of-file¦ ¦ ¦ (конец файла). ¦ +------------------+--------------------------------------------+ ¦ FilePos ¦ Возвращает текущую позицию в файле. Для¦ ¦ ¦ текстовых файлов не используется. ¦ +------------------+--------------------------------------------+ ¦ FileSize ¦ Возвращает текущий размер файла. Для текс-¦ ¦ ¦ товых файлов не используется. ¦ +------------------+--------------------------------------------+ ¦ Flush ¦ Сбрасывает буфер текстового файла вывода. ¦ +------------------+--------------------------------------------+ ¦ Getdir ¦ Возвращает текущий каталог на заданном дис-¦ ¦ ¦ ке. ¦ +------------------+--------------------------------------------+ ¦ IОResult ¦ Возвращает целое значение, являющееся сос-¦ ¦ ¦ тоянием последней выполненной операции вво-¦ ¦ ¦ да-вывода. ¦ +------------------+--------------------------------------------+ ¦ MkDir ¦ Создает подкаталог. ¦ +------------------+--------------------------------------------+ ¦ Read ¦ Считывает одно или более значений из файла¦ ¦ ¦ в одну или более переменных. ¦ +------------------+--------------------------------------------+ +------------------+--------------------------------------------+ ¦ Readln ¦ Делает то же, что и Read, и выполняет пропуск до начала следующей строки текстового¦ ¦ ¦ файла. ¦ +------------------+--------------------------------------------+ ¦ Rеnаме ¦ Переименовывает внешний файл. ¦ +------------------+--------------------------------------------+ ¦ Rеset ¦ Открывает существующий файл. ¦ +------------------+--------------------------------------------+ ¦ Rewritе ¦ Создает и открывает новый файл. ¦ +------------------+--------------------------------------------+ ¦ RмDir ¦ Удаляет пустой подкаталог. ¦ +------------------+--------------------------------------------+ ¦ Seek ¦ Перемещает текущую позицию в файле на за-¦ ¦ ¦ данный элемент. Для текстовых файлов не ис-¦ ¦ ¦ пользуется. ¦ +------------------+--------------------------------------------+ SeekEof ¦ Возвращает для текстового файла состояние¦ ¦ ¦ "конец файла". ¦ +------------------+--------------------------------------------+ ¦ SeekEoln ¦ Возвращает для текстового файла состояние¦ ¦ ¦ "конец строки". ¦ +------------------+--------------------------------------------+ ¦ SetTextBuf ¦ Назначает для текстового файла буфер ввода-¦ ¦ ¦ вывода. ¦ +------------------+--------------------------------------------+ ¦ Truncate ¦ Усекает размер файла до текущей позиции.¦ ¦ ¦ Для текстовых файлов не используется. ¦ +------------------+--------------------------------------------+ ¦ Write ¦ Записывает в файл одно или более значений. ¦ +------------------+--------------------------------------------+ ¦ Writeln ¦ Делает то же, что Write, но затем записы-¦ ¦ ¦ вает в текстовый файл символ конца строки. ¦ L------------------+--------------------------------------------- ПРИМЕР: ………………… var f : text; f1 : file of integer; Begin Assign (f, ‘D:\fff1.txt’); Reset(f); Read(ln) (f, a[1].name); ……………………………….. Close (f); {связывание файловой переменной с физическим файлом} { открытие файла для чтения} {считывание с файла данных} {закрытие файла} Assign (f1, ‘D:\fff1.dat’); Rewrite (f1); For i:=1 to 10 do Writeln (f1, a[i]); Close (f1) { открытие файла для записи} {записывание в файл данных} {закрытие файла} End. В лабораторной работе необходимо сортировать данные по возрастанию или по убыванию, для этого будем использовать самую простую пузырьковую сортировку. Пузырьковая сортировка: Начиная с начала массива, сравниваем значение соседних элементов. Если номер позиции большего из этих элементов больше номера позиции меньшего элемента, то меняем их местами. Проводим эту операцию до тех пор пока один из наибольший элементов не «всплывет» вверх, т.е. не окажется на начальной позиции. Далее первый элемент больше не участвует в сортировке, а к оставшимся элементам применяем ранее описанную последовательность действий. ПРИМЕР {НАЧАЛО ПУЗЫРЬКОВОЙ СОРТИРОВКИ} for i:=1 to n do begin for j:=i+1 to n-1 do begin if a[j] >a[i] then begin b:= a[j]; {b –рабочая переменная того же типа, что и а} a[j]:=a[i]; a[i]:=b; end; end; end; {конец сортировки} Добавлено через 1 минуту Если кто то решился помочь отпишитесь плис
0
|
06.05.2011, 19:05 | |
Ответы с готовыми решениями:
0
работа с базой данных Используя функции категории Работа с базой данных в excel 2010, реализовать запрос к базе данных PHP и работа с базой данных (замена данных) Работа с базой данных |
06.05.2011, 19:05 | |
06.05.2011, 19:05 | |
Помогаю со студенческими работами здесь
1
Работа с базой данных Работа с базой данных работа с базой данных Работа с базой данных Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |