Ak bola podmienka splnená, tak polynóm nemá riešenie na danom intervale.
· Grafická podoba algoritmu
· Pseudo jazyk
Začiatok
vstup(a);
vstup(b);
i:= 0;
pre k od a po b opakuj
Začiatok
c:= k3 –4k2 +2k +3;
ak c = 0 potom
Začiatok
výpis(k);
i = i + 1;
Koniec
Koniec
ak i = 0 potom
výpis(Nemá riešenie);
Koniec
Program v jazyku C
#include
#include
#include
void main()
{
int a,b,k,i,f;
f=0,i=0;
clrscr();
printf("Zadajte dolnu hranicu intervalu:");
scanf("%d",&a);
printf("Zadajte hornu hranicu intervalu:");
scanf("%d",&b);
for(k=a;k<=b;k++)
{
f =(pow(k,3)-4*pow(k,2)+(2*k)+3);
if(f==0) printf("Riesenie je:%dn",k),i=i+1;
}
if (i==0)
{
printf("Rovnica nema na intervale riesenie!");
}
else printf("Koniec.");
getch();
}
Testovanie pomocou tabuľky
1 2 3 4 5
a 1 1 1 1 1 1
b 5 5 5 5 5 5
k - 1 2 3 4 5
c - 2 -1 0 11 38
i 0 0 0 1 1 1
Interval <1,5>.
Zhodnotenie
Tento program je vo svojej podstate veľmi jednoduchý. V plnej miere využíva cyklus so známym počtom opalovaní, preto že na začiatku načítame interval od do. V tele tohto cyklu využívam porovnávanie výsledku polynómu s konštantou 0. Keď sa polynóm rovná nule, to znamená, že má riešenie. Toto správne riešenie hneď vypíšem a následne použiem počítadlo na jeho zaznamenanie. Keď sa cyklus skončí porovnávam toto počítadlo s nulou a ak sa rovná nule, tak program vypíše hlásenie o neúspechu.
Tento program by sa dal ešte na začiatku ošetriť tým, že za vstupné premenné nemôžme dosadiť hodnoty nekonečno. Môhli by sme v tomto programe použiť aj iní typ cyklu, ale ten by už nebol taký efektívný ako tento.