uitwerkingen 1 - 22

8
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

Transcript of uitwerkingen 1 - 22

Page 1: uitwerkingen 1 - 22

Uitwerkingen Struktograaf  jvd 21­05­07  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

Page 2: uitwerkingen 1 - 22

Uitwerkingen Struktograaf  jvd 21­05­07  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

Page 3: uitwerkingen 1 - 22

Uitwerkingen Struktograaf  jvd 21­05­07  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 

® < < < 

® > > < 

® < < < 

® > >

Page 4: uitwerkingen 1 - 22

Uitwerkingen Struktograaf  jvd 21­05­07  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

Page 5: uitwerkingen 1 - 22

Uitwerkingen Struktograaf  jvd 21­05­07  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!"

Page 6: uitwerkingen 1 - 22

Uitwerkingen Struktograaf  jvd 21­05­07  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.}

Page 7: uitwerkingen 1 - 22

Uitwerkingen Struktograaf  jvd 21­05­07  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"

Page 8: uitwerkingen 1 - 22

Uitwerkingen Struktograaf  jvd 21­05­07  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!}