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 Завдання на розрахунково-графічну роботу (РГР). 1.Розробити алгоритми і написати програми мовою Java із застосуванням операторів циклів for, while, do while для розв’язання завдань, поданих в додатках 1, 2 відповідно до індивідуального варіанта. Варіант обрати за списком групи. 2.Розробити програмний проект в середовищі IntellijIDEA для реалізації написаних програм. Перевірити результати обчислень альтернативними розрахунками (наприклад, Excel, калькулятор, тощо). 3.Оформити РГР та вчасно надіслати викладачу на перевіркуфайл РГР та файл програми. Завдвння 1: / Завдання 2: / Короткий опис завдання 1: Для першого завдання я створив метод task1 в якому за допомогою циклів while I for метод перетворює початкову матрицю на трикутну. Далі було написано метод task2 в якому при задаванні трикутної матриці, повертався вектор результатів. Метод task3 створено щоб виводити на екран матриці. Короткий опис другого завдання: Для другого завдання я створив метод task2 в якому за допомогою одного цикла while зміг виводити суму дільників заданого числа. Число задаєтьбся вручну. Блок-схема до другого завдання: / Копія коду на білому фоні: package com.company; import java.util.Scanner; public class RgrTr15Slus { public static void main(String[] args) { double arr[][] = {{-2, 0, 2, 4, -3, 44.8},{-1, 0, -5, 1, -5, 28.6}, {-2, 1, -2, 3, -5, 34.5}, {-1, -4, -5, 0, 5, -23.8}, {-5, 2, -1, -5, 2, -99.6}}; double matrix[][] = new double[arr.length][arr[0].length]; for (int i = 0; i < arr.length; i++) { for (int j = 0; j < arr[1].length; j++) { matrix[i][j] = arr[i][j]; } } //поміняємо рядки матриці так щоб на головній діагоналі не було нулів for (int i = 0; i < matrix.length; i++) { for (int j = 0; j < matrix[0].length; j++) { if (arr[i][i] == 0) { matrix[i][j] = matrix[arr.length - 1][j]; matrix[arr.length - 1][j] = arr[i][j]; } } } System.out.print("\nПочаткова матриця:\n"); task13(arr); System.out.print("Трикутна матриця:\n"); task13(task11(matrix)); System.out.print("Вектор результатів: \n"); task12(task11(matrix)); System.out.println("Task2"); int a, b, с; Scanner scan = new Scanner(System.in); System.out.print("Введіть число: "); a = scan.nextInt(); task2(a); System.out.print("Введіть інше число: "); b = scan.nextInt(); task2(b); System.out.print("Введіть ще одне число: "); с = scan.nextInt(); task2(с); } public static double[][] task11(double array[][]) { double[][] array2 = new double[array.length][array[0].length]; int i = 0; while (i < array.length) { for (int j = 0; j < array[i].length; j++) { array2[i][j] = array[i][j]; } i++; } double p; for (int k = 1; k < array2.length; k++) { for (int j = k; j < array2.length; j++) { if (array2[k - 1][k - 1] == 0) { double arr[][] = new double[array.length][array[0].length]; for (int a = 0; a < 5; a++) { for (int b = 0; b < 6; b++) { arr[a][b] = array2[a][b]; } } } p = array2[j][k - 1] / array2[k - 1][k - 1]; int n = k - 1; while (n < array2[j].length) { array2[j][n] = array2[j][n] - p * array2[k - 1][n]; n++; } } } return array2; } public static void task12(double array[][]) { double x1, x2, x3, x4, x5; x5 = array[4][5] / array[4][4]; x4 = (array[3][5] - array[3][4] * x5) /array[3][3]; x3 = (array[2][5] - array[2][4] * x5 - array[2][3] * x4) / array[2][2]; x2 = (array[1][5] - array[1][4] * x5 - array[1][3] * x4 - array[1][2] * x3) / array[1][1]; x1 = (array[0][5] - array[0][4] * x5 - array[0][3] * x4 - array[0][2] * x3 - array[0][1] * x2) / array[0][0]; System.out.printf("x1 = %1.2f \n", x1); System.out.printf("x2 = %1.2f \n", x2); System.out.printf("x3 = %1.2f \n", x3); System.out.printf("x4 = %1.2f \n", x4); System.out.printf("x5 = %1.2f \n", x5); } public static void task13(double array[][]) { for (int i = 0; i < 5; i++) { for (int j = 0; j < 6; j++) { if (array[i][j] % 1 == 0) { System.out.printf("%1.0f\t", array[i][j]); } else { System.out.printf("%1.2f\t", array[i][j]); } } System.out.printf("\n"); } } public static void task2(int a) { int i = 1; int p = 0; while (i <= a) { if (a % i == 0) { p = p + i; i++; } else { i++; } } System.out.printf("Сума дільників числа %d = %d\n", a, p); } } Результати обчислень: / Висновки: Під час даної розрахунково-графічної роботи я вдосконалив свої навички щодо роботи з циклами, матрицями, методами і операціями над змінними. Набув знань щодо використання циклів for і while при створюванні програм циклічної будови. Написав програму для розв’язання СЛАР методом Гаусса. Оформив звіт і здав викладачу на перевірку.
Антиботан аватар за замовчуванням

06.05.2023 11:26

Коментарі

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

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

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

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

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

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

Admin

26.02.2023 12:38

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