Програмування циклічних алгоритмів

Інформація про навчальний заклад

ВУЗ:
Національний технічний університет України Київський політехнічний інститут
Інститут:
Не вказано
Факультет:
СІ
Кафедра:
Не вказано

Інформація про роботу

Рік:
2021
Тип роботи:
Звіт до лабораторної роботи
Предмет:
Програмування

Частина тексту файла (без зображень, графіків і формул):

Національний технічний університет України «Київський політехнічний інститут імені Ігоря Сікорського» Теплоенергетичний факультет Кафедра автоматизації проектування енергетичних процесів і систем ЗВІТ з лабораторної роботи № 3 з дисципліни «Програмування алгоритмічних структур» Тема «Програмування циклічних алгоритмів» Варіант № 14 Завдання на лабораторну роботу. 1.Розробити блок-схеми алгоритмів і написати програми мовою Java із застосуванням операторів циклів for, while, do while для розв’язання завдань, поданих в табл.1–3 відповідно до індивідуального варіанта. Варіант обрати за списком групи. 2.Розробити програмні проекти в середовищі Intellij IDEA для реалізації написаних програм. Перевірити результати обчислень альтернативними розрахунками (наприклад, Excel, калькулятор, тощо). 3. Зробити Звіт з лабораторної роботи та вчасно надіслати викладачу на перевірку. Завдання 1: Завдання 2: Завдання 3: Короткий опис рішення завдання Завдання 1: У класі task1 за допомогою циклу for виконала арифметичні дії відповідно до варіанту. Здійснила форматований вивід даних (x–один або два знаки після коми, y(x), z(x)–4 знаки після коми). Результати вивела в таблицю з трьома стовбчиками для х, y(x), z(x). У класі main викликала метод task1 із заданими за варіантом значеннями границі х та кроку приросту h. Завдання 2: Поза класом здійснила ініціалізацію масиву t1. У класі main спочатку вивела задану послідовність, а потім вивела результат за допомогою форматованого виводу, використовуючи метод task2 для послідовності t1. У класі task 2 ініціалізувала змінні min та max, які спочатку присвоїла до першого елемента масива t1. Далі в циклі for знайшла максимальне й мінімальне значення й повернула їх різницю. Завдання 3: У класі main за допомогою метода scanner здійснюю ввід з клавіатури заданих значень x (0,6 та 2,8). Далі за допомогою форматованого виводу виводжу результат, використовуючи метод task31 для х, а потім так само з методом task32 для х. У класі task31 знаходжу факторіал за допомогою циклу for і здійснюю арифметичні дії з завдання за варіантом. Повертаю отримане значення. У класі task32 роблю все те саме, але в циклах while, після чого повертаю отримане значення. Блок-схема алгоритму для завдання 3:   Програма проекту (копія коду на білому фоні): package com.company; import static java.lang.Math.*; import java.util.Scanner; public class Main { public static void main(String[] args) { System.out.println("--------------Task1--------------"); task1(-4, 10, 0.4); System.out.println("\n--------------Task2--------------"); //введення масиву присвоєнням int[] t1 = {1, 5, 3, 4, 5, 9, 7, 8, 9, 13}; System.out.printf("Послідовність:"); //вивід масиву t1 для завдання 2 for (int i = 0; i < t1.length; i++) System.out.printf(" %d", t1[i]); //вивід результату для завдання 2 System.out.printf("\nРезультат: %d\n", task2(t1)); System.out.println("\n--------------Task3--------------"); double x; //ввід даних з клавіатури Scanner scan = new Scanner(System.in); System.out.printf("Введіть x: "); x = scan.nextDouble(); System.out.printf("Результат: %.4f\n\n" , task31(x)); System.out.printf("Введіть x: "); x = scan.nextDouble(); System.out.printf("Результат: %.4f\n" , task32(x)); } static void task1(int minX, double maxX, double h) { System.out.printf("_________________________________\n"); System.out.printf("|\tx\t|\ty(x)\t|\tz(x)\t|\n"); System.out.printf("---------------------------------\n"); //обрахунки до 1 завдання for (double x = minX; x < maxX + h; x += h) System.out.printf("|\t%.1f\t|\t%.4f\t|\t%.4f\t|\n", x, Math.pow(sin(x), 2) + cos(x), sin(x) / (log10(pow(x, 2) + 2))); System.out.printf("---------------------------------\n"); } static int task2(int[] t1) { //ініціалізація int min, max; min = max = t1[0]; // знаходження мінімального й максимального значень елементів в масиві for (int i = 1; i < 10; i++) { if (t1[i] < min) min = t1[i]; if (t1[i] > max) max = t1[i]; } // повертаю різницю мінімального й максимального значень елементів в масиві return max - min; } //метод з циклом while для завдання 3 static double task31(double x){ //ініціалізація змінних double count = 0; double factorial; int k = 1; int i; while (k < 7){ //знаходимо факторіал k factorial = 1; i = 1; while (i <= k){ factorial *= i; i++; } count += factorial/pow((1+x),k); k++; } return count; } //метод з циклом for для завдання 3 static double task32(double x){ //ініціалізація змінних double count = 0; double factorial; for (int k = 1 ;k < 7; k++) { //знаходимо факторіал k factorial = 1; for (int i = 1; i <= k; i++) factorial *= i; count += factorial/pow((1+x),k); } return count; } } Результати обчислень: Завдання 1: Завдання 2: Завдання 3: Висновки: Під час виконання лабораторної роботи №3 вдалось набути практичних навичок використання операторів циклів for, while при створюванні програмних проектів циклічної структури. Було написано програми мовою Java із застосуванням операторів циклів й розв’язано завдання , які подані в табл.1–3 відповідно до індивідуального варіанту. Проекти були розроблені в середовищі Intellij IDEA для реалізації написаних програм. Результати обчислень перевірено за допомогою калькулятора. Звіт оформлено згідно з вимогами й вчасно надіслано викладачу.
Антиботан аватар за замовчуванням

04.05.2023 23:05-

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!