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

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

Національний технічний університет України «Київський політехнічний інститут імені Ігоря Сікорського» Теплоенергетичний факультет Кафедра автоматизації проектування енергетичних процесів і систем ЗВІТ з лабораторної роботи № 2 з дисципліни «Програмування алгоритмічних структур» Тема «Програмування розгалужених алгоритмів» Варіант № 25 Завдання на лабораторну роботу. 1. Розробити блок-схеми алгоритмів і написати програми мовою Java із застосуванням умовного оператора if та оператора вибору switch для розв’язання завдань, поданих в табл. 1 – 4 відповідно до індивідуального варіанта. Варіант обрати за списком групи. 2. Розробити програмні проекти в середовищі Intellij IDEA для реалізації написаних програм. Перевірити результати обчислень альтернативними розрахунками (наприклад, Excel, калькулятор, тощо). 3. Зробити Звіт з лабораторної роботи та вчасно надіслати викладачу на перевірку. Так як варіант №25, виконуємо задачі під номером 7 Завдання №1 / Завдання №2 / Завдання №3 / Завдання №4 / Короткі описи рішення завдань: Опис вирішення завдання №1 Створено Java клас Lr21. В цьому класі розміщено методи main, task1,task2. Метод Main є головним і виконується першим, тому у ньому вводимо значення змінних, що будуть використані в інших методах. Task1 – це метод, для вирішення першого завдання. У ньому використаний умовний оператор if. Його функція – перевірити в якому діапазоні знаходиться Х. Далі, відповідно до цього значення обраховується функція. Задано три різні варіанти значення Х. Результат виводимо за допомогою System.out.printf в методі main. Щоб вивід дробового числа був з 4 цифрами після коми задаємо формат “%.4f”. Опис рішення завдання №2 Task2 як і Task1 повертає значення в залежності від значень змінних. У ньому використаний умовний оператор if. Його функція – перевірити в якому діапазоні знаходиться Х. Далі, відповідно до цього значення обраховується функція. Задано три різні набори чисел a,b,z. Результат виводимо за допомогою System.out.printf в методі main. Щоб вивід дробового числа був з 4 цифрами після коми задаємо формат “%.4f”. Опис вирішення завдання №3 Створено Java клас Lr22, в якому розміщено методи main, Task3, Task4. У Task3 приходять два значення типу double. Там використаний умовний оператор if. Його функція – перевірити в якому діапазоні знаходиться Х. Далі, відповідно до цього значення обраховується функція. Перевіряється, чи належить точка, задана користувачем, кривій. Метод виводить повідомлення щодо цього. Опис вирішення завдання №4 Створено метод Task4. У нього надходить три значення типу double. Метод нічого не повертає, тому озвучений як Void. Там використаний умовний оператор if. Він перевіряє чи відповідають змінні умові ділення націло на 3 без остачі. Ті значення, що підходять виводяться на екран. Блок-схема для завдання №4. / Копія коду на білому фоні Клас Lr21 package com.company; import static java.lang.Math.*; public class Lr21 { public static void main(String[] args) { double x1=-2.3; double x2=0.6; double x3=4.8; //завдання 1 double a = 0.3; double b = 1.7; double z = 2; System.out.println("Task 1"); System.out.println("x1= "+x1+" a= "+a+" b= "+b+" z= "+z); System.out.printf("y1=%.4f\n\n",Task1(x1,a,b,z));; System.out.println("x2= "+x2+" a= "+a+" b= "+b+" z= "+z); System.out.printf("y2=%.4f\n\n",Task1(x2,a,b,z)); System.out.println("x3= "+x3+" a= "+a+" b= "+b+" z= "+z); System.out.printf("y3=%.4f\n\n",Task1(x3,a,b,z)); //Завдання2 double a1 = 1.5; double b1 = 5.7; double z1 = Math.log(Math.abs(Math.tan(b1*x1))); double a2 = 3.7; double b2 = 8.4; double z2 = Math.log(Math.abs(Math.tan(b2*x2))); double a3 = 4.4; double b3 = 5.6; double z3 = Math.log(Math.abs(Math.tan(b3*x3))); System.out.println("Task 2"); System.out.println("x1= "+x1+" a= "+a1+" b= "+b1+" z= "+z); System.out.printf("y1=%.4f\n\n",Task1(x1,a1,b1,z1));; System.out.println("x2= "+x2+" a= "+a2+" b= "+b2+" z= "+z); System.out.printf("y2=%.4f\n\n",Task1(x2,a2,b2,z2)); System.out.println("x3= "+x3+" a= "+a3+" b= "+b3+" z= "+z); System.out.printf("y3=%.4f\n\n",Task1(x3,a3,b3,z3)); } public static double Task1(double x,double a,double b,double z){ double y=0; if (x <= a) { y = 3.5 * Math.sin(Math.pow(b * x + z, 3)) * Math.sin(Math.pow(b * x + z, 3)); } if (x > a && x <= Math.pow(b, 2.5)) { y = Math.log(a + Math.pow(b, 3) * x) + a; } if (x > Math.pow(b, 2.5)) { y = Math.cos(Math.pow(a, b) + x * z); } return y; } public static double Task2(double x,double a,double b,double z){ double y=0; if(x<a){ y=a+z*Math.pow(Math.cos(Math.pow(b*x,3)),2); } if(x>=a && x<=b){ y=a+Math.pow(Math.sin(Math.pow(b,2)),2); } if(x>b){ Math.cbrt(0.3*b+Math.sqrt(Math.abs(a-z*z-Math.cos(x)))); } return y; } Отримані результати / Клас Lr22 package com.company; import java.util.Scanner; public class Lr22 { public static void main(String[] args) { //Завдання3 Scanner scan=new Scanner(System.in); System.out.print("Введіть значення х1: "); double x1= scan.nextDouble(); System.out.print("Введіть значення у1: "); double y1= scan.nextDouble(); System.out.print("Введіть значення х2: "); double x2= scan.nextDouble(); System.out.print("Введіть значення у2: "); double y2= scan.nextDouble(); System.out.print("Введіть значення х3: "); double x3= scan.nextDouble(); System.out.print("Введіть значення у3: "); double y3= scan.nextDouble(); System.out.println("Task 3"); System.out.println("x1= "+x1+" y1= "+y1); System.out.printf("f1=%.4f\n\n",Task3(x1,y1)); System.out.println("x2= "+x2+" y2= "+y2); System.out.printf("f2=%.4f\n\n",Task3(x2,y2)); System.out.println("x3= "+x3+" y3= "+y3); System.out.printf("f3=%.4f\n\n",Task3(x3,y3)); //Завдання4 System.out.println("Task4"); System.out.print("При таких значеннях: "); System.out.println("a= 2 " + "b= 9 " + "c= 474 " ); System.out.println("Числа що діляться націло на 3"); Task4(2,9,474); System.out.print("При таких значеннях: "); System.out.println("a= 3 " + "b= 0 " + "c= 27 " ); System.out.println("Числа що діляться націло на 3"); Task4(3,0,27); System.out.print("При таких значеннях: "); System.out.println("a= 4 " + "b= 10 " + "c= 30 " ); System.out.println("Числа що діляться націло на 3"); Task4(4,10,30); } public static double Task3(double x, double y){ double f=0; if(Math.abs(x)>1){ f=Math.pow(Math.sin(x*x*x),2); } if(Math.abs(x)<=1){ f= Math.sqrt(6*Math.asin(Math.pow(x,7))+4.5*Math.pow(x,6)+4*x*x+2); } if(Math.abs(f-y)<0.001){ System.out.println("Належить кривій"); } if (Math.abs(f-y)>0.001){ System.out.println("Не належить кривій"); } return f; } public static void Task4(double a, double b, double c){ if(a%3==0) System.out.println(a); if(b%3==0) System.out.println(b); if(c%3==0) System.out.println(c); } } Отримані результати / Висновок: В процесі виконання лабораторної роботи, освоєно знання для використання умовних операторів, та розроблено за допомогою них розгалужені алгоритми. Побудовано блок-схему, що коротко і доступно описує процеси, що відбуваються при вирішенні завдання №4.
Антиботан аватар за замовчуванням

08.05.2023 18:04

Коментарі

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

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

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

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

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

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

Admin

26.02.2023 12:38

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