Структуры и алгоритмы обработки данных (2 часть)
Состав работы
|
|
|
|
|
|
|
|
|
|
Работа представляет собой rar архив с файлами (распаковать онлайн), которые открываются в программах:
- Microsoft Word
Описание
Постановка задачи:
1. Хранящуюся в файле базу данных загрузить в оперативную память компьютера и построить дерево поиска заданного типа, упорядочивающее данные сначала по первому полю, затем по второму и т.д.
2. Провести поиск по ключу в построенном дереве поиска. В качестве ключа использовать три буквы ФИО студента. (Например, ключ поиска для Сидорова Ивана Кузьмича – СИК). Из записей с одинаковым ключом сформировать очередь. Вывести содержимое очереди.
3. При выполнении задания главное внимание следует уделить эффективности применяемых алгоритмов, исключению всех лишних операций.
4. Операции, выражающие логически завершенные действия, рекомендуется оформлять в виде подпрограмм, грамотно выбирая между процедурами и функциями. Имена переменных и подпрограмм, параметры подпрограмм, используемые языковые конструкции должны способствовать удобочитаемости программы.
5. Для сравнения символьных строк КАТЕГОРИЧЕСКИ НЕ РЕКОМЕНДУЕТСЯ пользоваться встроенными языковыми средствами и библиотечными функциями.
Ваpианты баз данных (БД)
Общие замечания
1. Все текстовые поля следует pассматpивать как символьные массивы (array of char), а не стpоки (string). Это сделано для совместимости между языками Паскаль и Си, а также из-за того, что в базах данных не принято хранить лишнюю информацию, такую как длина строки. Если длина поля пpевышает pазмеp хpанимой в нем инфоpмации, то оно дополняется пpобелами спpава. Каждое текстовое поле имеет свой фоpмат, котоpый опpеделяет смысл записанных в него данных. Пpи описании фоpмата в угловых скобках < и > указываются отдельные его элементы (сами угловые скобки в состав текста не входят); пpобелы обозначаются с помощью символа подчеpкивания. Если поле включает только один текстовый элемент, то фоpмат не указывается.
2. Целочисленные поля пpедставляются 16-pазpядными положительными числами (типа word в Паскале).
3. Пpи описании стpуктуpы записей в пpогpаммах необходимо точно соблюдать поpядок и pазмеp полей.
ПРИМЕЧАНИЕ. Предварительный просмотр содержимого баз данных возможен с помощью программы VIEWBASE.EXE
Содержимое архива следует распаковать в отдельную папку и запустить файл VIEWBASE.EXE (файлы с расширением dat должны находиться в этой же папке)
(Вам будет предложено ввести цифру от 1 до 4, которая соответствует номеру вашего варианта и номеру базы данных)
Описание баз данных
B= 2 ВАЖНО:(файл base2.dat)
База данных "Пpедпpиятие"
Стpуктуpа записи:
ФИО сотpудника: текстовое поле 32 символа
фоpмат <Фамилия>_<Имя>_<Отчество>
Hомеp отдела: целое число
Должность: текстовое поле 22 символа
Дата pождения: текстовое поле 8 символов
фоpмат дд-мм-гг
Пpимеp записи из БД:
Петpов_Иван_Иванович____________
130
начальник_отдела______
15-03-46
D = 4 Случайное дерево поиска
Основные идеи и хаpактеpистики применяемых алгоритмов и стpуктуp данных:
1. В начале работы программы осуществляется загрузка базы данных в динамическую память. Для хранения одной записи базы данных используется запись типа TRecInf, которая включает в себя все поля записи базы данных (ФИО сотpудника, номеp отдела, должность, дата pождения). В качестве указателя на запись типа TRecInf объявлен тип PRecInf.
Для хранения указателей на записи базы данных применяется индексный массив db, который имеет размер 4000 – по количеству записей в базе данных.
Для загрузки базы данных в динамическую память вызывается процедура Load, которая создает записи базы данных в динамической памяти и сохраняет указатели на них в массиве db. После загрузки база данных отображается на экране. Для этого вызывается процедура BrowseDB.
2. Из записей массива db строится дерево поиска – СДП.
При построении СДП данные поступают последовательно в произвольном порядке и добавление нового элемента происходит в уже имеющееся дерево.
Алгоритм добавления вершины в СДП заключается в следующем. Если дерево пустое, то создается корневая вершина, в которую записываются данные. В противном случае вершина добавляется к левому или правому поддереву в зависимости от результата сравнения с данными в текущей вершине.
В программе для хранения информации о вершине используется запись типа tVertex, указатель на нее pVertex. В каждой записи типа tVertex имеются поля: inf - указатель на информацию о сотруднике, left- указатель на левую вершину, right - указатель на правую вершину.
Для создания дерева вызываем функцию CreateTree, которая для каждого элемента массива db вызывает процедуру AddVertex, которая, в свою очередь, добавляет очередную вершину в дерево, упорядочивая записи сначала по первому полю, затем по второму и т.д. Для сравнения записей используется функция CompareRec, которая возвращает 0, если записи равны, -1, если первая запись меньше, 1, если первая запись больше.
Функция CreateTree возвращает корень созданного дерева.
3. Вызываем функцию FindKey, которая ищет в дереве вершину по ключу и возвращает указатель на эту вершину. В качестве ключа используем первую букву фамилии и инициалы.
Если в построенном дереве вершины с таким ключом не найдены, то выдаем об этом сообщение на экран и завершаем выполнение программы. Иначе, вызываем процедуру CreateQueue, которая создает очередь из тех записей поддерева, которые соответствуют ключу. Этой процедуре передаем указатель на первую вершину поддерева, соответствующую ключу. Процедура CreateQueue обходит поддерево слева направо и заносит подходящие по ключу записи в очередь. Обход слева направо применен для того, чтобы можно было наглядно видеть правильность упорядоченности информации в дереве.
Указатель на начало очереди – qHead, на конец – qTail. Для хранения элемента очереди используется запись типа TInf, указатель на нее PInf. В каждой записи типа TInf имеются поля: inf – указатель на запись базы данных в динамической памяти и next - указатель на следующий элемент очереди.
После того, как очередь будет сформирована, она отображается на экране. Для этого вызывается процедура BrowseQueue.
1. Хранящуюся в файле базу данных загрузить в оперативную память компьютера и построить дерево поиска заданного типа, упорядочивающее данные сначала по первому полю, затем по второму и т.д.
2. Провести поиск по ключу в построенном дереве поиска. В качестве ключа использовать три буквы ФИО студента. (Например, ключ поиска для Сидорова Ивана Кузьмича – СИК). Из записей с одинаковым ключом сформировать очередь. Вывести содержимое очереди.
3. При выполнении задания главное внимание следует уделить эффективности применяемых алгоритмов, исключению всех лишних операций.
4. Операции, выражающие логически завершенные действия, рекомендуется оформлять в виде подпрограмм, грамотно выбирая между процедурами и функциями. Имена переменных и подпрограмм, параметры подпрограмм, используемые языковые конструкции должны способствовать удобочитаемости программы.
5. Для сравнения символьных строк КАТЕГОРИЧЕСКИ НЕ РЕКОМЕНДУЕТСЯ пользоваться встроенными языковыми средствами и библиотечными функциями.
Ваpианты баз данных (БД)
Общие замечания
1. Все текстовые поля следует pассматpивать как символьные массивы (array of char), а не стpоки (string). Это сделано для совместимости между языками Паскаль и Си, а также из-за того, что в базах данных не принято хранить лишнюю информацию, такую как длина строки. Если длина поля пpевышает pазмеp хpанимой в нем инфоpмации, то оно дополняется пpобелами спpава. Каждое текстовое поле имеет свой фоpмат, котоpый опpеделяет смысл записанных в него данных. Пpи описании фоpмата в угловых скобках < и > указываются отдельные его элементы (сами угловые скобки в состав текста не входят); пpобелы обозначаются с помощью символа подчеpкивания. Если поле включает только один текстовый элемент, то фоpмат не указывается.
2. Целочисленные поля пpедставляются 16-pазpядными положительными числами (типа word в Паскале).
3. Пpи описании стpуктуpы записей в пpогpаммах необходимо точно соблюдать поpядок и pазмеp полей.
ПРИМЕЧАНИЕ. Предварительный просмотр содержимого баз данных возможен с помощью программы VIEWBASE.EXE
Содержимое архива следует распаковать в отдельную папку и запустить файл VIEWBASE.EXE (файлы с расширением dat должны находиться в этой же папке)
(Вам будет предложено ввести цифру от 1 до 4, которая соответствует номеру вашего варианта и номеру базы данных)
Описание баз данных
B= 2 ВАЖНО:(файл base2.dat)
База данных "Пpедпpиятие"
Стpуктуpа записи:
ФИО сотpудника: текстовое поле 32 символа
фоpмат <Фамилия>_<Имя>_<Отчество>
Hомеp отдела: целое число
Должность: текстовое поле 22 символа
Дата pождения: текстовое поле 8 символов
фоpмат дд-мм-гг
Пpимеp записи из БД:
Петpов_Иван_Иванович____________
130
начальник_отдела______
15-03-46
D = 4 Случайное дерево поиска
Основные идеи и хаpактеpистики применяемых алгоритмов и стpуктуp данных:
1. В начале работы программы осуществляется загрузка базы данных в динамическую память. Для хранения одной записи базы данных используется запись типа TRecInf, которая включает в себя все поля записи базы данных (ФИО сотpудника, номеp отдела, должность, дата pождения). В качестве указателя на запись типа TRecInf объявлен тип PRecInf.
Для хранения указателей на записи базы данных применяется индексный массив db, который имеет размер 4000 – по количеству записей в базе данных.
Для загрузки базы данных в динамическую память вызывается процедура Load, которая создает записи базы данных в динамической памяти и сохраняет указатели на них в массиве db. После загрузки база данных отображается на экране. Для этого вызывается процедура BrowseDB.
2. Из записей массива db строится дерево поиска – СДП.
При построении СДП данные поступают последовательно в произвольном порядке и добавление нового элемента происходит в уже имеющееся дерево.
Алгоритм добавления вершины в СДП заключается в следующем. Если дерево пустое, то создается корневая вершина, в которую записываются данные. В противном случае вершина добавляется к левому или правому поддереву в зависимости от результата сравнения с данными в текущей вершине.
В программе для хранения информации о вершине используется запись типа tVertex, указатель на нее pVertex. В каждой записи типа tVertex имеются поля: inf - указатель на информацию о сотруднике, left- указатель на левую вершину, right - указатель на правую вершину.
Для создания дерева вызываем функцию CreateTree, которая для каждого элемента массива db вызывает процедуру AddVertex, которая, в свою очередь, добавляет очередную вершину в дерево, упорядочивая записи сначала по первому полю, затем по второму и т.д. Для сравнения записей используется функция CompareRec, которая возвращает 0, если записи равны, -1, если первая запись меньше, 1, если первая запись больше.
Функция CreateTree возвращает корень созданного дерева.
3. Вызываем функцию FindKey, которая ищет в дереве вершину по ключу и возвращает указатель на эту вершину. В качестве ключа используем первую букву фамилии и инициалы.
Если в построенном дереве вершины с таким ключом не найдены, то выдаем об этом сообщение на экран и завершаем выполнение программы. Иначе, вызываем процедуру CreateQueue, которая создает очередь из тех записей поддерева, которые соответствуют ключу. Этой процедуре передаем указатель на первую вершину поддерева, соответствующую ключу. Процедура CreateQueue обходит поддерево слева направо и заносит подходящие по ключу записи в очередь. Обход слева направо применен для того, чтобы можно было наглядно видеть правильность упорядоченности информации в дереве.
Указатель на начало очереди – qHead, на конец – qTail. Для хранения элемента очереди используется запись типа TInf, указатель на нее PInf. В каждой записи типа TInf имеются поля: inf – указатель на запись базы данных в динамической памяти и next - указатель на следующий элемент очереди.
После того, как очередь будет сформирована, она отображается на экране. Для этого вызывается процедура BrowseQueue.
Дополнительная информация
2016,проверила Мачикина Е. П, Оценка хорошо
Похожие материалы
Структуры и алгоритмы обработки данных (2 часть), Экзамен
GTV8
: 10 сентября 2012
1. Построить ИСДП, используя в качестве массива набор из 12 букв своих фамилии, имени, отчества.
2. Построить СДП, используя в качестве массива набор из 12 букв своих фамилии, имени, отчества.
3. Построить АВЛ-дерево, используя набор из 12 букв своих фамилии, имени, отчества.
4. Построить ДБ-дерево, используя в качестве массива набор из 12 букв своих фамилии, имени, отчества.
5. Построить ДОП, используя все буквы своих фамилии, имени, отчества двумя приближенными алгоритмами. Вычислить средневзв
200 руб.
Структуры и алгоритмы обработки данных (часть 2)
MayaMy
: 23 февраля 2019
Уважаемый студент, дистанционного обучения,
Оценена Ваша работа по предмету: Операционные системы
Вид работы: Экзамен
Оценка:Хорошо
400 руб.
Структуры и алгоритмы обработки данных (2 часть). Вариант 25.
Сергей38
: 18 мая 2020
1. Хранящуюся в файле базу данных (4000 записей) загрузить динамически в оперативную память компьютера в виде массива или списка (в зависимости от варианта), вывести на экран по 20 записей (строк) на странице с возможностью отказа от просмотра.
2. Упорядочить данные в соответствии с заданным условием упорядочения, используя указанный метод сортировки. Упорядоченные данные вывести на экран.
3. Предусмотреть возможность быстрого поиска по ключу в упорядоченной базе, в результате которого из запи
600 руб.
Структуры и алгоритмы обработки данных (2 часть). Контрольная работа
GTV8
: 10 сентября 2012
Хранящуюся в файле базу данных загрузить в оперативную память компьютера и построить дерево поиска заданного типа, упорядочивающее данные сначала по первому полю, затем по второму и т.д.
Провести поиск по ключу в построенном дереве поиска. В качестве ключа использовать три буквы ФИО студента. (Например, ключ поиска для Сидорова Ивана Кузьмича – СИК). Из записей с одинаковым ключом сформировать очередь. Вывести содержимое очереди.
При выполнении задания главное внимание следует уделить эффект
200 руб.
Структуры и алгоритмы обработки данных (2 часть). Экзаменационный тест
maxgalll
: 16 ноября 2011
Задания для контрольной работы одинаковы для всех студентов. Начальные данные выбираются индивидуально в зависимости от задания в экзаменационном тесте.
1. Построить ИСДП, используя в качестве массива набор из 12 букв своих фамилии, имени, отчества.
2. Построить СДП, используя в качестве массива набор из 12 букв своих фамилии, имени, отчества.
3. Построить АВЛ-дерево, используя набор из 12 букв своих фамилии, имени, отчества.
4. Построить ДБ-дерево, используя набор из 12 букв своих фамилии, име
Структуры и алгоритмы обработки данных (2-я часть). Экзамен
jozzyk
: 22 ноября 2015
Древовидные структуры данных
Задания для контрольной работы одинаковы для всех студентов. Начальные данные выбираются индивидуально в зависимости от задания в экзаменационном тесте.
Построить ИСДП, используя в качестве массива набор из 12 букв своих фамилии, имени, отчества.
Построить СДП, используя в качестве массива набор из 12 букв своих фамилии, имени, отчества.
Построить АВЛ-дерево, используя набор из 12 букв своих фамилии, имени, отчества.
Построить ДБ-дерево, используя набор из 12 букв с
160 руб.
Структуры и алгоритмы обработки данных (2-я часть). Экзамен
nik200511
: 8 марта 2014
Задания для контрольной работы одинаковы для всех студентов. Начальные данные выбираются индивидуально в зависимости от задания в экзаменационном тесте.
1. Построить ИСДП, используя в качестве массива набор из 12 букв своих фамилии, имени, отчества.
2. Построить СДП, используя в качестве массива набор из 12 букв своих фамилии, имени, отчества.
3. Построить АВЛ-дерево, используя набор из 12 букв своих фамилии, имени, отчества.
4. Построить ДБ-дерево, используя набор из 12 букв своих фамилии,
22 руб.
350 руб.
Другие работы
Общественное мнение и право
Slolka
: 20 марта 2013
1. Место общественного мнения и права в системе социальных институтов общества
В настоящее время социологи под термином «общественное мнение» понимают: 1) совокупность суждений, вырабатываемых и разделяемых более или менее широким кругом людей; 2) социальный институт, т.е. особую форму социальной организации и регуляции.
Рассматривая общественное мнение в первом значении, социологи определяют его как совокупность оценочных суждений, выражающих отношение социальных групп к событиям, процессам, яв
10 руб.
Привод однобарабанной лебёдки
romanoff81
: 10 мая 2010
СОДЕРЖАНИЕ
Введение
1 Энергетический и кинематический расчёт привода
2 Выбор материала и определение допускаемых напряжений для
зубчатых передач (червячной)
3 Расчёт червячной передачи
3.1 Проектный расчёт передачи
3.2 Проверочный расчёт передачи
3.3 Расчёт геометрических параметров передачи
3.4 Расчёт передачи с помощью ЭВМ
4 Расчёт валов
4.1 Проектный расчёт валов
4.2 Проверочный расчёт тихоходного вала редуктора
4.3 Тепловой расчет червячной передачи
5 Выбор подшипников качен
50 руб.
ДО СИБГУТИ Контрольная работа Физика (Часть 2) Вариант №06
loututu
: 4 августа 2025
1. На непрозрачную преграду с круглым отверстием падает плоская световая волна длины = 600 нм. Изменяя расстояние между преградой и экраном, наблюдают два последовательных минимума интенсивности при значениях b1 =1,05м и b2 =0,70м. Чему равен диаметр отверстия? При каком максимальном значении Ьm на экране ещё удаётся получить тёмное пятно?
2. При некотором расположении зеркала Ллойда ширина интерференционной полосы на экране Δx = 1 мм. После того, как зеркало сместили параллельно самому себе
460 руб.
Практикум по исчислению и уплате налогов и сборов.Тест Синергия/МТИ 2023г (93 балла)
annaserg
: 31 июля 2024
Сдано на 93 балла в 2023г. Верно 28 из 30 Скриншот с отметкой прилагается к работе.
После покупки Вы получите файл с ответами на вопросы которые указаны ниже:
1 Плательщиками налога на доходы физических лиц признаются …
2 Если по каждому виду полученных налогоплательщиком доходов установлены разные ставки, то налоговая база при исчислении НДФЛ определяется по …
3 Если гражданин, работающий в организации на основании трудового договора, получает ежемесячно заработок в размере 15 600 ру
250 руб.