MaterStudiorum.ru - домашняя страничка студента.
Минимум рекламы - максимум информации.


Авиация и космонавтика
Административное право
Арбитражный процесс
Архитектура
Астрология
Астрономия
Банковское дело
Безопасность жизнедеятельности
Биографии
Биология
Биология и химия
Биржевое дело
Ботаника и сельское хоз-во
Бухгалтерский учет и аудит
Валютные отношения
Ветеринария
Военная кафедра
География
Геодезия
Геология
Геополитика
Государство и право
Гражданское право и процесс
Делопроизводство
Деньги и кредит
Естествознание
Журналистика
Зоология
Издательское дело и полиграфия
Инвестиции
Иностранный язык
Информатика
Информатика, программирование
Исторические личности
История
История техники
Кибернетика
Коммуникации и связь
Компьютерные науки
Косметология
Краткое содержание произведений
Криминалистика
Криминология
Криптология
Кулинария
Культура и искусство
Культурология
Литература и русский язык
Литература(зарубежная)
Логика
Логистика
Маркетинг
Математика
Медицина, здоровье
Медицинские науки
Международное публичное право
Международное частное право
Международные отношения
Менеджмент
Металлургия
Москвоведение
Музыка
Муниципальное право
Налоги, налогообложение
Наука и техника
Начертательная геометрия
Новейшая история, политология
Оккультизм и уфология
Остальные рефераты
Педагогика
Полиграфия
Политология
Право
Право, юриспруденция
Предпринимательство
Промышленность, производство
Психология
Психология, педагогика
Радиоэлектроника
Разное
Реклама
Религия и мифология
Риторика
Сексология
Социология
Статистика
Страхование
Строительные науки
Строительство
Схемотехника
Таможенная система
Теория государства и права
Теория организации
Теплотехника
Технология
Товароведение
Транспорт
Трудовое право
Туризм
Уголовное право и процесс
Управление
Управленческие науки
Физика
Физкультура и спорт
Философия
Финансовые науки
Финансы
Фотография
Химия
Хозяйственное право
Цифровые устройства
Экологическое право
Экология
Экономика
Экономико-математическое моделирование
Экономическая география
Экономическая теория
Эргономика
Этика
Юриспруденция
Языковедение
Языкознание, филология
    Начало -> Информатика, программирование -> Алгоритмы и организация данных

Название:Алгоритмы и организация данных
Просмотров:83
Раздел:Информатика, программирование
Ссылка:Скачать(165 KB)
Описание: Федеральное агентство по образованию РФ ФГОУ СПО «Перевозский строительный колледж»   Лабораторная работа по дисциплине «Базы данных» на тему: «АЛГОРИТМЫ И ОРГАНИЗАЦИЯ ДАННЫХ»

Университетская электронная библиотека.
www.infoliolib.info

Часть полного текста документа:

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

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

 

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

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

Подготовил студент 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

 

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





Нет комментариев.



Оставить комментарий:

Ваше Имя:
Email:
Антибот:  
Ваш комментарий:  



Похожие работы:

Название:Путешествуя по TObject. Или как оно работает
Просмотров:331
Описание:Каждый класс в Delphi является наследником TObject, и, соответственно, обладает всеми его свойствами и методами. Это, несомненно, полезный факт, но каковы его методы и свойства, каковы его основные свойства и как их можно использовать?

 
     

Вечно с вами © MaterStudiorum.ru