Программирование на языке объектно–ориентированного и визуального программирования Delphi

Контрольная работа - Компьютеры, программирование

Другие контрольные работы по предмету Компьютеры, программирование

?м данных.

.Входную информацию и результаты счета вывести на экран (предусмотреть возможность распечатки результатов работы на принтере), снабдив их соответствующими заголовками.

.Подсчитать количество А) сравнений элементов; Б)перестановок элементов.

Содержание отчета:

1)Постановка задачи.

2)Описание всех действий по созданию приложения.

)Блок-схема или алгоритм (в том числе сортировки)

)Математические выкладки

)Листинг программы и всех модулей

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

Методические указания:

  1. Исходные данные должны включать и положительные числа, и отрицательные, и нули.

Вариант задания:

  1. Дан двумерный массив, содержащий 5 строк и 3 столбца. Элементами массива являются целые числа. Упорядочить массив по не убыванию элементов второй строки.

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

 

unit Unit1;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, Grids, StdCtrls, ExtCtrls, Printers;= class(TForm): TPanel;: TPanel;: TStringGrid;: TStringGrid;: TPanel;: TRadioButton;: TRadioButton;: TPanel;: TButton;: TEdit;: TLabel;: TLabel;: TEdit;: TButton;: TPanel;: TLabel;: TLabel;: TEdit;: TEdit;: TLabel;: TLabel;: TPanel;: TButton;: TButton;btn1Click(Sender: TObject);btn2Click(Sender: TObject);btn3Click(Sender: TObject);btn4Click(Sender: TObject);: Integer;: Integer;: array of array of Integer;

{ Public declarations };: TForm1;

a[k][1]thenj:=0ton-1do(XchgCount);:=a[i][j];[i][j]:=a[k][j];[k][j]:=buf;;;i:=0tom-1doj:=0ton-1do.Cells[j,i]:=IntToStr(a[i,j]);.Text:=IntToStr(CmpCount);.Text:=IntToStr(XchgCount);;TForm1.btn4Click(Sender:TObject);">{$R *.dfm}= 99;TForm1.btn1Click(Sender: TObject);:= StrToInt(edt1.Text);:= StrToInt(edt2.Text);(a, m, n);.RowCount := m;.ColCount := n;.RowCount := m;.ColCount := n;.Enabled := False;.Enabled := True;.Options := StringGrid1.Options + [goEditing];;TForm1.btn2Click(Sender: TObject);, j: Integer;rb1.Checked theni := 0 to m - 1 doj := 0 to n - 1 do[i, j] := StrToInt(StringGrid1.Cells[j, i]);i := 0 to m - 1 doj := 0 to n - 1 do[i, j] := Random(2 * MyRandMax + 1) - MyRandMax;.Cells[j, i] := IntToStr(a[i, j]);;;.Enabled := False;.Enabled := True;.Options := StringGrid1.Options - [goEditing];;TForm1.btn3Click(Sender: TObject);, j, k: Integer;, XchgCount: integer;: integer;.Enabled := False;.Enabled := True;:= 0;:= 0;i := 0 to m - 2 dok := i + 1 to m - 1 do(CmpCount);a[i][1] > a[k][1] thenj := 0 to n - 1 do(XchgCount);:= a[i][j];[i][j] := a[k][j];[k][j] := buf;;;i := 0 to m - 1 doj := 0 to n - 1 do.Cells[j, i] := IntToStr(a[i, j]);.Text := IntToStr(CmpCount);.Text := IntToStr(XchgCount);;TForm1.btn4Click(Sender: TObject);

// Начало печати.BeginDoc;.Canvas.Font.Color := clBlack;.Canvas.TextOut(40, 20, Сравнений = + edt3.Text);.Canvas.TextOut(40, 40, Перестановок = + edt4.Text);

// Конец печати.EndDoc;;.

 

 

Листинг программы:

 

 

Динамический список

Условие задачи

Создать С1-направленный список, упорядоченный по С2, из N С3 С4 и найти элемент, удовлетворяющий условию С5. Вывести созданный список или сообщение: Список пуст. Для двунаправленных списков - созданный список выводить дважды: в прямом и обратном порядке.

Предусмотреть 1) возможность ввода данных в список из текстового файла; 2) генерации элементов в заданном количестве N; 3) добавления заданного элемента в список в указанном порядке C2.

Для решения задачи создать процедуры: добавления первого элемента в пустой список, добавления очередного элемента в требуемом порядке (в начало/конец/середину), генерация списка (генерация/ввод и вызов процедуры добавления для каждого элемента списка), вывода списка в Memo, поиска в списке, освобождения списка.

Варианты заданий

Вычисляются по правилу: сумма двух последних цифр зачетки. Если сумма больше 15, вариант = сумма минус 15

 

№С1С2С3С4С52Одно-По возрастанию кодов символовПсевдослучайных, от а до ясимволов кириллицыНомер первой гласной буквы

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

 

unit Unit1;, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, StdCtrls, Spin;= class(TForm): TButton;: TLabel;: TButton;: TOpenDialog;: TMemo;: TButton;: TEdit;: TLabel;: TButton;: TLabel;: TSpinEdit;: TButton;: TButton;FormCreate(Sender: TObject);FormClose(Sender: TObject; var Action: TCloseAction);ButtonAddClick(Sender: TObject);ButtonAddRandomClick(Sender: TObject);ButtonLoadClick(Sender: TObject);ButtonClearClick(Sender: TObject);ButtonSearchClick(Sender: TObject);ButtonRefreshClick(Sender: TObject);

{ Private declarations }

{ Public declarations };=^TElement;=record:PElement;:char;;: TForm1;,ListEnding:PElement;

nildo:=ListN^.Next;(Elem);:=ListN;;:=nil;;TForm1.FormCreate(Sender:TObject);;:=nil;:=nil;;TForm1.FormClose(Sender:TObject;varAction:TCloseAction);(ListBegining,ListEnding);;Add(varListN,ListK:PElement;I:char);:PElement;ListN=nilthen(ListN,ListK,I)inil do(i);.Memo.Lines.Add(IntToStr(i)+) Адрес: +(%p,[ListC])+ | Элемент: +ListC^.Data+

| Следующий: +Format(%p,[ListC.Next]));:=ListC^.next;;;TForm1.ButtonAddClick(Sender: TObject);:char;:=EditData.Text[1];(ListBegining,ListEnding,I);(Неверный формат ввода);;;;TForm1.ButtonAddRandomClick(Sender: TObject);j:Integer;:char;j:=1 to SpinEdit.Value do:=chr(ord(а)+Random(33));(ListBegining,ListEnding,I);;;;

TForm1.ButtonLoadClick(Sender: TObject);:TextFile;:char;OpenDialog.Execute then(DataFile,OpenDialog.FileName);(DataFile);not Eof(DataFile) do(Datafile,I);(ListBegining,ListEnding,I);;(Некорректные данные);;(DataFile);;

except(Не удалось открыть текстовый файл);

nildo(num);(listC^.Data=)or(listC^.Data=)or(listC^.Data=)or(listC^.Data=)or(l^.Data=)(listC^.Data=)or(listC^.Data=)or(listC^.Data=)or(listC^.Data=):=true;;;:=listC^.Next;;fthen.Caption:=:+inttostr(num).Caption:=%