Учебная работа. Курсовая работа: Программирование на Delphi с алгоритмами и кодами

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Загрузка...
Контрольные рефераты

Учебная работа. Курсовая работа: Программирование на Delphi с алгоритмами и кодами


Введение

Малые системные требования для использования Delphi

План работы для первой задачки

Основная программка

характеристики и структура главной программки

Код главной программки

Задание №1

метод первой программки:

Характеристики и структура первой программки

Код первой программки

Задание №2

характеристики и структура 2-ой программки

Код 2-ой программки

Итог выполнения программки

Задание № 3

метод третьей программки

Характеристики и структура третьей программки

Код третьей программки

инструкция по применению программки

Заключение

Перечень литературы


Целью данной курсовой работы является выполнение заданий на Delphi по предмету “программирование на языках высочайшего уровня».

Данная работа содержит три задачки, написанные на Delphi. Это задачки на различные темы, в каких используются разные элементы языка программирования и составляющие Delphi.

В первой задачке рассчитывается сумма ряда, движение фигуры по определенному контуру.

Для сотворения программки использовались составляющие из вкладок
и
:

– клавиша;

– таблица для отображения каких-то значений;

– компонента, для отображения не редактируемого текста;

– компонент ввода-вывода текстовой строкиж

– панель с надписью;

– компонента для прорисовки графика.

1-ые 5 компонент более нередко используются при написании программ. Изменяя их характеристики можно писать огромное количество программ с различным содержанием задачки. Крайний компонент из данного перечня весьма полезны при решении определенных задач.

Кроме этого для решения третей задачки были применены функции API, дозволяющие управлять интерфейсом приложений Windows.



машина — комплекс технических средств, предназначенных для автоматической обработки информации в процессе решения вычислительных и информационных задач) (либо вычислительной системы) которое делает арифметические и логические операции данные программкой преобразования инфы управляет вычислительным действием и коор — Intel Pentium 233 МГц и выше

Операционная система — MicrosoftWindowsXP, Windows 2000

Оперативная память — 64 Мбайт (рекомендуется 128 Мбайт)

Место на твердом диске — 450 Мбайт

монитор — SVGA либо выше

Другое аппаратное обеспечение — CD-ROM, мышь


Создаем форму и изменяем нужные характеристики главной формы в окне параметров:

— ширина формы;

— длина формы;

— заглавие формы.

Добавляем на главную форму нужные элементы управления:

– пуск вычислений, открытие окна графика, выход из программки;

– отображение таблицы значений x, y, s.

– отображение не редактируемого текста;

– ввод данных для вычислений.

Прописываем в компонентах
текст по дефлоту в свойство
.

Изменяем характеристики добавленного элемента управления

Пишем для клавиш методы, которые будут делать разные деяния.Прописываем действие на открытие формы на главной форме работы.

Создаем отдельную форму для графика, на нее помещаем компонент

Пишем команду ее открытия на одну из клавиш.

Запускаем программку с целью проверки ее работоспособности. Сохраняем проект.


Создаем форму и изменяем нужные характеристики главной формы в окне параметров:

— ширина формы;

— длина формы;

— заглавие формы.

Добавляем на главную форму нужные элементы управления:

– пуск вычислений, открытие окна графика, выход из программки;

– отображение таблицы значений x, y, s.

– отображение не редактируемого текста;

– ввод данных для формирования массивов и вывода приобретенных числовых рядов.

Изменяем характеристики добавленного элемента управления

Пишем для клавиш методы, которые будут делать разные деяния.Прописываем действие на открытие формы на главной форме работы. Запускаем программку с целью проверки ее работоспособности. Сохраняем проект.


Создаем форму и изменяем нужные характеристики главной формы в окне параметров:

— ширина формы;

— длина формы;

— заглавие формы.

Задаем для формы регион, в который она будет вписана.

Пишем метод движения по кромке экрана.Запускаем программку с целью проверки ее работоспособности. Сохраняемпроект.






unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, ExtCtrls, StdCtrls;

type

TForm1 = class(TForm)

Button1: TButton;

Button2: TButton;

Button3: TButton;

Panel1: TPanel;

Panel2: TPanel;

Button4: TButton;

procedure Button4Click(Sender: TObject);

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure Button3Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

uses Unit2, Unit4, Unit7;

{$R *.dfm}

procedure TForm1.Button4Click(Sender: TObject);

begin

Form1.Close; // закрывает главную форму и приложение

end;

procedure TForm1.Button1Click(Sender: TObject);

begin

form2.showmodal; // указывает форму задания № 1

end;

procedure TForm1.Button2Click(Sender: TObject);

begin

form4.showmodal; // указывает форму задания №2

end;

procedure TForm1.Button3Click(Sender: TObject);

begin

form7.showmodal; // указывает форму задание №3

end;

end.


1. Выстроить график:


Псевдокод:

Начало Расчет (a,b,nx,y,s)

константа h=0.05

вещ s,y,a,b,x,su

цел i,n,j,k,p

ввод a,b,n

k:=round(1+(b-a)/h);

x=a

Цикл для i от 1-го до k

s:=(x-1)/3;

Цикл для j от 2-ух до n

su:=1

Цикл для p от 1-го до j

su:=su*(x-1)/x

Все цикл

s:=s+su/j

Всецикл

y:=ln(x)

Вывод x,s,y

Построение графика на форме 3

x:=x+h

Все-цикл

Конец Расчет.


Edit – для ввода характеристик вычисления;

Button1-кнопка для вычисления S и Y;

Button2-кнопка для закрытия формы;

Button3-кнопка для открытия формы с графиком;

StringGrid1-таблица для вывода результатов вычислений;

Составляющие, которые использовались для дизайна:

Image1 – для вывода на экран задания;

Label- компонента для отображения текста.

Для вывода графика сотворена отдельная форма с компонентом Chart1.


unitUnit2;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, Grids, ExtCtrls, Math, jpeg;

type

TForm2 = class(TForm)

Image1: TImage;

StringGrid1: TStringGrid;

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Edit1: TEdit;

Edit2: TEdit;

Edit3: TEdit;

Button1: TButton;

Button2: TButton;

Button3: TButton;

procedure Button2Click(Sender: TObject);

procedure Button1Click(Sender: TObject);

procedure Button3Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form2: TForm2;

implementation

uses Unit3;

{$R *.dfm}

procedure TForm2.Button2Click(Sender: TObject);

begin

Form2.Close; // закрывает форму задания №1

end;

procedureTForm2.Button1Click(Sender: TObject); // производит вычисления x, y, s, наполнение таблицы, постройка графика

const h=0.05;

var i,n,j,k,p:integer;

s,y,a,b,x,su:real;

begin

a:=strtofloat(edit1.text);

b:=strtofloat(edit2.text);

n:=strtoint(edit3.text);

k:=round(1+(b-a)/h);

x:=a;

StringGrid1.ColWidths[0]:=20; // задаетширинустолбца

StringGrid1.cells[1,0]:=’x’; // задаетподписьстолбца

StringGrid1.cells[2,0]:=’s’; // задает подпись столбца

StringGrid1.cells[3,0]:=’y’; // задает подпись столбца

for i:=1 to k do

begin

s:=(x-1)/3;

for j:=2 to n do

begin

su:=1;

for p:=1 to j do

su:=su*(x-1)/x;

s:=s+su/j;

end;

y:=ln(x);

StringGrid1.cells[0,i]:=inttostr(i); // нумеруетстрокитаблица

StringGrid1.cells[1,i]:=floattostr(x); //выводит x

StringGrid1.cells[2,i]:=FloatToStr(Round(s*exp(10*ln(10)))/(exp(10*ln(10)))); // выводит y

StringGrid1.cells[3,i]:=FloatToStr(Round(y*exp(10*ln(10)))/(exp(10*ln(10)))); // выводит s

Form3.Grafik.SeriesList[0].AddXY(x,ln(x),»,clRed); // строитграфик

x:=x+h;

end;

end;

procedure TForm2.Button3Click(Sender: TObject);

begin

form3.ShowModal; //указывает форму графика

end;

end.


Дана матрица размера n*(n+1), числа а1
, …, аn
+1
,b1
, …, bn
+1
, натуральные числа р, g (p <= n, g <= n+1). Образовать новейшую матрицу
размера (n+1)*(n+2) вставкой опосля строчки с номером р данной матрицы новейшей строчки с элементами a1
, …, an
+1
и следующей вставкой опосля столбца с номером g новейшего столбца с элементами b1
, …, bn
+1
.


Edit – для ввода характеристик наполнения и вывода числовых рядов;

Button1-кнопка для наполнения числовых рядов и массивов;

Button2-кнопка для закрытия формы;

StringGrid1-таблица для вывода исходного массива a[i;j];

StringGrid2-таблица для вывода конечного массива b[i;j];

Составляющие, которые использовались для дизайна:

Label- компонента для отображения текста.


unitUnit4;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, Grids, StdCtrls;

type

TForm4 = class(TForm)

Label2: TLabel;

Label3: TLabel;

Label4: TLabel;

Edit1: TEdit;

Label1: TLabel;

Edit2: TEdit;

Label5: TLabel;

Edit3: TEdit;

Button1: TButton;

Button2: TButton;

StringGrid1: TStringGrid;

StringGrid2: TStringGrid;

Edit4: TEdit;

Edit5: TEdit;

Label6: TLabel;

Label7: TLabel;

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form4: TForm4;

implementation

{$R *.dfm}

procedure TForm4.Button1Click(Sender: TObject);

var i,j,n,p,q:integer;

mas1,mas,mas2:array[1..100,1..100] of integer;

a,b:array[1..100] of integer;

begin

n:=strtoint(edit1.Text);

p:=strtoint(edit2.text);

q:=strtoint(edit3.Text);

edit4.Text:=»;

edit5.text:=»;

randomize;

for i:=1 to n+1 do

begin

a[i]:=random(98)+1; // формируем значения первого числового ряда

edit4.Text:=edit4.Text+inttostr(a[i])+’ ‘; // выводим значения первого числового ряда

b[i]:=random(98)+1; // формируем значения второго числового ряда

edit5.Text:=edit5.Text+inttostr(b[i])+’ ‘; // выводим значения второго числового ряда

end;

// задаем количество сток и столбцов таблиц

stringgrid1.ColCount:=n+2;

stringgrid1.RowCount:=n+1;

stringgrid2.ColCount:=n+3;

stringgrid2.RowCount:=n+2;

// нумеруем строчки и столбцы таблиц

fori:=1 tondo

stringgrid1.Cells[0,i]:=inttostr(i);

for i:=1 to n+1 do

stringgrid1.Cells[i,0]:=inttostr(i);

for i:=1 to n+1 do

stringgrid2.Cells[0,i]:=inttostr(i);

for i:=1 to n+2 do

stringgrid2.Cells[i,0]:=inttostr(i);

for i:=1 to n do

for j:=1 to n+1 do

begin

mas1[i,j]:=random(98)+1; // формируем значения начального массива

stringgrid1.Cells[j,i]:=inttostr(mas1[i,j]); // выводим значения начального массива в таблицу

end;

// формируем промежный массив вставкой строчки в начальный массив

for i:=1 to p do

for j:=1 to n+1 do

mas[i,j]:=mas1[i,j];

for j:=1 to n+1 do

mas[p+1,j]:=a[j];

for i:=p+2 to n+1 do

for j:=1 to n+1 do

mas[i,j]:=mas1[i-1,j];

// формируем конечный массив вставкой столбца в промежный массив

for j:=1 to q do

for i:=1 to n+1 do

mas2[i,j]:=mas[i,j];

for i:=1 to n+1 do

mas2[i,q+1]:=b[i];

for j:=q+2 to n+2 do

for i:=1 to n+1 do

mas2[i,j]:=mas[i,j-1];

for i:=1 to n+1 do

for j:=1 to n+2 do

stringgrid2.Cells[j,i]:=inttostr(mas2[i,j]); // выводимвтаблицуконечныймассив

end;

procedure TForm4.Button2Click(Sender: TObject);

begin

form4.close; // закрывает форму задания №2

end;

end.



движение закрашенного круга по кромке экрана с конфигурацией цвета при изменении направления движения.


Псевдокод:

Начало движение (i,j)

цел i, j

Цикл для i от 1-го до конца ширин экрана

Задаем цвет круга

Двигаем круг

Задержка времени

Все цикл

Цикл для j от 1-го до конца высоты экрана

Задаем цвет круга

Двигаем круг

Задержка времени

Все цикл

Цикл для i от 1-го до начала ширин экрана

Задаем цвет круга

Двигаем круг

Задержка времени

Все цикл

Цикл для j от 1-го до начала высоты экрана

Задаем цвет круга

Двигаем круг

Задержка времени

Все цикл

Конец движение.

Начало Создание формы

Задаем регион в виде круга

Задаем регион в качестве вида формы

Конец Создание формы.


unit Unit7;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs;

type

TForm7 = class(TForm)

procedure FormClick(Sender: TObject);

procedure FormCreate(Sender: TObject);

procedure FormDblClick(Sender: TObject);

procedure FormShow(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form7: TForm7;

implementation

const r=150;

{$R *.dfm}

procedure TForm7.FormClick(Sender: TObject); //движениикругапоэкрану

var

i, j : integer;

begin

for i:=1 to screen.Width-r do // поканедостигнутконецэкрана

begin

form7.Color:=clGreen; //задаемформезеленыйцвет

form7.Left:=i; //задаем отступ формы слева

sleep(5); //задержка времени

//form7.Top:=j;

end;

for j:=1 to screen.Height-r do // поканедостигнутнизэкрана

begin

form7.Color:=clRed; // задаем форме красноватый цвет

form7.Top:=j; //задаем отступ сверху

sleep(5); // задержка времени

end;

fori:=screen.Width-rdownto 1 do // пока не достигнуто начало экрана

begin

form7.Color:=clBlue; // задаем форме голубий цвет

form7.Left:=i; // задаем отступ слева

sleep(5); //задержка времени

//form7.Top:=j;

end;

for j:=screen.Height-r downto 1 do // поканедостигнутверхэкрана

begin

form7.Color:=clYellow; // задаемформежелтыйцвет

form7.Top:=j; //задаем отступ сверху

sleep(5); // задержка времени

end;

end;

procedure TForm7.FormCreate(Sender: TObject); // задаемвизуальнуюформуформызадания №3

var

formRgn : HRGN;

//i, j : integer;

begin

FormRgn:=createEllipticRgn(0,0,r,r);

SetWindowRgn(Handle, FormRgn, True);

end;

procedure TForm7.FormDblClick(Sender: TObject);

begin

close;

end;

procedure TForm7.FormShow(Sender: TObject);

begin

form7.Left:=1;

form7.Top:=1;

end;

end.


Для пуска курсовой работы необходимо в папке «Туктаров» двойным щелчком запустить файл «Project» с расширением .ехе. На дисплее покажется основное окно. На нем находятся три клавиши, любая из которых соответствует одному из 3-х заданий.

При нажатии на первую клавишу — «Задание 1» покажется форма на которой будут находиться текст задания, таблица результатов расчета, управляющие клавиши. График строится автоматом при выполнении расчетов. Расчеты выполняются при нажатии клавиши «Старт». Для просмотра графика нужно пользоваться клавишей «График». Для возврата в основное окно работы предназначена клавиша «Финиш».

При нажатии на вторую клавишу — «Задание 2» на дисплее покажется форма с полями задания значений формирования массивов, таблицами для вывода массивов и управляющими клавишами. Наполнение массивов в согласовании с заданием происходит по нажатии клавиши «Старт». Возврат к основному окну предугадывает клавиша «Финиш».

При нажатии на третью клавишу «Задание 3» на дисплее возникает круг. Для начала движения нужно кликнуть на нем. Опосля полного оборота по экрану станет легкодоступным возврат в основное окно программки нажатием кнопок Alt+F4.



В данной курсовой работе были приведены три задачки при решении которых были рассмотрены разные управляющие структуры программирования, различные составляющие и способности Delphi.

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

Во 2-ой программке был применен массив. Преобразуя начальный массив, был сотворен новейший массив. Данная программка также может использована в разных информационных сферах.

В третьей программке реализована возможность конфигурации интерфейса формы с помощью обычных функций WindowsAPI. Данные способности обширно используются в мультимедийных приложениях.


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

Во 2-м задании к ошибке может привести попытка сформировать массивы без задания их величины.

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


1. Архангельский А. Я. Программирование в Delphi г. Москва: издательство «Двучлен», 2005г. – 332 с.;

2. Ахметов А. Р. Программирование в Delphi 7 . г.Москва: издательство «Двучлен-Пресс», 2003 г. – 780 с.;

3. Бобровский С.И. Delphi7 – Учебный курс. г. Санкт-Петербург: издательство «Питер», 2004 г. – 736 с.;

4. Глушаков С. В. Delphi 2007 г. Москва: издательство «Хранитель», 2008 г. – 635 с.;

5. Жуков А. В. Изучаем Delphi. г. Санкт-Петербург: издательство «Питер», 2001 г. – 352 с.;

6. Маслобоев А. В. Delphi г. Санкт-Петербург: издательство «БХВ-Петербург», 2005 г. – 496 с.;

7. Стивенс Р.А. Delphi. Готовые методы. г. Москва: издательство «ДМК пресс», 2001 г. – 384 с.;

8. Фаронов В. В. Delphi. Программирование на языке высочайшего уровня г. Санкт-Перетбург: издательство «Питер», 2007 г. – 640 с.;

9. Хузятов Ш. Ш. Delphi 7. Главные составляющие и элементы языка программирования г. Набережные Челны: издательство КамПИ, 2005г. – 116 с.;

10. www.delphisources.ru/

11. www.edelphi.ru/

12. www.delphi.int.ru/

13. www.delphiexpert.ru/

]]>