Програмування в середовищі Delphi

Автор: Пользователь скрыл имя, 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

Работа содержит 1 файл

Звіт.docx

— 460.33 Кб (Скачать)

    var  

    f:textfile;   

    s:string;

та опишемо  оператори, що відкривають файл на запис. Фрагмент програми матиме вигляд:

    var  

    f:textfile;   

    s:string;

    procedure TForm1.Button1Click(Sender: TObject);

    begin  

    assignfile(f,'c:\a.txt');   

    rewrite(f);

    end;

У цій  же ж підпрограмі має зникати  з екрану клавіша Button1, Button2 та Edit1 –  з’являтись. Тому текст підпрограми  матиме вигляд:

    var  

    f:textfile;   

    s:string;

    procedure TForm1.Button1Click(Sender: TObject);

    begin  

    assignfile(f,'c:\a.txt');   

    rewrite(f);   

    button2.visible:=true;   

    edit1.visible:=true;   

    button1.visible:=false;

    end;

     Наступним кроком є встановлення головної події  для клавіші Button2, де має відбуватись  зчитування з Edit1 тексту та запису його у файл. Це виглядає таким чином:

    procedure TForm1.Button2Click(Sender: TObject);

    begin  

    s:=Edit1.Text;   

    writeln(f,s);   

    closefile(f);

    end;

Але зчитування повинно проводитись поки не буде набрано рядок END, тому необхідним є  використання умовного оператору if, і  текст процедури матиме вигляд

    procedure TForm1.Button2Click(Sender: TObject);

    begin  

    s:=Edit1.Text;   

    if s<>'END' then           

    writeln(f,s)   

    else

          closefile(f);

    end;

тобто поки введений рядок тексту не є END, то здійснюється запис цього рядка  у файл, а у противному випадку  – файл закривається.

Логічно додати сюди ще дії, у яких клавіша Button2 та рядок Edit1 стають невидимими, а клавіша Button1 -  видимою:

    procedure TForm1.Button2Click(Sender: TObject);

    begin  

    s:=Edit1.Text;   

    if s<>'END' then           

    writeln(f,s)

    else  

    begin

          closefile(f);

          button1.visible:=true;

          edit1.visible:=false;

          button2.visible:=false;          

    end;

    end;  

Таким чином, при запуску написаної  програми, на екран виводиться вікно   

Мал №5.8.4.Форма запуску програми.

Далі, після  натискання на клавішу Button1, отримаємо   

                                 Мал №5.8.5.Форма з компонентою Edit1. 

і вводимо  текст у рядок Edit1, підтверджуючи  натисканням на клавішу Button2. Як тільки буде введено рядок END і натиснуто  на Button2, файл с:\a.txt буде створено і на екран виведеться вікно 

                                      Мал №5.8.6.Вікно підтвердження.

Повний  текст програми має вигляд:

    unit Unit1; 

    interface  

    uses 

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

    StdCtrls;  

    type 

    TForm1 = class(TForm)    

    Button1: TButton;    

    Edit1: TEdit;    

    Button2: TButton;    

    procedure Button1Click(Sender: TObject);   

    procedure Button2Click(Sender: TObject); 

    private   

    { Private declarations } 

    public   

    { Public declarations } 

    end;  

    var 

    Form1: TForm1;   

    implementation   

    {$R *.DFM}

    var  

    f:textfile;   

    s:string;

    procedure TForm1.Button1Click(Sender: TObject);  

    begin  

    assignfile(f,'c:\a.txt');   

    rewrite(f);   

    button2.visible:=true;   

    edit1.visible:=true;   

    button1.visible:=false;

    end;  

    procedure TForm1.Button2Click(Sender: TObject);

    begin 

    s:=Edit1.Text;   

    if s<>'END' then writeln(f,s)  

    else      

    begin         

    closefile(f);          

    button1.visible:=true;          

    edit1.visible:=false;          

    button2.visible:=false;       

    end;  

    end;  

    end.

5.9.Складені умови

      Вище  ми розглядали використання умовного оператору IF з простою умовою, тобто  сама умова складалась з одного порівняння. Але частою є необхідність перевіряти більш складні умови. Постає питання: як їх записати?

      Принцип запису складених умов схожий до запису виразів “з дужками” тільки сам  вираз має бути логічного (булевського) типу. Дужки визначають пріоритет  виконання порівнянь.

      Якщо  умова є складеною (тобто здійснюється кілька порівнянь одночасно), то краще  її всю взяти у дужки. Для одночасного  виконання двох умов між ними ставиться  “and”, для виконання однієї з  двох умов між ними ставиться “or” 

5.10.Операція and

      Як  вже зазначалось вище, операція and використовується, коли перевіряється  одночасне виконання двох або  більше умов.

      Наприклад якщо нам необхідно перевірити справедливість виразу a<b<c, то саме порівняння матиме вигляд

      іf (a<b) and (b<c) then ...

і вираз (a<b) and (b<c) матиме логічний тип причому  прийматиме значення true якщо і (a<b), і (b<c) прийматимуть значення true одночасно. Якщо ж хоч одне зі значень буде false, то і сам вираз матиме значення false.

      Сам вираз a<b and b<c (тобто без дужок) не є логічним і програма видасть  повідомлення про помилку.

5.11.Операція or

      Операція  “or” використовується для перевірки  виконання хоча б однієї з умов.

      Наприклад якщо нам необхідно перевірити справедливість виразу “a є дійсним числом і a не може бути у межах (0,1)”, то порівняння матиме вигляд

      іf (a<0) or (a>1) then ...

і означає, що якщо виконується хоч одна з  елементарних умов, то і вся умова  виконується

5.12.Операція заперечення not.

      Операція  “not” використовується для зміни  значення логічної змінної на протилежне.

      Наприклад, якщо нам потрібно перевірити умову, що змінна a є додатньою, та парною, то умова матиме вигляд

      if (a>0) and ( not odd(a) ) then …

5.13.Операція xor

      Операція  “хor” використовується для перевірки  виконання виключно однієї з умов. Наприклад:

               if (a<2) xor (b>3)

прийматиме  значення TRUEякщо, наприклад

a=1, b=2;     a=3,b=4 – тобто тільки одна з умов задовольняється;

і прийматиме значення FALSE якщо, наприклад

a=1,b=4;      a=3,b=2 – тобто коли або обидві умови виконуються, або обидві не виконуються.

      Іноді xor та or співпадають.

      Наприклад умова:

      іf (a<0) хor (a>1)            та                іf (a<0) or (a>1)           співпадають. 

5.14.Побудова складених умов.

      Розглянемо  приклад і на ньому сформулюємо  рекомендації для уникання помилок  при побудові складених умов.

      Нехай у програмі вводяться два дійсних  значення а та b і потрібно перевірити чи виконується для них умова, що точка c з координатами (x,y) потрапляє у заштриховану область.

                               Мал №5.14.7.Координатна площина

      Перш  за все потрібно побудувати складену умову і розбити її на простіші.

      Очевидно, що якщо точка потрапляє у заштриховану фігуру, то вона потрапляє або у  прямокутник А, або у прямокутник  В, або і у А, і у В, тобто  на відрізок, що належить і А, і В.          

 Зрозуміло,  що умова запишеться таким  чином:

if (cÎA) or (cÎB) then

      Тепер розпишемо окремо умови cÎA та cÎB.          

 Якщо cÎA, то виконується умова (-1£x£1) та (0£y£1/2)         

 Якщо cÎB, то виконується умова (-1/2£x£1/2) та (-1£y£0)

      Тепер умова запишеться так:

if ((-1£x£1) and (0£y£1/2)) or ((-1/2£x£1/2) and (-1£y£0)) then

      Але умови вигляду (-1£x£1) не сприймаються Delphi і їх потрібно розбивати на елементарні умови. Отже

      (-1£x£1) матиме вигляд (x>=-1) and (x<=1)

Информация о работе Програмування в середовищі Delphi