DevioLab CRYPTO TRADING AUTOMATION
LIVE
AUTOMATED CRYPTO TRADING • BINANCE
Автоматизуйте свій криптопортфель
Торгові боти DevioLab аналізують крипторинок, автоматично відкривають і закривають позиції та керують вашим портфелем на Binance 24/7.
CRYPTO 80 Bots
BINANCE Spot Trading
TRADING 24 / 7
Спробувати DevioLab
deviolab.com

Рекурсивний виклик функції

Інформація про навчальний заклад

ВУЗ:
Національний технічний університет України Київський політехнічний інститут
Інститут:
Не вказано
Факультет:
Не вказано
Кафедра:
Не вказано

Інформація про роботу

Рік:
2023
Тип роботи:
Звіт до лабораторної роботи
Предмет:
Алгоритмізація та програмування

Частина тексту файла (без зображень, графіків і формул):

Національний технічний університет України  «Київський політехнічний інститут імені Ігоря Сікорського» Алгоритмізація та програмування 1: Базові концепції програмування ЗВІТ до лабораторної роботи № 5 «Рекурсивний виклик функції» Варіант 7 Дата «24» листопада 2021 Завдання: 1. Ознайомитись з рекурсивним викликом функції. 2. Розробити алгоритмом розрахунку значення функції за її розкладенням у ряд за умови отримання результату з заданою  точністю. Врахувати діапазон дозволених значень для змінної x. 3. У якості індивідуального завдання необхідно написати програмний код, що реалізує алгоритм розрахунку значень функцій за їх розкладенням в ряд із заданою користувачем точністю. / Короткий опис рішення На початку програми створено функцію для обчислення факторіалу. Далі у методі main реалізовано введення значень функції з клавіатури. Нижче градуси переводяться у радіани. Далі створюються змінні x1, y1 та q1, вони обчислюються за допомогою бібліотечних формул косинуса та синуса( косинуси та синуси вставляються в формули, що зазначені у завданні). Нижче створено цикл, який обраховує значення косинуса та синуса за допомогою їх формули розкладу в ряд. Точність обрахунку залежить від того, наскільки велике значення N. / Далі створюються змінні x2, y2 та q2, вони вже обраховуються використовуючи нові значення косинуса та синуса. Далі створено змінні, які обраховують різницю між двома значеннями x, y, q. Нижче реалізовано вивід результатів програми. У випадку, якщо введене значення градусів не відповідає необхідним умовам, програма видає відповідне повідомлення. Блок-схема / / Результати роботи / / Висновки: було створено програму, яка обчислює значення геометричної фігури кардіоїди. Це було реалізовано двома шляхами: завдяки бібліотечним значенням косинуса та синуса, а також обрахувавши значення цих тригонометричних функцій завдяки формулам розкладення в ряд. Код програми: https://replit.com/join/ajqisgqqch-vladsosiedskii #include <stdio.h> #include <math.h> #define M_PI 3.14159265358979323846 double factorial(double n){ if(n <= 1.0){ return 1.0; } else{ return (n*factorial(n-1)); } } int main(void) { double fi, a, N, x2 = 0, y2 = 0, q2 = 0, cosr=0, sinr=0; printf("Введіть значення градусів: "); scanf("%lf", &fi); if(fi<=360 && fi>=0){ printf("Введіть значення коефіцієнту a: "); scanf("%lf", &a); printf("Введіть значення N(від нього залежить точність обчислення функції): "); scanf("%lf", &N); double r = (fi/180)*M_PI; printf("У радіанах: %lf\n", r); double x1 = a*cos(r)*(1+cos(r)); double y1 = a*sin(r)*(1+cos(r)); double q1 = a*(1+cos(r)); for(int k = 0; k < N; k++){ cosr = cosr + (pow(-1,k) * (pow(r, 2 * k)/factorial(2 * k))); sinr = sinr + (pow(-1, k)*(pow(r, 2 * k + 1)/(factorial(2 * k + 1)))); } x2=a*cosr*(1+cosr); y2=a*sinr*(1+cosr); q2=a*(1+cosr); double ex = x2 - x1; double ey = y2 - y1; double eq = q2 - q1; printf("\n\nx1 = %.15lf\tx2 = %.15lf\ny1 = %.15lf\ty2 = %.15lf\nq1 = %.15lf\tq2 = %.15lf\n", x1,x2,y1,y2,q1,q2); printf("\nex = %.15lf\ney = %.15lf\neq = %.15lf", ex,ey,eq); } else{ printf("Значення градусів повинно бути більше 0 та менше 360"); } return 0; }
Антиботан аватар за замовчуванням

29.05.2023 19:00

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!