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

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

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

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

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

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

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

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

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

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

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

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

У роботі розроблено алгоритми та програми мовою Java для розв'язання систем лінійних рівнянь методом Гаусса та пошуку парних дільників числа. Проєкт реалізовано в середовищі IntelliJ IDEA з перевіркою результатів.

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

  • Програмування базових алгоритмів
  • Мова програмування Java
  • Оператори циклів
  • Розв'язання систем рівнянь
  • Масиви в Java
  • Середовище IntelliJ IDEA
  • Обчислення дільників числа

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

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

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

JavaIntelliJ IDEAматрицяциклметод Гауссаалгоритммасиврозрахунково-графічна роботарозв'язок

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

Національний технічний університет України «Київський політехнічний інститут імені Ігоря Сікорського» Теплоенергетичний факультет Кафедра автоматизації проектування енергетичних процесів і систем РОЗРАХУНКОВО-ГРАФІЧНА РОБОТА з дисципліни «Програмування алгоритмічних структур» Тема «Програмування базових алгоритмів» Варіант № 14 Завдання на РГР: 1. Розробити алгоритми і написати програми мовою Java із застосуванням операторів циклів for, while, do while для розв’язання завдань, поданих в додатках 1, 2 відповідно до індивідуального варіанта. Варіант обрати за списком групи. 2. Розробити програмний проект в середовищі Intellij IDEA для реалізації написаних програм. Перевірити результати обчислень альтернативними розрахунками (наприклад, Excel, калькулятор, тощо). 3. Оформити РГР та вчасно надіслати викладачу на перевірку файл РГР та файл програми. Завдання 1: Завдання 2: Короткий опис рішення завдання: Завдання 1: У методі main організувала введення даних за допомогою присвоєння. Потім передала матрицю в метод task11, де за допомогою циклів while та for звела її до трикутникового вигляду. У методі task12 створила новий масив з результатами, тобто з коренями рівняння, які обчислюю за допомогою циклів while та for. Повертаю ці результати через оператор return. У методах task13 просто здійснюю вивід матриць: спочатку заданої розширеної матриці та матриці трикутникового вигляду(у методі main викликаю task13(a) та task13(triangular)), а потім масив вектору результатів (у методі main викликаю task13(res)). Через це вдалось зменшити й спростити код та викликати метод task13 лише 2 рази. Завдання 2: У методі main прошу ввести натуральне число за допомогою методів класу Scanner. У методі task2 перевіряю чи число натуральне, і якщо це так, то знаходжу кількість його дільників, залишаю лише дільники, які є парними. У методі main здійснюю форматований вивід відповіді, викликаючи метод task2. Виконую ввід та вивід для трьох наборів даних. Блок-схема алгоритму для 2 завдання Програма проекту package com.company; import java.util.Scanner; public class RgrTr15Tkho { public static void main(String[] args) { System.out.printf("----------Task1----------\n"); double[][] a = { {10, -9, -2, -9, -2, 101.4}, {-8, 10, 7, 7, 1, -127.7}, {-10, 10, 0, 4, -8, -87}, {1, -10, -6, 2, 7, 102.9}, {-7, 7, -10, -5, -9, -20.9} }; double[][] triangular = task11(a); double[] res = task12(triangular); System.out.printf("Початкова матриця: \n"); task13(a); System.out.printf("Трикутникова матриця: \n"); task13(triangular); System.out.printf("Вектор результатів: \n"); task13(res); System.out.printf("----------Task2----------\n"); Scanner scan = new Scanner(System.in); for(int l=0;l<3;l++){ System.out.printf("Введіть натуральне число: \n"); double n = scan.nextDouble(); System.out.printf("\n%d\n", task2(n)); } } static double[][] task11(double[][] a) { double[][] arr = new double[a.length][a[0].length]; int n = 0; while (n < a.length) { for (int j = 0; j < a[n].length; j++) arr[n][j] = a[n][j]; n++; } double m; int b = 0; while (b < arr.length - 1) { for (int i = b + 1; i < arr.length; i++) { m = arr[i][b] / arr[b][b]; for (int j = b; j < arr[i].length; j++) arr[i][j] -= arr[b][j] * m; } b++; } return arr; } static double[] task12(double[][] arr) { double[] res = new double[arr.length]; int i = arr.length - 1; while (i >= 0) { double sum = 0; for (int j = 0; j < arr[0].length - 1; j++) sum += arr[i][j] * res[j]; res[i] = (arr[i][arr.length] - sum) / arr[i][i]; i--; } return res; } static void task13(double[][] arr) { for (int i = 0; i < arr.length; i++) { System.out.printf("|"); for (int j = 0; j < arr[i].length; j++){ if(arr[i][j] % 1 == 0) System.out.printf("\t%4.0f", arr[i][j]); else System.out.printf("\t%.3f", arr[i][j]); } System.out.printf("\t|\n"); } } static void task13(double[] arr) { System.out.printf("|"); for (int i = 0; i < arr.length; i++) System.out.printf("\t%.1f", arr[i]); System.out.printf("\t|\n"); } static Object task2(double n){ int k, j, i=0; if(n>0 && n%1==0) { for(k=1;k<=n;k++){ if(n%k==0) { if (k % 2 == 0) i++; } } } else System.out.printf("Ви ввели не натуральне число.\n"); return i; } } Результати обчислень: Висновки: Під час виконання лабораторної роботи №3 ми розробили програму, яка обчислює систему алгебраїчних рівнянь, дані взяті за варіантом. Були відпрацьовані навички використання операторів циклів for, while, do while для розв’язання завдань. Друге завдання також було обране за варіантом, всі обчислення перевірені альтернативним способом (калькулятор). Звіт оформлено згідно з вимогами й вчасно надісланий викладачу.
Допоможи студентському архіву

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

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

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

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

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

Admin

26.02.2023 12:38

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