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

Задание 1 (программа 1_1)

x1

x2

a

b

c

Вычислить

1

2

3

4

5

6

7

1

1

2

1.5

2

-0.7

2

1

2

0.7

-

2.1

3

0

2

2

1.2

1

4

1

2

4.1

-2.3

-

5

-1

1

0.5

2

1.5

6

2

4

0.5

1.3

-

7

0

2

0.5

1

-

8

-1

1

2.7

1.7

-

9

0

π/2

2

0.7

0.5

10

1

0

0.5

2.9

1.5

11

1

2

1.5

-1.2

-

12

1

2

0.5

1.7

2

13

-1

1

0.5

1.2

-

14

1

2

0.5

3.1

-

1

2

3

4

5

6

7

15

1

2

0.5

3.2

-

16

0

1

1

2

4

17

0

1

1

3

-

18

-1

2

1

2

-

19

1

2

2

3

1

20

-1

1

2

π/6

0,5

Задание 2 (программа 1_2)

  1. Идет k секунда суток. Определить, сколько целых часов (h) и целых минут (m) и секунд (s) прошло к этому моменту.

  2. Определить площадь трапеции с основаниями а, b, высотой h и объем усеченного конуса, если считать а, b - площадями оснований.

3. Определить координаты центра тяжести трех материальных точек с массами m1,m2,m3 и координатами (x1,y1), (x2,y2), (x3,y3).

4. Вычислить по заданному радиусу R объем шара и площадь круга, найти соотношение между ними.

5. Вычислить медианы треугольника по заданным сторонам a, b, c.

6. Вычислить площадь поверхности и объем конуса по заданным радиусам и высоте h.

7. По заданному радиусу найти объем шара и площадь поверхности.

8. Вычислить, какая идет секунда суток при положении стрелок в h часов, m минут и s секунд, а также угол (в градусах) между положением часовой стрелки в начале суток и ее положением в указанный момент.

9. Ввести двузначное целое число х<15. Написать программу перевода его в восьмеричную систему счисления.

10. Ввести координаты двух точек (х1, y1), (x2,y2). Найти расстояние между ними.

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

Программирование разветвленных алгоритмов. Операторы передачи управления

Структура условного оператора передачи управления:

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

(Если) (иначе) - ключевые слова,

где <условие> - это произвольное выражение логического типа, которое может принимать два значения: истина (TRUE) и ложь (FALSE);

<оператор> - любой оператор языка СИ, заканчивается точкой с запятой.

Сокращенная форма условного оператора:

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

Оператор безусловного перехода: goto <идентификатор-метка>;

Меткой является идентификатор. Метка размещается перед оператором С/С++, к которому выполняется переход и отделяется двоеточием (:).

Пример 1. Составить программу для начисления базовой зарплаты согласно следующему правилу: если стаж работы сотрудника менее трех лет, то зарплата равна 100$, при стаже работы от трех до 5 лет - 150$, свыше 5 лет зарплата повышается с каждым годом на 10$, причем при стаже, превышающем 20 лет, она составляет 300$.

Для программирования решения этой задачи определим математичес­кую формулировку задачи:

100, если ST < 3;

ZP= 150, если 3 ≤ST  5;

150+ (ST -5)*10, если 5 < ST≤ 20;

300, если ST > 20;

где ZP - зарплата, ST - стаж работы. Далее построим СА (рис.2,а), ей соответствует следующая программа:

#include <stdio.h>

#include <conio.h>

void main ()

{ int ST; //ST- стаж (байтовый (целый) тип беззнаковый)

float ZP; //ZP- зарплата (плавающий тип)

printf ("\n Введите стаж ");

scanf ("%d",&ST);

if (ST<3) ZP = 100;

else if (ST<5) ZP = 150;

else if (ST>=20) ZP=300;

else ZP=150+(ST- 5)*10;

printf ("\n Зарплата = %10.2f$\n",ZP);

getch();

}

Оператор выбора switch позволяет в зависимости от значения ка­кой-либо переменной или выражения (ключа выбора) выполнить те или иные операторы, помеченные соответствующими константами.

Структура оператора:

switch (<выражение> )

{

case <константа 1>: <группа операторов 1>;

case <константа 2>: <группа операторов 2>;

. . .

case <константа N>: <группа операторов N>

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

}

где <выражение> -выражение (переменная) любого порядкового типа;

<константа> - константа того же типа, что и <выражение>;

<оператор> - произвольный оператор C/C++.

Пример 2.Напечатать в зависимости от числа углов название фигуры (треугольник, четырехугольник, пятиугольник, шестиугольник, многоугольник).

Вариант реализации задачи с применением оператора выбора представлен СА (рис.2,б) и следующей программой:

#include <stdio.h>

#include <conio.h>

void main ()

{

int T; // T – число углов

clrscr(); // очистка экрана

printf ("Введите число углов ");

scanf ("%d",&T);

switch (T)

{

case 1: case 2 : printf ("Это не фигура\n "); break;

case 3: printf ("С %d углами - треугольник\n ", T); break;

case 4: printf ("С %d углами - четырехугольник\n ", T); break;

case 5 : printf ("С %d углами - пятиугольник\n ", T ); break;

case 6: printf ("С %d углами - шестиугольник\n ", T ); break;

default : printf ("С %d углами - многоугольник\n ", T );

}

getch();

}

Задание 1 (программа 2_1)

Вычислить значение функции в зависимости от интервала, в который попадает вводимый с клавиатуры аргумент:

1. Дляt[0,3], a t2 ln t при 1,

где a=-0.5,b=2 z = 1 при t<1,

e a t cos b t при t>2,

2. Для x[0,4], при x2,

где а=2.3 f = х при 0.3< x  2,

cos(x-a) при x,

3.Для x[0,7], (a+b)/(ex+cosx) при 0  x2.3,

где a=-2.7,b=-0.27 z = (a+b)/(x+1) при 2.3 x5,

ex+sinx при 7,

4.Для i[7,12], a i4 + b i при i< 10,

где a=2.2,b=0.3. y = tg(i + 0.5) при i = 10,

e2i + при i >10,

5. Дляx[0.9,5], x2 - 7/x2 при x<1.3,

где a=1.5 y = ax3 + 7 при 1.3  x3,

lg(x + 7) при x,

6. Дляt[-1.4], при t<0.1,

где a=2.1,b=0.37. z = at + b при 0.1 t 2,

при t,

7. Для x [0,6], a esin x +2.5 при x<0.3,

где a=1.5. y = ecos x + a при 0.3 x<4,

(sin x)/ (a + ex) при x  4,

8. Для x[1,2], y = a/x + b x2 - c при x,

где a=1.8,b=-0.5, c=3.5 (a + bx)/при x>1.2,

9.Для t[1,5], t при t>a,

где a=2.5 z = t sin a t при t=a,

e-at cos a t при t<a,

10. Для x[0,4], e-bx sin b x при x<2.3,

где a=1,b=3. y= сos bx при 2.3,

e-ax cos b x при x

11.Для t[0.5,3], a t2 – b при t<a,

где a=1.3,b=6.5 z= a - b при a

a t2/3 - при t>b,

12. Для x[0,2], |e-2x sin bx| при x >1,

где b=-2.9 y = cos bx при x = 1,

e-x cos bx при x < 1,

13. Для x[0.5,2] sin (cos a x)при x >1,

где a=-0.8 z = tg ax при x = 1,

a2 x при x < 1,

14. Для x[1,2], ln bx - 1/(bx+1) при x < 1.3,

где b=1.3. y = bx + 1 при 1.3  x  1.7,

ln bx +1/(bx+1) при x > 1.7,

15. Для x[-1,1], ax2+bx2/3 при x<0.1,

где a=2.5,b=-0.9. z= a x2 при x=0.1,

b x2/3 при x>0.1.

16. Ввести координаты точки (x, y). Напечатать, в каком квадранте или на какой оси координат находится эта точка.

17. Ввести радиусы R1, R2 и высоту. Вычислить объем усеченного конуса: , гдеS- площадь оснований. Если R1 = R2 - объем и площадь цилиндра, если R1 = 0 или R2 = 0 - объем (hπr2) и площадь πr() поверхности конуса.

18. Ввести с клавиатуры цифру. Определить, какой системе счисления она может принадлежать.

19. Ввести число. Определить, делится ли оно нацело на два, три или пять.

20. Ввести a, b, h. Если h=0, вычислить площадь прямоугольника; при a = b, найти площадь квадрата; в противном случае подсчитать площадь трапеции.

Задание 2 (программа 2_2)

1. Определить остаток от деления на восемь введенного числа х и написать восьмиричную цифру прописью.

2. По цифре, введенной с клавиатуры, напечатать название этой цифры.

3. С клавиатуры ввести число k (1..30). Определить, какому дню недели оно соответствует, если первое число - понедельник.

4. Ввести число и номер месяца. Напечатать дату прописью.

5. Идет k секунда суток. Вычислить, сколько прошло часов и полных минут к этому моменту, при этом согласовать со значением слова (час, часа, часов, минута, минуты, минут).

6. В зависимости от номера (N) типа фигуры, организовать ввод необходимых данных и вычислить при N = 1 - площадь круга, N = 2 - объем шара (4/3πR3), N=3 -объем цилиндра, N = 4 - площадь поверхности сферы 4πr2.

7. Ввести число N (0 ≤ N ≤ 15). Определить и напечатать шестнадцатеричную цифру, ему соответствующую.

8. Для целого числа К (1…99) напечатать фразу « Мне К лет », при определенных значениях К слово «лет» заменить словом «год» или «года».

9. В зависимости от номера (N) типа фигуры, организовать ввод необходимых данных и вычислить при N = 1 - площадь прямоугольника, при N=2 - площадь параллелограмма, при N = 3 - площадь трапеции 1/2(a+b)h. В последнем случае напечатать: является ли трапеция параллелограммом или ромбом.

10. Перевести число 0 ≤ х ≤ 31 в шестнадцатеричную систему счисления.

11. Напечатать прописью остаток от деления любого целого числа на пять.

12. По введенному номеру напечатать нужный цвет в радуге.

13. Спроектируйте программу, которая показывает, что, если сумма цифр двузначного числа кратна трем, то и само число делится на три без остатка.

14. Разработайте программу, которая доказывает, что квадрат двузначного числа k5 (последняя цифра - 5), равен k * (k + 1) * 100 + 25 (т.е. может быть получен умножением старшей цифры k на следующую по порядку и припиской «25»). Например, 35 * 11 = 3*4*100 + 25.

Для задания 2 номер варианта определяется остатком от деления индивидуалного варианта на число 12.

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

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