השאלות שפתרנו היום

שאלה 1

כתבו פעולה שמקבלת שלושה פרמטרים a,b,c המייצגים את המקדמים של משוואה ריבועית.

הפעולה תדפיס את פתרונות המשוואה ש- a,b,c הם מקדמיה

יש להבחין בין שלושת המקרים:

·         למשוואה אין פתרון

·         למשוואה פתרון יחיד והוא:    x = ….

·         למשוואה שני פתרונות והם: x1 = …..  , x2 = ……

תשובה

public static void parabulaSolution(double a,double b,double c) {

       double des = (b*b)-(4*a*c);

       double x1,x2;

       if (des < 0) {

              System.out.println("No solution");

       }

       else if (des == 0) {

              x1 = –b/(2*a);

              System.out.println("One solution x = "+x1);

       }

       else {

              x1 = (-b + Math.sqrt(des))/(2*a);

              x2 = (-b – Math.sqrt(des))/(2*a);

              System.out.println("The first solution is x1 = "+x1);

              System.out.println("The second solution is x2 = "+x2);

       }            

}

      

שאלה 2

כתבו פעולה שמחשבת ומחזירה את הקירוב של פאי.

תשובה

public static double disFrom00(double x,double y) {

       return Math.sqrt(x*x+y*y);

}

 

public static double calcPi() {

       int MAX = 1000000,count = 0;

       double x,y;

       for (int i=0;i<MAX;i++) {

              x = Math.random();

              y = Math.random();

              if (disFrom00(x, y)<=1)

                     count++;

       }

       return (count/(double)MAX)*4;

}

שאלה 3

כתבו פעולה שמקבלת isPrime המקבלת כפרמטר מספר שלם num ומחזירה true אם המספר ראשוני, אחרת הפעולה תחזיר false.

תשובה

public static boolean isPrime(int x) {

       int sqrt = (int)Math.sqrt(x)+1;

       for (int i=2;i<x-1;i++) {

              if (x % i == 0)

                     return false;

       }

       return true;

}

שאלה 4

כתבו פעולה בשם reverseNum המקבלת מספר num ומחזירה את המספר בסדר ספרות הפוך.

לדוגמה : עבור num = 1234 הפעולה תחזיר 4321

תשובה

public static int reverseNum(int num) {

       int newNum = 0;

       while (num != 0) {

              newNum = newNum*10 + num % 10;

              num = num /10;

       }

       return newNum;

}