Частина тексту файла (без зображень, графіків і формул):
Міністерство освіти і науки України
Тернопільський національний технічний університет
імені Івана Пулюя
Кафедра комп’ютерних наук
ЛАБОРАТОРНА РОБОТА
з дисципліни “Теорія алгоритмів”
Тема роботи: Реалізація найпростіших алгоритмів у ЕОМ
Тернопіль – 2010
Лабораторна робота №1
Тема роботи: Реалізація найпростіших алгоритмів у ЕОМ
Мета роботи: Метою роботи є вивчення основних структур організації даних у ЕОМ та придбання навичок їх створення та обробки.
Завдання до лабораторної роботи.
Згенерувати масив випадкових чисел.
Виконати сортування масиву вказаним методом.
Обчислити задану характеристику масиву.
Вивести вхідні дані і результати роботи на екран.
Оформити звіт по лабораторній роботі.
7
Масив з 30 цілих чисел в інтервалі (-25..25)
Впорядкувати масив в порядку зростання (метод сортування бульбашка)
Знайти кількість чисел більших п`яти
Блок-схема
Текст програми
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;
type
TForm1 = class(TForm)
Memo1: TMemo;
Button1: TButton;
Button2: TButton;
Button3: TButton;
Memo2: TMemo;
Panel1: TPanel;
Button4: TButton;
Edit1: TEdit;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure FormActivate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
i,k,kil:integer;
L:array [1..30] of integer;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
form1.Memo1.Visible:=true;
form1.Height:=545;
form1.Width:=375;
form1.Memo1.Lines.text:='ÇÃÅÍÅÐÎÂÀÍÈÉ ÌÀÑÈÂ:';
Randomize;
for i:=1 to 30 do
begin
L[i]:=random(50)-25;
form1.Memo1.Lines.Add(inttostr(i)+': ' +inttostr(L[i]));
end;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
form1.Close;
end;
procedure TForm1.Button3Click(Sender: TObject);
var p:integer;
label nazad;
begin
form1.Memo2.Visible:=true;
form1.Height:=545;
form1.Width:=555;
begin
nazad:
for i:=2 to 30 do
begin
if L[i]<L[i-1] then
begin
p:=L[i-1];
L[i-1]:=L[i];
L[i]:=p;
goto nazad;
end;
end;
end;
form1.Memo2.Lines.Text:='²ÄÑÎÐÒÎÂÀÍÈÉ ÌÀÑÈÂ: ';
for i:=1 to 30 do
begin
form1.Memo2.Lines.Add(inttostr(i)+': ' +inttostr(L[i]))
end;
end;
procedure TForm1.Button4Click(Sender: TObject);
begin
kil:=0;
for i:=1 to 30 do
begin
if L[i]>5 then kil:=kil+1;
end;
form1.Edit1.Text:=inttostr(kil);
MessageDlg('ʳëüê³ñòü ÷èñåë á³ëüøå 5 = '+ form1.Edit1.Text, mtInformation, [mbOK], 0);
end;
procedure TForm1.FormActivate(Sender: TObject);
begin
form1.Memo1.Visible:=false;
form1.Memo2.Visible:=false;
form1.Height:=120;
form1.Width:=170;
end;
end.
Результати роботи