Razmisljas suvise "neprirodno". Shvati ovo kao dobronamernu kritiku, ja nemam nista od toga da ti ne naucis da programiras kao profesionalac.
Ako opet pogledas svoj algoritam, on se sastoji iz tri dela:
Code:
1. deo:
- proveri da li je broj manji od 21
- ako je manji onda ispisi da je ispod ranga
- ako nije, bas me briga
2. deo
- proveri da li je broj veci od 29
- ako je veci onda ispisi da je iznad ranga
- ako nije, opet bas me briga
pitanje: sta ako je ispunjen uslov iz prvog dela (da je broj manji od 21), sto sad da dzaba proveravas da je veci od 29
kad znas da nije - bezveze trosis procesorsko vreme; hocu da kazem, da ti u ovaj deo treba da udjes ako si dobio
da je iskaz iz prvog [b]IF[/b]-a netacan (tj da broj nije manji od 21 - tek onda valja proveravati da li je veci od 29)
3, deo
- pitas da li je broj manji od 21 ili veci od 29 (ali sto? to si vec pitao u prva dva dela)
- ako je to tacno ispisi poruku da nije u intervalu (opet sto? u prva dva dela si obezbedio da prikaze odgovarajuce poruke ako je to tacno)
- ako nije tacno onda ispisi poruku da je u intervalu (e ovo je jedino sto ti treba od svega iz 3. dela - da ispises informaciju da je broj u intervalu)
pitanje: slicno kao za 2. deo - ako je bar jedan od uslova iz 1. i 2. dela ispunjen ti dzabe ulazis ovde (naime, ako je tacno 1. ili 2. onda je broj ili
manji 21 ili veci od 29 tako da u ovaj deo koda bespotrebno ulazis)
Evo ti zadatak:
Ti si u skoli, prvi cas je cas fizickog vaspitanja. Stizes u skolu, ukapiras da treba da ides na fizicko i kazes u sebi: "Ma ko shisha fizicko, gde da ga radim na
ovakvoj hladnoci". Krenes u ucionicu da prespavas taj cas, ali avaj, u'vati te profesor i kaze: "Biraj - ili da ti upisem jedinicu ili da mi resis zadatak". Ti mislis:
"bolje da resavam zadatak, u suprotnom dobijam keca ko vrata, onog betonskog. Ako ne resim, bar sam pokusao".
I profesor ti napise tri broja na tabli i kaze:
"Reci mi, da li je treci broj iznad, ispod ili u intervalu kojeg cine prva dva broja?"
Sigurno mu neces pisati Pascal kod na tabli, vec ces logicki resiti zadatak. E to je ono sto ti treba: nacin na koji si resio zadatak "usmeno" kod profesora sad treba samo da
pretvoris u kod - redom kako si mislio i dosao do resenja.
Evo kako si mogao to mnogo elegantnije da resis:
Code:
if (broj1 < 21) then //proveravamo da li je broj ispod intervala
writeLn("Broj je ispod intervala) //ispisujemo odgovarajucu poruku ako jeste
else //ako nije onda znamo da je veci pa treba da proverimo da li je iznad
if (broj1 > 29) then //proveravamo da li je iznad intervala
writeLn("Broj je iznad intervala) //ispisujemo odgovarajucu poruku ako jeste
else //ako nije onda mora biti u intervalu
writeLn("Broj je u intervalu); //(nije iznad, a nije ni ispod, nema treceg)
Samo nastavi da vezbas, i za mesec dana ces se smejati ovome