Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lab_rob_C_01(10).doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
936 Кб
Скачать
☆

Приклад завдання 8.1:

Дано дійсні числа a, b, c, d, f, що ви- b

значають сторони та g, h, що визначають діа- a g

гоналі п’ятикутника (рис. 8.1). Визначити

функцію обчислення площі трикутника за c

його трьома сторонами та за допомогою неї h

обчислити загальну площу заданого

п’ятикутника. Розміри сторін та діагоналей f d

п’ятикутника ввести двома окремими рядка-

ми чисел через пробіл. Рисунок 8.1 – До завдання 8.1

Розв’язок:

/* 8.1 */

#include <stdio.h>

#include <math.h>

float Triangle(float x,float y,float z); main()

{

float a,b,c,d,f,g,h; printf("Sides a,b,c,d,f: ");

scanf("%f%f%f%f%f",&a,&b,&c,&d,&f); printf("Diagonals g,h: ");

scanf("%f%f",&g,&h);

printf("Area of the poligon=%f",

Triangle(a,b,g)+Triangle(g,c,h)+Triangle(h,d,f)); return 0;

}

float Triangle(float x,float y,float z)

{

float p; p=0.5*(x+y+z);

return sqrt(p*(p-x)*(p-y)*(p-z));

}

Результати роботи:

Завдання:

  1. Дано дійсні числа a, b і c. Визначити функцію

max( x, y)

знаходження бі-

льшого з двох чисел та обчислити

Групувати 81 b max 5 (a3 ,b) c2 c

Групувати 72 max(a c,b) .

  1. Дано натуральні числа a, b і c. Визначити функцію

НСД (x, y)

знахо-

дження найбільшого спільного дільника для двох довільних чисел та об-

числити

НСД 3 (a c,b2 ) НСД 2 (b,c) НСД (ab, ac) НСД (a b c,b2c) .

Рекомендовано застосування алгоритму Евкліда.

  1. На площині задано n точок з дійсними координатами (x1,y1), (x2,y2), … (xn,yn). З’ясувати, яка з них ближча до початку координат, визначивши відповідну функцію. Кожну пару координат точок ввести через пробіл.

  1. Дано дійсні числа a, b і c. Визначити функцію

min( x, y)

знаходження

меншого з двох чисел та знайти більше серед

min2 (ab, c3 ) .

min3 (a2 ,b c) та

  1. Простим називається число, що має тільки два дільники – саме число й одиницю. Дано натуральне число n та послідовність натуральних чисел a1, a2, …, an. Визначити функцію ідентифікації простого числа та за до- помогою неї знайти середнє арифметичне простих чисел – членів зада- ної послідовності.

  2. Дано три трикутника зі сторонами a1, b1, c1; a2, b2, c2 та a3, b3, c3. Визначи- ти функцію ідентифікації прямокутного трикутника та за допомогою неї обчислити загальну площу заданих прямокутних трикутників (якщо такі

є). Числа в кожному з наборів сторін трикутника ввести через пробіл.

  1. Дано натуральне число n та послідовність натуральних чисел a1, a2, …, an. Визначити функцію ідентифікації парного/непарного числа та за до- помогою неї з’ясувати, чи є парним числом сума непарних чисел – чле- нів заданої послідовності.

  2. Дано натуральні числа n і x та послідовність генерованих натуральних чисел a1, a2, …, an (ai=0…x). Визначити функцію обчислення суми цифр довільного натурального числа та за допомогою неї з’ясувати, який з членів генерованої послідовності має найбільшу таку суму.

  3. На площині задано три точки з дійсними координатами (x1,y1), (x2,y2), та (x3,y3). Знайти площу заданого зазначеними координатами трикутника, визначивши функцію розрахунку довжини його сторін. Кожну пару ко- ординат точок ввести через пробіл.

  4. На площині задано n точок з дійсними ненульовими координатами (x1,y1), (x2,y2), … (xn,yn). Знайти номери координатних чвертей розташу- вання зазначених точок, визначивши відповідну функцію. Кожну пару координат точок ввести через пробіл.

  5. Дано натуральні числа n і x та послідовність генерованих натуральних чисел a1, a2, …, an (ai=0…x). Визначити функцію обчислення кількості цифр довільного натурального числа та за допомогою неї з’ясувати,

  6. який з членів генерованої послідовності має найменшу таку кількість

.

  1. Дано цілі числа a, b і c (a<b<c). Визначити функцію

Sum(x, y)

знахо-

дження суми всіх цілих чисел від x до y включно та обчислити

Sum3 (a,b) 3Sum2 (b,2c) ab5 Sum(ab,bc)

Sum(a b,b2 c) .

  1. Дано дійсні числа a, b, c (a<b<c). Визначити функцію

Sum(x, y, h)

знахо-

дження суми всіх чисел від x до y включно з кроком h та обчислити

Групувати 38 ab3Sum5 (a,b, a b) 2c2 Sum3 (b,3c, a

4c) 3

Sum(ab,bc, a

(b c))

Групувати 36 .

abc

Sum(2b a,b2 c, a 3)

  1. Два натуральних числа називаються «дружніми», якщо кожне з них до- рівнює сумі дільників іншого за винятком самого числа. Дано натураль- ні числа a і b. Визначити функцію обчислення суми дільників довільного натурального числа та за допомогою неї з’ясувати, чи є задані числа дружніми. Приклади пар дружніх чисел: 220 і 284, 1184 і 1210, 2620 і

2924, 5020 і 5564, …

  1. Дано ненульове дійсне число x та n кругів, радіус яких задано послідов- ністю генерованих дійсних чисел a1, a2, …, an (0<ai≤x). Визначити функ- цію обчислення площі круга за заданим радіусом та за допомогою неї з’ясувати, який з заданих кругів займає найбільшу поверхню.

  2. Дано дійсні числа a і b. Знайти: a+b, a–b, a∙b та a/b, визначивши функцію

Calc(x, y,op)

для виконання відповідної операції op над двома довіль-

ними числами. Операції задати відповідними символьними константами.

  1. Дано натуральні числа n, k, m та послідовність натуральних чисел a1, a2,

…, an. Визначити функцію з’ясування кратності/некратності натураль-

них чисел та за допомогою неї порахувати кількість членів заданої пос-

лідовності, кратних k і некратних m.

  1. Дано генеровані ненульові натуральні числа a, b і c. Визначити функцію знаходження останньої цифри довільного натурального числа та за до- помогою неї обчислити добуток останніх цифр генерованих чисел.

  2. Дано ненульові натуральні числа a, b і c. Визначити функцію знахо- дження першої цифри довільного натурального числа та за допомогою неї обчислити суму перших цифр заданих чисел.

  1. Дано дійсне число a. Визначити функцію

MyExp(x, )

знаходження при-

близного значення

ex 1 x x2

2! x3

3! ...

з точністю та за допо-

могою неї обчислити значення ea

для

  10k

(k=1, 2, …, 5). Порівняти

отримані значення з результатом застосування відповідної бібліотечної

функції.

  1. Дано дійсне число a. Визначити функцію

MySin(x, )

знаходження

приблизного значення

sin(x) x x3

3! x5

5! ...

з точністю та за допо-

могою неї обчислити значення

sin(a)

для

10k

(k=1, 2, …, 5).

Порів няти отримані значення з результатом застосування відповідної бібліотечної функції.

  1. Дано дійсне число a. Визначити функцію

MyCos(x, )

знаходження

приблизного значення

cos(x) 1 x2

2! x4

4! ...

з точністю та за допо-

могою неї обчислити значення

cos(a)

для

10k

(k=1, 2, …, 5).

Порівняти отримані значення з результатом застосування відповідної бібліотечної функції.

  1. Дано дійсне число a. Визначити функцію

Arctg(x, k )

знаходження приб-

лизного значення

arctg(x) x x3

3 x5

5 ...

з урахуванням k перших

членів заданого ряду та за допомогою неї обчислити значення

arctg(a) .

Кількість значущих членів ряду ввести з клавіатури. Порівняти отримане значення з результатом застосування відповідної бібліотечної функції.

  1. Дано дійсне число a. Визначити функцію

Ln(x, k )

знаходження прибли-

зного значення

ln(1 x) x x2

2 x3

3 ...

з урахуванням k перших

членів заданого ряду та за допомогою неї обчислити значення

ln(a) . Кі-

лькість значущих членів ряду ввести з клавіатури. Порівняти отримане значення з результатом застосування відповідної бібліотечної функції.

  1. Дано ненульове дійсне число x, що задає радіус певного круга. Знайти площу даного круга, визначивши відповідну функцію, в якій число π об-

числюється за допомогою ряду Лейбніца:

π 4 1 1 3 1 5  ...

з зада-

ною точністю . Порівняти отримане значення з результатом застосу- вання відповідної бібліотечної символічної константи для π.

  1. Два трикутники задані своїми сторонами a, b, c. Обчислити площі трикутників за формулою Герона і визначити, який з трикутників має більшу площу.

  2. Два трикутники задані координатами своїх вершин a, b, c. Обчислити площі трикутників, не використовуючи формули Герона, і визначити, який з трикутників має більшу площу.

  3. Футболіст ударом ноги посилає м’яч вертикально вверх з висоти 1м з початковою швидкістю 20 м/с. На якій висоті буде м’яч через 1; 3; 4 с?

  4. Футболіст ударом ноги посилає м’яч вертикально вверх з висоти 1м з початковою швидкістю 20 м/с. Коли м’яч буде на висоті 5; 10 м?

  5. . Футболіст ударом ноги посилає м’яч вертикально вверх з висоти 1м з пoчатковою швидкістю 20 м/с. Визначити з точністю до 0,25с, коли і на якій максимальній висоті опиниться м’яч за 4 с?

  6. Дано дійсні числа S, T. Обчислити A = F(T,–2S,1,17)+F(2.2,T,S–T) де F(A,B,C) = (2A–B–sinC)/(5+C). Обчислення F оформити в виді функції.

  7. Дано дійсні числа S,T. Обчислити B = G(1,2,S)+G(T,S)–G(2S–1,ST), де G(A,B) = (A+B)/(A+2AB+3B+4). Обчислення G оформити в виді функції.

  8. Дано дійсні числа S, T. Обчислити F = H(1S,T)+MAX(H(S–T,ST)––H(1,1)), де H(A,B) = A/(1+B)+B/(1+A)–(A–B). Обчислення H оформити в виді функції.

Приклад 8.2. Обчислити за допомогою окремої функції значення виразів

, значення х та b ввести.

Розв’язок. Обчислити у функції три результуючі значення, одне з яких можна передати через оператор return, а решту – за посиланням. Крім того, слід зважити на порядок обчислення виразів: спочатку обчислити значення а, тоді z (яке залежіть від а) і лише згодом – значення y, яке залежіть від z.

Текст функції та основної програми:

#include <iostream>

#include <math.h>

using namespace std;

double f(double x, double b, double& a, double& z)

{

a=log10(fabs((x+b)/exp(b+0.1)));

z=sqrt(x*x+a);

return pow(atan(z),2);

}

int main()

{

setlocale(0,".1251");

double x, b, a, z;

cout <<" Введiть значення х= "; cin >> x ;

cout <<" Введiть значення b= "; cin >> b ;

cout<<" y= "<< f(x,b,a,z) <<endl;

cout<<" a= "<< a << endl <<" z= "<< z <<endl;

system ("pause>>void");

return 0;

}

При виконанні індивідуальних завдань використовувати для введення функцію scanf(), а для виведення printf()

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