Bra att du försökte dig på pseudokoden. Här kommer lite kommentarer på den.
Använd gärna mer välkända programmeringstermer när du skriver pseudokoden, t.ex if, then, else, foreach. Med andra ord skulle du få följande namngivning för din kod:
...
if <förtfattare och titel till boken existerar>
then
...
else
...
if <flera titlar av samma författare existerar>
then
...
else
...
Sedan bör du nog försöka skrota "Sålänge" och "Tills" och försöka få en mer kodnära beskrivning (t.ex bara köra på något i stil med "position = hitta position i bokhyllan" och sedan använda hjälpvariabeln senare i pseudokoden.
Vet inte om jag klargjorde mig tillräckligt tydligt, men det jag vill ha sagt är att försök skriva pseudokoden mer kodmässig utan att du implementerar en kompilerbar algoritm.
Ett exempel på hur jag skulle skriva pseudokod för en algoritm som räknar ut summan av alla sidnummer i en bok:
/* Antag att alla sidor i boken har ett sidnummer */
pageNumberSum = 0
foreach<page p in book>
pageNumberSum += page number of p