Стоимость телефонного разговора
Лабораторная работа 2
Программирование алгоритмов линейной и разветвляющейся структуры
Задание 1. Пример программы алгоритма линейной структуры:
Создать и сохранить новый проект, содержащий форму.
1.Конструирование формы:
При выполнении задания на форме были размещены следующие компоненты:
Label1 – используется для текста “Введите t, x”.
Label2 – используется для текста “Вычисление у”.
Button1 – кнопка, при нажатии которой производятся вычисления. Код вычислений прописан в методе OnClick, который срабатывает при нажатии кнопки во время исполнения программы.
Button2 – кнопка, при нажатии которой форма закрывается.
Edit1 – однострочный редактор для ввода t.
Edit2 – однострочный редактор для ввода x.
Edit3 – однострочный редактор для вывода у.
Для перевода строковых данных в число использовалась функция StrToFloat.
Для перевода результатов вычислений в строку была использована функция FormatFloat, позволяющая перевести число с плавающей запятой в требуемый формат в строковом виде.
2.Условие:
Вычислить:
при а = 2.3*sin(t); b = 17.6*x3; t = 3; x = 1.38.
Форма
4. Программа:
5. Результат:
Задание 2. Пример программы алгоритма разветвляющейся структуры. Конструкция if.
Стоимость телефонного разговора
Постановка задачи.
Как известно, стоимость разговора по телефону в воскресные дни ниже, чем в обычные дни.
Следующая программа запрашивает длительность разговора и день недели, затем вычисляет стоимость разговора.
Если день недели суббота или воскресенье, то стоимость уменьшается на величину скидки.
Цена минуты разговора и величина скидки задаются в тексте программы как константы.
Указания к выполнению задания:
Создать и сохранить новый проект, содержащий форму.
На рис. приведен вид диалогового окна программы.
Для ввода исходных значений (длительность разговора, номер дня недели) используются поля редактирования, для вывода результата и пояснительного текста — поля меток.
Edit1 – ввода длительности разговора в минутах
Edit2 – ввода номера дня недели
Label1, Label2 – вывода пояснительного текста о назначении полей ввода.
Label3 – вывода результата вычисления стоимости разговора
Button 1 – Активизации процедуры вычисления
Здесь и далее при описании формы приложения приводятся значения только тех свойств компонентов, которые используются в программе. Значения остальных свойств могут быть оставлены без изменения.
Программа производит вычисления при щелчке на командной кнопкеВычислить. В этом случае возникает событие Ondick, процедура обработки которого приведена ниже.
Задание 3. Пример программы алгоритма разветвляющейся структуры. Вложенное if.
Расчет оптимального веса
Постановка задачи
Часто в программе необходимо реализовать выбор более чем из двух вариантов.
Например, известно, что для каждого человека существует оптимальное значение веса, которое может быть вычислено по формуле: рост(см) – 100.
Очевидно, что реальный вес может отличаться от оптимального: вес может быть меньше оптимального, равняться ему или превышать оптимальное значение.
Следующая программа запрашивает вес и рост, вычисляет оптимальное значение, сравнивает его с реальным и выводит соответствующее сообщение.
Указания к выполнению задания:
Создать и сохранить новый проект, содержащий форму.
Как и в предыдущей программе, вычисления выполняются при щелчке на кнопкеВычислить (ее имя Button1). Ниже приведена процедура обработки события OnClick для этой командной кнопки.
В приведенном примере множественный выбор реализован при помощи двух инструкций if, одна из которых "вложена" в другую. Обратите внимание, что после инструкций, расположенных перед else, символ "точка с запятой" не поставлены.
Дополнительное задание:
В программе определения оптимального веса для ввода значений используйте 2 компонента TrackBar из страницы палитры Win32.
Для веса установите максимальное значение 150 – минимальное – 50; для роста – Max – 210, Min – 70.
Данные считываются из свойства компонента Position (w:=TrackBar1.Position).
Для динамического отображения данных сгенерировать процедуры и вписать в них код, предварительно добавив на форму метки Label4 и Label5.
Задание 4. Пример программы алгоритма разветвляющейся структуры. Множественное ветвление.
Создать и сохранить новый проект, содержащий форму.
1. Конструирование формы:
При выполнении задания на форме были размещены следующие компоненты:
TLabel – используется для создания комментариев и вывода результата вычислений. Для этого использовалось свойство компонента Caption, которое имеет строковый тип. Для перевода результатов вычислений в строку была использована функция FormatFloat, позволяющая перевести число с плавающей запятой в требуемый формат в строковом виде.
TImage – предназначен для просмотра изображения. Для размещения изображения используется свойство компонента Picture.
TButton – кнопка, при нажатии которой производятся вычисления. Код вычислений прописан в методе OnClick, который срабатывает при нажатии кнопки во время исполнения программы. Комментарий на кнопке прописывается в свойстве кнопки Caption.
TEdit – компонент предназначенный для ввода строковых данных. В свойстве Text данного компонента при создании программы были установлены необходимые значения переменных. Для перевода строковых данных в число использовалась функция StrToFloat.
2.Условие:
Вычислить:
при a=13,7; b=8,91; x=0,07.
3.Форма:
4.Программа:
5.Результат: