Національний технічний університет України
«Київський політехнічний інститут імені Ігоря Сікорського»
Теплоенергетичний факультет
Кафедра автоматизації проектування енергетичних процесів і систем
ЗВІТ
з лабораторної роботи № 1
з дисципліни «Програмування алгоритмічних структур»
Тема «Програмування розгалужених алгоритмів»
Варіант № 4
Завдання на лабораторну роботу.
1. Розробити блок-схеми алгоритмів і написати програми мовою Java із застосуванням умовного оператора if та оператора вибору switch для розв’язання завдань, поданих в табл. 1 – 4 відповідно до індивідуального варіанта. Варіант обрати за списком групи.
2. Розробити програмні проекти в середовищі Intellij IDEA для реалізації написаних програм. Перевірити результати обчислень альтернативними розрахунками (наприклад, Excel, калькулятор, тощо).
3. Зробити Звіт з лабораторної роботи та вчасно надіслати викладачу на перевірку
1 Завдання за варіантом:
/
2 Завдання за варіантом:
/
3 Завдання за варіантом:
/
4 Завдання за варіантом:
/
Блок-Схема 4 завдання:
/
Код програми (Lr21, 1 та 2 завдання):
package com.sell;
public class Lr21 {
public static void main(String[] args) {
double[] x = {-2.3, 0.6, 4.8};
double[] a = { 0.2, 0.15, 0.9};
double[] b = { 0.5, 0.2, 5};
double[] z = {Math.pow(Math.E, a[0]*x[0]), Math.pow(Math.E, 2*a[1]*x[1]), Math.pow(Math.E, 2.5*a[2]*x[2])};
System.out.println("task1");
for (double i : x) {
System.out.printf("%nx = %.4f y = %.4f", i, task1(i));
}
System.out.println("task2");
for (double i : x) {
for (int id = 0; id < a.length; id++) {
System.out.printf("%nx = %.4f a = %.4f b = %.4f%n" +
"y = %.4f%n", i, a[id], b[id], task2(i, a[id], b[id], z[id]));
}
}
}
public static double task1(double x) {
double y = 0;
double r = 2.4;
double s = 5;
double k = 0.5;
if (x == r*s) {
y = 1.0/Math.tan(x*x * Math.pow(Math.E, 3*k)) + Math.log(Math.abs(r*x));
} else if (x > r*s) {
y = Math.pow(x*x, 1.0/5.0) + Math.sqrt(Math.abs(Math.sin(k)));
} else if (x < r*s) {
y = Math.tan(k*x + Math.tan(r*s));
}
return y;
}
public static double task2(double x, double a, double b, double z) {
double y = 0;
if (x < (-1) * Math.log(a)) {
y = a * Math.pow(Math.sin(x), 2) + b * Math.cos(z*x);
} else if ((-1) * Math.log(a) <= x && x <= b) {
y = Math.pow(a, b) - Math.pow(Math.cos(a + z*x), 3);
} else if (x > b){
y = Math.sqrt(2.5*Math.pow(a, 3) + Math.pow(b - z*x*x, 6));
}
return y;
}
}
Код програми (Lr22, 3 та 4 завдання):
package com.sell;
import java.util.Scanner;
public class Lr22 {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
double[] a = new double[3];
double[] b = new double[3];
double[] c = new double[3];
double[] a4 = {3, 2.1, -9};
double[] b4 = {3.5, -6.55, -3.7};
double[] c4 = {-2.1, 0.1, -0.1};
for (int i = 0; i < a.length; i++) {
System.out.print("a = ");
a[i] = s.nextDouble();
System.out.print("b = ");
b[i] = s.nextDouble();
System.out.print("c = ");
c[i] = s.nextDouble();
}
System.out.println("task3");
for (int i = 0; i < a.length; i++) {
System.out.printf("%na = %.4f b = %.4f c = %.4f%n" +
"res = %.4f%n", a[i], b[i], c[i], task3(a[i], b[i], c[i]));
}
System.out.println("task4");
for (int i = 0; i < a4.length; i++) {
System.out.printf("a = %.4f b = %.4f c = %.4f%n" +
"Is right triangle: %b%n", a4[i], b4[i], c4[i], task4(a4[i], b4[i], c4[i]));
}
}
public static double task3(double a, double b, double c) {
double res;
res = Math.min(Math.min(a, b), c);
return res;
}
public static boolean task4(double a, double b, double c) {
boolean res = false;
a = Math.abs(a);
b = Math.abs(b);
c = Math.abs(c);
if (a > b && a > c) {
res = a*a == b*b + c*c;
} else if (b > a && b > c) {
res = b*b == a*a + c*c;
} else if (c > a && c > b) {
res = c*c == b*b + a*a;
}
return res;
}
}
Результати компіляції:
Task 1
/
Task 3
/
Task 4
/
Перевірка завдання 1 за допомогою застосунку Photomath:///
Висновок
Я розробив блок-схеми алгоритмів і написав програми мовою Java із застосуванням умовного оператора if та оператора вибору switch для розв’язання завдань, поданих в табл. 1 – 4 відповідно до мого варіанта.
Також розробив програмні проекти в середовищі Intellij IDEA для реалізації написаних програм. Перевірив результати обчислень альтернативними розрахунками (Photomath).
Зробив Звіт з лабораторної роботи та вчасно надіслав викладачу на перевірку