[ needhelp2015 @ 19.09.2015. 11:52 ] @
Pozdrav, dobri ljudi! Opet ja. Ako može neko, onako kao idiotu, da objasni šta se ovde dešava, korak po korak... Program ispisuje kako i treba, nego hoću taj deo koraka da razumem, bez da nabubam napamet. Hvala

Eh da tekst zadatka, avion je uzleteo u x sati, y minuta, z sekundi, i u letu proveo q sekundi. Zadatak je odrediti vreme prizemljenja aviona u satima, minutima i sekundama



Kad unesete podatke Vreme uzletanja: 3 47 32
Duzina leta u sekundama: 345678
Izbaciće 16 sati 28 minuta 50 sekundi

Znam, jer je iz zbirke prepisan i kod i sve...
Evo i čitavog koda, ako je neophodan


program prizemljenje_aviona;
var x,y,z,q,satPriz,minPriz,secPriz: longint;
begin
writeln('Unesi sat, minut i sekund uzletanja aviona ');
readln(x,y,z);
write('Duzina leta u sekundama ');
readln(q);
secPriz:=z+q;
minPriz:=y+secPriz div 60;
secPriz:=secPriz mod 60;
satPriz:=x+minPriz div 60;
minPriz:=minPriz mod 60;
satPriz:=satPriz mod 24;

writeln('Vreme prizemljenja aviona u satima, minutima, i sekundama je ');
writeln(satPriz,' sati ',minPriz,' minuta ',secPriz,' sekundi ');
readln
end.

[ Milan Milosevic @ 19.09.2015. 14:03 ] @
div je deljenje celobrojnih tj. uvek vreca celobrojno resenje
mod daje ostatak deljenja npr imas 25 sati
25 mod 24 vraca 1 tj. imas jedan sat preko broja deljivog sa 24

Dakle, ako predpostavis da ti je avion poleteo u recimo 2h 30 min i 59 s
i neka je leteo samo 2s imas da je sleteo u 2h 31min i 1s
prvi deo bi bio
secPriz:=z+q; 59s+2s = 61s
da bi odredio minute ti na 30min dodajes vrednost minuta od 61s a to je jedan minut. odatle
y+secPriz div 60;
dok sekunde odredujes tako sto od 61 trazis mod 60 jer ima 60 s u 1 min.
ostalo ista logika

[Ovu poruku je menjao Milan Milosevic dana 19.09.2015. u 15:21 GMT+1]
[ needhelp2015 @ 20.09.2015. 05:08 ] @
Razumela!




Mnogo hvala!