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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • Програмування розгалужених алгоритмів
  • Оператори циклів
  • Мова програмування Java
  • Обчислення математичних функцій
  • Робота з масивами
  • Обчислення факторіала
  • Розробка блок-схем

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

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

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

JavaIntelliJ IDEAцикл forцикл whileблок-схемафакторіалмасивальтернативні розрахункиіндивідуальний варіанталгоритм

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

Національний технічний університет України «Київський політехнічний інститут імені Ігоря Сікорського» Теплоенергетичний факультет Кафедра автоматизації проектування енергетичних процесів і систем ЗВІТ з лабораторної роботи № 3 з дисципліни «Програмування алгоритмічних структур» Тема «Програмування розгалужених алгоритмів» Варіант № 18 Київ – 2021 Завдання на лабораторну роботу. 1. Розробити блок-схеми алгоритмів і написати програми мовою Java із застосуванням операторів циклів for, while, do while для розв’язання завдань, поданих в табл. 1 –3 відповіднодо індивідуального варіанта. Варіант обрати за списком групи. 2. Розробити програмні проекти в середовищі Intellij IDEA для реалізації написаних програм. Перевірити результати обчислень альтернативними розрахунками(наприклад, Excel, калькулятор, тощо). 3. Зробити Звіт з лабораторної роботи та вчасно :^( надіслати викладачу на перевірку. Опис завдання табл. 1 для варіанта 18: Опис завдання табл. 2: Опис завдання табл. 3: Опис розв’язку завдання табл. 1: Метод task1(double xmin, double xmax, double h) виводить на екран таблицю із “іксами” від xmin до xmax включно, функцію y за цими аргументами та функцію z. Цикл проходить по цим аргументам за кроком h, підставляя їх у функції. При виведенні округлює до .4 після коми Опис розв’язку завдання табл. 2: Метод task2(double[] seq) повертає масив із трьома числами, перші два з них — це ті два числа, між якими найменша “відстань”, а третє — їх різниця. За допомогою циклу перевіряється кожна можлива різниця у вхідному масиві, та допоміжна змінна minDiff зберігає найменше знайдене значення Опис розв’язку завдання табл. 4: Метод task3(double x) повертає суму виразу. У циклі проходить по кожному з доданків, змінюючи при цьому змінну i. Всередині циклу є допоміжний цикл для вирахування факторіалів. Блок-схема до розв’язку завдання табл. 4: Код програми: public class Main { public static void main(String[] args) { double xmin = 0.5; double xmax = 4; double h = 0.1; task1(xmin, xmax, h); double[] seq = new double[10]; double element = 1.6; System.out.print("Sequence: "); for (int i = 0; i < seq.length; i++) { seq[i] = element; System.out.printf("%.4f; ", element); element += Math.random() * (10.5 - 2.1 + 1) + 2.1; } System.out.println(); double[] task2Result = task2(seq); System.out.printf("Task2 result is: %.4f - %.4f = %.4f\n\n", task2Result[0], task2Result[1], task2Result[2]); element = 3.1; System.out.print("Sequence: "); for (int i = 0; i < seq.length; i++) { seq[i] = element; System.out.printf("%.4f; ", element); element += Math.random() * (10.5 - 2.1 + 1) + 2.1; } System.out.println(); task2Result = task2(seq); System.out.printf("Task2 result is: %.4f - %.4f = %.4f\n\n", task2Result[0], task2Result[1], task2Result[2]); double x1 = 0.6, x2 = 2.8; System.out.printf("Task3 for x = %.1f: %.4f\n", x1, task3(x1)); System.out.printf("Task3 for x = %.1f: %.4f", x2, task3(x2)); } static void task1(double xmin, double xmax, double h) { double y, z; System.out.println("_______________________"); System.out.println("| x | y(x) | z(x) |"); for (double x = xmin; x <= xmax; x += h) { y = Math.pow(x / 3, 2.); z = Math.cos(x + Math.PI / 3) + 1.8; System.out.printf("|%.1f| %.4f | %.4f |\n", x, y, z); } System.out.println("_______________________\n"); } static double[] task2(double[] seq) { double minDiff = 0; double result1 = 0, result2 = 0; for (int i = 0; i < seq.length; i++) { for (int j = i + 1; j < seq.length; j++) { if (Math.abs(seq[i] - seq[j]) < minDiff || (i == 0 && j == 1)) { result1 = seq[i]; result2 = seq[j]; minDiff = Math.abs(seq[i] - seq[j]); } } } return new double[] {result1, result2, minDiff}; } static double task3(double x) { double i = 1; double imax = 6; double factorial; double sum = 0; for (; i <= imax; i++) { factorial = 1; int j = 1; while(j < i) j++; factorial *= j; sum += Math.tan(Math.pow(x - Math.PI, 2.)) / factorial; } return sum; } } Результати рішення програми Висновок Я написав мовою Java 3 алгоритми із застосуванням циклів for та while для розв’язання завдань, поданих в табл. 1-3 відповідно до індивідуального варіанта 18. Перевірив результати обчислень альтернативними розрахунками. Ознайомився із операторами циклів та новими математичними алгоритмами. Разробив блок схему 3-го завдання. Особливих труднощів незустрів. Зробив звіт з лабораторної роботи та надіслав викладачу на перевірку.
Допоможи студентському архіву

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

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

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

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

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

Admin

26.02.2023 12:38

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