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
Тип роботи:
Звіт до лабораторної роботи
Предмет:
Програмування

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

Національний технічний університет України «Київський політехнічний інститут імені Ігоря Сікорського» Теплоенергетичний факультет Кафедра автоматизації проектування енергетичних процесів і систем Звіт З лабораторної роботи №3 з дисципліни «Програмування циклічних алгоритмів» Тема «Програмування базових алгоритмів» Варіант № 25 Мета роботи: набуття практичних навичок використання операторів циклів for, while, do while при створюванні програмних проектів циклічної структури. Завдання на лабораторну роботу. 1.Розробити блок-схеми алгоритмів і написати програми мовою Java із застосуванням операторів циклів for, while, do while для розв’язання завдань, поданих в табл.1–3 відповідно до індивідуального варіанта. Варіант обрати за списком групи. 2.Розробити програмні проекти в середовищі IntellijIDEA для реалізації написаних програм. Перевірити результати обчислень альтернативними розрахунками(наприклад, Excel, калькулятор, тощо). 3. Зробити Звіт з лабораторної роботи та вчасно надіслати викладачу на перевірку Так як варіант №25, виконуємо задачі під номером 25 Завдання №1 / Завдання №2 / Завдання №3 / Короткі описи рішення завдань: Створено в Java клас Main . В цьому класі розміщено методи main, task1, ,task2, ,task3, task13. Метод Main є головним і виконується першим, тому у ньому викликаємо метод task1. Метод task1: Сюди передаються три значення: нижня межа перевірки, верхня межа перевірки і крок. Створені масиви, у які будуть записані значення функції в певній точці. Відбувається виконання функції і присвоєння значень масиву. Далі відбувається форматований вивід значень з вказаним кроком. Далі, у Main створюємо масив для завдання №2. Значення вводимо шляхом присвоєння. Викликаємо метод task2 Метод task2: У метод передаємо масив чисел, що задані присвоєнням. Далі іде перевірка чисел: якщо воно більше 0, то додається до суми, якщо менше нуля, то виводиться сума всіх попередніх. Далі, у Main виводимо початкові значення (масив чисел), за допомогою методу Arrays.toString() і результат обчислень. Далі, у методі Main даємо можливість користувачеві вибрати, що знайти з заданого числового ряду: суму чи добуток. Виводимо відповідний ряд при різних значення х, а3 саме, коли х=0,6 і х=2,8. Викликаємо метод task3 Метод task3: В цей метод передаємо вибір користувача і зміну х. Потім, за допомогою циклів for i while розраховуємо необхідні значення і повертаємо результат. (Зауваження: у методі використано метод task13, у якому рекурсивним способом обчислюється факторіал переданого числа). Блок-схема для завдання №3 / Копія коду на білому фоні package com.company; import java.util.Arrays; import java.util.Scanner; import static java.lang.Math.*; public class Main { public static void main(String[] args) { System.out.println("---------Завдання №1----------"); task1(4.5, 18.5, 0.4); // Завдання 2 int[] arr = {5, 47, 18, 25, 3, 54, -2, 0, 1, 12, 81}; int res = task2(arr); System.out.println("\n\n---------Завдання №2----------"); System.out.print("Вхідні дані (набір чисел) - "); System.out.println(Arrays.toString(arr)); System.out.printf("Результат обчислень: %d", res); // Завдання 3 System.out.println("\n\n---------Завдання №3----------"); System.out.println("Якщо ви бажаєте знайти суму ряду - натисніть 0, " + "якщо добуток - натисніть 1"); Scanner scan = new Scanner(System.in); int choice = scan.nextInt(); System.out.print("Числовий ряд при х = 0,6:"); for (int k = 1; k < 7; k++) { System.out.printf(" %.4f ", pow(-1, k) * pow(0.6, 4 * k + 1) / task31(2)); } double res1 = task3(choice, 0.6); System.out.printf("\nРезультат виконання завдання: %.4f \n", res1); System.out.println(); System.out.print("Числовий ряд при х = 2,8:"); for (int k = 1; k < 7; k++) { System.out.printf(" %.4f ", pow(-1, k) * pow(2.8, 4 * k + 1) / task31(2)); } double res2 = task3(choice, 2.8); System.out.printf("\nРезультат виконання завдання: %.4f \n", res2); } public static void task1 ( double lim1, double lim2, double step){ double number = (lim2 - lim1) / step + 1; double[] Y = new double[(int) number]; double[] Z = new double[(int) number]; double x = lim1; for (int i = 0; i < number; i++, x += step) { Y[i] = abs(cos(x / 3)); Z[i] = tan(sqrt(x)); System.out.printf("%2d. x = %.2f ", i + 1, x); System.out.printf("y(x) = %2.4f ", Y[i]); System.out.printf("z(x) = %2.4f ", Z[i]); System.out.println(); } } public static int task2 ( int[] array){ int result = 0; for (int i = 0; i < array.length; i++) { if (array[i] < 0) break; else result += array[i]; } return result; } public static double task3 ( int choice, double x){ double Y; int factorial = task31(2); double result = 1; if (choice == 0) { for (int k = 1; k < 7; k++) { Y = pow(-1, k) * pow(x, 4 * k + 1) / factorial; result += Y; } return (result - 1); } if (choice == 1) { int i = 0; while (i < 7) { Y = pow(-1, i) * pow(x, 4 * i + 1) / factorial; result *= Y; i++; } } return result; } public static int task31(int num){ if (num < 1) return 1; else { return (num * task31(num - 1)); } } } Отримані результати / / Висновок: В процесі виконання лабораторної роботи №3 набуто практичних навичок програмування циклічних алгоритмів, використання операторів циклів for, while, do while при створюванні програмних проектів циклічної структури. Побудовано блок-схему, що коротко і доступно описує процеси, що відбуваються при вирішенні завдання №3.
Антиботан аватар за замовчуванням

08.05.2023 18:05

Коментарі

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

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

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

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

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

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

Admin

26.02.2023 12:38

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