Автор: Пользователь скрыл имя, 11 Ноября 2011 в 17:14, курсовая работа
Написати програму для Windows, в якій:
1) Створити головне вікно. Заголовок містить ПІБ, гр., вар.
2) Створити меню вигляду: Input Choose Calc About Quit
Пункт Calc заборонений. При виборі Quit програма закривається.
3) При виборі Input відкривається діалогове вікно вигляду 1:
При виборі Choose відкривається діалогове вікно вигляду 2:
Завдання до курсової роботи 2
Завдання №1 2
Завдання №2 3
Завдання №3 4
Реферат 5
Зміст 6
Вступ 9
Розділ 5. Основна частина 10
Середовище Delphi 10
5.1. Оператори та функції,оператор begin end. 10
5.2.Робота з текстовими файлами. 11
5.3. Процедура assignfile. 11
5.4.Процедура reset 12
5.5. Процедура rewrite 12
5.6.Процедура closefile 13
5.7.Умовний оператор IF. 13
5.8.Приклад використання умовного оператору if для запису інформації у текстовий файл. 15
5.9.Складені умови 20
5.10.Операція and 20
5.11.Операція or 21
5.12.Операція заперечення not. 21
5.13.Операція xor 21
5.15.Використання оператору IF зі складеними умовами. 24
5.16.Оператор вибору CASE. 27
Висновок 28
Список використаної літератури 29
(0£y£1/2) матиме вигляд (y>=0) and (y<=1/2)
(-1/2£x£1/2) матиме вигляд (x>=-0.5) and (x<=0.5)
(-1£y£0) матиме вигляд (y>=-1) and (y<=0)
Звідси остаточна умова матиме вигляд
if
(((x>=-1) and (x<=1)) and ((y>=0) and (y<=1/2)))
or
(((x>=-0.5) and (x<=0.5)) and ((y>=-1) and (y<=0)))
then …
Отже, на підставі прикладу можемо сформулювати рекомендації до запобігання помилок при використанні складеного оператору IF.
1. Спочатку чітку сформулювати складену умову
2. Розбити складену умову на логічні блоки умов
3. Виписати блоки умов і розбити їх на елементарні умови
4. Чітко слідкувати за місцем та кількістю дужок у складеній умові
Нехай маємо область, зображену на малюнку
За введеними координатами точки (x,y) потрібно вияснити, чи належить ця точка заштрихованій області, чи ні.
Спочатку
потрібно формалізувати
Тепер визначимось з об'єктами на формі. Очевидно, що нам потрібно 2 об'єкти Edit (для введення координат x та y відповідно), об'єкт Label для виведення результату на екран та об'єкт Button для самої перевірки.
Крім того, нам потрібні будуть 2 змінні типу real для введення самих координат. Отже, запишемо сам алгоритм програми
x:=strtofloat(edit1.text);
{присвоюється значення першої координати у змінну х конвертуючи рядкову змінну edit1.text у дійсну x}
y:=strtofloat(edit2.text);
{присвоюється значення першої координати у змінну y конвертуючи рядкову змінну edit2.text у дійсну y }
if (sqrt(sqr(x)+sqr(y))>=0.5) and (sqrt(sqr(x)+sqr(y))<=1) then
{якщо (відстань від точки до центру кола більша або дорівнює 0,5) та (відстань від точки до центру кола менша або дорівнює 1) то}
label1.Caption:='Точка знаходиться у заштрихованій області'
{виводиться у Label1 текст 'Точка знаходиться у заштрихованій області'}
else {інакше}
label1.Caption:='Точка
не знаходиться у
{виводиться у Label1 текст 'Точка не знаходиться у заштрихованій області'}
А вся програма матиме вигляд
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;
type
TForm1 = class(TForm)
Label1: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
var
x,y:real;
procedure TForm1.Button1Click(Sender: TObject);
begin
x:=strtofloat(edit1.text);
y:=strtofloat(edit2.text);
if (sqrt(sqr(x)+sqr(y))>=0.5) and (sqrt(sqr(x)+sqr(y))<=1) then
label1.Caption:='Точка знаходиться у заштрихованій області'
else
label1.Caption:='Точка
не знаходиться у
end;
end.
Синтаксис:
case змінна of
значення1_змінної : оператор1;
значення2_змінної : оператор2;
значення3_змінної : оператор3;
значення4_змінної : оператор4;
значення5_змінної : оператор5;
else оператор6;
end;
де значення1_змінної є значенням(и) змінної змінна і може бути як одним значенням, так і кількома, перерахованими через кому “,”. Оператор IF зручний, коли перевіряється кілька множинних умов, тобто умов, коли порівнюються змінні. У випадку, коли у залежності від значення однієї змінної (виразу) треба виконати ту чи іншу дію, особливо якщо треба перевірити кілька значень цієї змінної, логічно використовувати оператор вибору CASE. Наприклад виходячи зі значення цілої змінної і, де і змінюється від 1 до 5, вивести на екран у Label1 відповідний кожному значенню текст.
З використанням оператору IF цей фрагмент програми матиме вигляд:
if i=1 then label1.caption:=’Текст 1’
else if i=2 then label1.caption:=’Текст 2’
else if i=3 then label1.caption:=’Текст 3’
else if i=4 then label1.caption:=’Текст 4’
else if i=5 then label1.caption:=’Текст 5’
З оператором CASE цей фрагмент має вигляд:
case i of
1: label1.caption:=’Текст 1’;
2: label1.caption:=’Текст 2’;
3: label1.caption:=’Текст 3’;
4: label1.caption:=’Текст 4’;
5: label1.caption:=’Текст 5’;
end;
При виконанні курсової роботи, я набув навичок роботи з такими складовими програмного забезпечення і середовищем програмування як Microsoft Office, Delphi. Зрозумів основний алгоритм побудови програми, які повинні бути програмні вироби, щоб повністю виконувати дане завдання або щоб даний виготовлений програмний виріб міг задовільняти потреби користувача. Також я навчився оформляти результати своєї роботи згідно з загальноприйнятими правилами.
Під час виконання завдань до курсової роботи в мене виникло декілька проблем, які я не зміг самостійно вирішити. Перша проблема виникла під час виконання завдання №1 - я не знав як реалізувати, щоб під час натискання кнопки на одній формі програми відкривалась інша, але за допомогою підручника, представленого нам авторами : Я.М. Глинський, В.Є. Анохін, я вирішив цю проблему. Потрібно було прописати назву нової форми і ShowModal. Наприклад: Form3.ShowModal.
Друга проблема виникла підчас виконання третього завдання - я не міг запрограмувати функцію друку у текстовому редакторі, тому що не описав документ, який потрібно було видрукувати, але я зрозумів, що кожен документ, який виноситься на друк, повинен бути описаний. Цю проблему я вирішив за допомогою інтернет форуму, на якому мені дали вичерпну відповідь на моє питання стосовно цієї помилки.
В основному більше проблем під час виконання завдань, заданих на курсову роботу не виникало.
Навчальні посібники:
Інтернет джерела:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs,
Menus, StdCtrls, XPMan;
type
TForm1 = class(TForm)
MainMenu1: TMainMenu;
Action1: TMenuItem;
Input1: TMenuItem;
Calc1: TMenuItem;
Help1: TMenuItem;
Help2: TMenuItem;
About1: TMenuItem;
Label1: TLabel;
Label2: TLabel;
XPManifest1: TXPManifest;
procedure Input1Click(Sender: TObject);
procedure About1Click(Sender: TObject);
procedure Calc1Click(Sender: TObject);
procedure Help2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
uses Unit2, Unit4,
Unit3, Unit5;
{$R *.dfm}
procedure TForm1.Input1Click(Sender: TObject);
begin
Form2.ShowModal //налагоджуємо звязок з формою
end;
procedure TForm1.About1Click(Sender: TObject);
begin
Form4.ShowModal //налагоджуємо звязок з формою
end;
procedure TForm1.Calc1Click(Sender: TObject);
begin
Form3.ShowModal; //налагоджуємо звязок з формою
end;
procedure TForm1.Help2Click(Sender: TObject);
begin
Form5.ShowModal //налагоджуємо звязок з формою
end;
end.