Finne klokkeslett etter antall timer (over 24)

Her kan du stille spørsmål om oppgaver i matematikk på ungdomsskole og barneskole nivå. Alle som føler at de kan bidra er velkommen til å svare.

Moderatorer: Vektormannen, espen180, Aleks855, Solar Plexsus, Gustav, Nebuchadnezzar, Janhaa

Svar
Gjest677676

Hei,

Ser på en programmeringsoppgave, å lage en "alarmklokke" - finn ut hva klokkeslettet er om 51 timer hvis klokka er 14 nå.. Tenker 14 + antall døgn - resterende timer, men visstnok verre å få det "programmert" (til å gjelde alle tilfeller), men prøvde:

tid = 14
timer = 51
alarm = (tid + timer)

while alarm > 23:
alarm -= 24

Og det fungerte, men når jeg byttet ut 51 med 324324342.., så ble prosessoren rimelig varm for å si det slik. Det må finnes en mer effektiv måte å regne ut dette på?
Aleks855
Rasch
Rasch
Innlegg: 6855
Registrert: 19/03-2011 15:19
Sted: Trondheim
Kontakt:

Det du trenger er det vi kaller modulo-regning, og du er allerede inne på det.

Si klokka er 14, og vi lurer på hva klokka er om 51 timer, som i oppgaven. Det vi er ute etter å finne, er hva resten er når vi tar 14+51 og deler resultatet på 24.

14 + 51 = 65

Så trekker vi fra 24 to ganger (altså 48) og står igjen med 17 som det endelige svaret.

Dette er det samme som å spørre "hva får vi i REST når vi utfører divisjonen 65 : 24?

Bilde

Som igjen betyr at $65 = 2\cdot 24 + 17$. Ser du hvordan dette henger sammen? 65 timer = 2 dager + 17 timer.

Så en løsning (i Python siden det er det du tilsynelatende bruker) kan være:

Kode: Velg alt

tid = 14
timer = 51
sum = (tid + timer)

klokkeslett_slutt = sum % 24
der $\%$ er modulus-operatoren.

Test kodesnutten her: https://www.online-python.com/i3ZtJCjqxb (trykk "Run" under kode-området.

Erstatt nå 51 med 324324342, så skal den fremdeles klare å regne det ut uten at prosessoren din blir spesielt varm ;)
Bilde
Gjest677676

Åja! Takk for at du tok deg tid til en så bra forklaring :D
Aleks855
Rasch
Rasch
Innlegg: 6855
Registrert: 19/03-2011 15:19
Sted: Trondheim
Kontakt:

Bare hyggelig! Morsomt å høre at dere har starta med koding.
Bilde
Svar