Главная страница
Навигация по странице:

  • Вывод

  • Цель

  • Отчёт по ООП. Воронеж 2019 Практическая работа 1 Тема практической работы Файл проекта. Структура и Назначение


    Скачать 0.96 Mb.
    НазваниеВоронеж 2019 Практическая работа 1 Тема практической работы Файл проекта. Структура и Назначение
    АнкорОтчёт по ООП
    Дата11.01.2022
    Размер0.96 Mb.
    Формат файлаdoc
    Имя файлаОтчёт по ООП.doc
    ТипПрактическая работа
    #328375
    страница3 из 4
    1   2   3   4
    Тема: Полиморфизм. Виртуальные методы.

    Цель: Изучить свойства полиморфизма и его виртуальные методы.

    Ход работы:

    Задание. Демонстрация полиморфизма



    Рис.32

    Листинг:

    unit polimor_;

    interface

    uses

    Windows, Messages, SysUtils, Classes,

    Graphics, Controls, Forms, Dialogs, StdCtrls;

    type

    TForm1 = class(TForm) Edit1: TEdit;

    Edit2: TEdit;

    GroupBoxl: TGroupBox;

    RadioButton1: TRadioButton;

    RadioButton2: TRadioButton;

    Label1: TLabel;

    Label2: TLabel;

    Button1: TButton;

    Button2: TButton;

    procedure ButtonlClick(Sender: TObject);

    procedure Button2Click(Sender: TObject);

    private

    { Private declarations }

    public

    { Public declarations }

    end;

    const

    SZL = 10;

    var

    Forml: TForm1;

    List: array[l..SZL] of TPerson;

    n:integer =0;

    implementation

    {$R *.DFM}

    constructor TPerson.Create(name:string);

    begin

    fName := name; end;

    constructor TStud.Create(name:string;gr:integer);

    begin

    inherited create(name);

    fGr := gr; end;

    constructor TProf.create(name:string; dep:string);

    begin

    inherited create(name);

    fDep := dep; end;

    function TPerson.Info:string;

    begin

    result := fname; end;

    function TStud.Info:string;

    begin

    result := fname + ' rp.' + IntToStr(fGr); end;

    function TProf.Info:string;

    begin

    result := fname + ' каф.' + fDep;

    end;

    procedure TForml.ButtonlClick(Sender: TObject);

    begin

    if n < SZL then begin

    n:=n+l;

    if Radiobuttonl.Checked

    then

    List[n]:=TStud.Create(Edit1.Text,StrToInt(Edit2.Text))

    else

    List[n]:=TProf.Create(Edit1.Text,Edit2.Text);

    Edit1.Text := '' ; Edit2.Text := '';

    Edit1.SetFocus;

    end

    else ShowMessage('Список заполнен!');

    end;

    procedure TForm1.Button2Click(Sender: TObject);

    var

    i:integer;

    st:string; begin

    for i:=1 to SZL do

    if list[i] <> NIL then st:=st + list[i].info + 113;

    ShowMessage('Cпиcoк'+#13+st); end;

    end.
    Вывод: Изучил свойства полиморфизма и его виртуальные методы.


    Практическая работа №13

    Тема: Визуальные компоненты среды Delphi (standard).

    Цель: изучить визуальные компоненты standard узнать о их свойствах и область применения.

    Ход работы:

    Задание 1. Кнопка (TButton).



    Рис.33

    Задание 2. Надписи (TLabel).



    Рис.34
    Задание 3.1. Строки ввода (TEdit).



    Рис.35 Рис.36

    Листинг.

    unit Unit2;

    interface

    uses

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

    Dialogs, StdCtrls;

    type

    TForm1 = class(TForm)

    Edit1: TEdit;

    Edit2: TEdit;

    Button1: TButton;

    procedure Button1Click(Sender: TObject);

    private

    { Private declarations }

    public

    { Public declarations }

    end;

    var

    Form1: TForm1;

    implementation

    {$R *.dfm}

    procedure TForm1.Button1Click(Sender: TObject);

    begin

    Edit2.Text:=Edit1.Text;

    end;

    end.
    Задание 3.2. Улучшим предыдущий пример. Изменим у первой строки ввода свойство PasswordChar на звёздочку «*». Запустим программу, введем в строку текст.


    Рис.37 Рис.38
    Листинг.

    unit Unit3;

    interface

    uses

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

    Dialogs, StdCtrls;

    type

    TForm1 = class(TForm)

    Edit1: TEdit;

    Edit2: TEdit;

    Button1: TButton;

    procedure Button1Click(Sender: TObject);

    private

    { Private declarations }

    public

    { Public declarations }

    end;

    var

    Form1: TForm1;

    implementation

    {$R *.dfm}

    procedure TForm1.Button1Click(Sender: TObject);

    begin

    Edit2.Text:=Edit1.Text;

    end;

    end.
    Задание 3.3. Сделаем проверку на ввод пароля.



    Рис.39 Рис.40


    Рис.41
    Листинг.

    unit Unit4;

    interface

    uses

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

    Dialogs, StdCtrls;

    type

    TForm1 = class(TForm)

    Edit1: TEdit;

    Edit2: TEdit;

    Button1: TButton;

    procedure Button1Click(Sender: TObject);

    private

    { Private declarations }

    public

    { Public declarations }

    end;

    var

    Form1: TForm1;

    implementation

    {$R *.dfm}

    procedure TForm1.Button1Click(Sender: TObject);

    begin

    if Edit1.Text='password' then

    Edit2.Text:='Пароль верный'

    else

    Edit2.Text:='Пароль неверный';

    end;

    end.
    Задание 4. Напишите программу, которая будет выполнять простые функции текстового редактора.



    Рис.42


    Рис.43.


    Рис.44

    Листинг.

    unit Unit5;

    interface

    uses

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

    Dialogs, StdCtrls;

    type

    TForm1 = class(TForm)

    Memo1: TMemo;

    Button1: TButton;

    Button2: TButton;

    SaveDialog1: TSaveDialog;

    procedure Button1Click(Sender: TObject);

    procedure Button2Click(Sender: TObject);

    private

    { Private declarations }

    public

    { Public declarations }

    end;

    var

    Form1: TForm1;

    implementation

    {$R *.dfm}

    procedure TForm1.Button1Click(Sender: TObject);

    begin

    If SaveDialog1.Execute then

    begin

    Memo1.Lines.SaveToFile(SaveDialog1.FileName);

    end;

    end;

    procedure TForm1.Button2Click(Sender: TObject);

    begin

    Memo1.Clear;

    end;

    end.
    Вывод: Я изучил визуальные компоненты standard, узнал о их свойствах и области применения.

    Практическая работа №14

    Тема: Визуальные компоненты среды Delphi (win32).

    Цель: рассмотреть возможности компонентов расположенных на вкладке win32.

    Ход работы:

    Задание: По выбранной дате, вывести в метку название месяца.



    Рис.45

    Листинг.

    unit Unit1;

    interface

    uses

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

    Dialogs, StdCtrls, ComCtrls;

    type

    TForm1 = class(TForm)

    DateTimePicker1: TDateTimePicker;

    Label1: TLabel;

    procedure DateTimePicker1Change(Sender: TObject);

    private

    { Private declarations }

    public

    { Public declarations }

    end;

    var

    Form1: TForm1;

    implementation

    {$R *.dfm}

    procedure TForm1.DateTimePicker1Change(Sender: TObject);

    var s,s1:string;

    i:integer;

    begin

    s:=datetostr(DateTimePicker1.Date);

    s1:=copy(s,4,2);

    i:=strtoint(s1);

    case i of

    1: label1.Caption:='Январь';

    2: label1.Caption:='Февраль';

    3: label1.Caption:='Март';

    4: label1.Caption:='Апрель';

    5: label1.Caption:='Май';

    6: label1.Caption:='Июнь';

    7: label1.Caption:='Июль';

    8: label1.Caption:='Август';

    9: label1.Caption:='Сентябрь';

    10: label1.Caption:='Октябрь';

    11: label1.Caption:='Ноябрь';

    12: label1.Caption:='Декабрь';

    end;

    end;

    end.
    Вывод: Я рассмотрел возможности компонентов расположенных на вкладке win32.

    Практическая работа №15

    Тема: Визуальные компоненты среды Delphi (additional).

    Цель: Узнать о возможностях компонентов расположенных на вкладке Additional.

    Ход работы:

    Задание 1. Рассмотрим работу кнопки BitBitn.



    Рис.46

    Листинг.

    unit Unit1;

    interface

    uses

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

    Dialogs, StdCtrls, Buttons;

    type

    TForm1 = class(TForm)

    Label1: TLabel;

    Label2: TLabel;

    Label3: TLabel;

    Edit1: TEdit;

    Edit2: TEdit;

    Edit3: TEdit;

    Memo1: TMemo;

    Label4: TLabel;

    BitBtn1: TBitBtn;

    procedure FormActivate(Sender: TObject);

    procedure BitBtn1Click(Sender: TObject);

    private

    { Private declarations }

    public

    { Public declarations }

    end;

    var

    Form1: TForm1;

    implementation

    {$R *.dfm}

    procedure TForm1.FormActivate(Sender: TObject);

    begin

    Edit1.Text:='';

    Edit1.SetFocus;

    end;

    procedure TForm1.BitBtn1Click(Sender: TObject);

    var

    x,y,z,a,b,c,u,c1 : extended;

    begin

    x:=StrToFloat(Trim(Edit1.Text));

    ShowMessage('Ошибочная запись числа '+Edit1.Text);

    end;

    Memo1.Lines.Add(' X = '+Edit1.Text Memo1.Lines.Add(' Y = '+Edit2.Text

    Memo1.Lines.Add(' Z = '+Edit3.Text);

    a:=Sqr(Sin(x+y)/Cos(x+y));

    b:=Exp(y-z);

    try

    c1:=Cos(Sqr(x))+Sin(Sqr(z));

    Memo1.Lines.Add('Значение подкоренного выражения ='+

    FloatToStrF(c1,fffixed,8,3));

    c:=Sqrt(Cos(Sqr(x))+Sin(Sqr(z)));

    except

    ShowMessage('Ошибка при вычислении квадратного корня!');

    Exit;

    end;

    u:=a-b*c;

    Memo1.Lines.Add('Значение выражения U ='+ FloatToStrF(u,fffixed,8,3));

    end;

    end.
    Вывод: Узнал о возможностях компонентов расположенных на вкладке System.

    Практическая работа №16

    Тема: Визуальные компоненты среды Delphi (system).

    Цель: Узнать о возможностях компонентов расположенных на вкладке System.

    Ход работы:

    Задание 1. Создадим секундомер, который будет отсчитывать время.



    Рис.47



    Рис.48 Рис.49
    Листинг.

    var

    Form1: TForm1;

    TickCounter: LongInt;

    procedure TForm1.FormCreate(Sender: TObject);

    begin

    TickCounter:=0;

    Edit1.Text:='0.0';

    end;

    procedure TForm1.BitBtn1Click(Sender: TObject);

    begin

    if Timer1.Enabled then

    begin

    Timer1.Enabled:=False;

    BitBtn1.Caption:='&Старт';

    Timer1.Enabled:=False;

    BitBtn1.Caption:='&Старт';

    end

    else

    begin

    timer1.Enabled:=true;

    BitBtn1.Caption:='&Стоп';

    end;

    end;

    procedure TForm1.BitBtn2Click(Sender: TObject);

    begin

    TickCounter:=0;

    Edit1.Text:='0.0';

    end;

    procedure TForm1.Timer1Timer(Sender: TObject);

    var seconds:Real;

    s:string;

    begin

    TickCounter:=TickCounter+1;

    Seconds:=TickCounter/10;

    Str(Seconds: 10:1, S);

    Edit1.Text:=S;

    end;

    end.
    Задание 2. Напишите программу игру «Угадай число».



    Рис.50.
    Листинг:

    unit Unit1;

    interface

    uses

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

    Dialogs, Menus;

    type

    TMainForm = class(TForm)

    MainMenu1: TMainMenu;

    procedure FormCreate(Sender: TObject);

    procedure TMainForm.FormShow(Sender: TObject);

    procedure TMainForm.BitBtn1Click(Sender: TObject);

    procedure TMainForm.N2Click(Sender: TObject);

    private

    { Private declarations }

    public

    { Public declarations }

    end;

    var

    MainForm: TMainForm;

    a:integer;

    implementation

    {$R *.dfm}

    OnShow

    procedure TMainForm.FormShow(Sender: TObject);

    begin

    Randomize; a:=Random(100);

    end;

    procedure TMainForm.BitBtn1Click(Sender: TObject);

    begin

    If Length(Trim(MaskEdit1.Text))=0 then

    ShowMessage('Âû çàáûëè ââåñòè ÷èñëî!') else

    If a=StrToInt(Trim(MaskEdit1.Text)) then

    Begin

    Label1.Caption:='Óãàäàë!';

    Label1.Visible:=True;

    Animate.Visible:=True;

    Animate.Active:=True;

    end

    else

    If a>StrToInt(Trim(MaskEdit1.Text)) then

    Memo.Lines.Add(Trim(MaskEdit1.Text)+' Áîëüøå!')

    else Memo.Lines.Add(Trim(MaskEdit1.Text)+Ìåíüøå!');

    MaskEdit1.Clear;

    MaskEdit1.SetFocus;

    end;

    procedure TMainForm.N2Click(Sender: TObject);

    begin

    Memo.Visible:=True;

    Animate.Visible:=False;

    Randomize;

    a:=Random(100);

    Memo.Clear;

    end;

    end.
    Вывод: Я узнал о возможностях компонентов расположенных на вкладке System.

    Практическая работа №17

    Тема: Основные свойства. Основные события.

    Цель: рассмотреть основные события и принцип работы.

    Ход работы:

    Задание 1.Создадим записную книжку на каждый день недели от ПОНЕДЕЛЬНИКА до ВОСКРЕСЕНЬЯ.



    Рис. 51

    Листинг:

    unit Unit1;

    interface

    uses

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

    Dialogs, StdCtrls, Buttons, ComCtrls;

    type

    TForm1 = class(TForm)

    PageControl1: TPageControl;

    TabSheet1: TTabSheet;

    TabSheet2: TTabSheet;

    TabSheet3: TTabSheet;

    TabSheet4: TTabSheet;

    TabSheet5: TTabSheet;

    TabSheet6: TTabSheet;

    TabSheet7: TTabSheet;

    BitBtn1: TBitBtn;

    BitBtn2: TBitBtn;

    BitBtn3: TBitBtn;

    BitBtn4: TBitBtn;

    BitBtn5: TBitBtn;

    BitBtn6: TBitBtn;

    Edit1: TEdit;

    ListBox1: TListBox;

    ListBox2: TListBox;

    ListBox3: TListBox;

    ListBox4: TListBox;

    ListBox5: TListBox;

    ListBox6: TListBox;

    ListBox7: TListBox;

    OpenDialog1: TOpenDialog;

    SaveDialog1: TSaveDialog;

    procedure BitBtn1Click(Sender: TObject);

    procedure BitBtn3Click(Sender: TObject);

    procedure BitBtn2Click(Sender: TObject);

    procedure BitBtn4Click(Sender: TObject);

    private

    { Private declarations }

    public

    { Public declarations }

    end;

    var

    Form1: TForm1;

    implementation

    {$R *.dfm}

    procedure TForm1.BitBtn1Click(Sender: TObject);

    begin

    if opendialog1.Execute then

    case pagecontrol1.ActivePageIndex of

    0: listbox1.Items.LoadFromFile(opendialog1.FileName);

    1: listbox2.Items.LoadFromFile(opendialog1.FileName);

    2: listbox3.Items.LoadFromFile(opendialog1.FileName);

    3: listbox4.Items.LoadFromFile(opendialog1.FileName);

    4: listbox5.Items.LoadFromFile(opendialog1.FileName);

    5: listbox6.Items.LoadFromFile(opendialog1.FileName);

    6: listbox7.Items.LoadFromFile(opendialog1.FileName);

    end;

    end;

    procedure TForm1.BitBtn3Click(Sender: TObject);

    begin

    case pagecontrol1.ActivePageIndex of

    0: listbox1.Items.Insert(listbox1.ItemIndex,edit1.text);

    1: listbox2.Items.Insert(listbox2.ItemIndex,edit1.text);

    2: listbox3.Items.Insert(listbox3.ItemIndex,edit1.text);

    3: listbox4.Items.Insert(listbox4.ItemIndex,edit1.text);

    4: listbox5.Items.Insert(listbox5.ItemIndex,edit1.text);

    5: listbox6.Items.Insert(listbox6.ItemIndex,edit1.text);

    6: listbox7.Items.Insert(listbox7.ItemIndex,edit1.text);

    end;

    edit1.Clear;// очистка поля ввода

    edit1.SetFocus;// возвращение фокуса в поле ввода

    end;

    procedure TForm1.BitBtn2Click(Sender: TObject);

    begin

    if SaveDialog1.Execute then

    case pagecontrol1.ActivePageIndex of

    0: listbox1.Items.LoadFromFile(SaveDialog1.FileName);

    1: listbox2.Items.LoadFromFile(SaveDialog1.FileName);

    2: listbox3.Items.LoadFromFile(SaveDialog1.FileName);

    3: listbox4.Items.LoadFromFile(SaveDialog1.FileName);

    4: listbox5.Items.LoadFromFile(SaveDialog1.FileName);

    5: listbox6.Items.LoadFromFile(SaveDialog1.FileName);

    6: listbox7.Items.LoadFromFile(SaveDialog1.FileName);

    end;

    end;

    procedure TForm1.BitBtn4Click(Sender: TObject);

    begin

    case pagecontrol1.ActivePageIndex of

    0: listbox1.Items.Insert(listbox1.ItemIndex,edit1.text);

    1: listbox2.Items.Insert(listbox2.ItemIndex,edit1.text);

    2: listbox3.Items.Insert(listbox3.ItemIndex,edit1.text);

    3: listbox4.Items.Insert(listbox4.ItemIndex,edit1.text);

    4: listbox5.Items.Insert(listbox5.ItemIndex,edit1.text);

    5: listbox6.Items.Insert(listbox6.ItemIndex,edit1.text);

    6: listbox7.Items.Insert(listbox7.ItemIndex,edit1.text);

    end;

    edit1.Clear;// очистка поля ввода

    edit1.SetFocus;// возвращение фокуса в поле ввода

    end;

    end.
    Вывод: Я рассмотрел основные события и принцип работы.

    Практическая работа №18

    1   2   3   4


    написать администратору сайта