Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Marchenko_N_M_Programmirovanie_na_yazyke_SS-1.pdf
Скачиваний:
31
Добавлен:
20.02.2016
Размер:
1.16 Mб
Скачать

Пример 6. Вычислить выражение z x 10sin x cos(x y).

#include <iostream.h> #include<math.h> void main()

{ float x,y,z; cout<<"x=";cin>>x;

cout<<"y=";cin>>y; z=x-pow(10,sin(x))+cos(x-y);

cout<<"z="<<z<<endl;}

11.ЗАДАНИЯ ДЛЯ САМОСТОЯТЕЛЬНОГО ВЫПОЛНЕНИЯ

1.Написать программу, которая выводит на экран ваше имя и фамилию. Программу написать в двух вариантах: вывод реализовать средствами языков С и С++.

2.Написать программу вывода значений целых переменных a, b, c . Значения каждой переменной должно быть выведено в отдельной строке. Использовать средства ввода/вывода языка С.

3.Написать программу вывода значений целых переменных a, b, c. Значения каждой переменной должно быть выведено в отдельной строке. Использовать средства ввода/вывода языка С++.

4.Написать программу вывода значений целых переменных a, b, c. Значения переменных должны быть выведены в одной строке. Использовать средства ввода/вывода языка С.

5.Написать программу вывода значений целых переменных a, b, c. Значения переменных должны быть выведены в одной строке. Использовать средства ввода/вывода языка С++.

6.Написать программу, которая обеспечивает ввод значений дробных переменных (типа float) u и r. Предполагается, что пользователь будет набирать числа в одной строке.

7.Вычислить площадь прямоугольника S a b , где a и b – стороны прямоугольника, численные значения которых должны задаваться с клавиатуры. Объявить переменные: 1) a и b – целые числа, 2) a и b – вещественные числа. Использовать средства ввода/вывода языка С.

8.Вычислить площадь прямоугольника S a b , где a и b – стороны прямоугольника, численные значения которых должны задаваться с клавиатуры. Объявить переменные: 1) a и b – целые числа, 2) a и b – вещественные числа. Использовать средства

ввода/вывода языка С++.

S r2 . Число π принять равным 3.14159.

9. Вычислить площадь круга

Значение радиуса круга r задавать с клавиатуры.

10.Посчитать стоимость покупки, состоящей из нескольких тетрадей, карандашей и линейки. Использовать средства ввода/вывода языка С.

11.Посчитать стоимость покупки, состоящей из нескольких тетрадей, карандашей и линейки. Использовать средства ввода/вывода языка С++.

12.Вычислите среднее арифметическое трех переменных x1, x2, x3. Использовать средства ввода/вывода языка С.

13.Вычислите среднее арифметическое трех переменных x1, x2, x3. Использовать

средства ввода/вывода языка С++.

 

S 2 r(h r)

14.

Вычислите

площадь

поверхности

V r2

h . Использовать средства ввода/вывода языка С.

15.

Вычислите

площадь

поверхности

S 2 r(h r)

иобъема цилиндра

иобъема цилиндра

13

Vr2 h . Использовать средства ввода/вывода языка С++.

16.Вычислить сопротивление электрической цепи по известным значениям напряжения и силы тока. Использовать средства ввода/вывода языков С и С++.

17.Вычислить сопротивление электрической цепи, состоящей из двух параллельно

соединенных резисторов: r r1 r2 . Использовать средства ввода/вывода языков С и С++.

r1 r2

18. Вычислить площадь кольца, внутренний радиус которого равен r , а внешний – R. Использовать средства ввода/вывода языков С и С++.

19. Вычислите значения функции y 2,7x2 0,23x 1,4. Численные

значения x задавать с клавиатуры.

20. Вычислить значение выражения по формуле:

y b b2 4ac a3c b 2 .

2a

21. Вычислить значение выражения по формуле:

ysin x 1 sin x 1 .

22.Вычислить значение выражения по формуле:

y ex x 2 (1 x)x .

23. Вычислить значение выражения по формуле:

ln | cos x | y ln(1 x2 ) .

24. Вычислить значение выражения по формуле:

ycos2 sin 1 .

x

25.Вычислить значение выражения по формуле:

 

1

x

 

2

 

z 1

 

 

 

12x

 

y .

x

2

 

 

 

 

 

 

 

26. Вычислить значение выражения по формуле:

14

zsin x cos y tgx( y 1) . cos x sin y

27. Вычислить значение выражения по формуле:

y x 10sin x | x4 x5 | .

28. Вычислить значение выражения по формуле:

z 3x 4x y | x | .

29. Вычислить значение выражения по формуле:

z

 

1 sin2 (x y)

 

x.

 

 

 

 

 

 

 

2 x

 

 

2x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1 x2 y2

 

 

 

 

 

 

 

 

 

 

30. Вычислить значение выражения по формуле:

 

 

 

 

 

z

 

3 e y 1

 

 

 

.

 

 

 

 

 

 

 

 

 

1 x2

 

 

y tgx

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

31. Вычислить значение выражения по формуле:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

z ln

y

 

 

 

 

 

y

 

.

x

 

x

 

 

 

 

 

 

 

x2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

32. Вычислить значение выражения по формуле:

z 1 tgx ctgx cos(x y).

15

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

ПРОГРАММЫ НА ЯЗЫКЕ С/С++ СО СТРУКТУРАМИ ВЕТВЛЕНИЯ И ЦИКЛА

1. ЦЕЛЬ РАБОТЫ

Целью работы является приобретение навыков составления программ с использованием операторов ветвления if и switch и операторов цикла for, do while и while.

2. ОПЕРАТОРЫ ВЕТВЛЕНИЯ

2.1. Условный оператор if

Условный оператор if используется для разветвления процесса вычислений на два направления. Формат оператора:

if ( выражение ) оператор _1; [else оператор _2;]

Сначала вычисляется выражение, которое может иметь арифметический тип или тип указателя. Если оно не равно нулю (имеет значение true), выполняется первый оператор, иначе второй. После этого управление передается на оператор, следующий за условным (рис. 1, а).

Одна из ветвей может отсутствовать, логичнее опускать вторую ветвь вместе с ключевым словом else (рис. 1, б). Если в какой-либо ветви требуется выполнить несколько операторов, их необходимо заключить в блок, иначе компилятор не сможет понять, где заканчивается ветвление. Блок может содержать любые операторы, в том числе описания и другие условные операторы, (но не может состоять из одних описаний). Необходимо указывать, что переменная, описанная в блоке, вне блока не существует.

true

 

 

false

 

false

 

 

Выражение

 

 

Выражение

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

true

Оператор 1

 

 

Оператор 2

 

Оператор

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

а)

б)

Рис. 1. Структурная схема условного оператора

Итак, приступая к решению задач данного раздела, следует помнить, что:

оператор if используется для выбора одного из двух направлений дальнейшего хода программы;

выбор последовательности выполнения осуществляется в зависимости от значения условия – заключенного в скобки выражения, записанного после if;

инструкция, записанная после else, выполняется в том случае, если значение

16

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

если при соблюдении или несоблюдении условия надо выполнить несколько инструкций программы, то эти инструкции следует объединить в группу – заключить в фигурные скобки;

при помощи вложенных одна в другую нескольких инструкций if можно реализовать множественный выбор.

Пример 1. Присвоить переменной b единицу, если a<b. В противном случае значения a и b остаются неизменными.

false

a<b

true

b = 1

Рис. 2. Структурная схема алгоритма к примеру 1

В примере 1 отсутствует ветвь else (рис. 2). Подобная конструкция называется «пропуск оператора», поскольку присваивание либо выполняется, либо пропускается в зависимости от выполнения условия.

Программа к примеру 1 на языке С: #include <stdio.h>

void main()

{int a,b;

printf ("\na=");scanf ("%d", &a); printf ("\nb=");scanf ("%d", &b);

if (a<b) b=1;

printf ("a=%d\n",a); printf ("b=%d\n",b);}

Программа к примеру 1 на языке С++:

#include <iostream.h> void main()

{int a,b; cout<<"a=";cin>>a; cout<<"b="; cin>>b;

if (a<b) b=1; cout<<"a="<<a<<"\n"; cout<<"b="<<b<<"\n";}

17

Пример 2. Найти наименьшее значение из трех переменных a, b, c

a < b

false

 

 

 

 

 

 

 

 

true

 

 

 

 

 

 

 

 

 

 

 

 

false

 

 

 

 

 

 

 

 

a < c

 

 

 

 

 

b < c

false

 

 

 

 

 

true

 

 

 

 

 

 

true

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

m = a

 

 

m = c

 

m = b

 

 

 

m = c

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 3. Структурная схема алгоритма к примеру 2

Оператор в примере 2 вычисляет наименьшее значение из трех переменных. Фигурные скобки в данном случае не обязательны, т.к. компилятор относит часть else к ближайшему if.

Программа к примеру 2 на языке С:

#include <stdio.h> void main()

{int a, b, c, m;

printf ("\na="); scanf ("%d", &a); printf ("\nb="); scanf ("%d", &b); printf ("\nc="); scanf ("%d", &c);

if (a<b)

{if (a<c) m=a; else m=c;} else {if (b<c) m=b; else m=c;} printf ("m=%d\n", m);}

Программа к примеру 2 на языке С++:

#include <iostream.h> void main()

{int a, b, c, m; cout<<"a=";cin>>a;

cout<<"b=";cin>>b;

cout<<"c=";cin>>c; if (a<b)

{if (a<c) m=a; else m=c;} else {if (b<c) m=b; else m=c;} cout<<"m="<<m<<endl;}

18

2.2. Оператор switch

Оператор switch (переключатель) предназначен для разветвления процесса вычислений на несколько направлений. Структурная схема оператора приведена на рис. 4. Формат оператора:

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

case константное_ выражение_1: [ список_ операторов_1] case константное_ выражение_2: [ список_ операторов_2]

case константное_ выражение_n: [ список_ операторов_n] [default : операторы]}

switch

 

 

case 1

 

 

 

 

Выражение

 

Операторы 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

case 2

 

 

 

 

Операторы 2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

case n

 

 

Операторы n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

default

 

 

 

 

Операторы

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 4. Структурная схема оператора switch

Выполнение оператора начинается с вычисления выражения (оно должно быть целочисленным), а затем управление передается первому оператору из списка, помеченного константным выражением, значение которого совпало с вычисленным. После этого, если

выход из переключателя явно не указан, последовательно выполняются все остальные

ветви.

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

Все константные выражения должны иметь разные значения, но быть одного и того же целочисленного типа. Несколько меток могут следовать подряд. Если совпадения не произошло, выполняются операторы, расположенные после слова default (а при его отсутствии управление передается следующему за switch оператору).

Итак, решая задачи этого раздела, следует помнить, что:

оператор switch предназначен для выбора одного из нескольких возможных направлений дальнейшего хода программы;

выбор последовательности выполнения осуществляется в зависимости от равенства значения переменной-селектора константе, указанной после слова case;

если значение переменной селектора не равно ни одной из констант, написанных после слова case, то выполняется инструкции, расположенные

19

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]