Steg för steg instruktioner

Steg för steg instruktioner
Urban Liljedahl
26 november 2002
1
Förutsättningar
Detta är en kortfattad beskrivning av förutsättningarna. När presentationen av
förutsättningar är komplett kan man säga att man har definierat ett språk.
• Lösningarna presenteras med ett flödesdiagram.
• Det finns två datatyper som är radda och heltal. Heltal är en variabel med
namn och värde, radda är ett antal heltalsvariabler i en följd. Raddan
har en pekare som alltid pekar på första positionen vid start. Pekaren kan
flyttas höger, vänster eller till en viss position som anges inom hakparenteser. T.ex. givet raddan slumptal { 34 , 6 , 7 , 7 } så är värdet av
uttrycket slumtal[pekare] lika med 34.
• Logiska operatorer: <
> = 6=
• Aritmetiska operatorer: +
−
/ · %
• Tilldelning: ←
2
Uppgifter
Välj två uppgifter ur denna samling. Lös dessa och presentera sedan er lösning
för hela gruppen.
1. Minnesutrymme: heltal x, y och temp.
Startvärden: x = 4, y = 9
Byt plats på värdena i heltal x och y.
2. Minnesutrymme: heltal x, y och z.
Startvärde: x = 13, y = 4
Beräkna värdet av xy med - som enda tillåtna aritmetiska operator.
3. Minnesutrymme: heltal a, b, c och d.
Startvärde: a = 13, b = 4
Beräkna värdet av ab med + som enda tillåtna aritmetiska operator.
1
4. Minnesutrymme: radda a ochb, heltal x, i och j.
Startvärde: a = 8, 3, 5, 1, 7, 4
Sortera radda a i stigande ordning genom att jämföra med x och göra
lämpliga överflyttningar till radda b.
5. Minnesutrymme: radda a, heltal
x, y, i och j.
Startvärde: a = 8, 3, 5, 1, 7, 4
Sortera radda a i stigande ordning genom att jämföra med variabel x och
använda variabel y för att lyckas med överflyttningar av talvärden.
6. Minnesutrymme: heltal x och y.
Startvärde: x = 10, y = 4
Beräkna värdet av resten från divisionen
metiska operator.
x
y
med - som enda tillåtna arit-
7. Minnesutrymme: radda a, heltal
x, summa och i.
Startvärde: a = 2, 3, 5, 1, 7, 4 , x = 3
Beräkna summan av alla heltal i radda a som är större än x.
8. Minnesutrymme: radda a ochb, heltal x, y, i och j.
Startvärde: a = 2, 3, 5, 1, 7, 4
För över alla jämna tal ur radda a till radda b.
2