Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
а и п СИ.doc
Скачиваний:
57
Добавлен:
07.06.2015
Размер:
2.32 Mб
Скачать

Задание к лабораторной работе

Составьте программу для вычисления функции b=f(x,y,z), где z=(x,y). Вид функции и исходные данные приведены в таблице 1.

Таблица 1

Вар.

f(x,y,z)

(x,y)

x

y

1

e|x-y|(tg2z)x

-4,52

0,75

2

2,87

0,84

3

1,82

18,25

4

5,34

3,85

5

-2,75

-1,42

6

1,54

-3,26

7

1,82

18,23

8

-0,85

1,25

9

0,12

-8,75

10

1,58

3,42

11

0,42

-0,87

12

-15,24

4,67

13

6,55

-2,78

14

0,84

0,65

15

1,12

0,87

16

0,27

4,38

17

6,35

7,32

18

0,42

1,23

19

4,32

-0,54

20

0,83

2,38

21

-0,93

-0,25

22

3,25

4,12

23

-0,72

-1,42

24

3,98

-1,63

25

2sin(x+y)

3,91

-0,51

26

-0,62

5,54

27

-4,58

2,32

28

-3,44

5,28

29

5,48

2,25

Лабораторная работа №6 Разветвляющийся вычислительный процесс с различными логическими условиями: оператор if... Else, условная операция (?:).

Цель работы: Изучить реализацию в языке ветвящихся вычислительных процессов . Научиться писать программы, используя операторы: ветвления if...else, переключения switch в паре с оператором break, оператор перехода goto, тернарную условную операцию (?:).

Теоретические сведения

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

Оператор ifelse (если…иначе)

Формат оператора ifelse приведен ниже:

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

[else <оператор2>]

Действия оператора зависят от значения выражения. Реализация различных возможностей выполняется следующими способами. Если <выражение> в скобках не равно (“Истинно”), то будет выполнятся <оператор1>. В противном случае, если указанное <выражение> равно (“Ложно”), то будет выполняться <оператор2> в блоке else, если он присутствует.

В теле оператора if может находиться один или более операторов. Если должны выполняться два или более операторов, их необходимо заключить в операторные скобки: "{" и "}". <Выражение> представляет собой запись логического условия или условий. Например: 1) if(i<=j)...; 2) if(size= =a)...; 3) if(t>10 && v<3) ..; 4) if(a){…}else{…}; 5) if(!a){…}else{…}.

В первом случае <выражение> истинно, если значение переменной i будет меньше или равно значению переменной j; во втором случае условие будет истинно, если значения переменных size и a будут равны; в третьем выражении истина будет соблюдаться, когда переменная t будет больше десяти “И” (&&) переменная v будет меньше трех. В четвертом случае первый блок будет выполняться при а не равном , в противном случае выполняется блок после else. В пятом выполняются действия, обратные, указанные в четвертом варианте. Вместо переменных можно использовать выражения, которые будут непосредственно вычисляться, например: if ( (i+2)/3 < 4*j )...выделение. Основные операции, которые ставятся между сравниваемыми величинами, следующие :

= = - знак "равно" (Не путать с присваиванием "="(!));

! = - знак "не равно";

< - знак "меньше";

<= - знак "меньше или равно";

> - знак "больше";

> = - знак "больше или равно".

Основные логические операции, которые ставятся между сравниваемыми выражениями (если их два как в примере 3 или более), следующие :

! - операция "НЕ". Пример: if ( !(num % 2) )... // истина -если num нечетно.

&& - операция "И". Пример 3 (см. выше).

|| - операция "ИЛИ". Пример: if ( i+n*2<l || i%2=0)...

Детально логические операции будут рассмотрены в следующей лабораторной работе. Ниже приведен фрагмент программы, который выполняет следующие действия: запрашивает на ввод три числа и выдает в результате сравнения наименьшее из них. Оператор ifelse допускает возможность вложенности при ветвлении, что обеспечивает гибкость реализации логики и компактность записи операторов.

Пример

...

printf("Ввести три числа через пробел: ");

scanf(" %d%d%d ", &a, &b, &c);

if (a<=b && a<=c) printf("\ nНаименьшее:%d", a);

else

if (b<=a && b<=c) printf("\ nНаименьшее: %d", b);

else printf("\ nНаименьшее:%d", c);

...

Соседние файлы в предмете Алгоритмизация и программирование