Додаток 2
Національний технічний університет України
«Київський політехнічний інститут імені Ігоря Сікорського»
Теплоенергетичний факультет
Кафедра автоматизації проектування енергетичних процесів і систем
ЗВІТ
з лабораторної роботи № 1
з дисципліни «Програмування алгоритмічних структур»
Тема «Програмування лінійних алгоритмів»
Варіант № 6(16)
Мета роботи: набуття практичних навичок використання типів даних, математичних операцій та форматованого виводу значень змінних під час створення програмних проектів на мові Java.
Завдання на лабораторну роботу.
Написати програму мовою Java для обчислення значень змінних, що зазначені у таблиці 1, за заданими розрахунковими формулами і наборами вхідних даних. Вивести на екран дату і час в заданому форматі. Варіант обрати за списком групи.
Розробити програмний проект в середовищі Intellij IDEA (або в текстовому редакторі Sublime Text) для реалізації написаної програми. Перевірити результати обчислень альтернативними розрахунками (наприклад, Excel, калькулятор, тощо).
Зробити Звіт з лабораторної роботи та вчасно надіслати викладачу на перевірку.
Короткий опис рішення завдання разом із скриншотом варіанту завдання із табл.1
/
Програма починається з головного класу LR-1. У ньому я організував деякі методи для обчислювання даних и виводу даних.Так наприклад у методі Main проходить ввід даних та виведення на екран результатів інших методів.
Методи CalcY і CalcS обчислюють змінних Y та S згідно до вимог задачі поданного варіанту.
Метод OutPutDate виводить поточну дату.
Повний текст коду:
//Імпортів пакетів для користування
import java.util.Scanner;
import java.time.format.DateTimeFormatter;
import java.time.LocalDateTime;
public class LR_1{
public static void main (String[] args) {
//ввід та призначення перемінних
double a,b,t,S,Y;
a = -0.5;
b = 1.7;
t=0.44;
//Приссвоєння результатів
double s = CalcS(a,b,t);
double y = CalcY(a,b,t);
//Вивід результатів
System.out.printf("a = %.1f%nb = %.1f%nt = %.2f%nY = %.4f%nS = %.4f%n%n", a, b, t, y, s);
//Ввід данних за допомогою сканеру строки
Scanner in = new Scanner(System.in);
System.out.printf("Input a: ");
a = in.nextDouble();
System.out.printf("Input b: ");
b = in.nextDouble();
System.out.printf("Input t: ");
t = in.nextDouble();
in.close();
//Приссвоєння результатів
s = CalcS(a,b,t);
y = CalcY(a,b,t);
//Вивід результатів
System.out.printf("a = %.1f%nb = %.1f%nt = %.2f%nY = %.4f%nS = %.4f%n%n", a, b, t, y, s);
//Вивід дати
OutPutDate();
}
//Метод обчислювання змінної Y
public static double CalcY(double a, double b, double t){
return Math.pow(Math.E, -b*t)*Math.sin(a*t+b)- Math.sqrt(Math.abs(b*t+a));
}
//Метод обчислювання змінної S
public static double CalcS(double a, double b, double t){
return b*Math.sin(a*Math.pow(t,2)*Math.cos(2*t))-1;
}
//Метод для знаходження та встановлення дати
public static void OutPutDate(){
LocalDateTime today = LocalDateTime.now();
DateTimeFormatter form = DateTimeFormatter.ofPattern("dd MM yyyy");
String formDate = today.format(form);
System.out.println("Today: " + formDate);
}
}
Скріншот командної строки з виводом програми:
/
Висновок:
Цією лабораторною роботою я покращив свої знання мови Java, навчився ініцілювати готові пакети, створювати методи самостійно. Познайомився с пакетом Math для спрощення математичних операцій, пакетом Scanner для зчитування даних зі строки.
Програмував код я у редакторі SublimeText, та компілював код через командну строку Windows, проінсталювавши перед цим пакет для джави. Перевірив математичні операціїї альтернативними методами, та перевірив з результатами програми. Розбіжностей не знайдено.