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

Практична частина -теорія

Програма 1.Обчислення суми та добутку послідовності 10 випадкових чисел.

  1. public class ForCycle {

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

  3. int tmp = 0;

  4. long tmp2 = 1;

  5. System.out.print("Сумма\t\tПроизведение \n");

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

  7. tmp += (int)Math.round(Math.random()*10);

  8. tmp2 = tmp2*tmp;

  9. System.out.print(tmp+"\t\t"+tmp2+"\n");

  10. }

  11. }

  12. }

У рядку 02 оголошуємо головний метод main(). При оголошенні змінної tmp типу int присвоюємо їй початкове значення (tmp=0, ініціалізація змінної tmp у рядку 03). У змінній tmp буде зберігатися сума 10 членів послідовності з випадкових чисел. Далі оголошуємо змінну tmp2 типи long, у якій будемо зберігати значення добутку членів послідовності (04). У циклі FOR (06-10) обчислюється сума й добуток елементів послідовності.

Генерація випадкового члена послідовності здійснюється з використанням стандартної функції Math.random(), що повертає випадкове число в діапазоні від 0 до 1. Далі множимо випадкове число на 10 і округляємо Math.round() Друк результатів провадиться в рядку 09.

Програма 2.Обчислення квадратного кореня числа за допомогою ітераційної формули Герона.

  1. public class Sqrt {

  2. static void sqrt(long a){

  3. double b=a;

  4. int i=0;

  5. while ((b*b>a)&&(i<200)){

  6. b=(b+a/b)/2;

  7. i++;

  8. }

  9. System.out.print(b);

  10. }

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

  12. sqrt(45);

  13. }

  14. }

Для обчислення квадратного кореня числа використовуємо ітераційну формулу Герона . Для цього використовуємо цикл while із передумовою ((b*b>a)&&(i<200)).

У рядку 02 оголошуємо новий метод sqrt() з одним параметром a типу long. В оголошенні змінної b типу double привласнюємо їй початкове значення (b=a, ініціалізація змінної b у рядку 03). У змінній b будемо зберігати проміжні значення кореня, що обчислюються в циклі за формулою Герона b=(b+a/b)/2. Далі оголошуємо змінну i типу int та ініціалізуємо її значенням 0. Дана змінна знадобиться як лічильник циклу.

Далі слідує цикл While (05-08) із передумовою ((b*b>a)&&(i<200)). Дана умова складається із двох умов: квадрат b повинен бути більше початкового значення a і значення лічильника не повинне перевищувати 200, тобто всього провадиться не більше 200 ітерацій. У даному циклі провадиться обчислення чергового значення Xn, що зберігається в змінній b (06). Змінна b на кожному кроці циклу змінюється, причому нове значення даної змінної залежить від попереднього значення. Наприкінці циклу збільшуємо лічильник i на 1 у рядку 07.

Наприкінці методу виводимо отримане значення b у консольне вікно.

У методі main() викликається метод sqrt(45). Як параметр можна взяти довільне ціле число (45), що буде привласнено змінної a. (Пам'ятайте, виклик яких-небудь методів прямо з методу, що має модифікатор static, можливий тільки за умови, що викликуваний метод теж є статичним).

Практична частина. Завдання.

1. За допомогою циклу обчисліть значення виразу 2n.

2. Дано два дійсних числа. Необхідно одержати їхню суму, різницю й добуток. Результат вивести на консоль.

3. Визначити час вільного падіння матеріального тіла із заданої висоти h. Результат вивести на консоль.

4. Скласти програму для знаходження довжини катета прямокутного трикутника (b), якщо відомі довжини гіпотенузи (c) і катета (a). Результат вивести на консоль.

5. Одержати у викладача варіант завдання, скласти програму з використання операторів циклу.

1. y=2. y=3. y=

4. y=5. y=6. y=

7. y=8. y=9. y=

10. y=11. y=12. y=

13. y=14. y=15. y=

16. 1*1!+2*2!+3*3!+…+k*k!;

17. 1*3+2*5+…+n*(2n+1);

18. 12+22+32+…+n2;

19. 13+23+33+…+n3;

20. 1*2+2*3+3*4+…+n*(n+1);

21. 1*2+2*5+3*8+…+n*(3n-1);

22. 1+18+75+…+n*(2n-1)2;

23. 1+12+45+…+n2*(2n-1);

24. 2*2+3*5+…+(n+1)*(3n-1);