На нашем сайте мы используем cookie для сбора информации технического характера и обрабатываем IP-адрес вашего местоположения. Продолжая использовать этот сайт, вы даете согласие на использование файлов cookies. Здесь вы можете узнать, как мы пользуемся файлами cookies.
Я согласен
логотип upread.ru

Лабораторная работа на java: линейные алгоритмы


Цель лабораторной работы

Написание простых программ, используя инструкции (операторы) присваивания, чтения и отображения информации на языке программирования Java.

Задача

Напишите программу на Java, которая читает с клавиатуры значение переменной x, вычисляет значение выражения, указанного в вашем варианте, потом отображает на экран результат (переменную y). Докажите математически, что результаты, полученные в программе, правильные. Проанализируйте ситуации, которые могут привести к ошибкам, таким как деление на ноль, корень или логарифм из отрицательного числа, тангенс с бесконечным значением и т.д.

y = e2x + x - 2 x3 - |2x|

Решение

import java.util.Scanner;

public class Task1 {

    public static void main(String[] args) {

      int x = 0;
      double y = 0;
       
      Scanner scan = new Scanner(System.in);
      String s = scan.nextLine();
      
   try {
   x = Integer.parseInt(s);
   
   try {      
          y = (Math.pow(Math.E, 2*x) + x - 2)/(Math.pow(x, 3) - Math.abs(2*x));
          
          if ((Math.pow(x, 3) - Math.abs(2*x))!=0)
          System.out.println("y = " + y);
          
          else System.out.println("Делить на ноль нельзя!"); 
         } catch (ArithmeticException e) { 
              System.out.println("Недопустимая арифметическая операция"); 
         } 
                }
 catch (NumberFormatException e) {
System.out.println("Можно вводить только число!");
}      
    }   
}
Комментарии к решению

По сути дела задача решается в одной единственной строке - строке номер 17. Именно в ней мы и вычисляем значение y. Использующиеся операторы и константы:

  • Math.pow(a, b) - возводит основание a в степень b.
  • Math.E - основание натурального логарифма с точностью в 15 знаков после запятой.
  • Math.abs(a) - модуль числа a.
Для получения числа x мы задействуем класс Scanner (строка 10), а в 11 строке читаем строку в переменную s. В 14 строке эту переменную пытаемся перевести в целое число, если не получается, то выдаем ошибку (строка 28). Далее, в 19 строке проверяем, не получается ли у нас в знаменателе дроби ноль - если это так, то выдаем соответствующее сообщение. Блок try-catch для проверки на исключение ArithmeticException здесь по сути дела не нужен - так как получающееся значение имеет формат double, но я все же его оставил - пригодится для других вариантов. Также поэтому мы считаем и сравниваем с нулем отдельно знаменатель - так как получается тип double.

Немного рекламы

Задачу я взял из зарубежного фриланса. Если вам требуется выполнить лабораторную работу на языке java, то вы всегда можете обратиться ко мне. Не смотрите на то, что у меня немного отзывов по программам - студенты по понятным причинам, увы, не горят желанием их оставлять. Я помогал делать лабораторные, практические, курсовые и дипломные работы для студентов по всей России, а также из Казахстана и Украины. Пишите - up777up@yandex.ru или сразу же стучитесь в скайп - up777up2 - онлайн по Москве днем. Цены договорные и довольно низкие.



тегизаметки, java, лабораторные работы, задачи





Отправляя сообщение я подтверждаю, что ознакомлен и согласен с политикой конфиденциальности данного сайта.




2D платформер на Unity: управляем котом с помощью джойстика
Программа для тестов: подключаем Firebird


© upread.ru 2013-2019
При перепечатке активная ссылка на сайт обязательна.
Задать вопрос
письмо
Здравствуйте! Вы можете задать мне любой вопрос. Если не получается отправить сообщение через эту форму, то пишите на почу up777up@yandex.ru
Отправляя сообщение я подтверждаю, что ознакомлен и согласен с политикой конфиденциальности данного сайта.