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

  • ЛАБОРАТОРНАЯ РАБОТА 2

  • 1.1. Операторы

  • 1.2. Кнопки-переключатели в

  • 1.3.1. Создание формы

  • CheckBox

  • CheckBox 1. Checked

  • RadioGroup 1. Itemlndex

  • Лабораторная. Лабораторный практикум(часть1) Электронный. Практикум по дисциплине Разработка приложений в визуальных средах для студентов специальностей


    Скачать 3.27 Mb.
    НазваниеПрактикум по дисциплине Разработка приложений в визуальных средах для студентов специальностей
    АнкорЛабораторная
    Дата12.03.2023
    Размер3.27 Mb.
    Формат файлаdoc
    Имя файлаЛабораторный практикум(часть1) Электронный.doc
    ТипПрактикум
    #982312
    страница3 из 24
    1   2   3   4   5   6   7   8   9   ...   24

    2. Постановка задачи



    Разработать линейное приложение с использованием компонент TLabel, TEdit, TMemo, TButton в соответствии с индивидуальным вариантом задания.

    3. Задания



    1.

    2. .

    3.

    4. = .

    5. = +sin arctg(z).

    6. .

    7. = 5arctg .

    8. .

    9. .

    10. .

    11. .

    12. .

    13. .

    14. .

    15. .

    16. Вывести на экран 1 или 0 в зависимости от того, имеют ли три заданных целых числа одинаковую четность или нет.

    17. Найти сумму цифр заданного четырехзначного числа.

    18. Определить число, полученное выписыванием в обратном порядке цифр заданного трехзначного числа.

    19. Вывести на экран 1 или 0 в зависимости от того, равна ли сумма двух первых цифр заданного четырехзначного числа сумме двух его последних цифр.

    20. Вывести на экран 1 или 0 в зависимости от того, равен ли квадрат заданного трехзначного числа кубу суммы цифр этого числа.

    21. Вывести на экран 1 или 0 в зависимости от того, есть ли среди первых трех цифр дробной части заданного положительного вещественного числа цифра нуль.

    22. Вывести на экран 1 или 0 в зависимости от того, есть ли среди цифр заданного трехзначного числа одинаковые.

    23. Присвоить целой переменной третью от конца цифру в записи положительного целого числа .

    1. Присвоить целой переменной первую цифру из дробной части положительного вещественного числа.

    ЛАБОРАТОРНАЯ РАБОТА 2

    Разработка приложения, реализующего разветвляющийся вычислительный процесс




    Цель лабораторной работы: научиться пользоваться стандартными компонентами организации переключений (TCheckBox, TRadioGroup и др.). Используя компоненты организации переключений разработать интерфейс и программу для заданного разветвляющегося алгоритма.

    1. Краткие сведения



    1.1. Операторы ifucase языка Pascal
    Для программирования разветвляющихся алгоритмов в языке Pascal используются переменные типа boolean, которые могут принимать только два значения - true и false (да, нет), а также операторы if и case. Оператор if проверяет результат логического выражения или значение переменной типа boolean и организует разветвление вычислений. Оператор case организует разветвления в зависимости от селектора - значения некоторой переменной, например, n целого типа:

    case n of

    0: u:= x + y;

    1: u:= x - y;

    2: u:= x * y;

    else u:= 0;

    end;

    В соответствии со значением n вычисляется значение переменной u. При этом, если n=0, то u=х+у, если n=1, то u=x-y, если n=2, то u=x*y и, наконец, u=0 при любых значениях n, отличных от 0, 1 или 2.
    1.2. Кнопки-переключатели в Delphi
    При создании программ в Delphi для организации разветвлений часто используются компоненты в виде кнопок-переключателей. Состояние такой кнопки (включено - выключено) визуально отражается на форме. На форме (см. рисунок 2.1) представлены кнопки-переключатели двух типов (TСheckBox и TRadioGroup).

    Компонент TCheckBox'>CheckBox организует кнопку независимого переключателя, с помощью которой пользователь может указать свое решение типа да/нет. В программе состояние кнопки связано со значением булевской переменной, которая проверяется с помощью оператора if.

    Компонент TRadioGroup организует группу кнопок – зависимых переключателей. При нажатии одной из кнопок группы все остальные кнопки |отключаются. В программу передается номер включенной кнопки (0, 1, 2,..), который анализируется с помощью оператора case.
    1.3. Пример программы
    Задание: ввести три числа x, y, z. Вычислить по усмотрению или u=sin(x), или u=cos(x), или u=tg(x). Найти по желанию максимальное из трех чисел: max(u, y, z) или max(|u|, |у|, |z|).

    Создать форму, представленную на рисунке 2.1, и написать соответствующую программу.
    1.3.1. Создание формы
    Создайте форму такую же, как в первом задании, скорректировав текст надписей и положение окон TЕdit.
    1.3.2. Работа с компонентом TCheckBox
    Выберите в палитре компонентов Standard пиктограмму и поместите ее в нужное место формы. С помощью инспектора объектов измените заголовок (Caption) на "Вычисление MaxAbs". В тексте программы появилась переменная CheckBox1:TCheckBox. Теперь в зависимости от того, нажата или нет кнопка, булевское свойство CheckBox1.Checked будет принимать значения true или false.
    1.3.3. Работа с компонентом TRadioGroup
    Выберите в палитре компонентов Standard пиктограмму и поместите ее в нужное место формы. На форме появится окаймленный линией чистый прямоугольник с заголовком RadioGroup1. Замените заголовок (Caption) на U(x). Для того чтобы разместить на компоненте кнопки, необходимо свойство Columns установить равным единице. Дважды щелкните по правой части свойства Items мышью, появится строчный редактор списка заголовков кнопок. Наберите три строки с именами: в первой cos(x), во второй – sin(x), в третьей – tg(x), нажмите ОК.

    Обратите внимание на то, что в тексте программы появилась переменная RadioGroupl типа TRadioGroup. Теперь при нажатии одной из кнопок группы в переменной целого типа RadioGroup1.Itemlndex будет находиться номер нажатой клавиши, что используется в приведенной программе.
    1.3.4. Создание обработчиков событий FormCreate и ButtonlClick
    Процедуры - обработчики событий FormCreate и ButtonlClick создаются аналогично тому, как и в первой теме. Тексты процедур приведены ниже. Запустите программу и убедитесь в том, что все ветви алгоритма выполняются правильно.

    Форма приложения приведена на рисунке 2.1.



    Рисунок 2.1 – Форма приложения

    Текст программы:

    Unit LabRab_2;

    Interface;

    Uses

    Windows, Messages, SysUtils Classes, Graphics, Controls,

    Forms, Dialogs, SidClrls, ExtCtrIs;

    Type

    TForm1 = class(TForm)

    CheckBoxl: TCheckBox;

    RadioGroupl: TRadioGroup;

    Memol: TMemo;

    Button1: TButton;

    Edit1: TEdit;

    Label1: TLabel;

    Label2: TLabel;

    Edit2: TEdit;

    Label3: TLabel;

    Edit3: TEdil;

    procedure FormCreate(Sender: TObject);

    procedure ButtonlClick(Sender: TObject);

    private

    { Private declarations}

    public

    { Public declarations}

    end;

    var

    Form1: TForm1;

    implementation

    {$R *.dfm}

    procedure TForm1.FormCreate(Sender:TObject);

    begin

    Edit1.Text:='0.1';

    Edit2.Text:='0.356';

    Edit3.Text:='0.0';

    Memo1.Clear;

    Memo1.Lines.Add('Peз-ты ст. гр. 107217 Юртаева Т.А.’);

    end;

    procedure TForm1.Button1Click(Sender: TObject);

    var

    x, y, z, u, ma : extended;

    begin

    // Ввод исходных данных и их вывод в окно Меmo1

    x:= StrToFloat(Edit1.Text);

    Memo1.Lines.Add('x=' + Edit1.Text);

    y:= StrToFloat(Edit2.Text);

    Memol.Lines.Add('y=' + Edit2.Text);

    z:= StrToFloat(Edit3.Text);

    Memol.Lines.Add(‘z=' + Edit3.Text);

    // Проверка номера нажатой кнопки и выбор соответствующей ей функции

    case RadioGroupl.ItemIndex of

    0: u:= cos(x);

    1: u:= sin(x);

    2: u:= sin(x)/cos(x);

    end;

    // Проверка состояния кнопки CheckBox1

    if CheckBox1.Checked then

    begin

    u:= abs(u);

    y:= abs(y);

    z:= abs(z)

    end;

    // Нахождение максимального из трех чисел

    if u > y then ma := u else ma := y;

    if z > ma then ma := z;

    if CheckBox1.Checked then

    Memo1.Lines.Add(‘MaxAbs=’ + FloatToStrF(ma, ffFixed, 8, 2))

    else

    Memo1.Lines.Add(‘max=’ + FloatToStrF(ma, ffFixed, 8, 2));

    end;

    end.

    1   2   3   4   5   6   7   8   9   ...   24


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