Міністерство освіти і науки України
Національний технічний університет
«Київський політехнічний інститут ім. Ігоря Сікорського»
Теплоенергетичний факультет
Кафедра автоматизації проектування енергетичних процесів і систем
Програмування алгоритмічних структур
ЗВІТ ДО
Лабораторної роботи №1
«Програмування лінійних алгоритмів»
Варіант № 1
Дата «27» вересня 2021
Завдання на лабораторну роботу.
Написати програму мовою Java для обчислення значень змінних, що зазначені у таблиці 1, за заданими розрахунковими формулами і наборами вхідних даних. Вивести на екран дату і час в заданому форматі. Варіант обрати за списком групи.
Розробити програмний проект в середовищі Intellij IDEA (або в текстовому редакторі Sublime Text) для реалізації написаної програми. Перевірити результати обчислень альтернативними розрахунками (наприклад, Excel, калькулятор, тощо).
Зробити Звіт з лабораторної роботи та вчасно надіслати викладачу на перевірку.
Вимоги до завдання:
Завдання запрограмувати в одному класі, який має назвуLr1. В даному класі організувати такі методи: main, calcR, calcS, outputDate, де calcR–метод для обчислення змінної R; calcS – метод для обчислення змінної S; outputDate–метод для виведення дати та часу в заданому форматі. В методі main організувати:
-введення початкових даних для завдання 1 (табл. 1). Введення даних зробити за допомогою присвоєння значень змінним;
-виклик методів calcR, calcS;
-отримання із методів значень змінних R та S;
-виведення вхідних даних та результатів розрахунку змінних R та S. Виведення організувати за допомогою метода System.out.printf форматованого виводу значень. Для дробових чисел – не більше 4 знаків після коми. Вивід супроводжувати найменуваннями виведених змінних;
-ввести початкові дані за допомогою Scanner (з клавіатури) та ще раз викликати методи calcR, calcS. Отримати значення R та S. Вивести вхідні дані та значення R та S в консоль за допомогою метода System.out.printf форматованого виводу значень. Для дробових чисел – не більше 4 знаків після коми. Вивід супроводжувати найменуваннями виведених змінних;
-виклик методу outputDate, у якому організувати виведення поточної дати і часу у вказаному форматі. Методи calcR, calcS мають приймати вхідні дані, обчислювати змінні R та S, та повертати до методу main значення R та S.
Короткий опис рішення завдання разом із скриншотом варіанту завдання із табл.1
/
В одному класі lr1 я спочатку задала значення вхідних даних a, b, x типу double та задала їм відповідні значення за допомогою вхідних даних користувача, методом scan.nextLine(). Створила методи для обчислення змінних R та S та вивела їх на екран, округлюючи до 4-ї цифри після коми, методом printf. Потім написала метод для виведення дати. В методах calcR та calcS написала розрахункову формулу та присвоїла її змінним R та S використовуючи основні метод класу Math, наприклад: Math.pow(x, y) (х у степені y), Math.cos(x) (косинус х). Метод outputDate виводить на екран дату у форматі рр-мм-дд за допомогою класу Date.
Код програми:
//Імпортування класів Date та Scanner
import java.util.Date;
import java.util.Scanner;
public class lr1 {
//метод Main
public static void main(String[] args) {
double x, a, b;
x=0.5;
a=0.7;
b=0.05;
System.out.printf("x = %.1f\n" , x);
System.out.printf("a = %.1f\n", a);
System.out.printf("b = %.2f\n\n", b);
System.out.printf("R = %.4f\n", calcR(x, a, b));
System.out.printf("S = %.4f\n", calcS(x, a, b));
//Отримання вхідних даних
Scanner scan = new Scanner(System.in);
System.out.print("Input a: ");
a = Double.parseDouble(scan.nextLine());
System.out.print("Input b: ");
b = Double.parseDouble(scan.nextLine());
System.out.print("Input x: ");
x = Double.parseDouble(scan.nextLine());
//Вивід обчислених даних, округлення та виклик методів calcR та calcS
System.out.printf("R = %.4f\n", calcR(x, a, b));
System.out.printf("S = %.4f\n", calcS(x, a, b));
//Виведення дати
outputDate();
}
//Метод обчислення R
static double calcR(double x, double a, double b) {
double R = Math.pow(x, 2.) * (x + 1) / b - Math.pow(Math.sin(x + a), 2.);
return R;
}
//Метод обчислення S
static double calcS(double x, double a, double b) {
double S = Math.sqrt(x * b / a) + Math.pow(Math.cos(Math.pow(x + b, 3.)), 2.);
return S;
}
//Метод виведення дати
public static void outputDate() {
Date d = new Date();
System.out.printf("%1$tY-%1$tm-%1$te", d);
}
}
Результати рішення програми
/
Висновок: В результаті створення лабораторної роботі на java навчилися та попрактикувалися створювати методи, розраховувати формули, використовуючи методи Math. , виводити на екран змінні та дату у форматі рр-мм-дд. Також приймати та використовувати вхідні значення від користувача у розрахунках за допомогою класу Scanner. Створили різні методи для підрахунків та оформили коментарями, робили текст програми більш зрозумілим та зручним у подальшому редагуванні.