Програмування на Delphi з алгоритмами і кодами

[ виправити ] текст може містити помилки, будь ласка перевіряйте перш ніж використовувати.

скачати

Зміст
Введення
Мінімальні системні вимоги для використання Delphi
План роботи для першого завдання
Головна програма
Властивості і структура головної програми
Код головної програми
Завдання № 1
Алгоритм першої програми:
Властивості і структура першої програми
Код першої програми
Завдання № 2
Властивості і структура другої програми
Код другої програми
Результат виконання програми
Завдання № 3
Алгоритм третьої програми
Властивості і структура третьої програми
Код третьої програми
Інструкція по застосуванню програми
Висновок
Список літератури

Введення
Метою даної курсової роботи є виконання завдань на Delphi по предмету "програмування на мовах високого рівня».
Дана робота містить три завдання, написані на Delphi. Це завдання на різні теми, в яких застосовуються різні елементи мови програмування і компоненти Delphi.
У першій задачі обчислюється сума ряду, значення функції, похибка і будується графік функції. У другій задачі вводимо, виводимо і перетворимо елементи масиву. У третій завданню використовується графіка, рух фігури за певним контуру.
Для створення програми використовувалися компоненти з вкладок Standard і Additional:
Button - кнопка;
StringGrid - Таблиця для відображення будь-яких значень;
Label - компонента, для відображення не редагованого тексту;
Edit - компонент введення-виведення текстової строкіж
Panel - панель з написом;
TChart - компонента для промальовування графіка.
Перші п'ять компонентів найбільш часто застосовуються при написанні програм. Змінюючи їх властивості можна писати велику кількість програм з різним змістом завдання. Останній компонент із списку дуже корисні при вирішенні конкретних завдань.
Крім цього для вирішення третин завдання були використані функції API, що дозволяють управляти інтерфейсом додатків Windows.

Мінімальні системні вимоги для використання Delphi
Процесор - Intel Pentium 233 МГц і вище
Операційна система - Microsoft Windows XP, Windows 2000
Оперативна пам'ять - 64 Мбайт (рекомендується 128 Мбайт)
Простір на жорсткому диску - 450 Мбайт
Монітор - SVGA або вище
Інше апаратне забезпечення - CD-ROM, миша
План роботи для першого завдання
Створюємо форму і змінюємо необхідні властивості головної форми у вікні властивостей:
Height - ширина форми;
Width - довжина форми;
Caption - назва форми.
Додаємо на головну форму необхідні елементи управління:
Button - запуск обчислень, відкриття вікна графіка, вихід з програми;
StringGrid - Відображення таблиці значень x, y, s.
Label - відображення не редагованого тексту;
Edit - введення даних для обчислень.
Прописуємо в компонентах Edit текст за умовчанням у властивість Text.
Змінюємо властивості доданого елемента керування StringGrid:
- ColCount
- RowCount
- FixedCols
- FixedRows
Пишемо для кнопок алгоритми, які будуть виконувати різні дії. Прописуємо дію на відкриття форми на головній формі роботи.
Створюємо окрему форму для графіка, на неї поміщаємо компонент TChart. Пишемо команду її відкриття на одну з кнопок.
Запускаємо програму з метою перевірки її працездатності. Зберігаємо проект.
План роботи для другого завдання
Створюємо форму і змінюємо необхідні властивості головної форми у вікні властивостей:
Height - ширина форми;
Width - довжина форми;
Caption - назва форми.
Додаємо на головну форму необхідні елементи управління:
Button - запуск обчислень, відкриття вікна графіка, вихід з програми;
StringGrid - Відображення таблиці значень x, y, s.
Label - відображення не редагованого тексту;
Edit - введення даних для формування масивів і виведення отриманих числових рядів.
Змінюємо властивості доданого елемента керування StringGrid:
- ColCount
- RowCount
- FixedCols
- FixedRows
Пишемо для кнопок алгоритми, які будуть виконувати різні дії. Прописуємо дію на відкриття форми на головній формі роботи. Запускаємо програму з метою перевірки її працездатності. Зберігаємо проект.
План роботи для третього завдання
Створюємо форму і змінюємо необхідні властивості головної форми у вікні властивостей:
Height - ширина форми;
Width - довжина форми;
Caption - назва форми.
Задаємо для форми регіон, в який вона буде вписана.
Пишемо алгоритм руху по кромці екрану. Запускаємо програму з метою перевірки її працездатності. Зберігаємо проект.
Код головною програми
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
1. Побудувати графік:

Алгоритм першої програми
Псевдокод:
Початок Розрахунок (a, b, n \ x, y, s)
константа h = 0.05
вещ s, y, a, b, x, su
цілий i, n, j, k, p
введення a, b, n
k: = round (1 + (ba) / h);
x = a
Цикл для i від одного до k
s: = (x-1) / 3;
Цикл для j від двох до n
su: = 1
Цикл для p від одного до 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.
Код першої програми
unit Unit2;
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;
procedure TForm2.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 + (ba) / 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.
Завдання № 2
Дана матриця розміру n * (n +1), числа а 1, ..., а n +1, b 1, ..., b n +1, натуральні числа р, g (p <= n, g <= n +1). Утворити нову матрицю розміру (n +1) * (n +2) вставкою після рядка з номером р даної матриці нового рядка з елементами a 1, ..., a n +1 і подальшою вставкою після стовпця з номером g нового стовпця з елементами b 1, ..., b n +1.
У другій програмі використовувалися компоненти:
Edit - для введення параметрів заповнення та виведення числових рядів;
Button1-кнопка для заповнення числових рядів і масивів;
Button2-кнопка для закриття форми;
StringGrid1-таблиця для виведення початкового масиву a [i; j];
StringGrid2-таблиця для виведення кінцевого масиву b [i; j];
Компоненти, які використовувалися для оформлення:
Label-компонента для відображення тексту.
Код другої програми
unit Unit4;
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;
/ / Нумеруємо рядки і стовпці таблиць
for i: = 1 to n do
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.
Результат виконання програми

Завдання № 3
Рух зафарбованого кола по кромці екрану зі зміною кольору при зміні напрямку руху.
Алгоритм третьої програми
Псевдокод:
Початок Рух (i, j)
цілий i, j
Цикл для i від одного до кінця ширин екрану
Задаємо колір кола
Рухаємо коло
Затримка часу
Всі цикл
Цикл для j від одного до кінця висоти екрану
Задаємо колір кола
Рухаємо коло
Затримка часу
Всі цикл
Цикл для i від одного до початку ширин екрану
Задаємо колір кола
Рухаємо коло
Затримка часу
Всі цикл
Цикл для j від одного до початку висоти екрану
Задаємо колір кола
Рухаємо коло
Затримка часу
Всі цикл
Кінець Рух.
Початок Створення форми
Задаємо регіон у вигляді кола
Задаємо регіон як виду форми
Кінець Створення форми.
Код третьої програми
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;
for i: = screen.Width-r downto 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» з розширенням. Ехе. На екрані з'явиться головне вікно. На ньому знаходяться три кнопки, кожна з яких відповідає одному з трьох завдань.
При натисканні на першу кнопку - «Завдання 1» з'явиться форма на якій будуть знаходитися текст завдання, таблиця результатів розрахунку, керуючі кнопки. Графік будується автоматично при виконанні розрахунків. Розрахунки проводяться при натисканні кнопки «Старт». Для перегляду графіка необхідно скористатися кнопкою «Графік». Для повернення в основне вікно роботи призначена кнопка «Фініш».
При натисканні на другу кнопку - «Завдання 2» на екрані з'явиться форма з полями завдання значень формування масивів, таблицями для виведення масивів і кнопками. Заповнення масивів у відповідності із завданням відбувається після натиснення кнопки «Старт». Повернення до основного вікна передбачає кнопка «Фініш».
При натисканні на третю кнопку «Завдання 3» на екрані з'являється коло. Для початку руху необхідно клікнути на ньому. Після повного обороту по екрану стане доступним повернення в основне вікно програми натисканням клавіш Alt + F4.

Висновок
Переваги:
У цій роботі було наведено три завдання при вирішенні яких були розглянуті різні керуючі структури програмування, різні компоненти і можливості Delphi.
У першій програмі було реалізовано табулювання, розрахунок значень функції і числового ряду і побудований графік функції з допомогою компоненти TChart. Ця програма може бути реалізована в різних сферах економіки для підрахунку похибки і побудови графіка за певними критеріями.
У другій програмі був використаний масив. Перетворюючи джерельний масив, був створений новий масив. Дана програма також може застосована в різних інформаційних сферах.
У третій програмі реалізована можливість зміни інтерфейсу форми за допомогою стандартних функцій Windows API. Дані можливості широко застосовуються в мультимедійних додатках.
Виникнення помилкових ситуацій при роботі програми:
При запуску програми можуть виникнути помилкові ситуації. Наприклад, якщо в першому завданні натиснути кнопку перегляду графіка до виконання розрахунку, то графік буде порожнім. Також можуть виникнути помилки під час установок обчислення.
У другому завданні до помилки може призвести спроба сформувати масиви без завдання їх величини.
У третьому завданні існує брак неможливості зупинити руху кола до проходження повністю екрану, а також може виникнути помилка при спробі використовувати основну форму програми без закриття форми завдання 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/
Додати в блог або на сайт

Цей текст може містити помилки.

Програмування, комп'ютери, інформатика і кібернетика | Курсова
39.3кб. | скачати


Схожі роботи:
Програмування Delphi
Програмування в Delphi
Програмування в Delphi
Середовище програмування DELPHI 20
Середовище програмування DELPHI 2 0 2
Середовище програмування DELPHI 2 0
Середовище програмування Delphi
Програмування для Word з Delphi
Середовище програмування Borland Delphi
© Усі права захищені
написати до нас