МІНІСТЕРСТВО ОСВІТИ І НАУКИ, молоді та спорту УКРАЇНИ
Національний АЕРОКОСМІЧНИЙ університет ім. М.Є. Жуковського
Харківський авіаційний інститут
Кафедра комп ютерних систем та мереж
Лабораторна робота № 5
з дисципліни Обчислювальна техніка та програмування
Робота з функціямі в мові С
Виконаю студент гр. 516
Момот О.
Перевірів Дужа В. В.
1. Завдання №1
Описати підпрограму SumDigit, що знаходить суму цифр S цілого числа N. Використовуючи цю підпрограму, знайти суми цифр даних чисел.
.1 Алгоритм програми
.2 Тестові набори
№ тестаВвод чіслаОжідаемий результат134512212363456154-78924
1.3 Код програми
# include lt; stdio.h gt;
# include lt; locale.h gt;
# include lt; Windows.h gt;
# include lt; math.h gt; SumDigit (int); main ()
{(LC_CTYPE, rus ); number; ( Введіть число: ); (scanf (% i , amp; number)!=1)
{( Помилка! Введіть коректні дані: );
fflush stdin;
} (number); ( pause ); 0;
} SumDigit (int number)
{s;=0; (abs (number) gt; 0)
{+=abs (number)% (10);=number/(10);
} ( Сума цифр числа:% i n raquo ;, s);
}
.4 Результат роботи програми
програма сума цифра речовинний
№ тестаВвод чіслаРезультатВивод134512Тест пройден21236Тест пройден345615Тест пройден4-78924Тест пройдений
.5 Висновок про працездатності програми
Програма пройшла тестування: в результаті виконання тестів програма видала очікувані результати. Програма - працездатна.
2. Завдання №2
Описати функцію RingS (R1, R2) дійсного типу, що знаходить площа кільця, укладеного між двома колами з загальним центром і радіусами R1 і R2 (R1 і R2 - речові, R1 gt; R2). З її допомогою знайти площі трьох кілець, для яких дані зовнішні і внутрішні радіуси. Скористатися формулою площі круга радіуса R: S =? · R2. Як значення? використовувати 3.14.
.1 Алгоритм програми
.2 Тестові набори
№ тестаВвод радіусовОжідаемий результат (площі) 112.3 11.4475.05 408.07 66.98210.5 9.2346.18 265.77 80.4231.2 0.54.52 0.79 3.7440.4 4.7Ошібка!
2.3 Код програми
# include lt; stdio.h gt;
# include lt; locale.h gt;
# include lt; Windows.h gt;
# include lt; math.h gt;
# define pi 3.14
void RingS (float, float); main ()
{(LC_CTYPE, rus ); R1, R2; ( Введіть R1 amp; R2: ); (% f% f raquo ;, amp; R1, amp; R2); (R1 lt;=R2 || R1 lt;=0 || R2 lt;=0)
{stdin; ( Помилка! Введіть коректні дані: );
scanf (% f% f raquo ;, amp; R1, amp; 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 raquo ;, S1); ( Площа другого кільця:% .2f n raquo ;, S2); ( Площа третього кільця: % .2f n raquo ;, S3);
}
.4 Результат роботи програми
№ тестаВвод радіусовРезультат (Площі) Вивод112.3 11.4475.05 408.07 66.98Тест пройден210.5 9.2346.18 265.77 80.42Тест пройден31.2 0.54.52 0.79 3.74Тест пройден40.4 4.7Ошібка! Тест пройдено
2.5 Висновок про працездатності програми
Програма пройшла тестування: в результаті виконання тестів програма видала очікувані результати. Програма - працездатна.