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

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

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

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

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

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

Національний технічний університет України «Київський політехнічний інститут імені Ігоря Сікорського» Теплоенергетичний факультет Кафедра автоматизації проектування енергетичних процесів і систем ЗВІТ з лабораторної роботи № 2 з дисципліни «Програмування алгоритмічних структур» Тема «Програмування розгалужених алгоритмів» Варіант 21 Мета роботи: набуття практичних навичок використання умовного оператора if та оператора вибору switch при створюванні програмних проектів розгалуженої структури. Завдання на лабораторну роботу: 1.Розробити блок-схеми алгоритмів і написати програми мовою Java із застосуванням умовного оператора if та оператора вибору switch для розв’язання завдань, поданих в табл.1–4 відповідно до індивідуального варіанта. Варіант обрати за списком групи. 2.Розробити програмні проекти в середовищі Intellij IDEA для реалізації написаних програм. Перевірити результати обчислень альтернативними розрахунками 3. Зробити Звіт з лабораторної роботи та вчасно надіслати викладачу на перевірку. Завдання 1: Завдання 2: / Завдання 3: / Завдання 4: / Короткий опис виконання завдань Завдання 1: Для виконання завдання було створено клас Lr21 У методі main я ввела змінні x, s, r та k, після цього створила метод task1, де проводила розрахунки математичних формул. Я використала умовний оператор if…else для реалізації розгалуженого алгоритму, а також математичні методи. Результатом виконання завдання є те, що метод task1 повертає обраховане значення y. Завдання 2: У створеному раніше класі Lr21 я ввела нові змінні типу double та створила метод task2. У цьому методі було виконано розгалужений алгоритм. Для його реалізації знову ж таки було використано умовний оператор if…else, а за допомогою бібліотеки java.lang.Math були застосовані різні математичні методи. В результаті метод повертає значення у, що залежить від значеннь заданих змінних. Завдання 3: Для виконання цього завдання було створено клас Lr22. Для отримання можливості вводити значення з клавіатури було оголошено клас java.util.Scanner. Після цього я створила метод task3. За допомогю умовного оператора if…else перевірялося чи перше число є більшим за друге і третє; якщо ні – чи друге число більше за перше і третє. Таким чином в результаті виводиться відповідь, яке число є найбільшим. Завдання 4: Завдання було виконане у класі Lr22, значення змінним я задала в методі main, а також створила метод task4, у якому зробила масив s dbrjhbcnfkf цикл for. З використанням умовного оператора if…else визначалося яким є задане число: додатнім чи від’ємним. Якщо додатнім, число підноситься до квадрату за допомогою відповідного математичного методу, якщо від’ємним – залишається без змін. Такі операції проводяться з усіма змінними, а кінцеві значення виводяться у методі main. Блок-схема до завдання 4 Код класу Lr21 package com.company; import static java.lang.Math.*; public class Lr21 { public static void main(String[] args) { double x1=-2.3 ,x2=0.6 ,x3=4.8; System.out.println("Task 1"); System.out.printf("x1 = %.4f ", x1); System.out.printf("x2 = %.4f ", x2); System.out.printf("x3 = %.4f \n", x3); System.out.printf("y1 = %.4f ",Lr21.task1(x1)); System.out.printf("y2 = %.4f ",Lr21.task1(x2)); System.out.printf("y3 = %.4f \n",Lr21.task1(x3)); double a1=0.8 ,b1=2.4 ,f1=pow(E,1.5*a1*x1) ; double a2=1.2 ,b2=4.2 ,f2=pow(E,2*a2*x2); double a3=3.4 ,b3=8.1 ,f3=pow(E,3*a3*x3); System.out.println("Task 2"); System.out.printf("x1 = %.4f, a1 = %.4f, b1 = %.4f, f1 = %.4f \n", x1, a1, b1, f1); System.out.printf("x2 = %.4f, a2 = %.4f, b2 = %.4f, f2 = %.4f \n", x2, a2, b2, f2); System.out.printf("x3 = %.4f, a3 = %.4f, b3 = %.4f, f3 = %.4f \n", x3, a3, b3, f3); System.out.printf("y1 = %.4f \n",Lr21.task2(x1,a1,b1,f1)); System.out.printf("y2 = %.4f \n",Lr21.task2(x2,a2,b2,f2)); System.out.printf("y3 = %.4f \n",Lr21.task2(x3,a3,b3,f3)); } static double task1(double x) { double y; double s=0.15 , r=10 ,k=0.7; if (cos(x) == cos(r*s)) { y = pow(x,2)*pow(E,2*k)+log(abs(r*x)); } else if (cos(x) > cos(r*s)) { y = cbrt(x*x) + sqrt(abs(k+r*s*x)); } else { y = atan(k*x+r*s); } return y; } static double task2(double x, double a, double b, double f) { double y; if (x <= a) { y = exp(a*x) + f * pow(cos(b*x), 5); } else if(x > a && x <= pow(b,2)) { y = a + pow(cos(b * x),2) - log(f * x); } else { y = pow(cos(a + b * f * x),2); } return y; } } Код класу Lr22 package com.company; import static java.lang.Math.*; import java.util.Scanner; public class Lr22 { public static void main(String[] args) { System.out.println("Task 3"); Scanner scan = new Scanner(System.in); System.out.println("Уведіть три числа, які потрібно порівняти:"); double num1 = scan.nextDouble(); double num2 = scan.nextDouble(); double num3 = scan.nextDouble(); System.out.printf("num1 = %.4f \n", num1); System.out.printf("num2 = %.4f \n", num2); System.out.printf("num3 = %.4f \n", num3); System.out.printf("Найбільше число: %.4f \n", Lr22.task3(num1,num2,num3)); System.out.println("Task 4"); double a11 = 0; double a12 = 1.5; double a13 = -31.1; double a21 = 2; double a22 = -1.56; double a23 = 2.55; double a31 = -1.9; double a32 = 2.9; double a33 = -2.9; System.out.printf("a1 = %.4f ", a11); System.out.printf("b1 = %.4f ", a12); System.out.printf("c1 = %.4f \n", a13); Lr22.task4(a11,a12,a13); System.out.println(); System.out.printf("a2 = %.4f ", a21); System.out.printf("b2 = %.4f ", a22); System.out.printf("c2 = %.4f \n", a23); Lr22.task4(a21,a22,a23); System.out.println(); System.out.printf("a3 = %.4f ", a31); System.out.printf("b3 = %.4f ", a32); System.out.printf("c3 = %.4f \n", a33); Lr22.task4(a31,a32,a33); } static double task3( double a, double b, double c) { if(a >= b && a >= c) { return a; } else if(b >= a && b >= c) { return b; } else { return c; } } static void task4(double a, double b, double c) { double[] arr = {a,b,c}; for (int i=0; i<arr.length; i++) { if(arr[i] > 0) { arr[i] = pow(arr[i],2); } } for (int i = 0; i<arr.length; i++) { System.out.printf("%.4f ", arr[i]); } } } Результати / / Висновки В результаті виконання роботи я написала 4 алгоритми із застосуванням умовного оператора if…else відповідно до свого індивідуального варіанту. Крім цього, я знайомилася з невідомими мені раніше математичними методами та операторами розгалуження, а також створила блок схему для 4-го завдання.
Антиботан аватар за замовчуванням

22.05.2023 11:05-

Коментарі

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

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

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

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

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

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

Admin

26.02.2023 12:38

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