Додаток 2
Національний технічний університет України
«Київський політехнічний інститут імені Ігоря Сікорського»
Теплоенергетичний факультет
Кафедра автоматизації проектування енергетичних процесів і систем
ЗВІТ
з лабораторної роботи № 2
з дисципліни «Програмування алгоритмічних структур»
Тема «Програмування розгалужених алгоритмів»
Варіант № 16
Мета роботи: набуття практичних навичок використання умовного опера-тораifта операторавиборуswitchпри створюванніпрограмних проектіврозгалуженої структури.
Завдання на лабораторну роботу.
Розробити блок-схеми алгоритмів і написати програми мовою Java із застосуванням умовного оператора if та оператора вибору switch для розв’язання завдань, поданих в табл.1–4 відповідно до індивідуального варіанта. Варіант обрати за списком групи.
Розробити програмні проекти в середовищі Intellij IDEA для реалізації написаних програм. Перевірити результати обчислень альтернативними розрахунками (наприклад, Excel, калькулятор, тощо).
Зробити Звіт з лабораторної роботи та вчасно надіслати викладачу на перевірку.
Опис завдання табл. 1 для варіанта 16:
/
Опис завдання табл. 2:
/
Опис завдання табл. 3:
/Опис завдання табл. 4:
/
Опис розв’язку завдання 1:
Метод task1 повертає результат обчислень double. Усередені метода с початку я ввів данні згідно мого варіанту. Це константи a,b і z.
Потім за допомогою розгалуження If я почав перевірювати константи з змінною згідно до варіанту. І залежно від цього виконувати умови завдання.
В обчислюванні я використовував математичні функції, які визивав за допомогою Math…
Було використано:
Sin() – синус аргументу.
Pow() – возведення у степінь.
Cos() – косинус аргументу.
Abs() – модуль функції.
Math.E – статична константа. Число Ейлера.
У кінці, після опрацювання методу, ми записуємо отримане значення у змінну task1.
Опис розв’язку завдання 2:
Метод task2 повертає так само результат обчислень double. Метод зчислює вхідну змінну double x та int index, який відвовідає за вибір потрібних наборів констант.
Вибір набору констант здійснюється за допомогою розгалуження switch і параметру index.
Потім аналогічно до першого завдання за допомогою розгалуження If я почав перевірювати константи з змінною згідно до варіанту. І залежно від цього виконувати умови завдання.
В обчислюванні я використовував математичні функції, які визивав за допомогою Math…
Було використано:
Sin() – синус аргументу.
Pow() – возведення у степінь.
Ln() –натуральний логарифм.
Cos() – косинус аргументу.
Abs() – модуль функції.
Math.E – статична константа. Число Ейлера.
У кінці, після опрацювання методу, ми записуємо отримане значення у змінну task2.
Код програми:
package com.company;public class Lr21 { public static void main(String[] args) { //Ввід та присвоєння змінних double t1,t2; double[] x = {-2.3,0.6,4.8}; //Приссвоєння результатів й вивід результатів System.out.println("Завдання 1:");// Завдання 1 for (int i=0; i<3; i++){ t1= task1(x[i]); System.out.printf("\nX%d = %.2f\nTask1 = %.4f", i, x[i], t1); } System.out.println("\n\n\nЗавдання 2:");// Завдання 2 for (int j=0; j<3; j++){ System.out.printf("\n\nOption%d",j+1); for (int i=0; i<3; i++) { t2 = task2(x[i], j); System.out.printf("\nX%d = %.2f\nTask2 = %.4f", i, x[i], t2); } } } //Обчислювання завдання 1 public static double task1(double x) { double t,a,b,z; t=0; a = 0.7; b = -1.25; z = 3.5; if ( x < a ){ t = 2.8*Math.pow(Math.sin(a*x),2)-b*Math.pow(x,3)*z; } if ( a <= x && x <= Math.pow(b,2)){ t = z*Math.cos(Math.pow(a*x+b,2)); } if ( x > Math.pow(b,2) ){ t = Math.pow(Math.E,Math.abs(2.5*a*x))+z*a*b*x; } return t; } //Обчислювання завдання 2 public static double task2(double x,...