Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
lpr_11Ek.doc
Скачиваний:
8
Добавлен:
13.11.2018
Размер:
3.32 Mб
Скачать

Лабораторная работа №8

по дисциплине «Информатика».

Тема: Программирование разветвлений в Delphi.Объекты: поля редактирования Edit, переключатели RadioButton и их свойства

Цель: 1) Обучить студента создать форму с названием «Обмен валюты» , на которой можно смоделировать операции обмена валюты в обменном пункте.

2) Применить поле редактирования (Edit) и переключатель (RadioButton), а также кнопки для выполнения вычислений и окончания работы программы.

Ход работы:

  1. Загрузите среду визуального программирования Delphi.

  2. Откажитесь от возможности изменять размеры окна программы, присвоив свойству формы BorderStyle значение bsDialog.

Выполните программу и убедитесь , что размеры формы не меняются. Обратите внимание на отсутствие в окне кнопок минимизации и максимизации, а также системного меню. Завершите работу программы.

  1. Вставьте в форму два объекта типа RadioButton (переключатель), как показано на рис.1.

Для этого щелкните на пиктограмме объект типа RadioButton, которая находится на стандартной странице палитры компонентов главного окна Delphi, а после этого щелкните на форме в нужном месте.

4. Задайте начальное значение второго переключателя как активное.

Для этого щелкните на правом переключателе и значение его свойства Checked (контроль выбора) задайте как True.

  1. Вставьте в форму два поля редактирования – объекты Edit1 и Edit2.

  2. Расположите на форме четыре текстовых поля – объекты Label1, Label2, Label3, Label4 .

  3. Вставьте в форму ещё два поля редактирования – объекты Edit3 и Edit4( см.рис.1).

  4. Вставьте в форму ещё две кнопки – объекты типа Button (рис. 1).

  5. Сохраните созданную на данный момент форму в соей папке.

File – Save All. Файлы текста программы и проекта назвать разными именами.

  1. Измените название формы с «Form1» на «Обмен валюты».

  2. Измените надписи Caption на объектах типа RadioButton, Label Button так, как показано на рис. 2.

  3. Задайте одинаковые размеры для всех текстовых полей, полей редактирования и кнопок.

  4. Задайте значения курсов покупки и продажи валюты, а также количество валюты, которую продает или покупает служащий обменного пункта.

Для этого введите необходимое число, например 29.5, как значение свойства Text объекта Edit1. Повторите эти действия для объекта Edit2 (значение 30.4) и Edit3 (значение 45).

  1. Очистить поле редактирования Edit4.

Для этого удалите значение свойства Text для объекта Edit4. Не спутайте значения свойств Name и Text этих объектов.

  1. Заблокируйте возможность ввода данных для поля Edit4, задав значение свойства Enabled (доступность ) как False.

  2. Запрограммируйте кнопки переключателей так, чтобы направление стрелки показывала на вид операций: покупка или продажа. Сделайте активным поле Edit3.

Щелкните дважды на правом переключателе RadioButton2 ( Продажа ). Получите заготовку процедуры RadioButton2Click. В теле этой процедуры опишите действия , которые произойдут в результате нажатия на правую кнопку переключателя RadioButton2:

Procedure TForm1.RadioButton2Click(Sender:TObject);

Begin

Label3.Caption:=’=>’;{Изменяем направление стрелки}

Edit3.SetFocus {Активизируем поле Edit3 }

End;

Аналогично запрограммируйте метод Click нажатием на левый переключатель убедившись , что стрелка показывает на левое поле (‘<=’ ).

Фрагмент программного кода созданной процедуры запишите в память.

  1. Группа 179Запустите программу и убедитесь, что переключатель выполняет свои функции согласно пункта 15.

  2. Запрограммируйте кнопку “ Конец “.

Воспользуйтесь процедурой закрытия окна программы Close:

Procedure TForm1.Button2Click(Sender:TObject);

Begin

Close

End;

  1. Запрограммируйте кнопку «Вычислить».

Данные в поле редактирования – это значения свойства Text объекта типа string. Для превращения этих данных в тип (real) воспользуйтесь процедурой Val, а наоборот – процедурой Str. Опишите основные (kurs, suma) и дополнительные (cod, ed) переменные в разделе var.

Procedure TForm1.Button1Click(Sender:TObject);

Var kurs1, kurs2, suma : real;

Cod : integer; ed : string[9];

Begin

Val(Edit1.Text,kurs1,cod);{Получаем значение курса покупки}

Val(Edit2.Text,kurs2,cod) );{Получаем значение курса продажи};

Val(Edit3.Text,suma,cod);{получаем числовое значение суммы в USD}

If RadioButton2.Checked = True then suma : = suma * kurs2 else suma : = suma * kurs1;

Str(suma : 9 : 2 , ed );

Edit4.Text : = ed ;

{полученное число суммы в рублях превращаем в текстовый формат и результату присваиваеваем свойство Text поля вывода результата Edit4.}

end;

  1. Сохраните работу (Save All ).

  2. Выполните программу и поэкспериментируйте с разными денежными суммами и операциями покупки или продажи. Закройте окно программы “Обмен валюты “.

Для прерывания работы программы в случае неправильного ввода входных данных выполните пункт главного меню Run => Program Reset.

  1. Измените размеры и цвет символов ( кроме объектов Label3 , Edit3 ),

  2. Группа 179Обеспечьте появление подсказки “Введите сумму в долларах” после перемещения указателя мыши на поле Edit3.

Выберите объект Edit3 и установите значение True свойства ShowHint, а также в свойство Hint введите текст подсказки. Сохраните работу, запустите программу и убедитесь, что подсказка появляется.

  1. Создайте exe – файл вашей программы.

  2. Закройте Delphi, запустите созданную программу и выполните вычисления для разных данных.

  3. Продемонстрируйте созданную форму преподавателю.

Рис 1.

Form1

RadioButton1 Label3 RadioButton2

Покупка Продажа

Label4

Курс валюты

USD РУБЛИ

Button1 Button2

Edit1(29.35)

Edit2 (30.5)

Edit3 (45)

Edit4

Конец

Вычислить

Требования: Выполните следующие задания:

На оценку 3 (уд):

ЗАДАНИЕ №1

Предусмотрите в созданной программе ещё одну кнопку для очистки полей денежных сумм. Выполните программу и убедитесь в правильности её работы.

Группа 179ЗАДАНИЕ №2

Обеспечьте появление подсказки “Введите курс покупки” и “Введите курс продажи” после перемещения указателя мыши на поля Edit1 и Edit2 (см. п.22).

ЗАДАНИЕ№3

Для кнопки “Вычислить” в задаче “Обмен валюты” предусмотреть 1% сбора в пенсионный фонд от операций купля - продажа .

На оценку 4 (хорошо):

ЗАДАНИЕ№4

Модифицируйте программу, предусмотрев дополнительную возможность смены типа операций (купля, продажа) вследствие нажатия мышью на стрелке. Запишите в память фрагмент программного кода, который реализует данную возможность. Выполните программу.

Подсказка. Для этого дважды “щелкните” на текстовом поле стрелки. Откроется окно программного кода с заготовкой процедуры Label3Click.. В теле данной процедуры можно воспользоваться командами следующего вида:

If RadioButton1.Checked=True then

{Устанавливаем переключатель в правое положение, изменив значение свойства Checked объекта RadioButton2}

else

{Устанавливаем указатель в левое положение, изменяя значение свойства Checked объекта RadioButton1}.

ЗАДАЧА№5

Упростите форму ( убрав лишние объекты ) и измените код кнопки “Вычислить” так, чтобы её можно было использовать для перевода миль в

километры или наоборот в зависимости от положения переключателя ( 1миля = 1.609344 километров ).

На оценку 5 (отлично):

Группа 179ЗАДАЧА№6

В созданную для задачи №5 форму вставьте группу переключателей ( объект RadioButton ) для выбора типа милей из двух возможных значений : морской или обычной (1 морская миля = 1.852 километра ).

Подсказка. Для задания подписей для переключателей используйте свойство Items группы переключателей RadioGroup, а для контроля выбора действующего переключателя воспользуйтесь свойством ItemIndex ( равно -1, если не один не выбран , 0 – если выбран первый переключатель группы.).

Вопросы при сдаче лабораторной работы:

  1. Опишите назначение компонента RadioButton.

  2. По какому свойству RadioButton определяется выбранный переключатель? Как задать этому свойству значение?

  3. Как открыть окно просмотра значений переменных и выражений Watch List? Как включить в окно переменную или выражение?

Литература:

Глинский Я.М. “TURBO PASCAL i DELPHI”.

Список лабораторных работ

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]