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

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

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

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

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

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

Національний технічний університет України «Київський політехнічний інститут імені Ігоря Сікорського» Теплоенергетичний факультет Кафедра автоматизації проектування енергетичних процесів і систем ЗВІТ з лабораторної роботи No3 з дисципліни «Програмування алгоритмічних структур» Тема «Програмуванняциклічнихалгоритмів» Варіант 3 Завданняна лабораторну роботу.1.Розробити блок-схеми алгоритмів і написати програми мовоюJavaіззастосуваннямоператорів циклівfor, while, do whileдля розв’язання завдань,поданих в табл.1–3відповіднодо індивідуального варіанта.Варіант обратиза списком групи.2.Розробити програмні проекти в середовищіIntellij IDEAдля реалізаціїнаписаних програм. Перевірити результати обчислень альтернативнимирозрахунками(наприклад,Excel, калькулятор, тощо).3. Зробити Звіт з лабораторної роботи та вчасно надіслати викладачу наперевірку. Завдання 1: / Завдання 2: / Завдання 3: / Короткий опис рішення першого завдання: Для першого завдання я створив метод task1 в якому написав алгоритм для рішення рівняння для всіх Х від -1 до 1 включно різницею в 0,05. Для цього я використав цикл for. Короткий опис рішення другого завдання: Для другого завдання я використав цикл for щоб зрвняти всі сусідні члени масиву. Кожен наступний елемент повинен бути менший за попередній. В такому разі метод воерне true. В іношму випадку поверне false. Короткий опис рішення третього завдання: Для третььго завдання треба використати два цикла. Для обчислення факторіалу і для обчислення самої суми ряду. У першому випадку використав цикл while, а у другому - цикл for. Блок-схема до третього завдання: / Блок-схема до методу task3: / Копія коду на білому фоні: package com.company; import java.lang.Math; import java.util.Scanner; public class LR3 { public static void main(String[] args) { double startX, endX, h, x1, x2; Scanner scan = new Scanner(System.in); startX = -1; endX = 1; h = 0.05f; System.out.println("Task1:"); task1(startX, endX, h); System.out.printf("\nTask2\nПерша послідовність:\n"); int[] b = {99, 88, 57, 55, 43, 10, 9, 8, 7, 7, 0, -10, -11}; boolean proverka = task2(b); int i = 0; System.out.printf("{ "); while (i < b.length) { System.out.printf("%d ", b[i]); i++; } System.out.printf("}\n"); if (proverka) { System.out.print("Послідовність упорядкована за спаданням" ); } else { System.out.print("Послідовність не упорядкована за спаданням"); } System.out.printf("\n\nДруга послідовність:\n"); int[] b2 = {100, 99, 90, 80, 70, 60, 50, 40, 30, 10, 20}; boolean proverka2 = task2(b2); int i2 = 0; System.out.printf("{ "); while (i2 < b2.length) { System.out.printf("%d ", b2[i2]); i2++; } System.out.printf("}\n"); if (proverka2) { System.out.print("Послідовність упорядкована за спаданням" ); } else { System.out.print("Послідовність не упорядкована за спаданням"); } System.out.printf("\n\nTask3\n"); System.out.printf("x1 = "); x1 = scan.nextDouble(); System.out.printf("y1 = %1.4f", task3(x1)); System.out.printf("\nx2 = "); x2 = scan.nextDouble(); System.out.printf("y2 = %1.4f", task3(x2)); } public static void task1(double startX, double endX, double h ) { for (double i = startX; i <= endX+0.01f; i = i + h) { double y = Math.pow(Math.E, 3 * (i - 0.6)); double z = Math.asin(i); System.out.printf("x = %1.2f y = %2.4f z = %2.4f\n", i, y, z); } } public static boolean task2(int[] arr){ for (int i = 1; i < arr.length; i ++) { if (arr[i - 1] < arr[i]) return false; } return true; } public static double task3(double x) { int length = 10; int i = 1; int k = 1; double o = 0; //Цикл для знаходження факторіалу: while (k <= length) { i = i * k; k++; } int iFak = i; //Цикл для знаходження суми ряду: for (int j = 1; j <= length; j++) { double y = (Math.pow(-1, j + 1)*iFak)/(Math.pow(2, 2 * j - 1) * Math.sin(x)); o = o + y; } return o; } } Результати обчислень (скріншот екрану): / / Висновки: Під час виконання цієї лабораторної роботи я набув практичних навичок використання циклів while і for. Створив методи циклічної будови для обчислення рівнянь і заданих прикладів. Вдосконалив навички набуті на попередніх практичних і лабораторних заняттях. Майже вчасно здав звіт викладачу на перевірку.
Антиботан аватар за замовчуванням

06.05.2023 11:05-

Коментарі

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

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

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

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

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

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

Admin

26.02.2023 12:38

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