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

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

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

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

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

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

Національний технічний університет України «Київський політехнічний інститут імені Ігоря Сікорського» Теплоенергетичний факультет Кафедра автоматизації проектування енергетичних процесів і систем ЗВІТ з лабораторної роботи № 2 з дисципліни «Програмування алгоритмічних структур» Тема «Програмування розгалужених алгоритмів» Варіант № 3 / Завдання 1: / Завдання 2: / Завдання 3: / Завдання 4: / Короткий опис рішення кожного завдання: У першому завданні я створив новий клас Lr21, потім написав метод task1, який обчислює приклад в залежності від значення Х. Для цього я використав оператор if. Для другого завдання я в цьому же класі створив метод task2, який обчислює приклад в залежності від Х і варіацій інших змінних яких всого три. Щоб вибрати правильну варіацію я використав оператор switch. В кожному Case я присвоїв змінним свої значення, щоб при виклику цього метода кожен раз не вводити три значення змінним а вибрати один з варіантів в яких вже є значення змінних. Третє завдання я робив у новому класі Lr22 в якому зробив метод task3. За допомогою класа Scanner я присваїваю змінним значення з клавіатури. Даний метод порівнює три числа між собою і виводить з них середнє за значенням. Для 4 завдання створив метод task4, який говорить чи лежить точка всередині кола, якщо дан його радіус, координати даної точки і центр кола лежить в початку координат. Щоб знайти відстань від точки до центра кола скористаємось теоремою Піфагора, бо відрізок між точкою і центром це є гіпотенуза, а перпендикуляр опущений з точки на вісь і проекція гіпотенузи на ту ж вісь це є катети. Блок-схема до завдання 4: / Код програми Task1 і Task2 на білому фоні: import java.lang.Math; import java.util.Scanner; public class Lr21 { public static void main(String[] args) { double x1, x2, x3; x1 = -2.3; x2 = 0.6; x3 = 4.8; System.out.printf("\nTask1\nif x = -2,3 y = %1$.4f", task1(x1)); System.out.printf("\nif x = 0,6 y = %1$.4f", task1(x2)); System.out.printf("\nif x = 4,8 y = %1$.4f\n\n", task1(x3)); System.out.printf("Task2\n if x = -2,3 with first set of b, m, n y = %1$.4f", task2(x1, 1)); System.out.printf("\n with second set of b, m, n y = %1$.4f", task2(x1, 2)); System.out.printf("\n with third set of b, m, n y = %1$.4f", task2(x1, 3)); System.out.printf("\n\nif x = 0.6 with first set of b, m, n y = %1$.4f", task2(x2, 1)); System.out.printf("\n with second set of b, m, n y = %1$.4f", task2(x2, 2)); System.out.printf("\n with third set of b, m, n y = %1$.4f", task2(x2, 3)); System.out.printf("\n\nif x = 4.8 with first set of b, m, n y = %1$.4f", task2(x3, 1)); System.out.printf("\n with second set of b, m, n y = %1$.4f", task2(x3, 2)); System.out.printf("\n with third set of b, m, n y = %1$.4f", task2(x3, 3)); } public static double task1(double x) { double a, b, z; a = 0.1; b = 3.25; z = Math.pow(Math.cos(x), 2); if (x < 0) return (a + z) * Math.pow(Math.cos((b * x) + Math.pow(x, 3)), 2); else if (a <= x && x <= b) return a * Math.log(z * x) + Math.pow(Math.sin(Math.pow(b, 2)), 2); return Math.pow(0.3 * b + Math.sqrt(Math.abs(a - Math.pow(z, 2))) , 1/3); } public static double task2(double x, int numb) { double b, m, n; switch (numb) { case 1: b = -1.6; m = 0.9; n = -1.4; break; case 2: b = 4.5; m = -2; n = 2.2; break; case 3: b = -4.5; m = 0.5; n = -1.5; break; default: b = 0; m = 0; n = 0; } if (Math.abs(b * m) > Math.pow(x, 2)) return Math.sin(b * m + Math.cos(n * x)); else if (Math.abs(b * m) < Math.pow(x, 2)) return Math.cos(b * m - Math.sin(x)); return Math.sqrt(Math.pow(Math.E, Math.abs(Math.cos(x))) + Math.sqrt(Math.abs(b * m * x))); } } Код програми Task3 і Task4 на білому фоні: import java.util.Scanner; import java.lang.Math; public class Lr22 { public static void main(String[] args) { double a, b, c, x1, x2, x3, y1, y2, y3, R1, R2, R3; x1 = 3; y1 = -7; R1 = 5; x2 = 12; y2 = 11; R2 = 16; x3 = -9; y3 = 6; R3 = 11; Scanner scan = new Scanner(System.in); System.out.print("task3"); for (int i = 0; i < 3; i++) { System.out.print("\na = "); a = scan.nextDouble(); System.out.print("b = "); b = scan.nextDouble(); System.out.print("c = "); c = scan.nextDouble(); System.out.printf("Середнє значення серед цих є %1$.4f\n", task3(a, b, c)); } System.out.printf("\n\ntask4\n1):\n x = 3\n y = -7\n R = 5 \n %1s", task4(x1, y1, R1)); System.out.printf("\n\n2):\n x = 12\n y = 11\n R = 16 \n %1s", task4(x2, y2, R2)); System.out.printf("\n\n3):\n x = -9\n y = 6\n R = 11 \n %1s", task4(x3, y3, R3)); } public static double task3(double a, double b, double c) { if ((a <= b && b <= c) | (c <= b && b <= a)) return b; else if ((b <= c && c <= a) | (a <= c && c <= b)) return c; return a; } public static String task4(double x, double y, double R) { if (Math.sqrt(Math.pow(x, 2) + Math.pow(y, 2)) <= R) return "Точка лежить всередині кола"; return "Точка не лежить всередині кола"; } Результати: / / / Висновок: Я написав 4 програми мовою java використавши оператори if і switch, для розв'язання завдань поданих в табл 1-4 відповідно до індивідуального варіанту. набув практичних навичок при створенні проектів розгалуженої структури. Створив блок-схему до 4 завдання. Зробив звіт з лабораторної роботи і майже вчасно надіслав викладачу на перевірку.
Антиботан аватар за замовчуванням

06.05.2023 11:05-

Коментарі

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

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

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

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

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

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

Admin

26.02.2023 12:38

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