Всё сдал! - помощь студентам онлайн Всё сдал! - помощь студентам онлайн

Реальная база готовых
студенческих работ

Узнайте стоимость индивидуальной работы!

Вы нашли то, что искали?

Вы нашли то, что искали?

Да, спасибо!

0%

Нет, пока не нашел

0%

Узнайте стоимость индивидуальной работы

это быстро и бесплатно

Получите скидку

Оформите заказ сейчас и получите скидку 100 руб.!


Алгоритмы и организация данных

Тип Реферат
Предмет Информатика и программирование
Просмотров
1061
Размер файла
237 б
Поделиться

Ознакомительный фрагмент работы:

Алгоритмы и организация данных

Федеральное агентство по образованию РФ

ФГОУ СПО «Перевозский строительный колледж»

Лабораторная работа по дисциплине «Базы данных»

на тему: «АЛГОРИТМЫ И ОРГАНИЗАЦИЯ ДАННЫХ»

Подготовил студент 351 группы: Дмитриев А.С.

Проверила: Патлай Н.А.


Задание 3.1

Напишите программу последовательного поиска в последовательном неотсортированном массиве реквизитов единственного значения q. Используйте любой доступный вам язык программирования.

Решение:

Код программы:

unit Proga;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, Grids, jpeg, ExtCtrls;

type

TForm1 = class(TForm)

StringGrid1: TStringGrid;

Edit1: TEdit;

Button1: TButton;

Edit2: TEdit;

Edit3: TEdit;

Edit4: TEdit;

Edit5: TEdit;

Edit6: TEdit;

Image1: TImage;

Label2: TLabel;

Label1: TLabel;

Label3: TLabel;

procedure Button1Click(Sender: TObject);

procedure FormActivate(Sender: TObject);

procedure Edit2KeyPress(Sender: TObject; var Key: Char);

procedure Edit3KeyPress(Sender: TObject; var Key: Char);

procedure Edit4KeyPress(Sender: TObject; var Key: Char);

procedure Edit5KeyPress(Sender: TObject; var Key: Char);

procedure Edit6KeyPress(Sender: TObject; var Key: Char);

procedure StringGrid1KeyPress(Sender: TObject; var Key: Char);

procedure Edit1KeyPress(Sender: TObject; var Key: Char);

procedure StringGrid1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

{$R *.dfm}

{поисквмассивеперебором}

procedure TForm1.Button1Click(Sender: TObject);

Const

SIZE=5;

Var

a:Array [1..SIZE] of Integer; // массив

obr:Integer; // образец для поиска

found:Boolean; // TRUE - совпадение образца с элементом массива

i:Integer; // индекс элемента массива

begin

If Length (StringGrid1.Cells[0,0])>3 then

begin

ShowMessage ('Ошибкав P (1) !!! Нельзя ввести число больше "999".');

StringGrid1.Cells[0,0]:='';

Exit;

end;

If Length (StringGrid1.Cells[1,0])>3 then

begin

ShowMessage ('Ошибкав P (2) !!! Нельзя ввести число больше "999".');

StringGrid1.Cells[1,0]:='';

Exit;

end;

If Length (StringGrid1.Cells[2,0])>3 then

begin

ShowMessage ('Ошибкав P (3) !!! Нельзя ввести число больше "999".');

StringGrid1.Cells[2,0]:='';

Exit;

end;

If Length (StringGrid1.Cells[3,0])>3 then

begin

ShowMessage ('Ошибкав P (4) !!! Нельзя ввести число больше "999".');

StringGrid1.Cells[3,0]:='';

Exit;

end;

If Length (StringGrid1.Cells[4,0])>3 then

begin

ShowMessage ('Ошибкав P (5) !!! Нельзя ввести число больше "999".');

StringGrid1.Cells[4,0]:='';

Exit;

end;

If Length (Edit1.Text)>3 then

begin

ShowMessage ('Ошибка в "Образец" !!! Нельзя ввести число больше "999".');

Edit1.Text:='';

Exit;

end;

If (StringGrid1.Cells[0,0]='') or (StringGrid1.Cells[1,0]='') or (StringGrid1.Cells[2,0]='') or (StringGrid1.Cells[3,0]='') or (StringGrid1.Cells[4,0]='') then

begin

ShowMessage ('Введены не все элементы уравнения. ПРОДОЛЖЕНИЕ НЕВОЗМОЖНО!');

Exit;

end;

If (Edit1.Text='') then

begin

ShowMessage ('Не введен образец. ПРОДОЛЖЕНИЕ НЕВОЗМОЖНО!');

Exit;

end;

// вводмассива

For i:=1 to SIZE do

a[i]:=StrToInt (StringGrid1.Cells[i-1,0]);

If Length (StringGrid1.Cells[0,0])=0 then

begin

ShowMessage ('Введены не все элементы массива!!!');

Exit;

end;

// ввод образца для поиска

obr:=StrToInt (Edit1.Text);

// поиск

found:=FALSE; // пусть нужного элемента в массиве нет

i:=1;

Repeat

If a[i]=obr then

found:=TRUE else

i:=i+1;

Until (i>SIZE) or (found=TRUE);

If found then

ShowMessage ('Совпадениесэлементомномер P ('+IntToStr (i)+').'+#13+'Поискуспешен.') else

ShowMessage ('Совпадение с образцом нет.');

end;

procedure TForm1.FormActivate(Sender: TObject);

begin

Edit2.Text:=' P (1) ';

Edit3.Text:=' P (2) ';

Edit4.Text:=' P (3) ';

Edit5.Text:=' P (4) ';

Edit6.Text:=' P (5) ';

end;

procedure TForm1.Edit2KeyPress(Sender: TObject; var Key: Char);

begin

Key:=Chr(0);

end;

procedure TForm1.Edit3KeyPress(Sender: TObject; var Key: Char);

begin

Key:=Chr(0);

end;

procedure TForm1.Edit4KeyPress(Sender: TObject; var Key: Char);

begin

Key:=Chr(0);

end;

procedure TForm1.Edit5KeyPress(Sender: TObject; var Key: Char);

begin

Key:=Chr(0);

end;

procedure TForm1.Edit6KeyPress(Sender: TObject; var Key: Char);

begin

Key:=Chr(0);

end;

procedure TForm1.StringGrid1KeyPress(Sender: TObject; var Key: Char);

begin

Case Key of

'0'..'9':;

#8:;

else

Key:=Chr(0);

end;

end;

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);

begin

Case Key of

'0'..'9':;

#8:;

else

Key:=Chr(0);

end;

end;

procedure TForm1.StringGrid1Click(Sender: TObject);

begin

If StringGrid1.Cells[0,0]=StringGrid1.Cells[1,0] then

begin

If Length (StringGrid1.Cells[0,0])<>0 then

begin

ShowMessage ('Нельзя ввести одинаковые числа!!!');

end;

If Length (StringGrid1.Cells[1,0])<>0 then

begin

ShowMessage ('Нельзя ввести одинаковые числа!!!');

end;

StringGrid1.Cells[0,0]:='';

StringGrid1.Cells[1,0]:='';

end;

If StringGrid1.Cells[0,0]=StringGrid1.Cells[2,0] then

begin

If Length (StringGrid1.Cells[0,0])<>0 then

begin

ShowMessage ('Нельзя ввести одинаковые числа!!!');

end;

If Length (StringGrid1.Cells[2,0])<>0 then

begin

ShowMessage ('Нельзя ввести одинаковые числа!!!');

end;

StringGrid1.Cells[0,0]:='';

StringGrid1.Cells[2,0]:='';

end;

If StringGrid1.Cells[0,0]=StringGrid1.Cells[3,0] then

begin

If Length (StringGrid1.Cells[0,0])<>0 then

begin

ShowMessage ('Нельзя ввести одинаковые числа!!!');

end;

If Length (StringGrid1.Cells[3,0])<>0 then

begin

ShowMessage ('Нельзя ввести одинаковые числа!!!');

end;

StringGrid1.Cells[0,0]:='';

StringGrid1.Cells[3,0]:='';

end;

If StringGrid1.Cells[0,0]=StringGrid1.Cells[4,0] then

begin

If Length (StringGrid1.Cells[0,0])<>0 then

begin

ShowMessage ('Нельзя ввести одинаковые числа!!!');

end;

If Length (StringGrid1.Cells[4,0])<>0 then

begin

ShowMessage ('Нельзя ввести одинаковые числа!!!');

end;

StringGrid1.Cells[0,0]:='';

StringGrid1.Cells[4,0]:='';

end;

If StringGrid1.Cells[1,0]=StringGrid1.Cells[2,0] then

begin

If Length (StringGrid1.Cells[1,0])<>0 then

begin

ShowMessage ('Нельзя ввести одинаковые числа!!!');

end;

If Length (StringGrid1.Cells[2,0])<>0 then

begin

ShowMessage ('Нельзя ввести одинаковые числа!!!');

end;

StringGrid1.Cells[1,0]:='';

StringGrid1.Cells[2,0]:='';

end;

If StringGrid1.Cells[1,0]=StringGrid1.Cells[3,0] then

begin

If Length (StringGrid1.Cells[1,0])<>0 then

begin

ShowMessage ('Нельзя ввести одинаковые числа!!!');

end;

If Length (StringGrid1.Cells[3,0])<>0 then

begin

ShowMessage ('Нельзя ввести одинаковые числа!!!');

end;

StringGrid1.Cells[1,0]:='';

StringGrid1.Cells[3,0]:='';

end;

If StringGrid1.Cells[1,0]=StringGrid1.Cells[4,0] then

begin

If Length (StringGrid1.Cells[1,0])<>0 then

begin

ShowMessage ('Нельзя ввести одинаковые числа!!!');

end;

If Length (StringGrid1.Cells[4,0])<>0 then

begin

ShowMessage ('Нельзя ввести одинаковые числа!!!');

end;

StringGrid1.Cells[1,0]:='';

StringGrid1.Cells[4,0]:='';

end;

If StringGrid1.Cells[2,0]=StringGrid1.Cells[3,0] then

begin

If Length (StringGrid1.Cells[2,0])<>0 then

begin

ShowMessage ('Нельзя ввести одинаковые числа!!!');

end;

If Length (StringGrid1.Cells[3,0])<>0 then

begin

ShowMessage ('Нельзя ввести одинаковые числа!!!');

end;

StringGrid1.Cells[2,0]:='';

StringGrid1.Cells[3,0]:='';

end;

If StringGrid1.Cells[2,0]=StringGrid1.Cells[4,0] then

begin

If Length (StringGrid1.Cells[2,0])<>0 then

begin

ShowMessage ('Нельзя ввести одинаковые числа!!!');

end;

If Length (StringGrid1.Cells[4,0])<>0 then

begin

ShowMessage ('Нельзя ввести одинаковые числа!!!');

end;

StringGrid1.Cells[2,0]:='';

StringGrid1.Cells[4,0]:='';

end;

If StringGrid1.Cells[3,0]=StringGrid1.Cells[4,0] then

begin

If Length (StringGrid1.Cells[3,0])<>0 then

begin

ShowMessage ('Нельзя ввести одинаковые числа!!!');

end;

If Length (StringGrid1.Cells[4,0])<>0 then

begin

ShowMessage ('Нельзя ввести одинаковые числа!!!');

end;

StringGrid1.Cells[3,0]:='';

StringGrid1.Cells[4,0]:='';

end;

end;

end.

Скриншот:


Задание 3.9

Реализует ли приведенная ниже программа алгоритм сортировки простым выбором?

PROGRAM Simple_Select;

Const N=400;

Var J,I,K:Integer;

Max,Ind: Integer;

A: Array [0..N] of Integer;

BEGIN

For I:=0 to N do

Begin

A[I]:=Random (N);

Write (A[I]:4);

end;

For J:=N downto 1 do

begin

Max:=A[J];

Ind := J;

For I:=J downto 0 do

If A[I]>Max then

Begin

Max:=A[I];

Ind:=I;

end;

If Ind<>J then

Begin

К:=A[Ind];

A[Ind]:=A[J];

A[J]:=К;

End;

end;

For I:=0 to N do

Write (A[I]:4);

END.

Решение:

Скриншот:

Приведенная программа не реализует алгоритм сортировки простым выбором.


Задание 3.12

Напишите программу индексирования основного файла по одному реквизиту. Используйте любой доступный вам язык программирования.

Решение:

Индексирование основного файла по одному реквизиту будем делать на примере вот этой таблицы:

АВС
1Первый заводСтул
2Второй заводСтол
3Третий заводКомпьютер

Индексирование файла будем делать по реквизиту «A».

Индексный файл будет выглядеть так:

АС
1Стул
2Стол
3Компьютер

Алгоритм программы:

1. Запуск программы.

2. Ввод размеров таблицы, т.е. количество столбцов и строк.

3. Ввод всех записей таблицы.

4. Запись этой таблицы в файл «Baza.txt».

5. Ввод названия реквизитов, по которым нужно индексировать файл.

6. Проверка всех записей основного реквизита на упорядоченность, т.е. расположение по возрастанию или убыванию (по алфавиту или по цифрам):

1) Если все записи упорядочены, то:

1) Если записей в реквизите меньше 10, то в индексе необходимо помещать указатель на каждую запись.

2) Если записей в реквизите больше 10, то в индексе необходимо помещать указатель не на каждую запись, а на ключи, которые будут создаваться, например, с промежутком в 7 записей (промежуток зависит от того, сколько записей в реквизите всего находится).

2) Если все записи не упорядочены, то, в индексе необходимо помещать указатель на каждую запись, а сам индексный файл можно упорядочить по значениям ключа индексирования.

7. Запись индексированной таблицы в файл «Index.txt».

8. Выход из программы.


Задание 3.17

Рассмотрите файл из двух реквизитов А и В с первой записью (11,8) и последующими значениями А и В, получаемыми по формулам:

состоящий из 25 записей. Создайте индексные файлы по реквизитам А и В и двум реквизитам совместно. Необходимые дополнительные параметры выберите самостоятельно.

Решение:


Нет нужной работы в каталоге?

Сделайте индивидуальный заказ на нашем сервисе. Там эксперты помогают с учебой без посредников Разместите задание – сайт бесплатно отправит его исполнителя, и они предложат цены.

Цены ниже, чем в агентствах и у конкурентов

Вы работаете с экспертами напрямую. Поэтому стоимость работ приятно вас удивит

Бесплатные доработки и консультации

Исполнитель внесет нужные правки в работу по вашему требованию без доплат. Корректировки в максимально короткие сроки

Гарантируем возврат

Если работа вас не устроит – мы вернем 100% суммы заказа

Техподдержка 7 дней в неделю

Наши менеджеры всегда на связи и оперативно решат любую проблему

Строгий отбор экспертов

К работе допускаются только проверенные специалисты с высшим образованием. Проверяем диплом на оценки «хорошо» и «отлично»

1 000 +
Новых работ ежедневно
computer

Требуются доработки?
Они включены в стоимость работы

Работы выполняют эксперты в своём деле. Они ценят свою репутацию, поэтому результат выполненной работы гарантирован

avatar
Математика
История
Экономика
icon
159599
рейтинг
icon
3275
работ сдано
icon
1404
отзывов
avatar
Математика
Физика
История
icon
156804
рейтинг
icon
6076
работ сдано
icon
2739
отзывов
avatar
Химия
Экономика
Биология
icon
105734
рейтинг
icon
2110
работ сдано
icon
1318
отзывов
avatar
Высшая математика
Информатика
Геодезия
icon
62710
рейтинг
icon
1046
работ сдано
icon
598
отзывов
Отзывы студентов о нашей работе
66 051 оценка star star star star star
среднее 4.9 из 5
Российский Государственный Гуманитарный Университет
Раньше срока отправлена работа. Выполнены все требования. У преподавателя не возникло вопр...
star star star star star
Иниту
Огромное спасибо, что выручили в сложной ситуации! Работу прислали ночью, уникальность раб...
star star star star star
Пстгу
Отличная работа ,без замечаний ,прекрасный исполнитель ,готова ещё ни раз обратится к ней ...
star star star star star

Последние размещённые задания

Ежедневно эксперты готовы работать над 1000 заданиями. Контролируйте процесс написания работы в режиме онлайн

Выполнить вёрстку сайта (написать код)

Курсовая, Разработка интерфейсов пользователя, информатика, программирование

Срок сдачи к 28 апр.

1 минуту назад

Объем работы должен составлять от 3 до 7 страниц, формат А4 (21,0х29

Статья, Современные технологии изысканий и проектирования объектов транспортной инфраструктуры

Срок сдачи к 27 апр.

3 минуты назад

Реферат по философии объем 15-20 страниц

Реферат, Философия

Срок сдачи к 7 мая

3 минуты назад

Сделать вёрстку сайта по макету фигму

Другое, Проектирование и разработка интерфейсов пользователя, информатика, программирование

Срок сдачи к 28 апр.

4 минуты назад

Выполнить курсовую работу на тему Разработка проекта электрической сети района

Курсовая, Электроэнергетические системы и сети

Срок сдачи к 15 мая

8 минут назад

Внешняя память компьютера

Курсовая, Информатика

Срок сдачи к 5 мая

8 минут назад

Выполнить Отчет по практике, 10 семестр, Информационные системы и программирования

Отчет по практике, Информационные системы

Срок сдачи к 30 апр.

8 минут назад

Анализ динамики социально-экономических явлений и выявление трендов

Другое, Основы статистики, статистика, экономика

Срок сдачи к 27 апр.

9 минут назад

Решить задачу

Решение задач, нейронные сети, информатика, программирование

Срок сдачи к 13 мая

9 минут назад

Написать вкр. «техносферная безопасность» . м-09381

Диплом, Геология

Срок сдачи к 20 мая

9 минут назад

тема "исследование надежности электроснабжения потребителей в сетях...

Диплом, Электрические сети и системы

Срок сдачи к 15 мая

9 минут назад

Написать вкр. «техносферная безопасность» . м-09381

Диплом, Безопасность жизнедеятельности

Срок сдачи к 20 мая

10 минут назад

Электрические машины | О | Обязательная часть

Курсовая, Электротехника

Срок сдачи к 30 апр.

10 минут назад

Практическая работа №1

Решение задач, Экономическая теория

Срок сдачи к 27 апр.

11 минут назад

Решить задачу по варианту

Решение задач, Сопротивление материалов

Срок сдачи к 27 апр.

11 минут назад

Решить задачу по варианту

Решение задач, Сопротивление материалов

Срок сдачи к 27 апр.

11 минут назад

Доделать курс по физика 1.9 / до 2025 (18.03.01). м-09382

Контрольная, Физика

Срок сдачи к 5 мая

11 минут назад
11 минут назад
planes planes
Закажи индивидуальную работу за 1 минуту!

Размещенные на сайт контрольные, курсовые и иные категории работ (далее — Работы) и их содержимое предназначены исключительно для ознакомления, без целей коммерческого использования. Все права в отношении Работ и их содержимого принадлежат их законным правообладателям. Любое их использование возможно лишь с согласия законных правообладателей. Администрация сайта не несет ответственности за возможный вред и/или убытки, возникшие в связи с использованием Работ и их содержимого.

«Всё сдал!» — безопасный онлайн-сервис с проверенными экспертами

Используя «Свежую базу РГСР», вы принимаете пользовательское соглашение
и политику обработки персональных данных
Сайт работает по московскому времени:

Вход
Регистрация или
Не нашли, что искали?

Заполните форму и узнайте цену на индивидуальную работу!

Файлы (при наличии)

    это быстро и бесплатно