DevioLabавтоматичне керування капіталом
ПРАЦЮЄ 24/7
КРИПТОВАЛЮТИ · АКЦІЇ · 10 БІРЖ

Портфель, який керується автоматично

DevioLab підбирає стратегії, відстежує ринки та автоматизує купівлю і продаж активів. Кількість доступних криптовалют, акцій і торгових можливостей зростає щодня.

10підключених біржCrypto + Stocksв одному портфелі24/7автоматичний контроль

Звіт з лабораторної роботи №3 з дисципліни «Програмування циклічних алгоритмів»

Оригінальна назва роботи

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

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

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

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

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

Про що ця робота

У звіті наведено розробку програмних проектів для реалізації циклічних алгоритмів мовою Java. Описано виконання трьох завдань з використанням операторів циклу for, while та рекурсивних функцій.

У роботі розглядаються

  • Програмування мовою Java
  • Циклічні алгоритми
  • Оператори for та while
  • Рекурсивні функції
  • Блок-схеми алгоритмів
  • Числові ряди

Зміст і розділи

  1. Мета роботи
  2. Завдання на лабораторну роботу
  3. Короткі описи рішення завдань
  4. Код програми
  5. Отримані результати
  6. Висновок
Для кого:Студенти технічних спеціальностей та викладачі програмування
Викладачі:Викладач кафедри

Ключові поняття

циклJavaIntelliJ IDEAрекурсіяфакторіалмасивметодблок-схемачисловий ряд

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

Національний технічний університет України «Київський політехнічний інститут імені Ігоря Сікорського» Теплоенергетичний факультет Кафедра автоматизації проектування енергетичних процесів і систем Звіт З лабораторної роботи №3 з дисципліни «Програмування циклічних алгоритмів» Тема «Програмування базових алгоритмів» Варіант № 25 Мета роботи: набуття практичних навичок використання операторів циклів for, while, do while при створюванні програмних проектів циклічної структури. Завдання на лабораторну роботу. 1.Розробити блок-схеми алгоритмів і написати програми мовою Java із застосуванням операторів циклів for, while, do while для розв’язання завдань, поданих в табл.1–3 відповідно до індивідуального варіанта. Варіант обрати за списком групи. 2.Розробити програмні проекти в середовищі IntellijIDEA для реалізації написаних програм. Перевірити результати обчислень альтернативними розрахунками(наприклад, Excel, калькулятор, тощо). 3. Зробити Звіт з лабораторної роботи та вчасно надіслати викладачу на перевірку Так як варіант №25, виконуємо задачі під номером 25 Завдання №1 / Завдання №2 / Завдання №3 / Короткі описи рішення завдань: Створено в Java клас Main . В цьому класі розміщено методи main, task1, ,task2, ,task3, task13. Метод Main є головним і виконується першим, тому у ньому викликаємо метод task1. Метод task1: Сюди передаються три значення: нижня межа перевірки, верхня межа перевірки і крок. Створені масиви, у які будуть записані значення функції в певній точці. Відбувається виконання функції і присвоєння значень масиву. Далі відбувається форматований вивід значень з вказаним кроком. Далі, у Main створюємо масив для завдання №2. Значення вводимо шляхом присвоєння. Викликаємо метод task2 Метод task2: У метод передаємо масив чисел, що задані присвоєнням. Далі іде перевірка чисел: якщо воно більше 0, то додається до суми, якщо менше нуля, то виводиться сума всіх попередніх. Далі, у Main виводимо початкові значення (масив чисел), за допомогою методу Arrays.toString() і результат обчислень. Далі, у методі Main даємо можливість користувачеві вибрати, що знайти з заданого числового ряду: суму чи добуток. Виводимо відповідний ряд при різних значення х, а3 саме, коли х=0,6 і х=2,8. Викликаємо метод task3 Метод task3: В цей метод передаємо вибір користувача і зміну х. Потім, за допомогою циклів for i while розраховуємо необхідні значення і повертаємо результат. (Зауваження: у методі використано метод task13, у якому рекурсивним способом обчислюється факторіал переданого числа). Блок-схема для завдання №3 / Копія коду на білому фоні package com.company; import java.util.Arrays; import java.util.Scanner; import static java.lang.Math.*; public class Main { public static void main(String[] args) { System.out.println("---------Завдання №1----------"); task1(4.5, 18.5, 0.4); // Завдання 2 int[] arr = {5, 47, 18, 25, 3, 54, -2, 0, 1, 12, 81}; int res = task2(arr); System.out.println("\n\n---------Завдання №2----------"); System.out.print("Вхідні дані (набір чисел) - "); System.out.println(Arrays.toString(arr)); System.out.printf("Результат обчислень: %d", res); // Завдання 3 System.out.println("\n\n---------Завдання №3----------"); System.out.println("Якщо ви бажаєте знайти суму ряду - натисніть 0, " + "якщо добуток - натисніть 1"); Scanner scan = new Scanner(System.in); int choice = scan.nextInt(); System.out.print("Числовий ряд при х = 0,6:"); for (int k = 1; k < 7; k++) { System.out.printf(" %.4f ", pow(-1, k) * pow(0.6, 4 * k + 1) / task31(2)); } double res1 = task3(choice, 0.6); System.out.printf("\nРезультат виконання завдання: %.4f \n", res1); System.out.println(); System.out.print("Числовий ряд при х = 2,8:"); for (int k = 1; k < 7; k++) { System.out.printf(" %.4f ", pow(-1, k) * pow(2.8, 4 * k + 1) / task31(2)); } double res2 = task3(choice, 2.8); System.out.printf("\nРезультат виконання завдання: %.4f \n", res2); } public static void task1 ( double lim1, double lim2, double step){ double number = (lim2 - lim1) / step + 1; double[] Y = new double[(int) number]; double[] Z = new double[(int) number]; double x = lim1; for (int i = 0; i < number; i++, x += step) { Y[i] = abs(cos(x / 3)); Z[i] = tan(sqrt(x)); System.out.printf("%2d. x = %.2f ", i + 1, x); System.out.printf("y(x) = %2.4f ", Y[i]); System.out.printf("z(x) = %2.4f ", Z[i]); System.out.println(); } } public static int task2 ( int[] array){ int result = 0; for (int i = 0; i < array.length; i++) { if (array[i] < 0) break; else result += array[i]; } return result; } public static double task3 ( int choice, double x){ double Y; int factorial = task31(2); double result = 1; if (choice == 0) { for (int k = 1; k < 7; k++) { Y = pow(-1, k) * pow(x, 4 * k + 1) / factorial; result += Y; } return (result - 1); } if (choice == 1) { int i = 0; while (i < 7) { Y = pow(-1, i) * pow(x, 4 * i + 1) / factorial; result *= Y; i++; } } return result; } public static int task31(int num){ if (num < 1) return 1; else { return (num * task31(num - 1)); } } } Отримані результати / / Висновок: В процесі виконання лабораторної роботи №3 набуто практичних навичок програмування циклічних алгоритмів, використання операторів циклів for, while, do while при створюванні програмних проектів циклічної структури. Побудовано блок-схему, що коротко і доступно описує процеси, що відбуваються при вирішенні завдання №3.
Допоможи студентському архіву

Ми допомогли тобі — допоможи наступному студенту

Файл ще не обрано

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

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

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

Admin

26.02.2023 12:38

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