Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

Подписываем
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Предоплата всего
Подписываем
Лабораторная работа №2
Программирование разветвляющихся алгоритмов
Цель: научиться составлять программы для решения задач, содержащих условия, продолжить освоение работы в системе программирования Borland Delphi.
Теоретические сведения:
Условный оператор используется для выполнения одного из двух возможных вариантов программы.
Формат записи команды ветвления:
if логическое_условие если логическое_условие верно
then оператор_1 то выполняется оператор_1 ,
else оператор_2; иначе оператор_2;
Перед else точка с запятой не ставится!
Формат полного оператора ветвления: Формат краткого оператора ветвления:
if <логическое выражение> if <логическое выражение>
then <оператор 1> then <оператор>;
else <оператор 2>;
Логическое выражение: Простой формой логического выражения является операция отношения: меньше (<), больше (>), меньше или равно (<=), больше или равно (>=), равно (=), не равно (<>).
Сложные формы логических выражений составляются с использованием логических операций:
Not - логическое отрицание (НЕ), and - логическое умножение (И), or - логическое сложение (ИЛИ), xor - исключающее ИЛИ.
Порядок выполнения работы:
На форме разместите компонент MainMenu1 с вкладки Стандартные. Щелкните 2 раза по этому элементу, введите в свойстве Caption заголовки пунктов меню «Задачи» и «Выход» и заголовки команд подменю «Магазин» и «Сопротивление», как показано на рисунке.
Задача 1: Составьте программу, которая позволяет вводить данные о покупке: название товара, количество, цену и сумму денег, внесенную покупателем. Сформировать чек, в котором необходимо отразить общую стоимость покупки, внесенную покупателем сумму денег, а также, если сумма денег равна стоимости покупки, вывести сообщение «Спасибо за покупку!», если сумма денег больше стоимости покупки, вывести сообщение «Возьмите сдачу в размере ? рублей!», если сумма денег меньше стоимости покупки, вывести сообщение «С Вас ещё ? рублей!». (Вместо знака ? должна быть указана конкретная сумма)
Теперь нужно, чтобы по щелчку на подменю Магазин открывалась форма 2. Обработайте событие OnClick для него, т.е. наберите текст программы Form2.ShowModal; // открытие формы 2
Обратите внимание, что в первом модуле появилась строчка uses Unit2; если нет, допишите её сами.
К1:=StrToInt(Edit6.text); //переменная для количества товара 1
С1:= StrToFloat (Edit11.text); //переменная для цены товара 1
Аналогично введите переменные К2 для количества товара 2 и С2 для его цены, К3 для количества товара 3 и С3 для его цены, К4 для количества товара 4 и С4 для его цены, К5 для количества товара 5 и С5 для его цены.
SUMMA:= StrToFloat(Edit16.text); //переменная для внесенной суммы
STOIMOST:=…………..; // нахождение стоимости покупки
Label 11.caption:=Стоимость покупки =+FloatToStr(STOIMOST);
IF STOIMOST= SUMMA THEN Label 12.caption:=СПАСИБО ЗА ПОКУПКУ!!!;
IF STOIMOST< SUMMA THEN Label 12.caption:=ВОЗЬМИТЕ СДАЧУ=+FloatToStr(SUMMA-STOIMOST)+ +РУБ;
IF STOIMOST>SUMMA THEN Label 12.caption:=С ВАС ЕЩЁ +FloatToStr(STOIMOST- SUMMA)+РУБ;
//Опишите все переменные в разделе Var.
Задача 2: Составить программу расчета сопротивления электрической цепи, состоящей из двух сопротивлений. Тип соединения - последовательное или параллельное, пользователь должен выбрать сам. Для этого.
Form3.ShowModal; // открытие формы 3
Обратите внимание, что в первом модуле появилась строчка uses Unit3; если нет, допишите её сами.
Активируйте форму 3, измените её заголовок на Сопротивление.
var R1,R2,R: Real;
begin
R1:=StrToFloat(Edit1.Text);
R2:=StrToFloat(Edit2.Text);
if RadioButton1.Checked then R:=R1+R2 else R:=(R1*R2)/(R1+R2);
Label1.Caption:='Сопротивление цепи: '+FloatToStr(RoundTo(R,-2))+' Ом';
end;
Комментарии и пояснения:
1) В качестве исходных данных имеются 2 сопротивления - R1 и R2. Результирующее сопротивление - R. Для всех трёх переменных указан вещественный тип данных (Real), т.к. значения сопротивлений могут быть дробными числами.
2) Сначала мы заносим в переменные R1 и R2 числа, введённые в Edit1 и Edit2.
3) Далее мы применяем условный оператор, чтобы узнать, какой из двух TRadioButton выделен. Если выделен первый, то применяем формулу последовательного сопротивления (сумму): R = R1 + R2. Проверять, выделен ли второй, смысла нет, так как их всего 2 - если не выделен первый, значит выделен второй. Для параллельного сопротивления формула следующая: R = (R1 * R2) / (R1 + R2). Таким образом, в зависимости от выбранного типа соединения значение переменной R будет вычислено по соответстующей формуле.
4) Наконец, выполняется вывод результата в Label1. В приведённом коде использована функция RoundTo(). Эта функция округляет вещественное число до указанного знака после запятой. В данном случае округление ведётся до двух цифр. Это сделано для того, чтобы в Label1 не попал весь длинный ряд чисел после запятой, а попали все первые две цифры. Функция RoundTo() описана в модуле Math. Этот модуль необходимо подключить, добавив его имя в uses.
Задачи для самостоятельного выполнения:
Отчет по работе:
Оформите в тетради отчет, который должен содержать тему, цель работы, порядок выполнения (только формулировку задачи и программный код её решения), ответы на контрольные вопросы.
Контрольные вопросы:
Перечислите все используемые в работе (с расшифровкой):
Объекты (компоненты); Свойства объектов; События объектов; Методы; Операторы и функции.