LABORATORIYA ISHI – 1
Mavzu: Algoritmlarni loyihalash. Algoritm korrekt va samaradorligini baholash. Kvadrat tenglama ildizlarini aniqlash algoritmi. Uchburchak yuzasi uchun Geron formulasi..
Ishdan maqsad: Algoritmlarni samaradorligini baholash. Kvadrart tenglama ildizlarini hisoblash hamda uchburchak yuzini hisoblashda Geron formulasidan foydalanish algoritmini ishlab chiqish.
Nazariy qism
Kvadrat tenglamaning ildizlarini topish vazifasi, boshqa ko'plab vazifalar singari, oson vazifadir. Uni qog’oz va qalam yordamida juda oson echish mumkin, ammo algoritmni to’gri tanlab dasturini tuzish va undan foydalanish orqali yechimni avtomatlashtirish mumkin. Ushbu laboratoriyada biz shunday dastur algoritmini ko’rib chiqamiz.
Bilamizki, ko’rinishidagi tenglama kvadrat tenglama deyiladi. Ushbu tenglamani yechishning bir necha usullari mavjud. Ammo biz, Diskriminantlar usulidan foydalanamiz. Chunki bu usul dasturlash uchun eng optimal usul hisoblanadi.
Diskriminant D harfi bilan belgilanadi. D= b2-4ac ekanligini esa, maktab kursidan bilamiz.
Diskriminant uchun bir nechta shartlar mavjud:
Agar D> 0 bo'lsa, unda tenglama 2 xil haqiqiy ildizga ega.
Agar D = 0 bo'lsa, unda yagona ildizga ega yoki, ikkala haqiqiy ildiz teng bo'ladi.
Agar D <0 bo'lsa, unda yechimga ega emas yoki, ikkala ildiz ham kompleks sonlardir.
Yechish algoritmi juda oddiy. Diskriminant hisoblanadi, agar u 0 dan katta yoki unga teng bo'lsa, u holda ildizlar quyidagi formula yordamida hisoblanadi:
yoki
Kvadrat tenglama ildizlarini topish algoritmining bloksxemasini quyida ko’rishimiz mumkin.
Yakunlash
Chiqarish: x1, x1
Chiqarish: “Tenglama ildizga ega emas”
D<0
D=b2-4ac
Kiritish: a,b,c
Boshlash
Yo’q ha
2.Geron formulasi yordamida uchburchak yuzini aniqlash
Uchburchak yuzini aniqlash uchun Geron formulasidan foydalanish eng optimal usuldir chunki Geron formulasi yordamida har qanday turdagi (to’g’ri burchakli, o’tmas burchakli o’tkir burchakli, teng yonli teng tomonli va h.k.z) uchburchakning yuzini aniqlash mumkin. Buning uchun uchberchakning 3 ta tomonlari uzunliklari berilishi zaruruiy va yetarli shartdir.
Geron formulasi ham bizga maktab dasturi geometriya kursida ma’lum:
Bu yerda p yarim perimeter ya’ni
Bu yerda ahamiyat qaratadigan yana bir jihat bor ya’ni dastur tuzish mobaynida berilgan yomonlar uchburchakni tashkil etishi yoki etmasligini aniqlash lozim. Uchburchak qoidalariga ko’ra berilgan shakl ucburchak bo’lishi uchun ixtiyoriy ikki tomon yig’indisi 3-tomondan kata bo’lishi kerak. dastur tuzish jarayonida shu shartni ham kiritib ketish kerak.
Laboratoriya topshiriqlari:
2. Koeffitsiyentlari a=2, b= -5, c=2 bo’lgan kvadrat tenglama ildizlari topilsin;
package com.company;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("a = ");
double a = scanner.nextDouble();
System.out.print("b = ");
double b = scanner.nextDouble();
System.out.print("c = ");
double c = scanner.nextDouble();
double d = Math.pow(b, 2) - 4 * a * c;
if (d > 0) {
double x1 = (-b - Math.sqrt(d)) / (2 * a);
double x2 = (-b + Math.sqrt(d)) / (2 * a);
System.out.println("x1 = " + x1);
System.out.println("x2 = " + x2);
} else if (d == 0) {
double x = (-b) / (2 * a);
System.out.println("x = " + x);
} else {
System.out.println("Tenglama ildizga ega emas");
}
}}
Tomonlari a=6, b=8, c=9 bo’lgan uchburchak yuzi topilsin.
package com.company;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("a = ");
double a = scanner.nextDouble();
System.out.print("b = ");
double b = scanner.nextDouble();
System.out.print("c = ");
double c = scanner.nextDouble();
if (a + b > c && a + c > b && b + c > a) {
double p = (a + b + c) / 2;
double s = Math.sqrt(p * (p - a) * (p - b) * (p - c));
System.out.println("S = " + s);
} else {
System.out.println("Bunday uchburchak mavjud emas");
}
}
}
Xulosa
Bu laboratoriya ishini bajarish davomida shart va siklga oid bilimlarimni yanada mustahkamladim. Kvadrat tenglamani ishlashda avval diskremenantni tekshiradi. Keyin d>0 bo’lsa tenglama ildizlarini tekshiradi. Aks holatda tenglama ildizi yo’q deb chiqarib beradi. Uchburchak yuzini Geron formulasi bo’yicha hisoblashda ikkita tomonini yig’indisi uchinchi tomondan kata bo’lishi tekshiriladi va yuzani hisoblab beradi.0>0>
Do'stlaringiz bilan baham: |