Article View: be.comp.programming
Article #16320Re: Oefening op de geneste lus met oplossing!
From: Ludo Joris
Date: Tue, 09 May 2000 00:00
Date: Tue, 09 May 2000 00:00
128 lines
4890 bytes
4890 bytes
On Sat, 6 May 2000 20:00:09 +0200, "Marc Vandenbussche"
<marc.vandenbussche@euronet.be> wrote:
>Beste,
>
>Het moet kunnen dat we niet alleen vragen stellen maar ook eens een
>volledige oefening (Hier in VB6 Professional) met code ter beschikking
>stellen van ge�nteresseerden.
>
>1.Wat doet dit programma ?
>
>Een klein programma berekent tussen 1 januari 1904 en 2009 het aantal
>schrikkeldagen. De schrikkeldagen in de laatste eeuwen zijn de jaartallen
>deelbaar door 4. De eeuwtallen moeten deelbaar door 400 zijn.
>
>Jaartallen deelbaar door 4 : 1904, 1908, 1912, 1916 enz...
>Eeuw deelbaar door 400 : 2000
>Eeuw niet deelbaar door 400 : 1900
>
>[In bijlage - als attachment - vind u een Word 97 document. Tevens in
>bijlage
>hebt u het programma zelf.] Tijdelijk krijg ik mijn mail met bijlagen niet
>doorgestuurd. Daar ik ge�nteresseerden niet langer wil laten wachten stuur
>ik deze mail door.
>
>De bedoeling is dat u deze oefening zelf na maakt maar dan niet van 1
>janurai 1904 tot 2004 maar van 1 janurari 1800 tot 2100. Denk hierbij goed
>aan de theorie van de schrikkeldagen.
>
>2) In welke programmeertalen?
>
>Deze oefening kan zowel in Visual Basic for Applications als in Visual Basic
>gemaakt worden. Ook in tal van andere programmeertalen kan je deze oefening
>maken. Slechts in VBA en VB zal de code identiek zijn.
>
>3) De code
>
>Vba\oplossing schrikkeldagenberekening
>Public Vi_Jaaraankoop As Integer
>Public Vi_Verkoopjaar As Integer
>Public Vi_Schrikkeldag As Integer
>Public Vd_Verkoopdatum As Date
>Public Vd_Aankoopdatum As Date
>' De berekening schijnt ook na controle correct !
>Private Sub Cmd_Berekenen_Click()
> Vd_Aankoopdatum = CDate(TextBox1.Value)
> Vd_Verkoopdatum = CDate(TextBox2.Value)
> Vi_Jaaraankoop = CInt(Year(Vd_Aankoopdatum))
> Vi_Verkoopjaar = CInt(Year(Vd_Verkoopdatum))
>Txt_Resultaat.Value = Vd_Verkoopdatum - Vd_Aankoopdatum
> Call Schrikkeldagenberekening
> Txt_Aantalschikkeldagen.Value = Vi_Schrikkeldag
> Txt_Totaaldagen = Txt_Resultaat.Value
>End Sub
>Sub Schrikkeldagenberekening()
>' Berekening van het totale aantal schikkeldagen die zich tussen
>' 2 datums bevinden.
>
>Dim Vi_Schrikkeljaar As Integer
> Vi_Schrikkeldag = 0
> Vi_Schrikkeljaar = 1904
>For Vi_Schrikkeljaar = 1904 To 2010
>If (Vi_Jaaraankoop = Vi_Schrikkeljaar And Month(Vd_Aankoopdatum) <= 2 And
>Vi_Schrikkeldag <> 0) And _
> (Vi_Schrikkeljaar < Vi_Verkoopjaar Or (Vi_Schrikkeljaar = Vi_Verkoopjaar
>And Month(Vd_Verkoopdatum) > 2)) Then
> Vi_Schrikkeldag = Vi_Schrikkeldag + 1
> 'Vi_Schrikkeljaar = Vi_Schrikkeljaar + 3
>End If
>
>If (Vi_Jaaraankoop < Vi_Schrikkeljaar And Vi_Schrikkeldag > 0) And _
>(Vi_Schrikkeljaar < Vi_Verkoopjaar Or (Vi_Schrikkeljaar = Vi_Verkoopjaar And
>Month(Vd_Verkoopdatum) > 2)) Then
> Vi_Schrikkeldag = Vi_Schrikkeldag + 1
> 'Vi_Schrikkeljaar = Vi_Schrikkeljaar + 3
>End If
>
>If (Vi_Jaaraankoop = Vi_Schrikkeljaar And Month(Vd_Aankoopdatum) <= 2 And
>Vi_Schrikkeldag = 0) And _
> (Vi_Schrikkeljaar < Vi_Verkoopjaar Or (Vi_Schrikkeljaar = Vi_Verkoopjaar
>And Month(Vd_Verkoopdatum) > 2)) Then
> Vi_Schrikkeldag = Vi_Schrikkeldag + 1
> 'Vi_Schrikkeljaar = Vi_Schrikkeljaar + 3
>End If
>
>If (Vi_Jaaraankoop < Vi_Schrikkeljaar And Vi_Schrikkeldag = 0) And _
>(Vi_Schrikkeljaar < Vi_Verkoopjaar Or (Vi_Schrikkeljaar = Vi_Verkoopjaar And
>Month(Vd_Verkoopdatum) > 2)) Then
> Vi_Schrikkeldag = Vi_Schrikkeldag + 1
> 'Vi_Schrikkeljaar = Vi_Schrikkeljaar + 3
>End If
> Vi_Schrikkeljaar = Vi_Schrikkeljaar + 3
>Next Vi_Schrikkeljaar
>
>End Sub
>
>
>
>Indien iets niet volledig duidelijk is mag u mailen naar onderstaand adres.
>Geen attachments toevoegen anders wordt uw bestand onmiddellijk gewist nog
>voor ik ze open. Dit adres mag niet gebruikt worden voor SPAM !!!
>
>marc.vandenbusschexNOSPAM@euronet.be
>
>
>
>
>
>
>
>
Het aantal schrikkeldagen tussen 1800 en 2100.
Private Sub Command1_Click()
Dim jaar As Integer
Dim aantal As Integer
For jaar = 1800 To 2100
aantal = aantal + Day(DateSerial(jaar, 3, 1 - 1)) - 28
Next
Text1 = aantal
End Sub
HTH
Technical Details
Message-ID:
<39180f64.21957744@news.ruca.ua.ac.be>Path:
arc1-ca.pugleaf.net!unknown!not-for-mailReferences:
<8f3584$dnl$1@buty.wanadoo.nl>Show Full Headers
Complete Article Headers
X-Google-Language: DUTCH,ASCII X-Google-Thread: fcea4,1c4738e54ab8118b X-Google-Attributes: gidfcea4,public From: lujo@ruca.ua.ac.be (Ludo Joris) Subject: Re: Oefening op de geneste lus met oplossing! Date: 2000/05/09 Message-ID: <39180f64.21957744@news.ruca.ua.ac.be> X-Deja-AN: 621103031 Content-Transfer-Encoding: 8bit References: <8f3584$dnl$1@buty.wanadoo.nl> Content-Type: text/plain; charset=iso-8859-1 X-Complaints-To: abuse@belnet.be X-Trace: naxos.belnet.be 957878407 29312 143.129.201.210 (9 May 2000 13:20:07 GMT) Organization: UA-Ruca Mime-Version: 1.0 NNTP-Posting-Date: 9 May 2000 13:20:07 GMT Newsgroups: be.comp.programming