uitwerkingen 1 - 22
Transcript of uitwerkingen 1 - 22
Uitwerkingen Struktograaf jvd 210507 1
Uitwerking opgaven lesbrief Struktograaf
{opgave 1}
schrijf "Voer drie getallen in"
lees getal1, getal2, getal3
gemiddelde :=(getal1+getal2+getal3)/3
schrijf "Het gemiddelde is: ", gemiddelde
{opgave 2}
schrijf "Geef achtereenvolgens de breedte en "
schrijf "hoogte van de balk, en daarna de lengte"
schrijf "die de balk uitsteekt."
lees breedte, hoogte, lengte
gewicht:=(19*breedte*hoogte*hoogte)/lengte
schrijf "Het maximale gewicht dat deze balk "
schrijf "kan dragen is: ", gewicht
{opgave 3}
i:=1
som:=0
ZOLANG i<=100
som:=som+i*i
i:=i+1
schrijf "De som van de eerste 100 kwadraten is;", som
Uitwerkingen Struktograaf jvd 210507 2
{opgave 4}
schrijf "voer twee getallen in"
lees a,b
a<b?
JA
som:=a+2*b
NEE
som:=b+2*a
schrijf "De som van het kleinste getal en "
schrijf "het dubbele van het grootste is: ", som
{opgave 6}
schrijf "Voer een getal in"
i:=1
lees n
produkt := 1
ZOLANG i<=n
produkt:=produkt * i
i:=i+1
schrijf "Het produkt van de getallen 1 tot en met ",n
schrijf "is gelijk aan: ", produkt
{opgave 7}
schrijf "Voer twee getallen kleiner dan 1000 in,"
schrijf "het eerste kleiner dan het tweede."
lees a,b
i:=1
ZOLANG i<=100
kwadraat:= i * i
kwadraat > a
JA
kwadraat < b
JA
schrijf kwadraat
NEE
NEE
i := i + 1
Uitwerkingen Struktograaf jvd 210507 3
8)
Regel X Y X<6 x>4 commentaar 1,2,3,4 1 2 True Nee 5 1 3 6 3 3 Terug naar regel 3 3,4 3 3 True Nee 5 3 6 6 5 6 Terug naar regel 3 3 5 6 True Ja 6 7 6 Terug naar regel 3 3 7 6 False Naar regel 7 7 7 6 Afdrukken: 7 6
Dus op het scherm komt: 7 6
9a)Regel Aantal Invoer
getal Invoergetal>10 Invoergetal>6 commentaar
1,2,3 0 13 True 4 0 8 5 1 8 Terug naar regel 3 3 1 8 False Door naar regel 6 6 1 8 Nee 7b 4 8 8 4 8 Afdrukken: 8
Dus op het scherm komt: 8
9b)Regel Aantal Invoer
getal Invoergetal>10 Invoergetal>6 commentaar
1,2,3 0 20 True 4 0 15 5 1 15 Terug naar regel 3 3 1 15 True 4 1 10 5 2 10 Terug naar regel 3 3 2 10 False Door naar regel 6 6 2 10 Ja 7a 2 10 Afdrukken: 10 8 3 10 9 3 10 Afdrukken: 3
Dus op het scherm komt: 10 3
10) Als we van drie getallen de kleinsten moeten hebben, hebben we een herhaalde keuze nodig, bijvoorbeeld volgens onderstaand schema:
, :
,
, :
,
ja a b c dus a en b ja b c
nee b c en b a dus a en c a b
ja b a c dus a en b nee a c
nee a b en a c dus b en c
® < < <
® > > <
® < < <
® > >
Uitwerkingen Struktograaf jvd 210507 4
Een andere mogelijkheid is:
{opgave 10, alternatief}
schrijf "Voer drie getallen in"
lees a,b,c
a<b
JA
b<c
JA
som:=a*a+b*b
NEE
som:=a*a+c*c
NEE
a<c
JA
som:=a*a+b*b
NEE
som:=b*b+c*c
schrijf "De som van de kwadraten van de kleinste twee"
schrijf "getallen is: ",som
{opgave 11}
schrijf "Geef het beginkapitaal"
lees kapitaal
schrijf "Hoeveel procent rente krijg je?"
lees rente
schrijf "In welk jaar beginnen?"
lees beginjaar
i:=0
schrijf "jaar kapitaal"
ZOLANG i<=20
kapitaal:=kapitaal*(1+rente/100) {bij bv 5% rente moet je met 1.05 vermenig- vuldigen om de nieuwe waarde te krijgen}
schrijf beginjaar+i," ", kapitaal {de tussengevoegde spaties voorkomen dat de getallen 'aan elkaar geplakt' worden}
i:=i+1
{opgave 10}
schrijf "Voer drie getallen in"
lees a,b,c
a<b
JA
kleinste1:=a
b<c
JA
kleinste2:=b
NEE
kleinste2:=c
NEE
kleinste1:=b
a<c
JA
kleinste2:=a
NEE
kleinste2:=c
som:=kleinste1*kleinste1 + kleinste2*kleinste2
schrijf "De som van de kwadraten van de kleinste twee"
schrijf "getallen is: ",som
Uitwerkingen Struktograaf jvd 210507 5
{opgave 12}
schrijf "Wat is de prijs van het artikel?"
lees prijs
prijs >150
JA
prijs:=prijs *1.19
NEE
prijs<55
JA
prijs:=prijs*1.11
NEE
prijs:=prijs*1.16
schrijf "De nieuwe prijs wordt: ", prijs
{opgave 13}
kapitaal := 100000
n:=0
rente:=4 {door het rentepercentage als een variabele in te voeren is het later makkelijk te veranderen!}
ZOLANG kapitaal*(1+rente/100)>=5000 {als kapitaal+rente in komend jaar nog boven 5000 komt, is er nog geld genoeg}
kapitaal:=kapitaal*(1+rente/100)-5000 {rente erbij geteld, opname eraf}
n:=n+1
n>50
JA
schrijf "Dit kan je doen ", "tot aan je pensioen."
NEE
schrijf "Dit kan je ",n," jaar doen"
{opgave 14}
schrijf "Geef het aantal gescoorde punten"
lees score
score>=0 en score<=99
JA
prijs:=500+score*3
score>46
JA
prijs:=prijs+(score-46)*2
NEE
schrijf "Het prijzengeld is ", prijs, " euro" {let op het gebruik van spaties!!}
NEE
schrijf "Deze score is niet mogelijk!"
Uitwerkingen Struktograaf jvd 210507 6
{opgave 15}
schrijf "Geef achtereenvolgens de lengte, de breedte en de hoogte"
lees lengte, breedte, hoogte
breedte>=10 en lengte>=15
JA
lengte+breedte+hoogte<=120 en lengte<=70
JA
schrijf "Het pakket heeft toegestane maten"
NEE
schrijf "Het pakket is te groot"
NEE
schrijf "Het pakket is te klein"
{opgave 16}
{Er moet steeds een groepje van (10+1) opdrachten herhaald worden. Vandaar een herhaling in een herhaling.}
i:=0 {teller voor het aantal groepjes}
j:=1 {teller voor opdrachten binnen een groepje}
schrijf "getal kwadraat" {kolomtitels}
ZOLANG i<=190 {20 groepjesvan 10 berekeningen,begin bij 0}
ZOLANG j<=10
schrijf i+j, " ",(i+j)*(i+j) {spaties tussenvoegen!}
j:=j+1
schrijf "" {de lege regel na 10 regels van de tabel}
j:=1 {teller binnen het groepje weer beginwaarde geven}
i:=i+10 {na het groepje van 10+1 opdrachten wordt aan het volgende groepje begonnen.}
Uitwerkingen Struktograaf jvd 210507 7
{opgave 17}
{Vanwege onderhoud of wijzigingen aan het programma is het verstandig om in de code van het programma zo weinig mogelijk constanten (vaste getallen) op te nemen. Vandaar dat de waarden voor de kapitalen en de rentes apart worden opgegeven in de eerste regels. Als je dezelfde vraag voor een ander kapitaal wil oplossen hoef je alleen in de eerste regel dat kapitaal te veranderen!)
kapitaal1:=2000
rente1:=7
kapitaal2:=3000
rente2:=5
n:=0
ZOLANG kapitaal1<kapitaal2
kapitaal1:=kapitaal1*(1+rente1/100)
kapitaal2:=kapitaal2*(1+rente2/100)
n:=n+1
schrijf "Na ",n, " jaar is het eerste kapitaal groter"
schrijf "dan het tweede."
{opgave 18}
kapitaal:=100000
schrijf "Geef het op te nemen bedrag"
lees bedrag
schrijf "Wat is het rentepercentage?"
lees rente
n:=0
jaar:=2002
schrijf "jaar waarde kapitaal"
ZOLANG kapitaal*(1+rente/100)>=bedrag en n<=51
kapitaal:=kapitaal*(1+rente/100)-bedrag
schrijf jaar+n, " ",INT(kapitaal)
n:=n+1
n>50
JA
schrijf "Dit kun je dus ", "doen tot aan je pensioen"
NEE
schrijf "Dit kan je dus ", n, " jaar doen"
Uitwerkingen Struktograaf jvd 210507 8
{opgave 19}
schrijf "Geef een geheel getal"
lees getal
hulpwaarde := INT(getal/10)
cijfer:=getal-10*hulpwaarde
schrijf "Het laatste cijfer is: ",cijfer
{opgave 20}
schrijf "Geef een geheel getal"
lees getal
hulpwaarde := INT(getal/100)
cijfers:=getal-100*hulpwaarde
cijfers=0
JA
schrijf "De laatste twee ", "cijfers zijn 00"
NEE
schrijf "De laatste twee", "cijfers zijn: ", cijfers
{opgave 21}
voor i:=1 tm 10
dobbelsteen(i):=1+INT(6*random)
schrijf "worp ", i, ": ",dobbelsteen(i)
{opgave 22}
schrijf "aantal gemiddeld aantal ogen"
aantal:=10
som:=0
ZOLANG aantal<=100
voor i:=1 tm aantal
ogen:=1+INT(6*random) {werpen}
som:=som+ogen {totaal aantal ogen}
gemiddelde:=som/aantal
schrijf aantal, " ", gemiddelde
aantal:=aantal+10
som:=0 {anders wordt het vorige totaal onthouden!}