Программирование на языке объектно–ориентированного и визуального программирования Delphi
Контрольная работа - Компьютеры, программирование
Другие контрольные работы по предмету Компьютеры, программирование
?м данных.
.Входную информацию и результаты счета вывести на экран (предусмотреть возможность распечатки результатов работы на принтере), снабдив их соответствующими заголовками.
.Подсчитать количество А) сравнений элементов; Б)перестановок элементов.
Содержание отчета:
1)Постановка задачи.
2)Описание всех действий по созданию приложения.
)Блок-схема или алгоритм (в том числе сортировки)
)Математические выкладки
)Листинг программы и всех модулей
)Контрольный пример (распечатка изображений экранов, иллюстрирующих работу приложения).
Методические указания:
- Исходные данные должны включать и положительные числа, и отрицательные, и нули.
Вариант задания:
- Дан двумерный массив, содержащий 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:=%