| af Martin Elsman og Niels Hallenberg | sidst rettet 15. februar, 2002 |
Udover løkker øver opgaverne også procedurer.
Opgaverne bygger på hinanden, ofte med kun ganske små ændringer fra den ene opgave til den næste. Det kan altså betale sig at løse dem fra en ende af.
Skriv hver opgave i en fil, den første fil navngivet
pyra0.tcl, og indlæs dem i Tcl-fortolkeren med kommandoen
source.
Der udleveres ikke vejledende løsninger til disse opgaver, men du kan rådføre dig hos din hjælpelærer, hvis du er i tvivl om hvorledes nogle af opgaverne løses.
Der skal være fem linier, med henholdsvis 1, 3, 5, 7 og 9 stjerner på.* *** ***** ******* *********
*
***
*****
*******
*********
Der skal være fem linier, med henholdsvis 1, 3, 5, 7 og 9 stjerner på.
pyramide {c
n}, der udskriver en pyramide, men bruger tegnet c
i stedet for stjerne. Kaldes procedureren med pyramide "$" 4
skal der altså udskrives:
$ $$$ $$$$$ $$$$$$$
pyramide tekst
n der udskriver en pyramide, idet den bruger tegnene fra
tegnstrengen tekst fra en ende af, i stedet for at bruge
det samme tegn c hver gang. Kaldes metoden med
pyramide "pyramidetegninger" 4 skal der altså udskrives:
Vink: I metoden kan man bruge en variabel som tælles op med 1 for hvert tegn der udskrives. Denne variabel bruges til at indeksere i tegnstrengenp yra midet egninge
tekst med kommandoen string index
$string_var $idx sådan at først udskrives det første tegn fra
tekst, så det andet, så det tredje, osv. Koden
string index "Hej" 1 returnerer tegnet "e".
pyramide
"pyramidetegninger", 6 i foregående program?
Lav et Tcl-program pyra7 med en procedure pyramide
tekst n der udskriver en pyramide, idet den bruger tegnene
fra tegnstrengen tekst fra en ende af, og begynder forfra i
tekst hvis den når til slutningen af tekst. Kaldes
procedureren med pyramide "pyramidetegninger" 6 skal der altså
udskrives:
p
yra
midet
egninge
rpyramide
tegningerpy