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 з дисципліни «Програмування алгоритмічних структур» Тема «Програмування розгалужених алгоритмів» Варіант № 18 Київ – 2021 Завдання на лабораторну роботу. 1. Розробити блок-схеми алгоритмів і написати програми мовою Java із застосуванням операторів циклів for, while, do while для розв’язання завдань, поданих в табл. 1 –3 відповіднодо індивідуального варіанта. Варіант обрати за списком групи. 2. Розробити програмні проекти в середовищі Intellij IDEA для реалізації написаних програм. Перевірити результати обчислень альтернативними розрахунками(наприклад, Excel, калькулятор, тощо). 3. Зробити Звіт з лабораторної роботи та вчасно :^( надіслати викладачу на перевірку. Опис завдання табл. 1 для варіанта 18: Опис завдання табл. 2: Опис завдання табл. 3: Опис розв’язку завдання табл. 1: Метод task1(double xmin, double xmax, double h) виводить на екран таблицю із “іксами” від xmin до xmax включно, функцію y за цими аргументами та функцію z. Цикл проходить по цим аргументам за кроком h, підставляя їх у функції. При виведенні округлює до .4 після коми Опис розв’язку завдання табл. 2: Метод task2(double[] seq) повертає масив із трьома числами, перші два з них — це ті два числа, між якими найменша “відстань”, а третє — їх різниця. За допомогою циклу перевіряється кожна можлива різниця у вхідному масиві, та допоміжна змінна minDiff зберігає найменше знайдене значення Опис розв’язку завдання табл. 4: Метод task3(double x) повертає суму виразу. У циклі проходить по кожному з доданків, змінюючи при цьому змінну i. Всередині циклу є допоміжний цикл для вирахування факторіалів. Блок-схема до розв’язку завдання табл. 4: Код програми: public class Main { public static void main(String[] args) { double xmin = 0.5; double xmax = 4; double h = 0.1; task1(xmin, xmax, h); double[] seq = new double[10]; double element = 1.6; System.out.print("Sequence: "); for (int i = 0; i < seq.length; i++) { seq[i] = element; System.out.printf("%.4f; ", element); element += Math.random() * (10.5 - 2.1 + 1) + 2.1; } System.out.println(); double[] task2Result = task2(seq); System.out.printf("Task2 result is: %.4f - %.4f = %.4f\n\n", task2Result[0], task2Result[1], task2Result[2]); element = 3.1; System.out.print("Sequence: "); for (int i = 0; i < seq.length; i++) { seq[i] = element; System.out.printf("%.4f; ", element); element += Math.random() * (10.5 - 2.1 + 1) + 2.1; } System.out.println(); task2Result = task2(seq); System.out.printf("Task2 result is: %.4f - %.4f = %.4f\n\n", task2Result[0], task2Result[1], task2Result[2]); double x1 = 0.6, x2 = 2.8; System.out.printf("Task3 for x = %.1f: %.4f\n", x1, task3(x1)); System.out.printf("Task3 for x = %.1f: %.4f", x2, task3(x2)); } static void task1(double xmin, double xmax, double h) { double y, z; System.out.println("_______________________"); System.out.println("| x | y(x) | z(x) |"); for (double x = xmin; x <= xmax; x += h) { y = Math.pow(x / 3, 2.); z = Math.cos(x + Math.PI / 3) + 1.8; System.out.printf("|%.1f| %.4f | %.4f |\n", x, y, z); } System.out.println("_______________________\n"); } static double[] task2(double[] seq) { double minDiff = 0; double result1 = 0, result2 = 0; for (int i = 0; i < seq.length; i++) { for (int j = i + 1; j < seq.length; j++) { if (Math.abs(seq[i] - seq[j]) < minDiff || (i == 0 && j == 1)) { result1 = seq[i]; result2 = seq[j]; minDiff = Math.abs(seq[i] - seq[j]); } } } return new double[] {result1, result2, minDiff}; } static double task3(double x) { double i = 1; double imax = 6; double factorial; double sum = 0; for (; i <= imax; i++) { factorial = 1; int j = 1; while(j < i) j++; factorial *= j; sum += Math.tan(Math.pow(x - Math.PI, 2.)) / factorial; } return sum; } } Результати рішення програми Висновок Я написав мовою Java 3 алгоритми із застосуванням циклів for та while для розв’язання завдань, поданих в табл. 1-3 відповідно до індивідуального варіанта 18. Розробив програмні проекти в середовищі Intellij IDEA для реалізації написаних програм. Перевірив результати обчислень альтернативними розрахунками. Ознайомився із операторами циклів та новими математичними алгоритмами. Разробив блок схему 3-го завдання. Особливих труднощів незустрів. Зробив звіт з лабораторної роботи та надіслав викладачу на перевірку.
Антиботан аватар за замовчуванням

11.06.2023 19:00

Коментарі

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

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

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

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

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

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

Admin

26.02.2023 12:38

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