Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

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

Int j1,j2,j3,j4; | Сортировка методом прямого выбора | Лаборатоная работа № 6 | Лабораторная работа № 7 | Функции обработки строк типа AnsiString | Лаборатоная работа № 8 | Теоретические сведения | Сведения о гражданине ind1 | Лабораторная работа № 9 | Лабораторная работа № 10 |


Читайте также:
  1. IV. Лабораторная диагностика ВИЧ-инфекции
  2. IV. Лабораторная диагностика ВИЧ-инфекции
  3. Лабораторная диагностика
  4. Лабораторная работа
  5. Лабораторная работа 1
  6. Лабораторная работа 1
  7. ЛАБОРАТОРНАЯ РАБОТА 10

Тема: Программирование разветвляющихся структур в среде Си++Builder.

Цель работы: Знакомство с условным оператором и оператором выбора, при создании программ использовать компоненты вкладки Standard среды Си++Builder.

Часть первая.

1 Порядок выполнения лабораторной работы:

1.1 Знакомство с теоретическим материалом, соответствующим теме лабораторной работы

1.2 Ответить на следующие вопросы:

1. Укажите правильно созданный идентификатор:

a)X_Y_1_2; b) My Programm; c) FD*H; d) 10??Name; e) 1DY

2. Какое слово служит для описания новых типов в программе.

3. Укажите значения, которые могут принимать переменные типа unsigled char

4. Укажите основные операторы ветвления и назначение каждого.

5. Как описываются в программе переменные, константы.

6. Если х - вещественная переменная, i - целая, а с – символ, то укажите какие из следующих операторов присваивания правильные:

i= dіv(і,2) + 3.15*х;х= і + і/2; х= (2+і*4)*log(і); c= i+х;і= (х==0) || (і>х);

7.Укажите порядок выполнения операций:! a && (b!=c)||(b= =Ceil(d/c))

8. Укажите в каком выражении допущена ошибка:

a) іf (х>1 && х<2) { х=х+1; y=cos(х);} else { х=х*х; y=sіn(х);}

b)іf (k!=) then k=k+5 else іf k<9 then k=k*3;

c)іf (і>n+1) і=і+1; else і=і-1;

d)іf (a || b) a=false; else b=true;

9. Напишите условие соответствующее выражению "X лежит вне отрезков [2,5] и [-1,1]"

10. Укажите, какие из приведенных ниже выражений имеют результат true:

а)! (y>x) если х=2, y=2;в) (х*y!= 0) && (y > х) если х=1, y=2;с) a || (! b) если a=true, b=false;d)t && (p=0) если t=true, p=2; e) (х=2) || (y=0) если х=2, y=3.

11. Укажите какое значение будет иметь переменная Z после выполнения следующего фрагмента программы, при X=15, Y=9: Z=0; Z= (Х>0 && Y>0)? 1; 2;

12. Какое значение примут переменные A и C после выполнения оператора: a=4, b=12, c=8, d=14; if(a>b) if (c<d) if (c<0) c=0; else; else; else a=b;

13. Назовите операторы сравнения?

14. Что можно использовать в качестве условия в управляющих конструкциях?

15. Какая конструкция языка С++ осуществляет множественный выбор?

 

Задание

Учитывая предел изменения значения переменных, вычислить функцию по формуле согласно варианта. Алгоритм решения задачи представить в виде блок-схемы.

Группа А Таблица 6

Вариант № Расчетная формула Условие Границы и шаг изменения переменных Ва риант № Расчетная формула Условие Границы и шаг изменения переменных Входные данные
  1<=t<=2 t<1 t>2 tÎ[0;3]; ∆t=0,15;   x<2,8 2,8<=x<6 x>=6 xÎ[0;7]; ∆x=0,15 a=2,6; b=-0,39
  x<1,3 x=1,3 x>1,3 xÎ[0;2]; Dx=0,2   x>1 x<=1 xÎ[0;2]; Dx=0,1 a=0,9
  x<1,2 x=1,2 x.1,2 xÎ[1;2]; Dx=0,05   i<4 4<=i<=6 i>6 iÎ[0;12]; Di=1 a=2,1;b=1,8;c=-20,5
  x<1,4 x=1,4 x.1,4 xÎ[0,7;2];Dx=0,1   ((i2+1)/n)>0   ((i2+1)/n)<0 iÎ[1;10]; Di=1 a=0,3; n=10
  x<1 x=1 x>2 xÎ[0,5;3]; Dx=0,2   t<0,1 t=0,1 t>0,1 tÎ[-1;1]; Dt=0,2 a=2,5; b=0,4
  x>a x=a x<a   xÎ[1;5]; Dx=0,5   x>3,5 x<=3,5 xÎ[2;5]; Dx=0,2 -
  bx<1 bx=1 bx>1 xÎ[0,1;1];Dx=0,1   x>a x=a x<a xÎ[1;5]; Dx=0,25 a=2,5
  x>2,5 x<=2,5 xÎ[2;5]; Dx=0,25   x>a x=a x<a xÎ[0;5]; Dx=0,25 a=3,2
  x>1 x<=1 xÎ[0,5;2]; Dx=0,1   x>a x=a x<a xÎ[0;3]; Dx=0,2 a=2,2
  x<0,5 x=0,5 x>0,5 xÎ[0,2;2]; Dx=0,1   x<0,5 x=0,5 x>0,5 xÎ[0;2]; Dx=0,05 t=2,5

 

Группа B

Вариант № Расчетная формула Условие Границы и шаг изменения переменных Ва риант № Расчетная формула Условие Границы и шаг изменения переменных Входные данные
  3<t<=5 t<3 t>5   tÎ[0;10]; Dt=0,2   3<t<=5 t<3 t>5   tÎ[2;12]; Dt=0,2 a=1,5
  1<x<=1,5 x>1,5 x=0   xÎ[0;5]; Dx=0,1   1<x<=1,5 x>1,5 x=0   xÎ[0;5]; Dx=0,1 -
  x<1 x=1 x>1 xÎ[0;3]; Dx=0,1   x<1 x=1 x>1 xÎ[0;8]; Dx=0,25 y=12
  0<x<=0,5 0,5<x<1 x>=1 xÎ[0;3]; Dx=0,1   0<x<=0,5 0,5<x<1 x>=1 xÎ[0;8]; Dx=0,1 y=11,2
  x=0 x>0 x<0 xÎ[0;3]; Dx=0,1       1<=x<=2   x<1 x>2 xÎ[0;3]; Dx=0,1 a=2,67; b=9,31;
  0<x<2 x<=0 x>=2 xÎ[0;8]; Dx=0,2   x=2,2; x>5,8; в остальных случаях xÎ[0;8]; Dx=0,2 a=2,67;b=9,31;
  0<x<=0,1 x<=0 x>0,1 xÎ[0;3]; Dx=0,1     x<2,1 x=2,1 x>2,1 xÎ[0;6]; Dx=0,1 a=8,43; b=9,38;
  0<x<2 x<=0 x>=2 xÎ[0;2]; Dx=0,01   x<=2 2<x<11 x>=11 xÎ[0;14] Dx=0,5 a=6,33; b=8,44;
  x<5 x>5 x=5 xÎ[0;6]; Dx=0,1   0<=x<=2 x>2 x<0 xÎ[0;3]; Dx=0,1 a=6,83; b=4,52;
  1<=x<=2 2<x<5 в остальных случаях xÎ[1;9]; Dx=0,25   x=2 x<2 x>2 xÎ[1;6]; Dx=0,2 a=4,56; b=9,44;

Часть вторая: Оператор выбора

1 Порядок выполнения лабораторной работы:

1.1 Знакомство с теоретическим материалом, соответствующим теме лабораторной работы

1.2 Ответить на следующие вопросы:

1. В чем отличие оператора if от оператора switch?

2. В операторе выбора, если значение выражения не совпадает ни с одной константой, куда передается управление в программе?

3. Как применяются операторы перехода (goto, break).

 

 

Задание

Из таблицы 7 взять задание по варианту и написать программу используя оператор выбора. Для выбора четвертой ветви использовать вариант с ключевым словом default.

Группа А Таблица 7

№ варианта Содержание Исходные данные
1. a=2 b=1,5 c=1 d=3 e=0,5
2. c=-2 a=1,5 d=2 x=3
3. a=5 b=1,2 y= 0,6
4. d=2 a=3,5 x=3 i=2,3
5. w=1 x=2,5 a=4 b=0,4
6. a=0,5 b=2 h=4 R=1,4
7. p=0,6 l=2 h=5 R=4
8. x=0,63 c=1,5 d=2 a=0,37
9. y=2,6 x=1,6 a=0,4
10. a=1,5 b=2 x=0,5
11. x=0,5 a=4,3 y=2,6 d=0,3
12. a=3 y=2,7 i=2 x=1
13. x=0,73 y=0,4 t=2,6
14. a=2 x=0,54 c=2,3 b=1,8 R=3
15. x=0,4 a=0,88 c=3,6
16. a= -1 b=0,8 x=1 c= -0,7
17. x=2 y=3,5 a=0,1 b=4
18. x=0,8 y=0,2 a=4 b=5 t=1
19. y=2 a=0,5 x=1,8 b=0,6
20. x=1,8 y=2 t=4 a=1,5 R=4,6 b=0,3

 

Группа В

№ варианта Содержание Исходные данные
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Примеры

Пример 2.1. Используя компоненту ComboBox вычислить стоимость междугородного телефонного разговора в зависимости от длительности разговора и дня недели. Как известно, стоимость междугородного разговора по телефону в выходные дни ниже, чем в обычные на 20%.

Решение задачи: 1. Необходимо составить алгоритм решения задачи и подготовить форму. На форме установить 4 компоненты Label, две - Edit, две -Button и ComboBox. В табл. 8 приведены значения свойств этих компонентов. Наибольший интерес представляют свойства Items и Itemindex компоненты ComboBox1. Свойство items содержит элементы списка. Свойство itemindex задает номер выбранного элемента списка. Если ни один из элементов не выбран, то значение свойства равно минус единице.

Список может быть сформирован во время создания формы или во время работы программы.

2. Компонент ComboBox - позволяет выбрать из выпадающего списка. Если обратить внимание на постановку задачи, то в зависимости от дня недели изменяется оплата разговора, поэтому удобно выбирать день недели из списка. Для формирования списка во время создания формы надо в окне Object Inspector выбрать свойство Items и щелкнуть на кнопке запуска редактора списка строк . В открывшемся диалоговом окне String List Editor (рис. 8) нужно ввести список, набирая каждый элемент списка в отдельной строке. После ввода очередного элемента списка для перехода к новой строке необходимо нажать клавишу <Enter>. После ввода последнего элемента клавишу <Enter> нажимать не надо. Завершив ввод списка, следует щелкнуть на кнопке ОК.

Рисунок 8. Редактор списка

3. Стоимость разговора зависит от продолжительности разговора, расстояния и дня недели. Т.е. если день недели — суббота или воскресенье, то стоимость уменьшается на величину скидки. Для решения задачи используется условный оператор.

4. Щелкнув на компоненте Button1 дважды, в функции описания событий объявляем переменные y,s,t вещественными. Наряду с этим, для инициализации значений s,t, введенных в поле Edit1 и Edit2, использовать функцию преобразования типов.

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.

Компонент Назначение Свойство Caption
Edit1 Для ввода стоимости 1 минуты разговора  
Edit2 Для ввода длительности разговора в минутах  
Label1, Label2, Label3 Для вывода пояснительного текста о назначении полей ввода Оплата за телефонный разговор s t
Label4 Для вывода результата вычисления — стоимости разговора  
Button1 Для активизации процедуры вычисления стоимости разговора Вычислить
Button2 Для активизации выхода Выход
ComboBox1 Для вывода списка дней недели  

Пример 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: оператор }>.

Отличие от предыдущего способа присутствие на форме компоненты ListBox1. компонента ListBox1 отборажает списки строк ипозволяет пользователю выбрать в них нужную строку. В компоненте имеется свойство MultiSelect, разрешающее пользователю множественный выбор в списке. Если MultiSelect =false, то пользователь может выбрать только один элемент списка. В этом случае можно узнать индекс выбранной строки из свойства ItemIndex, доступного только во время выполнения. В данном примере значение z зависит от значения х (отрывок программы):

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.

 


Дата добавления: 2015-11-04; просмотров: 175 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Лабораторная работа № 2| Лабораторная работа№ 4

mybiblioteka.su - 2015-2024 год. (0.019 сек.)