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

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

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

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

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

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

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

Коментарі

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

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

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

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

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

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

Admin

26.02.2023 12:38

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