Paskaidrojums un uzdevumi par kvadrātvienādojuma programmu

Vietne: E-izglītība
Kurss: Jauno datoriķu skola
Grāmata: Paskaidrojums un uzdevumi par kvadrātvienādojuma programmu
Drukājis: Vieslietotājs
Datums: ceturtdiena, 2024. gada 21. novembris, 22:02

Apraksts

Klasiskā kv-v-juma programma negari.

1. Par zināmā kvadrātvienādojuma atrisināšanu

Radošās komūnas licenceVisi Latvijas Universitātes Datorikas fakultātes Jauno datoriķu skolas materiāli ir licencēti. Autors Imants Gorbāns šo materiālu ir licencējis ar Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported licenci.


Kā atceraties no skolas matemātikas, kvadrātvienādojums ir šāda veida izteiksme:

a*x^2 + b*x + c = 0

Kvadrātvienādojumā ir zināmi a, b, c, bet jāaprēkina, pie kādiem x tad izpildīsies nosacījums "=0". Kvadrātvienādojuma saknes jeb atbildes aprēķina pēc skolā apgūtas formulas, ja b^2 -4*a*c >0:

x = (-b + (b^2 -4*a*c)^(1/2))/(2*a)

x = (-b - (b^2 -4*a*c)^(1/2))/(2*a)

Izteiksmes daļu, kas atrodas zem kvadrātsaknes, sauc par diskriminantu. Kā viegli ieraudzīt, ja diskriminants ir ">0", tad atrisinājums ir 2 x vērtības, un ja "=0", tad viena. Savukārt nebūtu labi aizmirst situāciju, kad diskriminants "<0", tad reālu atrisinājumu nav, jo no negatīva skaitļa šajā matemātikā kvadrātsakni izvilkt nevar. Šis paskaidrojums būtībā arī ir programmas algoritma vārdisks izklāsts.

Piemērā dotais programmas kods ir viens no īsākajiem iespējamajiem, bet tam ir trūkums - situācijās, kad atrisinājuma nav, tiek izvadīts būtībā kļūdas paziņojums, kas nav labais stils. Šajā piemērā kā sagatavē tā ir atstāts, lai pašu algoritma pamatideju maksimāli tīri paskaidrotu, bet uzlabot to vajadzētu.

2. Uzdevumi

1) Veiciet testēšanu - pārbaudiet, vai programma darbojas pareizi (decimālzīme ir punkts), varbūt to nepieciešams uzlabot.

2) Papildiniet programmu ar mainīgo ievada pārbaudi (vai netiek ievadīti ne-skaitļi).

3) Papildiniet programmu ar labāku rezultātu atgriešanu situācijās, kad nav atrisinājuma (paskaidrojums kļūdu paziņojumu "NaN" un"Infinity" vietā).

4) Papildiniet programmu ar sunīša krāsas maiņu atkarībā no datu ievada un izvada.