![]() |
![]() |
![]() |
|
|||||||||
|
![]() | |||||||||||
|
![]() |
||||||||
|
МЕНЮ
|
БОЛЬШАЯ ЛЕНИНГРАДСКАЯ БИБЛИОТЕКА - РЕФЕРАТЫ - Алгоритмы и организация данныхАлгоритмы и организация данныхФедеральное агентство по образованию РФ ФГОУ СПО «Перевозский строительный колледж» Лабораторная работа по дисциплине «Базы данных» на тему: «АЛГОРИТМЫ И ОРГАНИЗАЦИЯ ДАННЫХ» Подготовил студент 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); // поиск |