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

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

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

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

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

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

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

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

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

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

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

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

Звіт містить розв'язання розрахунково-графічної роботи з програмування алгоритмічних структур мовою Java. Наведено лістинги програм для перетворення матриць та обчислення суми дільників числа.

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

  • Програмування мовою Java
  • Алгоритмічні структури
  • Робота з матрицями
  • Цикли та умови в Java
  • Метод Гаусса
  • Обчислення суми дільників числа

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

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

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

Javaматрицяметод Гауссацикл whileцикл forалгоритмпрограмний проєктIntelliJ IDEAвектор результатівсума дільників

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

Національний технічний університет України «Київський політехнічний інститут імені Ігоря Сікорського» Теплоенергетичний факультет Кафедра автоматизації проектування енергетичних процесів і систем ЗВІТ з Розрахункової графічної роботи з дисципліни «Програмування алгоритмічних структур» Тема «Програмування базових алгоритмів» Варіант № 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 при створюванні програм циклічної будови. Написав програму для розв’язання СЛАР методом Гаусса.
Допоможи студентському архіву

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

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

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

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

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

Admin

26.02.2023 12:38

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