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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

JavaIntelliJ IDEAмасивциклСЛАРматрицяалгоритмметодцифра

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

Національний технічний університет України «Київський політехнічний інститут імені Ігоря Сікорського» Теплоенергетичний факультет Кафедра автоматизації проектування енергетичних процесів і систем РОЗРАХУНКОВО-ГРАФІЧНА РОБОТА з дисципліни «Програмування алгоритмічних структур» Тема «Програмування базових алгоритмів» Варіант № 4 Завдання на розрахунково-графічну роботу (РГР) 1.Розробити алгоритми і написати програми мовою Java із застосуванням операторів циклів for, while, do while для розв’язання завдань, поданих в додатках 1, 2 відповідно до індивідуального варіанта. Варіант обрати за списком групи. 2.Розробити програмний проект в середовищі Intellij IDEA для реалізації написаних програм. Перевірити результати обчислень альтернативними розрахунками (наприклад, Excel, калькулятор, тощо). 3.Оформити РГР та вчасно надіслати викладачу на перевірку файл РГР та файл програми. Завдання 1 за варіантом: / Завдання 2 за варіантом: / Короткий опис рішення завдання: Завдання 1: В методы main переписуємо всі числа із поданої СЛАР в масив, а далі робимо розподіл етапів на методи, як зазначено в завданні (task11 для перетворення матриці до трикутникового вигляду, task12 для отримання значень невідомих змінних СЛАР, task13 для виведення виводу результатів розрахунку завдання 1). У task11 матриця зводиться до трикутного виду (віднімаємо від нижніх рядків верхні, роблячи нулі). У task12 знаходимо невідомі змінні СЛАР, рухаючись знизу вгору, щоб невідомі знаходилися одна за одною. У task13 початковий і зведений до трикутного вигляду масиви, виводяться у вигляді матриці, а невідомі змінні під відповідним рядком (вектор відповіді). Завдання 2: Вводимо у main сканер, який буде зчитувати задані користувачем числа. Далі завдяки циклу повертаємо кількість парних цифр числа. Блок-схема алгоритму для другого завдання: / Програма проекту (копія коду на білому фоні): package tr15.[ім’я автора приховано]; import java.util.Scanner; public class RgrTr15Smir { public static void main (String[] args) { Scanner s = new Scanner(System.in); int[] t3 = new int[3]; double[][] matrix = {{5, 0, -1, 5, -2, -56.1}, {-1, 5, 6, 1, 1, -51.1}, {2, 4, 3, 5, 0, -81.3}, {3, 3, 2, 3, 2, -77.2}, {0, 0, 2, -1, 6, -31.3}}; double[][] triangle = task11(matrix); double[][] vector = task12(triangle); System.out.print("Початкова матриця:\n"); task13(matrix); System.out.print("Трикутникова матриця:\n"); task13(triangle); System.out.print("Вектор результатів:\n"); task13(vector); for (int i = 0; i < t3.length; i++) { System.out.printf("Варіант %d = ", i+1); t3[i] = s.nextInt(); } for (int i = 0; i < t3.length; i++) { System.out.printf("У числі %d кількість парних цифр дорівнює %d.\n", t3[i], task2(t3[i])); } } public static double[][] task11 (double[][] m) { double[][] res = new double[m.length][m[0].length]; for (int i = 0; i < m.length; i++) { for (int j = 0; j < m[0].length; j++) { res[i][j] = m[i][j]; } } double[] var; double k; int num = 1; while (num < res.length) { for (int i = num; i < res.length; i++) { if (res[num-1][num-1] == 0) { var = res[num-1]; res[num] = var; res[num-1] = res[num]; i--; } else if (res[i][num-1] != 0) { k = res[num-1][num-1] / res[i][num-1]; for (int j = num-1; j < res[0].length; j++) { res[i][j] = res[num-1][j] - k * res[i][j]; } } } num++; } return res; } public static double[][] task12 (double[][] tM) { double[][] r = new double[1][tM.length]; int num = tM.length-1; int jRes = 0; double x, sum, var; while (num >= 0) { sum = tM[num][tM[0].length-1]; for (int j = 0; j < jRes; j++) { sum -= r[0][j] * tM[num][tM[0].length-2-j]; } x = sum / tM[num][num]; r[0][jRes] = x; jRes++; num--; } for (int i = 0; i < r[0].length/2; i++) { var = r[0][i]; r[0][i] = r[0][r[0].length-i-1]; r[0][r[0].length-i-1] = var; } return r; } public static void task13 (double[][] m) { String s = "\t"; for (int i = 0; i < m.length; i++) { if (m.length == 1) { s = " "; } for (int j = 0; j < m[0].length; j++) { if (Math.abs(Math.round(m[i][j]) - m[i][j]) < Math.pow(10, -4)) { System.out.printf("%.0f\t" + s, m[i][j]); } else { System.out.printf("%.2f" + s, m[i][j]); } } System.out.print("\n"); } } public static int task2 (int n) { int res, var; res = 0; for (int i = 0; i < 10; i++) { var = (int) Math.pow(10, i); if (var <= n) { if ((n/var) % 2 == 0) { res++; } } else { return res; } } return res; } } Результати обчислень: Завдання 1: / Завдання 2: / Перевірка результатів за допомогою онлайн-калькулятора: / / Висновок: Я набув практичних навичок у розробці розгалужених та циклічних алгоритмів при створюванні програмних проектів для розв’язання практичних завдань. Перевірив результати обчислень альтернативними розрахунками (). Оформити РГР та вчасно надіслати викладачу на перевірку файл РГР та файл програми.
Допоможи студентському архіву

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

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

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

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

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

Admin

26.02.2023 12:38

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