Cik stundu? Dots patvaļīgs datums un laiks. Noteikt cik pilnas stundas ir pagājušas līdz patreizējam brīdim. Patreizējo brīdi norāda ieejas datu failā, lai nevajadzētu lietot laika funkciju.
Lai veiktu šo uzdevumu es centos izprast , ko tieši uzdevums no manis prasa. Uzdevumā ir nepieciešams aprēķināt cik stundas ir pagājušas no viena datuma un laika līdz otram.
Lai aprēķinātu stundas starp datumiem vispirms ir jāaprēķina ci dienas ir pagājušas starp datumiem. Šādu aprēķinu varētu veikt pieskaitot mazākajam datumam vienu dienu tik ilgi, kamēr abi datumi būs vienādi. Šī daļa man sagādāja grūtības, jo katru mēnesi jau nav vienāds skaits dienu. Tādēļ nācās izveidot algoritmu, kas spētu skaitīt dienas pareizi, t.i. ievērojot mēnešus kurā ir 30 dienas , kā arī gadus kuros ir 28 un 29 februāris.
Vēl viena uzdevuma risināšanas metode varētu būt pārveidot abus datumus stundās kuras ir pagājušas no nulles robežas un beigās atņemt no lielākā stundu skaita mazāko stundu skaitu, tādejādi iegūstot cik stundu ir starpā. Šī metode man pārāk nepatika, jo būtu nepieciešams strādāt ar ļoti lieliem skaitļiem un šī metode strādātu daudz lēnāk nekā augstāk aprakstītā, tādēļ uzdevuma veikšanai es izmantoju pirmo metodi.
Kā jau es minēju algoritms skaita cik dienu ir no viena datuma līdz otram. Pēc tam šīs dienas sareizina ar 24 ( 1 diena = 14 stundas) iegūst dienu vietā stundas. Tālāk nepieciešams aprēķināt stundas kuras veidojas atkarībā no ievadītā laika ( piem. 18,45). Lai to izdarītu nepieciešams laiku pārvērst minūtēs (18*60+45=1125 min) un kopējo minūšu skaits kāds ir kopējā dienā ( 1 diena = 1440 min) jāatņem iegūtais (1140-1125 = 315 min). Šis ir laiks kāds ir palicis līdz pusnaktij. Lai aprēķinātu laiku līdz kuram skaitlim, jāveic vienkāršākas darbības. Piem laiks 10,20 – šajā gadījumā vienkārši jāpārveido laiks minūtēs un nekas nav jāatņem. Abus laikus saskaita un izdala ar 60, tādejādi iegūstot skaitli kura veselā daļa norāda stundas, bet cik aiz komata – atlikušās minūtes.
…