НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ УНИВЕРСИТЕТ ИТМО
Факультет Программной инженерии и компьютерной техники
Дисциплина
Лабораторная работа № 1.
Выполнил студент
Гордеев Степан Евгеньевич
Группа № P3120
Преподаватель: Максимов Андрей Николаевич
г. Санкт-Петербург
2022
Оглавление Задание: 3
Отчет: 3
Вариант: 367163
Задание: Создать одномерный массив a типа short. Заполнить его нечётными числами от 3 до 21 включительно в порядке возрастания.Создать одномерный массив x типа double. Заполнить его 15-ю случайными числами в диапазоне от -3.0 до 13.0.Создать двумерный массив a размером 10x15. Вычислить его элементы по формулам.
Отчет: Для выполнения задания был импортирован модуль Math, являющийся базовой библиотекой Java. Функции возведения в степень, тригонометрические функции, константы являются частью Math.
Код программы:
import static java.lang.Math.*;
| public class Lab_1 {
| static final int ARRAY_SIZE_T = 10;
| static final int ARRAY_SIZE_X = 15;
| public static double fun1(double obl){
| return log(sqrt(sin(obl)*sin(obl)));
| }
| public static double fun2(double obl){
| return pow(((0.75)/log(sin(obl)*sin(obl))),pow((cos(obl)/(0.75+asin((obl+5)/16))),pow((2*obl+1),2)));
| }
| public static double fun3(double obl){
| return pow((0.25*pow((cos(tan(obl)-3)),2)),((2.0/3.0)/(pow(pow(tan(obl),(0.5*pow(4/(obl-1),3))),sin(pow(E,obl)))+0.5)));
| }
| public static short[] step1(int min, int max){
| short[] t = new short[ARRAY_SIZE_X];
| int k=0;
| for (short i =(short) min;(int) i | t[k]=i;
| k+=1;
| }
| return t;
| }
| public static double[] step2(int min, int max){
| double[] x = new double[ARRAY_SIZE_X];
| for (int i = 0; i | x[i] = random()*abs(max-min)+min;
| }
| return x;
| }
| public static double[][] step3(short mast[], double masx[]){
| double [][] c = new double[ARRAY_SIZE_T][ARRAY_SIZE_X];
| for (int i=0; i | for (int j=0;j | if (mast[i]==7){
| c[i][j]=fun1(masx[j]);
| }
| if (mast[i] ==3||mast[i] == 5||mast[i] == 9||mast[i] == 17||mast[i] == 21){
| c[i][j]=fun2(masx[j]);
| }
| if (mast[i]==11||mast[i]==13||mast[i]==15||mast[i]==19) {
| c[i][j]=fun3(masx[j]);
| }
| }
| }
| return c;
| }
| public static String step4(double masc[][]){
| String str2=new String();
| for(int i=0; i | str2=str2+'\n';
| for (int j=0;j | String str = String.format("%8.4f", masc[i][j]);
| str2 = str2 + str+" ";
| }
|
| }
| return str2;
| }
| public static void main(String[] args){
| short[] t = step1(3,23);
| double[] x = step2(-3,13);
| double [][] c = step3(t,x);
| System.out.print(step4(c));
| }
| }
| Результат выполнения программы:
NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
| NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
| -0,1291 -1,6999 -2,2826 -0,6197 -5,7424 -0,2934 -0,9761 -2,3879 -0,1477 -0,4565 -2,3452 -0,0466 -0,6665 -0,0003 -0,2404
| NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
| NaN 0,5069 0,1709 NaN NaN NaN NaN 1,0000 0,1843 0,2695 0,5161 NaN NaN 0,0063 0,1044
| NaN 0,5069 0,1709 NaN NaN NaN NaN 1,0000 0,1843 0,2695 0,5161 NaN NaN 0,0063 0,1044
| NaN 0,5069 0,1709 NaN NaN NaN NaN 1,0000 0,1843 0,2695 0,5161 NaN NaN 0,0063 0,1044
| NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
| NaN 0,5069 0,1709 NaN NaN NaN NaN 1,0000 0,1843 0,2695 0,5161 NaN NaN 0,0063 0,1044
| NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
| Такое большое количество NaN обусловлено возведением в нецелую степень отрицательного числа.
Вывод:
В ходе выполнения лабораторной работы освоил основной синтаксис языка программирования Java, научился импортировать базовые библиотеки, овладел навыком математических вычислений в Java.
Список литературы:
Конспекты лекций https://se.ifmo.ru/documents/10180/639377/Конспект+лекций/f8e05cb1-0d5b-467c-b8b7-3c6681590cae
|