Toppluesatan Skrevet 25. oktober 2007 Del Skrevet 25. oktober 2007 (endret) Hei. Jeg går på skole og har fått en oppgave, løst 1/2 strever litt med oppgave 2. Oppgave 1 er som følger: På bankenes nettsteder kan du bruke lånekalkulator der du kan regne ut hvor mye du må betale i måneden når du låner en viss sum, til en bestemt rente og hvor mange år du skal betale ned gjelda. VB har en innebygd funksjon som heter PMT. PMT har tre parametere: rentefot, antall avdrag og lånebeløp. Eksempel: Lånebeløp: 100 000 kr Rentefot: 8,5 % per år Avdragstid: 10 år Avdrag = pmt(8,5/12/100, 10*12, 100 000) Svaret som kommer ut er negativt, men gang med –1, så får du et positivt svar. La brukeren skrive inn lånebeløp, rentefot og avdragstid. Skriv ut hvor mye avdragene blir. Den løste jeg som følger: 'Dimensjonerer variabler som integer:heltall og Double:med komma Dim lånebeløp as integer Dim Rentefot as double Dim Avdragstid as integer Dim svar as double 'Leser inn verdiene fra tekstboksene til variablene 'Val gjør om teksten til tall Lånebeløp = Val(txtLånebeløp.text) Rentefot = Val(txtRentefor.text) Avdragstid = Val(txtAvdragstid.text) Svar =Val(txtSvar.text) 'Beregner svaret Svar = Pmt(Rentefot /12 /100, Avdragstid * 12, -lånebeløp) 'Legger ut i txtSvar (str gjør om tallet til text) txtSvar.text = Str(svar) Min neste oppgave er: I mange situasjoner så lurer kundene på om de vil komme til å klare en renteøkning eller hvor mye de sparer hvis renta går ned. Bygg videre på programmet fra a) og lag et program der som skrive ut hvor store avdragene blir når renta synker eller stiger med 2,5 %. Intervallene skal være på 0,5%. Eksempel: Brukeren skriver inn en rente på 7 %. Programmet skal da regne ut verdiene fra 4,5% og til 7% + 2,5% = 9,5 %. Tips: Do – loop (do while loop) Jeg trenger hjelp eller en link til hjelp. takk på forhånd Endret 25. oktober 2007 av Toppluesatan Lenke til kommentar
Degeim Skrevet 25. oktober 2007 Del Skrevet 25. oktober 2007 (endret) Om jeg forstod deg riktig har du problemer med loopinga? I så fall: 'Vi skal regne fra 2.5% under Rentefot til 2.5% over, så vi starter 'på Rentefot-2.5, 'og looper til Rente = Rentefot + 2.5. Dim Rente as double = Rentefot-2.5 'Loopen... Do While Rente<Rentefot + 2.5 'Kalkuler og skriv avdraget for renta her (du bruker i desse 'utregningene variabelen 'Rente i stedet for Rentefot. 'Svar = Pmt(Rente /12 /100, Avdragstid * 12, -lånebeløp) '(jeg viser eksempelet her; du må selv legge det til i en 'textbox/listbox/hva du nå bruker. 'Nå gjør vi slik at Rente øker med 0.5, slik at vi neste gang 'regner ut avdragene for en eventuell rente som er et halvt 'prosentpoeng større enn denne. Rente += 0.5 Loop Selv ville jeg brukt en for-loop med Step 0.5, men det ser ut til at dere driver og lærer om Do-loop nå. Degeim Endret 25. oktober 2007 av Degeim Lenke til kommentar
Manfred Skrevet 25. oktober 2007 Del Skrevet 25. oktober 2007 Jeg har aldri helt skjønt hvorfor alle skoler tviholder så på å bruke do-while. Jeg mener personlig at det er den mest ubruklige løkketypen. Jeg har vel ca aldri fått bruk for den i jobbsammenheng. Lenke til kommentar
Toppluesatan Skrevet 25. oktober 2007 Forfatter Del Skrevet 25. oktober 2007 Jeg har aldri helt skjønt hvorfor alle skoler tviholder så på å bruke do-while. Jeg mener personlig at det er den mest ubruklige løkketypen. Jeg har vel ca aldri fått bruk for den i jobbsammenheng. Vi trenger ikke nødvendigvis bruke Do-loop. det var bare ett tips. Så hvis dere har en "bedre" måte å løse den på så tar jeg gjerne imot forslag. Uansett, takk for hjelpen Lenke til kommentar
GeirGrusom Skrevet 25. oktober 2007 Del Skrevet 25. oktober 2007 Manfred tenkte på Do (...) While True f.eks. Framfor While True (...) End While (eller Wend i VB6) I C/C++ og C# har man "do { } while(true)" men den brukes ALDRI siden de fleste skriver bare "while(true) { }" I denn oppgaven ville jeg brukt en for løkke Dim rente As Double For rente = 0.5 To 10.0 Step 0.5 Next Dette vil øke rente variabelen med 0.5 helt til den når 10 Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå