Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабы ОФК. Начало.doc
Скачиваний:
30
Добавлен:
23.03.2015
Размер:
986.11 Кб
Скачать

Лабораторна робота № 3

Тема роботи.Алгоритмізація й використання керуючих структур в Java.

Ціль роботи.Використання елементів організації розгалуження в Java.

Короткі теоретичні відомості

Програма 1.Обчислення числа Пі.

  1. public class Pi {

  2. static double pi;

  3. static void leibnic(){

  4. for(double i=1;i<100000000;i+=1){

  5. if (i%2==0){

  6. pi-=1/(2*i-1);

  7. }else{

  8. pi+=1/(2*i-1);

  9. }

  10. }

  11. pi*=4;

  12. System.out.print("\nчисло Пі, підраховане по методу Лейбница дорівнює: "+pi);

  13. }

  14. static void vallis(){

  15. double pi1=1, pi2=1;

  16. for(double i=2;i<100000000;i+=2){

  17. pi1*=i/(i+1);

  18. pi2*=i/(i-1);

  19. }

  20. pi=pi1*pi2*2;

  21. System.out.print("\nчисло Пі, підраховане по методу Валлиса дорівнює: "+pi);

  22. }

  23. public static void main(String[] args) {

  24. leibnic();

  25. vallis();

  26. }

  27. }

У даній програмі описані два методи знаходження числа Пі: метод Лейбница (ряд Лейбница) і метод Валлиса (формула Валлиса).

У даній програмі в рядках 02 і 03 описуються static змінна класу pi типу double. Розрахунки методом Лейбница викликаються в рядку 27 завдяки використанню імені методу leibnic(). Аналогічно в рядку 28 викликаємо метод Валлиса vallis().

У методі Лейбница для обчислення числа Пі використовується ряд

Для обчислення даного ряду ми використовували цикл із умовним оператором, де перевіряється умова на парність i%2==0, якщо воно вірно, то дріб має позитивний знак pi+=1/(2*i-1), якщо ні, то ставимо знак мінус. Наприкінці, для одержання наближеного значення числа Пі, змінна pi множиться на 4 і виводиться на консоль.

Розрахунок по формулі Валлиса

відбувається небагато по-іншому. У методі оголошуються дві змінні pi1 і pi2 типи double у рядку 18, перша зберігає добуток парних дробів, друга - непарних, потім їхній подвоєний добуток привласнюється змінної pi і виводиться на консоль.

Програма 2.Знаходження рішення рівняння

  1. public class Sol {

  2. public static void work(){

  3. long x=0;

  4. for(int i=1;i<10;i++){

  5. for (int j=0;j<10;j++){

  6. for (int k=0;k<10;k++){

  7. x=i*100+j*10+k;

  8. if (x==(Math.pow(i,3)+Math.pow(j, 3) + Math.pow(k,3))){

  9. System.out.println(i+"^3+"+j+"^3+"+k+"^3+"+" = "+x);

  10. }

  11. }

  12. }

  13. }

  14. }

  15. public static void main(String[] args) {

  16. work();

  17. }

  18. }

Дана програма знаходить такі цифри A, B і C, сума кубів яких дорівнює числу, складеному із цих цифр.

У програмі є три цикли, вкладені друг у друга, кожний цикл виконується десять разів, у такий спосіб тіло циклу 07-09 виконується одну тисячу разів (10x10x10). Змінна x, складена з кубів лічильників циклів, де перший лічильник відіграє роль сотень числа, другий десятків, третій одиниць. Якщо отримане x дорівнює сумі кубів лічильників, то на консоль виводиться інформація про отримані цифри й число x. Знаходження кубів чисел здійснюється за допомогою методу pow() класу Math, як перший параметр виступає саме число, а другим параметром служить показник ступеня Math.pow(i,3). Можна використовувати більше знайомий і звичний запис i*i*i, j*j*j і k*k*k.

Практична частина.

Завдання.

1. Скласти програму, яка покаже, що для виразу an+ bn=cn (теорема Ферма) немає натуральних рішень від 1 до 100 і n>2. Переконатися, що є рішення для n=2, і вивести їх на консоль.

2. Обчислити вираз , використовуючи оператор умови.

3. Одержати у викладача варіант завдання для умовного переходу.