40049

Робота з функціями в мові С

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

Информатика, кибернетика и программирование

Программа прошла тестирование: в результате выполнения тестов программа выдала ожидаемые результаты. Программа – работоспособна.

Украинкский

2014-11-23

290.5 KB

1 чел.

PAGE 6

Лабораторна робота № 5

з дисципліни “Обчислювальна техніка та програмування”

Робота з функціями в мові С


Вариант 11

  1.  Задание №1

Описать подпрограмму SumDigit, находящую сумму цифр S целого числа N. Используя эту подпрограмму, найти суммы цифр данных чисел.

1.2  Алгоритм программы

1.3  Тестовые наборы

№ теста

Ввод числа

Ожидаемый результат

1

345

12

2

123

6

3

456

15

4

-789

24

1.4  Код программы

#include <stdio.h>

#include <locale.h>

#include <Windows.h>

#include <math.h>

void SumDigit (int);

int main()

{

setlocale (LC_CTYPE, "rus");

 int number;

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

 while (scanf("%i",&number) != 1)

{

 printf ("Ошибка! Введите корректные данные: ");

 fflush stdin;

}

SumDigit (number);

system ("pause");

 return 0;

}

void SumDigit (int number)

{

 int s;

s = 0;

 while (abs(number) > 0)

{

 s += abs(number)%(10);

 number = number / (10);

}

printf("Сумма цифр числа : %i\n", s);

}

1.5 Результат работы программы

№ теста

Ввод числа

Результат

Вывод

1

345

12

Тест пройден

2

123

6

Тест пройден

3

456

15

Тест пройден

4

-789

24

Тест пройден

    

1.6  Вывод о работоспособности программы

 Программа прошла тестирование: в результате выполнения тестов программа выдала ожидаемые результаты. Программа – работоспособна.

2.1  Задание №2

Описать функцию RingS(R1, R2) вещественного типа, находящую пло- щадь кольца, заключенного между двумя окружностями с общим центром и радиусами R1 и R2 (R1 и R2 — вещественные, R1 > R2). С ее помощью найти площади трех колец, для которых даны внешние и внутренние ра- диусы. Воспользоваться формулой площади круга радиуса R: S = π·R2. В качестве значения π использовать 3.14.

 2.2 Алгоритм программы

2.3  Тестовые наборы

№ теста

Ввод радиусов

Ожидаемый результат (площади)

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.4  Код программы

#include <stdio.h>

#include <locale.h>

#include <Windows.h>

#include <math.h>

#define pi 3.14

void RingS (float, float);

int main()

{

setlocale (LC_CTYPE, "rus");

 float R1, R2;

printf ("Введите R1 & R2: ");

scanf ("%f %f", &R1, &R2);

 while (R1 <= R2 || R1 <= 0 || R2 <= 0)

{

 fflush stdin;

 printf ("Ошибка! Введите корректные данные: ");

 scanf ("%f %f", &R1, &R2);

}

RingS (R1, R2);

system ("pause");

 return 0;

}

void RingS (float R1, float R2)

{

 float S1, S2, S3;

S1 = pi * pow(R1, 2);

S2 = pi * pow(R2, 2);

S3 = S1 - S2;

printf ("Площадь первого кольца: %.2f\n", S1);

printf ("Площадь второго кольца: %.2f\n", S2);

printf ("Площадь третьего кольца: %.2f\n", S3);

}

2.5 Результат работы программы

№ теста

Ввод радиусов

Результат (Площади)

Вывод

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.6  Вывод о работоспособности программы

Программа прошла тестирование: в результате выполнения тестов программа выдала ожидаемые результаты. Программа – работоспособна.


 

А также другие работы, которые могут Вас заинтересовать

67455. Составной оператор 247 KB
  В языке «C++» аналогичная конструкция называется БЛОК. В начале блока можно объявлять локальные переменные блока.
67456. Модифицированная функция Бесселя нулевого индекса 172 KB
  При решении сложных задач программирования эти задачи разбиваются на более простые подзадачи. Каждая из подзадач, в свою очередь, может быть разбита на еще более простые подзадачи, и т.д. Если задача в ходе такого последовательного разбиения свелась...
67457. Диапазон. Переменные типа «Диапазон» 130.5 KB
  Все типы переменных, изученные до сих пор – скалярные (простые) типы. Массив – вектор, матрица, Массив – упорядоченная совокупность данных одного типа. Массив – переменная с индексом (со списком индексов). Объявление одномерного массива...
67458. Инициализация массивов 123.5 KB
  Динамические массивы не имеют фиксированного размера. Память под массив выделяется, когда ему придается значение (!) или по отношению к нему применяется процедура SetLength.
67459. Условная компиляция 51 KB
  Не ставить коня на заблокированное поле при каждом ходе, кроме последнего (64-го). Заблокированным называется поле, на которое конь, казалось бы, может встать, но выйти из него не сможет, поскольку все возможные для последующего хода поля уже посещены.