Учебная работа. Курсовая работа: Программирование на 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/
]]>