Лабораторная работа на 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, C++, C# (а также консультирую по ним) и созданию сайтов. Работаю с сайтами на CMS OpenCart, WordPress, ModX и самописными. Кроме этого, работаю напрямую с JavaScript, PHP, CSS, HTML - то есть могу доработать ваш сайт или помочь с веб-программированием. Пишите сюда.

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




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



Извлечение иконки из файла C#
Шахматы на Java
HTML5 игры: что там у нас внутри