Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПрактикумСиПрограм_1-3лаб16студ.doc
Скачиваний:
3
Добавлен:
01.07.2025
Размер:
367 Кб
Скачать
☆

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

  1. Изучить теоретические сведения по теме.

  1. Построить схему алгоритма для решения задач в соответствии с вариантом, выданным преподавателем, для каждого задания.

  1. Подготовить текст программы и набрать его в окне редактирования.

  1. Откомпилировать программу и исправить синтаксические ошибки.

  1. Выполнить программу для реальных (нескольких) исходных данных

  1. Результаты и записать в тетрадь.

  1. Оформить отчет по текущей лабораторной работе, в который включить:

- номер работы (лабораторная работа № 1);

- тему работы;

- условия задач;

- схемы алгоритмов;

- тексты программ;

- результаты выполнения программ, выводы.

  1. Защитить лабораторную работу.

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

Основы программирования в среде языка си. Оператор присваивания

Оператор присваивания имеет вид <идентификатор> = <выражение>;

Пример: int x = 1;

В арифметических выражениях могут использоваться операции (приложение Б) и математические функции из библиотек <stdlib.h> и <math.h> [7].

Наиболее часто применяются функции библиотеки <math.h>:

double sin(double x) – sin x; double exp(double x) – ех ;

double cos(double x) – cos x; double log(double x) – ln х;

double tan(double x) – tg x; double log10(double x) – lg х;

double fabs(double x) – |x|; long labs(long x) – |x| для целого x;

double sqrt(double x) – ; double pow(double x, double y) – xy;

double sinh(double x) – sh x; double cosh(double x) – сh x;

double tanh(double x) – th x; double atan(double x) – arctan х;

double acos(double x) – arccos x; double asin(double x) – arcsin x;

double ceil(double x) ­– ближайшее целое, не меньшее, чем х;

double floor(double x) – ближайшее целое, не превышающее х;

double fmod(double x, double y) – остаток от деления нацело x на y;

double modf(double x, double *ptr) – расчленение числа с плавающей точкой на целую и дробную части. Дробная часть возвращается функцией. Целая часть записывается в область памяти, на которую указывает ptr.(

Приоритет операций в выражении

Ранг

Операции

Ассоциативность

1

( ) [ ] -> :: .

→ (слева – направо)

2

! ~ + - ++ -- & *

← (справа - налево)

3

.* ->*

→

4

* / %

→

5

+ -

→

6

<< >>

→

7

< <= >= >

→

8

== !=

→

9

&

→

10

^

→

11

|

→

12

&&

→

13

| |

→

14

?:

←

15

= *= /= %= += -= &= ^ = |= <<= >>=

←

16

,

→

Таблица типов данных С/С++ приведена в приложении В.

Пример 1. Вычислить площадь прямоугольника по длинам его сторон А и В. Обозначим площадь переменной S, необходимо найти S=A*B.

Программа набирается в окне редактора С++ и компилируется

Сначала подключаются библиотеки

#include <stdio.h> // для ввода/вывода

#include <conio.h> // для функций работы с экраном

void main () // Заголовок главной программы

{

int A=2, B=3, S; // объявление переменных целого типа

S=A*B ; // оператор «выражение»

printf ("\n Площадь прямоугольника = %d\n", S); // вывод

getch(); // вызов функции задержки работы до нажатия любой клавиши

}

В результате выполнения программы на экран выводится сообщение: Площадь прямоугольника = 6.

П ример 2. Найти площадь равностороннего треугольника. Если сто­роны треугольника имеют размер А, то его площадь S = A2 sin(π/3)/2. Схема алгоритма (СА) для этой задачи (рис.1) выполнена по ГОСТ 19.701-90 (прил. Г [2]).

Текст программы:

#include <math.h>

#include <stdio.h>

#include <conio.h>

#define PI 3.1413 //директива постановки

void main()

{

float A,S; //объявление переменных плавающего типа

printf ( " Введите А");

scanf ("%f",&A); // ввод

S=A*A*sin(PI/3)/2;

printf (" Результат : S=%6.2f для A=%f\n", S, A);

getch(); // из библиотеки <conio.h>

}

После выполнения программы на экран выводится:

Результат: S = 10.8 для А = 5.

Предварительно рассчитанный при подготовке к лабораторной работе на калькуляторе результат для А = 5 составил S = 10.8253, что подтверждает верность программы.

Задание 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

-

Окончание задания 1

№

x1

x2

a

b

c

Вычислить

14

1

2

0.5

3.1

-

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) прошло к этому моменту.

  1. Определить площадь трапеции с основаниями а, 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