Vi gjenopplevde kap. 7.5 om 2D-tabeller, dvelte ved ReDim (r,s) der Preserve er greit hvis det kun er endring av siste dimensjon (antall kolonner). Mønsteret for 2D-traversering ble brukt i gruppearbeidene (s. 384, #1 til 5):
For i = 0 to a.GetUpperBound(0)
For j = 0 to a.GetUpperBound(1)
' gjør noe med a(i,j)
Next
Next
9 av 10 programmeringsmiljø har potensfunksjon. Mangler vi (mot all formodning) funksjonen potens(x,n) lager vi den ITERATIVT (trenger "n" antall multiplikasjoner)
fun potens (x, n) as integer
produkt = 1
for i = 1 to n
produkt *= x
next
return produkt
end fun
eller REKURSIVT (hvert kall halverer antall multiplikasjoner):
fun potens (x, n) as integer
if n = 1 then
return x
end if
if isPartall (n) then
r = potens (x, n/2)
return r*r
else
r = potens (x, (n-1) / 2)
return r * r * x
end if
end fun
Ingen kommentarer:
Legg inn en kommentar