Functie schrijven voor het vinden van een weeknummer

Opgaven en tips voor programmeerwedstrijden.

Functie schrijven voor het vinden van een weeknummer

Berichtdoor Gordon » ma mei 28, 2007 2:35 pm

Schrijf in Liberty BASIC (of Just BASIC) een functie
waarmee een willekeurige dag ingevoerd wordt en waarna van
die dag het week nummer van dat jaar wordt getoond.

P.s. Op dit forum staan hints.

Gordon.
Avatar gebruiker
Gordon
Site Admin
 
Berichten: 684
Geregistreerd: zo mei 22, 2005 12:50 am

Berichtdoor Abcott » ma mei 28, 2007 4:47 pm

Weet je wel zeker dat dit eenvoudig is?
Er bestaat zo iets als een ISO jaar.
Daarbij bestaat een LEAP year uit 53 weken.

Moeten we daar rekening meehouden?

Abcott
Avatar gebruiker
Abcott
 
Berichten: 115
Geregistreerd: wo mei 25, 2005 9:58 pm

Berichtdoor Abcott » ma mei 28, 2007 6:24 pm

Oké, ik heb twee functies gemaakt van de listing
die ik op de bekende sites aangetroffen heb.
Flauw hè.

Eerst de code van Gordon
Code: Selecteer alles
dag$ ="05/28/2007"

print weekno(dag$)
print dag$
wait

function weekno(dag$)
weekno = int(((val(date$(dag$))-((val(right$(dag$,4))-1901)*365.25))/7)+.5)+1
end function

Deze code van Gordon bezat een fout.
Bij de formule van Gordon moet nog +1 bijgeteld worden.


Nu de code van Harmonv

Code: Selecteer alles
dag$ ="05/28/2007"

print week(dag$)

wait
function week(dag$)
 yr$ = Right$(Date$(),4)
 yrday = Date$(dag$) - Date$("01/01/"+yr$) + 1
 wkday = (Date$(dag$) + 2) mod 7
 week = int((yrday + 7 - wkday) / 7)
end function



Deze code werkt niet in JB of LB v3 omdat daar de mod functie
ontbreekt.

Abcott
Avatar gebruiker
Abcott
 
Berichten: 115
Geregistreerd: wo mei 25, 2005 9:58 pm


Keer terug naar Uitdagingen en wedstrijden

Wie is er online

Gebruikers op dit forum: Geen geregistreerde gebruikers. en 1 gast

cron