![]() Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Примеры. Пример 2.1.Вычислить стоимость междугородного телефонного разговора в зависимости от длительности разговора и дня недели
Пример 2.1. Вычислить стоимость междугородного телефонного разговора в зависимости от длительности разговора и дня недели. Как известно, стоимость междугородного разговора по телефону в выходные дни ниже, чем в обычные на 20%. Решение задачи: 1. Необходимо составить алгоритм решения задачи и подготовить форму. На форме установить 4 компоненты Label, две - Edit, две -Button и ComboBox. В табл. 8 приведены значения свойств этих компонентов. Наибольший интерес представляют свойства Items и Itemindex компоненты ComboBox1. Свойство items содержит элементы списка. Свойство itemindex задает номер выбранного элемента списка. Если ни один из элементов не выбран, то значение свойства равно минус единице. Список может быть сформирован во время создания формы или во время работы программы. 2. Компонент ComboBox - позволяет выбрать из выпадающего списка. Если обратить внимание на постановку задачи, то в зависимости от дня недели изменяется оплата разговора, поэтому удобно выбирать день недели из списка. Для формирования списка во время создания формы надо в окне Object Inspector выбрать свойство Items и щелкнуть на кнопке запуска редактора списка строк Рисунок 8. Редактор списка 3. Стоимость разговора зависит от продолжительности разговора, расстояния и дня недели. Т.е. если день недели — суббота или воскресенье, то стоимость уменьшается на величину скидки. Для решения задачи используется условный оператор.
float s, t, y; s=StrToFloat(Edit1-> Text); t=StrToFloat(Edit2-> Text); 5. Учитывая постановку задачи, условные операторы запишем в следующем виде: if (ComboBox1-> Text==" понедельник") y=s*t; if (ComboBox1-> Text==" вторник") y=s*t; if (ComboBox1-> Text==" среда") y=s*t; if (ComboBox1-> Text==" четверг") y=s*t; if (ComboBox1-> Text==" пятница") y=s*t; if (ComboBox1-> Text==" суббота") y=(s*t-(s*t)/5); if (ComboBox1-> Text==" воскресенье") y=(s*t-(s*t)/5); 6. Результаты вычислений выводим в компоненту Label4 (рис. 9): Label4-> Caption= ”Всего: ”+ FloatToStrF(y, ffGeneral, 7, 4) + “ тенге”; Таблица 8.
Пример 2.2 Условие задачи: составить программу вычисления функции z для значения х в диапазоне [0, 5]
Решение задачи: I способ. Здесь используем условный оператор < іf (логическое_выражение) Операторлар 1; else Операторлар 2 >; и компонентыForm, Label, Edit, Memo, Button. if (x< =1) z=sin(x); else if ((x> 1) & & (x< 2)) z=cos(x); else if (x> =2) z=cos(x)/2; Результаты вычислений приведены на рис. 10. II-способ Здесь мывоспользуемся компонентом ListBox и оператором выбора < switch (выражение_выбора) { сase значение_1: {оператор1; break; } сase значение_2: {оператор2; break; } default: оператор }>.
switch (ListBox1-> ItemIndex) { case 0: {z=sin(x); break; } case 1: {z=cos(x); break; } case 2: { z=cos(x)/2; break; } } Начальное значение ItemIndex невозможно задать во время проектирования.По умлочанию ItemIndex =-1. Это означает, что ни один элемент списка не выбран.Номерация выбранного индекса начинается с 0. Результаты вычислений приведены на рис. 11.
|