Citat:
Ursprungligen postat av
welliewell
Y = 1.
Alltså blir utskriften vid 2.2: 1, 0, -1, -2, -3...
Den fortsätter tills den når 1, vilket aldrig händer. Alltså fastnar den.
Vad har jag missat?
Om Y = 1 så har väl den nått 1 på redan första och där med bara skriver ut 1?
Sedan om Y = 2 så skriver den ju ut 2, 1, Y=3 så skriver den ut 3, 2, 1 och så fortsätter det.
Bara för att de skrivit Y, Y-1, ..., 1 så behöver den ju inte gå från just Y, Y-1, Y-2, Y-3 osv.. utan det är ju ett mönster för att visa att loopen ska börja på Y och minskas med 1 tills den kommer till 1 och då stanna. Och om Y = 1 så kommer den bara köra en gång i och med att nästa gång är 0 < 1 och då ska loopen stoppas.
Så tolkar jag detta i alla fall.
Och vid en första anblick på koden skulle jag säga att den kommer skriva ut en pyramid av siffror där toppen endast är en enda 1:a och botten är en rad av 5, 4, 3, 2, 1, 2, 3, 4, 5.
(Med detta har jag antagit att 2.3 betyder att man ska skriva ut 2,3 upp till värdet på y och om y är mindre än 2 så kommer inget skrivas ut på det steget men har som sagt bara snabbt kollat på instruktionerna och inte testat göra ett program själv för att bekräfta min teori)
Tipset är ju att bara skriva ett program och se vad som händer