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

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

Національний технічний університет України «Київський політехнічний інститут імені Ігоря Сікорського» Теплоенергетичний факультет Кафедра автоматизації проектування енергетичних процесів і систем ЗВІТ з лабораторної роботи № 3 з дисципліни «Програмування алгоритмічних структур» Тема «Програмування циклічних алгоритмів» Варіант № 21 Мета роботи: набуття практичних навичок використання операторів циклів for, while, do while при створюванні програмних проектів циклічної структури. Завдання на лабораторну роботу. 1.Розробити блок-схеми алгоритмів і написати програми мовоюJava із застосуванням операторів циклів for, while, do while для розв’язання завдань ,поданих в табл.1–3 відповідно до індивідуального варіанта. Варіант обрати за списком групи. 2.Розробити програмні проекти в середовищі Intellij IDEA для реалізації написаних програм. Перевірити результати обчислень альтернативними розрахунками (наприклад,Excel, калькулятор, тощо). 3. Зробити Звіт з лабораторної роботи та вчасно надіслати викладачу на перевірку. Завдання для варіанту 21: Завдання 1 / Завдання 2 / *послідовність додатніх цілих чисел Завдання 3 / Короткий опис розв`язання завдань Усі завдання я виконувала у класі LR3. Cпочатку я створила метод main, де задала мінімальне та максимальне значення х, а також значення приросту h. Пізніше я передала їх в метод task1, в якому за допомогою циклу while обраховувалися значення y(x) та z(x). Разом вони утворювали таблицю, яка виводься за допомою System.out.printf. Для виконання другого завдання у методі main я ініалізувала два масиви, вивела їх, а також результат у вигляді виводу першого нульового елементу масиву. У методі main викликала метод task2, у якому використовуючи оператор циклу for було знайдено індекси перших елементів масивів, що дорівнюють 0. Для завдання 3 у методі main я зробила ініціалізацію змінних, додала клас Scanner для вводу значень х, та вивід результату. Далі я створила метод task3, у якому реалізувала обрахунок значеннь у в залежності від х за допомогою оператору циклу while, а факторіалу – використовуючи оператор for. Блок-схема для 3 завдання / Копія коду package com.company; import java.util.Scanner; import static java.lang.Math.*; import static java.lang.Math.pow; public class LR3 { public static void main(String[] args) { System.out.println("Task №1"); task1(0.5, 11, 0.3); System.out.println("\nTask №2"); int[] s1 = {3, 1, 12, 6, 9, 32, 65, 0, 52, 98, 87, 103}; //ініціалізація значень першого масиву System.out.printf("Перший початковий масив:"); //вивід початкового масиву для першого випадку for (int i = 0; i < s1.length; i++) System.out.printf(" %d", s1[i]); System.out.printf("\nІндекс першого нульового елементу для першого випадку: %d\n", task2(s1)); int[] s2 = {2, 0, 15, 52, 76, 87, 103, 65, 79, 123}; //ініціалізація значень другого масиву System.out.printf("Другий початковий масив:"); //вивід початкового масиву для другого випадку for (int i = 0; i < s2.length; i++) System.out.printf(" %d", s2[i]); System.out.printf("\nІндекс першого нульового елементу для другого випадку: %d\n", task2(s2)); double xtask3; Scanner sc = new Scanner(System.in); System.out.print("\nTask №3\n"); for (int i = 0; i < 2; i++) { System.out.printf("Введіть змінну x%d: ", i + 1); xtask3 = sc.nextDouble(); System.out.printf("При х%d = %.1f", (i + 1), xtask3); System.out.printf("\n y = %.4f\n", task3(xtask3)); } } static void task1(double xMin, double xMax, double h) { // вивід отриманих значень у вигляді таблиці System.out.printf("--------------------------\n"); System.out.printf("| x | y(x) | z(x) |\n"); System.out.printf("--------------------------\n"); double x = xMin; while (x < xMax + h) { double y = pow(sin(x), 2) * cos(x - PI), z = sin(x) / pow(x, 2); if (x < 10) { System.out.printf("| %.2f", x); } else { System.out.printf("|%.2f", x); } if (y < 0) { System.out.printf(" |%.4f", y); } else { System.out.printf(" | %.4f", y); } if (z < 0) { System.out.printf(" |%.4f |\n", z); } else { System.out.printf(" | %.4f |\n", z); } System.out.printf("--------------------------\n"); x += h; } } static int task2( int[] array){ int index = 0; for (int i = 0; i < array.length; i++) if (array[i] == 0) index = i + 1; return index; } public static double task3(double x) { double sum = 0; int i = 1; while (i <= 11) { double factorial = 1; for (int j = 1; j <= (2 * i - 1); j++) factorial = factorial * j; sum += (Math.pow(-1, i) * Math.pow(x, 3 * i)) / factorial; i++; } return sum; } } Результати програми Для Завдання 1 / / / / Для Завдання 2 / Для Завдання 3 / Перевірка розрахунків альтернативним шляхом для Завдання 3 При х = 0,6 / При х = 2,8 / Висновки Під час виконання роботи я написала три програми з використанням умовного оператору if та операторів циклу for і while, тож було закріплено навички їх застосування при створюванні програмних проектів циклічної структури. У результаті було реалізовано програму, що досліджує функцію на заданому проміжку х з заданим кроком та утворює таблицю значень; програму, що виводить індекс першого нульового елементу масиву цілих додатніх чисел; та програму, яка розраховує значення у за формулою алгебраїчної суми в залежності від значення х. Для останнього завдання перевірила значення альтернативним калькулятором і переконалася в тому, що відповіді збігаються.
Антиботан аватар за замовчуванням

22.05.2023 11:52

Коментарі

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

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

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

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

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

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

Admin

26.02.2023 12:38

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