You are on page 1of 8

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ

НАЦІОНАЛЬНИЙ ТЕХНІЧНИЙ УНІВЕРСИТЕТ


«ХАРКІВСЬКИЙ ПОЛІТЕХНІЧНИЙ ІНСТИТУТ»

Кафедра «НАВЧАЛЬНО-НАУКОВИЙ ІНСТИТУТ


КОМП’ЮТЕРНИХ НАУК ТА ІНФОРМАЦІЙНИХ ТЕХНОЛОГІЙ»

ЗВІТ
з лабораторної роботи № 1
з навчальної дисципліни
«ОСНОВИ ПРОГРАМУВАННЯ JAVA (ДВВ)»

ВИКОНАВ
Студент групи КН-222В
Юрій БАБАРИЦЬКИЙ

ПЕРЕВІРИВ
доц каф. ПІІТУ к.т.н.
доцент Валерій ВОЛОВЩИКОВ

Харків 2023
2

Тема: Архітектура та синтаксис java

Завдання №1: Індивідуальне завдання

Створити консольну програму, в якій здійснюється обчислення значень


функції на певному інтервалі. У програмі треба визначити значення початку
інтервалу, кінця інтервалу, а також величини кроку, з яким змінюється
аргумент. Відповідні значення слід прочитати з клавіатури.

Програма повинна містити визначення та введення необхідних даних і


один великий цикл, у тілі якого здійснюється

 обчислення функції одним з варіантів, залежно від значення аргументу


 виведення на консоль аргументу та результату на кожному кроці циклу
 збільшення значення аргументу на величину кроку і перехід на
наступне обчислення, якщо необхідно.

Програма повинна складатися з одного класу з двома статичними


функціями:

 окрема статична функція для обчислення значення y залежно від


значення аргументу x;
 метод main(), в якому здійснюється читання вихідних даних, а також
цикл обчислення функції та виведення значень x та y.

Варіант функціональної залежності, який слід реалізувати у програмі,


визначається відповідно до номеру студента у списку групи. Визначену
константу n описати з модифікатором final. Для форматованого виведення
результатів застосувати функцію printf().
3
Рисунок 1.1 – Індивідуальний варіант
Набір тестових даних завдання №1:
1. Вхідні значення: початок – 0, кінець – 5, крок – 2.
Очікуваний результат:
x=0 y = -4,09
x=2 y = -4,76
x=4 y=1

2. Вхідні значення: початок – 7, кінець – 15, крок – 3.


Очікуваний результат:
x=7 y=2
x = 10 y = 2,65
x = 13 y = 3,16

3. Вхідні значення: початок – 2, кінець – 9, крок – 4.


Очікуваний результат:
x=2 y = -4,76
x=6 y = 1,73

Програмний код до завдання №1:


package YurKa_lab_1_1;

import java.util.Scanner;

public class FunctionCalculator {


private static final int n = 10;

private static double calculateFunction(double x) {


if (x < 4) {
double result = 0.25 * x;
double sum = 0;
for (int i = 1; i <= n; i++) {
sum += Math.pow(Math.sin(0.5 * x - 2),
i);
}
4
result += 14 * sum;
return result;
} else {
return Math.sqrt(x - 3);
}
}

public static void main(String[] args) {


Scanner scanner = new Scanner(System.in);

System.out.print("Введіть початок інтервалу:


");
double start = scanner.nextDouble();

System.out.print("Введіть кінець інтервалу: ");


double end = scanner.nextDouble();

System.out.print("Введіть величину кроку: ");


double step = scanner.nextDouble();

System.out.println("x\t\t\ty");
for (double x = start; x <= end; x += step) {
double y = calculateFunction(x);
System.out.printf("%.2f\t\t\t%.2f%n", x,
y);
}

scanner.close();
}
}

Екранні форми: результати програмного застосунку, відповідно до наборів


тестових даних завдання №1 зображено на рисунках 1.2 – 1.4.

Рисунок 1.2 – Екранна форма до першого набору тестових даних


5

Рисунок 1.3 – Екранна форма до другого набору тестових даних

Рисунок 1.4 – Екранна форма до третього набору тестових даних

Завдання №2: Степені числа 8


Увести значення n (від 0 до 10) і вивести значення степенів числа 8
до n включно. Реалізувати два підходи – з використанням арифметичних і
побітових операцій.
Набір тестових даних завдання №2:
1. Вхідні значення: n = 3
Очікуваний результат:
Арифметичний метод Побітові операції
8^0 = 1 8^0 = 1
8^1 = 8 8^1 = 8
8^2 = 64 8^2 = 64
8^3 = 512 8^3 = 512
2. Вхідні значення: n = 10
Очікуваний результат:
Арифметичний метод Побітові операції
8^0 = 1 8^0 = 1
8^1 = 8 8^1 = 8
8^2 = 64 8^2 = 64
6
8^3 = 512 8^3 = 512
8^4 = 4096 8^4 = 4096
8^5 = 32768 8^5 = 32768
8^6 = 262144 8^6 = 262144
8^7 = 2097152 8^7 = 2097152
8^8 = 16777216 8^8 = 16777216
8^9 = 134217728 8^9 = 134217728
8^10 = 1073741824 8^10 = 1073741824
3. Вхідні значення: n = 11
Очікуваний результат:
Некоректне значення n. Введіть число від 0 до 10.

Програмний код до завдання №2:


package YurKa_lab_1_2;

import java.util.Scanner;

public class PowerOfEight {


public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("Введіть значення n (від 0 до
10): ");
int n = scanner.nextInt();
scanner.close();

if (n < 0 || n > 10) {


System.out.println("Некоректне значення n.
Введіть число від 0 до 10.");
return;
}

System.out.println("Степені числа 8 від 0 до "


+ n + " (з використанням арифметичних операцій):");
for (int i = 0; i <= n; i++) {
int result = (int) Math.pow(8, i);
System.out.println("8^" + i + " = " +
result);
}
7
System.out.println("Степені числа 8 від 0 до "
+ n + " (з використанням побітових операцій):");
for (int i = 0; i <= n; i++) {
int result = 1 << (i * 3);
System.out.println("8^" + i + " = " +
result);
}
}
}
Екранні форми: результати програмного застосунку, відповідно до наборів
тестових даних завдання №2 зображено на рисунках 1.5 – 1.7.

Рисунок 1.5 – Екранна форма до першого набору тестових даних

Рисунок 1.6 – Екранна форма до другого набору тестових даних


8

Рисунок 1.6 – Екранна форма до третього набору тестових даних

Завдання №3: Використання break і continue з міткою


Увести значення x та n, обчислити та вивести результат виразу:

Якщо i дорівнює j + x, перейти на наступний крок зовнішнього циклу


без множення на проміжний результат. Для переходу на наступний крок
застосувати continue з міткою.
Якщо знаменник на якійсь ітерації дорівнює 0, вийти з обох циклів з
виведенням повідомлення про помилку. Для виходу застосувати break з
міткою.

You might also like