Текст программы может иметь следующий вид:

//---------------------------------------------------------------------------

#include <vcl. h>

#include <stdio. h>

#include <conio. h>

#include <math. h>

#pragma hdrstop

//---------------------------------------------------------------------------

#pragma argsused

int main(int argc, char* argv[])

{

double x, y, z, a, b, c, rez;

puts("\n\tx, y,z = ");

scanf("%lf%lf%lf", &x, &y, &z);

a = pow(tan(x+y),2);

b = exp(y-z);

c = sqrt(cos(x*x)+sin(z*z));

rez = a-b*c;

printf("\n x = %7.3lf\n y = %7.3lf\n z = %7.3lf\nRezult = %lf\n", x, y, z, rez);

puts("Press any key... ");

getch();

return 0;

}

Для исходных данных x = 3,4; y = 7,4×10-2; z = 1,943×102, результат выполнения программы выглядит следующим образом:

1.5. Индивидуальные задания

Создать программу вычисления указанной величины. Результат проверить при заданных исходных значениях.

1. .

При x = 14.26, y = –1.22,

z = 3.5´10-2 : 0.564846.

2. .

При x = –4.5, y = 0.75´10-4,

z = 0.845´102 : –55.6848.

3. .

При x = 3.74´10-2, y = –0.825,

z = 0.16´102 : 1.0553.

4. .

При x = 0.4´104, y = –0.875,

z = –0.475´10-3 : 1.9873.

5.

При x = –15.246, y = 4.642´10-2, z = 20.001´102 : –182.036.

6.

При x = 16.55´10-3, y = –2.75, z = 0.15 : 40.630694.

7.

При x = 0.1722, y = 6.33, z = 3.25´10-4 : –205.305571.

8.

При x = –2.235´10-2, y = 2.23, z = 15.221 : 39.374.

9. .

При x = 1.825´102, y = 18.225, z = –3.298´10-2 : 1.2131.

10.

При x = 3.981´10-2, y = –1.625 ´ ´103, z = 0.512 : 1.26185.

11.

При x = 6.251, y = 0.827, z = 25.001 : 0.7121.

12.

При x = 3.251, y = 0.325, z = 0.466´10-4 : 4.251433.

13. .

При x = 17.421, y = 10.365´10-3, z = 0.828´105 : 0.33056.

14. .

При x = 12.3´10-1, y = 15.4, z = 0.252´103 : 82.825623.

15. .

При x = 2.444, y = 0.869´10-2, z = –0.13´103 : –0.49871.

16.

При x = –2.235´10-2, y = 2.23, z = 15.221 : 39.374.

Лабораторная работа №2. Реализация разветвляющихся алгоритмов

Цель работы: изучить операции сравнения, логические операции, операторы передачи управления if, switch, break, научиться пользоваться простейшими компонентами организации переключений (СheckBox, RadioGroup). Написать и отладить программу с разветвлениями.

НЕ нашли? Не то? Что вы ищете?

2.1. Общие теоретические сведения

Оператор условной передачи управления if

Для выбора одной из ветвей вычислений применяется оператор условного перехода:

if (выражение) оператор 1;

else оператор 2;

вычисляется выражение, и если его значение не равно 0 (истинно), то выполняется оператор 1, иначе – оператор 2, например:

if(x>y) max = x;

else max = y;

Если операторы 1, 2 содержат более одного оператора, то они заключаются в фигурные скобки { }, т. е. применяется блок.

Конструкция else может отсутствовать и такую форму называют сокращенной, тогда в случае ложности условия управление передается на следующий за if оператор.

Если операторы 1, 2 в свою очередь являются операторами if, то такой оператор называют вложенным, при этом ключевое слово else принадлежит ближайшему предшествующему if.

Например, найти наибольшее значение из трех чисел x, y, z:

if (x>y)

if (x>z) max=x;

else max=z;

else if(y>z) max=y;

else max=z;

Операции сравнения: < (меньше), <= (меньше или равно), > (больше), >= (больше или равно), != (не равно), = = (равно). Пары символов разделять нельзя.

Операции сравнения бинарные, их общий вид:

Операнд 1 знак операции Операнд 2

Операндами операций сравнения могут быть данные любых базовых типов, значения которых перед сравнением преобразуются к одному типу.

Логические операции используются в качестве условий при составлении более сложных выражений. Приведем их перечень в порядке убывания приоритета:

! (отрицание или логическое НЕ – унарная операция), && (конъюнкция или логическое И), || (дизъюнкция или логическое ИЛИ).

Например: (0<x)&&(x<=100)

((!x)&&(y>0)||((z==1)&&(k>0))

Выражения вычисляются слева направо, причем их вычисление прекращается, как только результат становится известен.

Тернарная (условная) операция ?:

Ее общая форма:

Операнд 1 ? Операнд 2 : Операнд 3

Если значение операнда 1 истинно (не равно 0), то результатом операции является операнд 2, иначе – операнд 3.

Например, найти наибольшее из двух чисел: max = a>b? a : b;

Оператор выбора switch

Общая форма оператора выбора (переключателя):

switch(выражение) {

case const_1: операторы; break;

case const_N: операторы; break;

default: операторы;

}

Вычисляется выражение и проверяется, совпадает ли его результат со значением одной из констант. При совпадении выполняются операторы этого case. Значениями const_1,…, const_N могут быть только целые или символьные константы. Конструкция default выполняется, если результат выражения не совпал ни с одной из констант, и может отсутствовать. Оператор break выполняет досрочный выход из switch (после выполнения ветви case все остальные будут опущены). Если оператор break в case не записан, то будут выполняться операторы следующих ветвей case до появления оператора break, либо до завершения оператора switch.

Например:

switсh(i) {

case 1: f=pow(x,2); break;

case 2: f=fabs(x); break;

case 3: f=sqrt(x); break;

default: printf(“Ошибка!”); exit(1);

}

f=f+5;

2.2. Создание оконного приложения

При создании оконного приложения для организации разветвлений используются компоненты в виде кнопок-переключателей. Состояние такой кнопки (включено/выключено) визуально отражается на форме. На форме (рис. 2.1) представлены кнопки-переключатели двух типов TCheckBox и TRadioGroup.

Компонента CheckBox создает кнопку независимого переключателя, с помощью которой Пользователь может указать свое решение типа да/нет. В программе состояние кнопки связано со значением булевой переменной, которая проверяется с помощью оператора if.

Компонента Radiogroup создает группу кнопок – зависимых переключателей. При нажатии одной из кнопок группы все остальные кнопки отключаются. В программу передается номер включенной кнопки (0,1,2,…), который анализируется с помощью оператора switсh.

В языке C++ используются переменные типа bool, которые могут принимать только два значения – true и false (истина – 1, ложь – 0).

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 13 14