Програмування розгалужених алгоритмів

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

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

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

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

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

Національний технічний університет України «Київський політехнічний інститут імені Ігоря Сікорського» Теплоенергетичний факультет Кафедра автоматизації проектування енергетичних процесів і систем ЗВІТ до лабораторної роботи № 2 з дисципліни «Програмування алгоритмічних структур» Тема «Програмування розгалужених алгоритмів» Варіант № 12 Завдання на лабораторну роботу. 1. Розробити блок-схеми алгоритмів і написати програми мовою Java із застосуванням умовного оператора if та оператора вибору switch для розв’язання завдань, поданих в табл. 1 – 4 відповідно до індивідуального варіанта. Варіант обрати за списком групи. 2. Розробити програмні проекти в середовищі Intellij IDEA для реалізації написаних програм. Перевірити результати обчислень альтернативними розрахунками (наприклад, Excel, калькулятор, тощо). 3. Зробити Звіт з лабораторної роботи та вчасно надіслати викладачу на перевірку. Короткий опис рішення завдань разом із скриншотом варіанту завдання 1.Завдання / В методі task1типу double організовую введення вхідних даних m,b,n також типу double.За допомогою оператора if прописую умови, задані в завданні. Так як метод має тип double, то в кінці, після умов, необхідно зазначити, що має повертати функція,тому прописую return y. 2.Завдання / В методі task2 типу double за допомогою оператора switch описуємо три набори даних. Потім, використовуючи оператор if записую умови для обрахунку у, після цього знову зазначаю return y. 3.Завдання / В методі task3 типу double в параметрах зазначаю змінні A,R, які за допомогою Scanner вводимо з клавіатури і S(площа фігури, яку необхідно обчислити).Використовуючи оператор if записую вимоги для обчислення і виведення S. 4.Завдання / В методі task4 за допомогою оператора вибору switch вводжу три набори даних. Далі, в прописую умови для виведення на екран найменшого з чисел за допомогою умовного оператора. Блок-схема алгоритму для 4 завдання / Текст програми Завдання 1-2 package com.company; import java.lang.Math;// імпорт пакетів public class Lr21 { public static void main(String[] args) { double x1=-2.3;//введення даних за допомогою присвоєння значень double x2=0.6; double x3=4.8; double m=0.5; double b=-2; double n=0.2; System.out.printf("Вхідні дані:\nx1=%.4f; x2=%.4f; x3=%.4f\n",x1,x2,x3);// виведення вхідних даних на екран System.out.printf("Task1\nm=%.4f,b=%.4f,n=%.4f\n",m,b,n); System.out.printf("Результати обчислень task1 з х1: y=%.4f\n", task1(x1));//виведення результатів завдання 1 System.out.printf("Результати обчислень task1 з х2: y=%.4f\n", task1(x2)); System.out.printf("Результати обчислень task1 з х3: y=%.4f\n", task1(x3)); System.out.print("Task2\n");//виведення результатів завданння 2 System.out.printf("Результати обчислень task2 з х1 і першим варіантом вхідних даних: y = %.4f\n", task2(x1, 1)); System.out.printf("Результати обчислень task2 з х2 і першим варіантом вхідних даних: y = %.4f\n", task2(x2, 1)); System.out.printf("Результати обчислень task2 з х3 і першим варіантом вхідних даних: y = %.4f\n", task2(x3, 1)); System.out.printf("Результати обчислень task2 з х1 і другим варіантом вхідних даних: y = %.4f\n", task2(x1, 2)); System.out.printf("Результати обчислень task2 з х2 і другим варіантом вхідних даних: y = %.4f\n", task2(x2, 2)); System.out.printf("Результати обчислень task2 з х3 і другим варіантом вхідних даних: y = %.4f\n", task2(x3, 2)); System.out.printf("Результати обчислень task2 з х1 і третім варіантом вхідних даних: y = %.4f\n", task2(x1, 3)); System.out.printf("Результати обчислень task2 з х1 і третім варіантом вхідних даних: y = %.4f\n", task2(x2, 3)); System.out.printf("Результати обчислень task2 з х1 і третім варіантом вхідних даних: y = %.4f\n", task2(x3, 3)); } public static double task1(double x) { double m=0.5;//введення вхідних даних для завдання 1 double b=-2; double n=0.2; double y = 0; if (Math.abs(b*m)>Math.pow(x,2)){// перша умова y= Math.sin(b*m+Math.cos(n*x)); } else if (Math.abs(b*m)<Math.pow(x,2)){//друга умова y= Math.cos(b*m-Math.sin(x)); } else if (Math.abs(b*m)==Math.pow(x,2)){//третя умова y=Math.sqrt(Math.exp(Math.abs(Math.cos(x)))+Math.sqrt(Math.abs(b*m*x))); } return y; } public static double task2(double x, int witch){ double a = 0,b=0,z=0; switch (witch){//оператор вибору case 1://перший набір даних a =-1; b=3.4; z=Math.tan(b*x); break; case 2://другий набір даних a=-3.2; b=5.5; z=Math.tan(b*Math.pow(x,2)); break; case 3://третій набір даних a=-5.2; b=7.2; z=Math.tan(b*Math.pow(x,3)); break; } double y=0; if (a >= x){//опис першої умови y=Math.exp(a*x)-3.5*Math.pow(Math.cos(z+b*x),2); } else if (a<x && x<=Math.pow(b,3.5)){//опис другої умови return a +Math.log(Math.abs(a+b*x))-2*x; } else if (x>Math.pow(b,3.5)){//опис третьої умови return a+Math.pow(Math.cos(a+b*x*z),3.5); } return y; } } Завдання 3-4 package com.company;//імпорт пакетів import java.util.Scanner; import java.lang.Math; public class Lr22 { public static void main(String[] args) { System.out.println("Task3:"); Scanner input = new Scanner(System.in); System.out.print("Введіть А(сторона квадрата):"); double A = input.nextDouble();//введення даних з клавіатури за допомогою Scanner System.out.print("Введіть R(радіус кола):"); double R = input.nextDouble(); double S = 0; System.out.printf("\nПлоща більшої фігури:%.4f\n",task3(S,A,R));//виведення результатів обчислення завдання 3 System.out.printf("Результати обчислень task4 з першим варіантом вхідних даних:\n Найменше значення = %.4f\n", task4(1)); System.out.printf("Результати обчислень task4 з другим варіантом вхідних даних:\n Найменше значення = %.4f\n", task4(2)); System.out.printf("Результати обчислень task4 з третім варіантом вхідних даних:\n Найменше значення = %.4f\n", task4(3)); //виведення результатів обчислення завдання 4 } public static double task3(double A, double R, double S) { if (A > R) {//перша умова S = Math.pow(A, 2); return S; } else if (A < R) { S = Math.PI * Math.pow(R, 2);//друга умова return S; } else if(A<=0||R<=0){/*третя умова(оскільки задані величини є відрізками,отже мають бути строго більшими за нуль, для цього пропишемо дану умову)*/ return S=0; } return S; } public static double task4(int witch) { double a = 0, b = 0, c = 0; switch (witch) {//оператор вибору case 1://перший набір вхідних даних a = 23; b = 17; c = 47; break; case 2://другий набір вхідних даних a = 9; b = -8.1; c = 9.1; break; case 3://третій набір вхідних даних a = 36; b = 65; c = 62; break; } if (a < b && a< c) { return a;//умови для виведення на екран найменшого числа з набору } if (b < a && b < c) { return b; } if (c<a && c<b){ return c; } return 0; } } Результати рішень програми Завдання 1-2 / Завдання 3-4 / Висновок Виконуючи дану лабараторну роботу, я написала програму за допомогою операторів if (умовний оператор) та switch(оператор вибору).Під час створення програмних проектів розгалуженої структури набула практичних навичок використання операторів, які зазначені вище.
Антиботан аватар за замовчуванням

13.05.2023 13:05-

Коментарі

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

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

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

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

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

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

Admin

26.02.2023 12:38

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