Програмування розгалужених алгоритмів

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

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

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

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

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

Національний технічний університет України «Київський політехнічний інститут імені Ігоря Сікорського» Теплоенергетичний факультет Кафедра автоматизації проектування енергетичних процесів і систем ЗВІТ з лабораторної роботи № 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:05-

Коментарі

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

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

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

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

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

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

Admin

26.02.2023 12:38

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