Работа с функциями на языке С
МІНІСТЕРСТВО
ОСВІТИ І НАУКИ, молоді та спорту УКРАЇНИ
Національний
аерокосмічний університет ім. М.Є. Жуковського
“Харківський
авіаційний інститут”
Кафедра
комп’ютерних систем та мереж
Лабораторна
робота № 5
з дисципліни
“Обчислювальна техніка та програмування”
Робота з
функціями в мові С
Виконав студент гр. 516
Момот О.
Перевірив Дужа В. В.
1. Задание №1
Описать подпрограмму SumDigit, находящую сумму цифр S
целого числа N. Используя эту подпрограмму, найти суммы цифр данных чисел.
.1 Алгоритм программы
.2 Тестовые наборы
№ теста
|
Ввод числа
|
Ожидаемый результат
|
1
|
345
|
12
|
2
|
123
|
6
|
3
|
456
|
15
|
4
|
-789
|
24
|
1.3 Код программы
#include <stdio.h>
#include <locale.h>
#include <Windows.h>
#include <math.h>SumDigit
(int);main()
{(LC_CTYPE,
"rus");number;("Введите число:
");(scanf("%i",&number) != 1)
{("Ошибка! Введите корректные
данные: ");
fflush stdin;
}(number);("pause");0;
}SumDigit (int
number)
{s;= 0;(abs(number)
> 0)
{+= abs(number)%(10);=
number / (10);
}("Сумма цифр числа :
%i\n", s);
}
.4 Результат работы программы
программа сумма цифра вещественный
№ теста
|
Ввод числа
|
Результат
|
Вывод
|
1
|
345
|
12
|
Тест пройден
|
2
|
123
|
6
|
Тест пройден
|
3
|
456
|
15
|
Тест пройден
|
4
|
-789
|
24
|
Тест пройден
|
.5 Вывод о работоспособности
программы
Программа прошла тестирование: в результате выполнения
тестов программа выдала ожидаемые результаты. Программа - работоспособна.
2. Задание №2
Описать функцию RingS (R1, R2) вещественного типа,
находящую площадь кольца, заключенного между двумя окружностями с общим центром
и радиусами R1 и R2 (R1 и R2 - вещественные, R1 > R2). С ее помощью найти
площади трех колец, для которых даны внешние и внутренние радиусы.
Воспользоваться формулой площади круга радиуса R: S = π·R2. В качестве значения π использовать 3.14.
.1 Алгоритм программы
№ теста
|
Ввод радиусов
|
Ожидаемый результат
(площади)
|
1
|
12.3 11.4
|
475.05 408.07 66.98
|
2
|
10.5 9.2
|
346.18 265.77 80.42
|
3
|
1.2 0.5
|
4.52 0.79 3.74
|
4
|
0.4 4.7
|
Ошибка!
|
2.3 Код программы
#include <stdio.h>
#include <locale.h>
#include <Windows.h>
#include <math.h>
#define pi 3.14
void RingS (float,
float);main()
{(LC_CTYPE, "rus");R1,
R2;("Введите R1 & R2: ");("%f %f", &R1,
&R2);(R1 <= R2 || R1 <= 0 || R2 <= 0)
{stdin;("Ошибка! Введите
корректные данные: ");
scanf ("%f
%f", &R1, &R2);
}(R1,
R2);("pause");0;
}RingS (float R1,
float R2)
{S1, S2, S3;= pi *
pow(R1, 2);= pi * pow(R2, 2);= S1 - S2;
printf ("Площадь первого кольца:
%.2f\n", S1);("Площадь второго кольца: %.2f\n",
S2);("Площадь третьего кольца: %.2f\n", S3);
}
.4 Результат работы программы
№ теста
|
Ввод радиусов
|
Результат (Площади)
|
Вывод
|
1
|
12.3 11.4
|
475.05 408.07 66.98
|
Тест пройден
|
2
|
10.5 9.2
|
346.18 265.77 80.42
|
Тест пройден
|
3
|
1.2 0.5
|
4.52 0.79 3.74
|
Тест пройден
|
4
|
0.4 4.7
|
Ошибка!
|
Тест пройден
|
2.5 Вывод о работоспособности программы
Программа прошла тестирование: в результате выполнения
тестов программа выдала ожидаемые результаты. Программа - работоспособна.