Реферат: Алгоритмы и организация данных - текст реферата. Скачать бесплатно.
Банк рефератов, курсовых и дипломных работ. Много и бесплатно. # | Правила оформления работ | Добавить в избранное
 
 
   
Меню Меню Меню Меню Меню
   
Napishem.com Napishem.com Napishem.com

Реферат

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

Банк рефератов / Программирование

Рубрики  Рубрики реферат банка

закрыть
Категория: Реферат
Язык реферата: Русский
Дата добавления:   
 
Скачать
Microsoft Word, 4867 kb, скачать бесплатно
Заказать
Узнать стоимость написания уникального реферата

Узнайте стоимость написания уникальной работы

Лабораторная работа по дисциплине «Базы данных» на тему: «АЛГОРИТМЫ И ОРГАНИЗАЦИЯ ДАННЫХ» Задание 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 записей. Создайте индексные файлы по реквизитам А и В и двум реквизитам совместно. Необходимые дополнительные параметры выберите самостоятельно. Решение:
1Архитектура и строительство
2Астрономия, авиация, космонавтика
 
3Безопасность жизнедеятельности
4Биология
 
5Военная кафедра, гражданская оборона
 
6География, экономическая география
7Геология и геодезия
8Государственное регулирование и налоги
 
9Естествознание
 
10Журналистика
 
11Законодательство и право
12Адвокатура
13Административное право
14Арбитражное процессуальное право
15Банковское право
16Государство и право
17Гражданское право и процесс
18Жилищное право
19Законодательство зарубежных стран
20Земельное право
21Конституционное право
22Конституционное право зарубежных стран
23Международное право
24Муниципальное право
25Налоговое право
26Римское право
27Семейное право
28Таможенное право
29Трудовое право
30Уголовное право и процесс
31Финансовое право
32Хозяйственное право
33Экологическое право
34Юриспруденция
 
35Иностранные языки
36Информатика, информационные технологии
37Базы данных
38Компьютерные сети
39Программирование
40Искусство и культура
41Краеведение
42Культурология
43Музыка
44История
45Биографии
46Историческая личность
47Литература
 
48Маркетинг и реклама
49Математика
50Медицина и здоровье
51Менеджмент
52Антикризисное управление
53Делопроизводство и документооборот
54Логистика
 
55Педагогика
56Политология
57Правоохранительные органы
58Криминалистика и криминология
59Прочее
60Психология
61Юридическая психология
 
62Радиоэлектроника
63Религия
 
64Сельское хозяйство и землепользование
65Социология
66Страхование
 
67Технологии
68Материаловедение
69Машиностроение
70Металлургия
71Транспорт
72Туризм
 
73Физика
74Физкультура и спорт
75Философия
 
76Химия
 
77Экология, охрана природы
78Экономика и финансы
79Анализ хозяйственной деятельности
80Банковское дело и кредитование
81Биржевое дело
82Бухгалтерский учет и аудит
83История экономических учений
84Международные отношения
85Предпринимательство, бизнес, микроэкономика
86Финансы
87Ценные бумаги и фондовый рынок
88Экономика предприятия
89Экономико-математическое моделирование
90Экономическая теория

 Анекдоты - это почти как рефераты, только короткие и смешные Следующий
Почта России: меняются только тарифы.
Anekdot.ru

Узнайте стоимость курсовой, диплома, реферата на заказ.

Обратите внимание, реферат по программированию "Алгоритмы и организация данных", также как и все другие рефераты, курсовые, дипломные и другие работы вы можете скачать бесплатно.

Смотрите также:


Банк рефератов - РефератБанк.ру
© РефератБанк, 2002 - 2016
Рейтинг@Mail.ru