Clasa a V-a lecția 28 - 12 mar 2013
Anunț
Pentru cei ce v-ați calificat la olimpiadă și nu numai, vom organiza două concursuri săptămîna aceasta, în zilele de joi și vineri la ora 19:00. Vă propun să vă înscrieți cu toții la aceste concursuri. Este un moment bun să vă arătați valoarea, indiferent de rezultatele de la olimpiade. Dacă nu sînteți de la liceul Tudor Vianu, București, dar sînteți clasa a 5-a și vreți să vă măsurați forțele față de voi înșivă sau față de cei de la Vianu, vă propun să vă înscrieți. O mică competiție colegială nu are cum să dăuneze, nu? Vă puteți înscrie la concursuri aici:
- Concurs joi 14 martie, ora 19:00, clasa a 5-a înscrie-te aici
- Concurs vineri 15 martie, ora 19:00, clasa a 5-a înscrie-te aici
Tema - verificare
Am discutat soluțiile la problemele felinare (ONI 2008) și panglica (ONI 2002). Rezolvări aici [1]
Lecție
Manipularea orelor și minutelor pe ceas
Deși orele și minutele sînt doar numere, anumite exerciții pot pune probleme.
Problemă: se dau doi timpi, t1 și t2, specificați ca ore și minute. Astfel, vom avea la intrare o1, m1 și o2, m2. Cîte ore și minute se află între acești doi timpi? Atenție! Dacă t2 este înaintea lui t1 se consideră că am trecut într-o nouă zi. Exemplu: dacă t1 este 10:35 și t2 este 18:20 atunci vom afișa 07:45. Dacă t1 este 22:25 și t2 este 20:05 vom afișa 21:40.
La prima vedere acest exercițiu pare încîlcit. Va trebui să comparăm cei doi timpi. Dacă t1 este înaintea lui t2 atunci va trebui să comparăm cîte ore avem între o1 și o2. Dar și aceasta va depinde de relația dintre m1 și m2. Dacă t1 este după t2 lucrurile se complică și mai mult: trebuie să aflăm cîte ore și minute avem pîna la finalul zilei, apoi să aflăm cîte ore și minute avem de la începutul zilei pînă la t2, iar în final trebuie să le adunăm. Multe cazuri particulare. Cum facem să simplificăm lucrurile?
Regulă: pentru a nu ne încurca întotdeauna vom face conversia orelor la cea mai mică unitate de măsură, fie ea minut sau secundă. În final vom face conversia inversă, de la minute, la ore și minute.
În cazul problemei noastre, vom converti t1 și t2 la minute. Algoritmul este următorul:
1. calculează t1 = o1 * 24 + m1 2. calculează t2 = o2 * 24 + m2 3. calculează d = t2 - t1 4. dacă d < 0 atunci 4.1 calculează d = 24 * 60 - d 5. calculează o3 și t3 pe baza lui d, astfel: 5.1 o3 = d / 60 5.2 m3 = d % 60 6. afișează o3 și m3
Concluzie: în problemele în care avem nevoie să lucrăm cu ore, minute și secunde, este foarte important să transformăm timpul într-un singur număr exprimat în cea mai mică unitate de timp implicată. În exemplul de mai sus această unitate este minutul. Uneori s-ar putea să fie secunda. După transformare vom face calculele cerute de problemă. În final vom transforma înapoi în ore, minute, posibil secunde, dacă problema necesită acest lucru.
Probleme
Am discutat soluțiile la problemele case (ONI 2009) și ingerasi (ONI 2005). Rezolvări aici [2]
Tema
Lucrați în continuare din problemele rămase din listă. Încercați să scrieți singuri problemele despre care am vorbit astăzi la cerc, fără să vă uitați pe rezolvările publicate aici.
Unele rezolvări aici [3]