Kan du läsa koden från 60-talet?

2018-02-11 06:25  

Göran Grimvalls problem den här veckan handlar om att tyda Algol, lösa en teknikrebus och tänka sig in i ett modellbygge för en film.

1. Vad skrivs ut?

I dag är det kanske inte så många som känner till programmeringsspråket Algol (Algorithmic language) men under 1960-talet skrevs många tekniska beräkningsprogram med detta språk.

Miniproblemförfattaren använde då Algol i sin forskning på Chalmers. Programmet stansades in som rader av hål på en smal pappersremsa som rullades upp på en bobin (såg ut som en mycket kort toapappersrulle).

Med rullen i handen gick man till datacentralen belägen vid Sahlgrenska sjukhuset, där den svensktillverkade datorn Saab D21 fanns. Man räckte över rullen till dataoperatören, och fick sedan utskriften på papper.

Remsan som löpte genom datorn gick vidare till en stor korg som stod på golvet, varifrån man sedan för hand fick linda upp remsan igen på bobinen. Ofta förekom det programmeringsfel som stoppade exekveringen, till exempel ett saknat eller felplacerat semikolon. Utskriften visade var programmet stoppats.

Var det ett enkelt fel kunde man snabbt lösa det på plats genom att stansa nya hål på en remsa som skarvades in med tejp på den felaktiga platsen. Under slutet av 1950-talet skapades också programmeringsspråket Fortran, en förkortning av Formula Translation.

Det är speciellt lämpat för noggranna numeriska beräkningar och används fortfarande allmänt. Det har dock undergått flera modifieringar under sin 60-åriga existens, och forskarna har sedan 1980-talet slutat att stansa in programkoden på de karakteristiska rektangulära hålkorten som, likt Algol-rullarna, måste bäras till en datacentral.

Vad beskriver algoritmen?

Veckans miniproblem handlar om ett enkelt program av Algol-typ (det finns flera Algol-varianter). Kommandot entier betyder heltals-delen av. Programmet kan, som så ofta i verkligheten, innehålla något formellt fel. Det bör dock inte hindra läsarna från att lista ut vad som är tänkt att tryckas ut.

2. Vilken filmhastighet ska man ha?

Kip Thorne var en av 2017 års nobelpristagare i fysik. Det handlar om detekteringen av gravitationsvågor, men numera ägnar sig Kip Thorne inte åt fysik utan åt filmens värld. Han var vetenskaplig rådgivare när science fiction-filmen Interstellar (2014) gjordes, med uppgift att se till att storyn inte alltför mycket stred mot fysikens lagar, åtminstone inte som vi nu känner dem.

Han tycker själv att det gick ganska bra, men helt utan orimligheter är inte filmen. Här är ett miniproblem som också handlar om film, men som inte ligger på nobelpristagarnivå.

Många filmer spelas in och visas med en frekvens av 24 bildrutor per sekund. (Vi bortser från att vissa projektorer visar varje ruta två eller tre gånger, det vill säga sammanlagt visar 48 eller 72 bilder per sekund.)

Anta att man vill filma en scen där en bil tippar över kanten på en bro och faller 40 meter ner i vattnet under bron. Men i stället för att filma vid en verklig bro gör man en modell i skala 1:16. Falltiden i verkligheten är mycket längre än i modellen, och fallet måste därför återges i slow motion. Det filmas i ultrarapid, det vill säga ultrasnabbt, så att det blir fler filmrutor under den korta falltiden i modellen.

Vilken filmhastighet (antal bildrutor per sekund) ska man använda vid inspelningen i vårt exempel?

3. Teknikrebus

Tävlingen Teknik-SM för tremannalag av teknologer gick åren 2000–2015. Den initierades av Saab i Linköping och har haft stöd av många sponsorer, bland annat Ny Teknik och Sveriges Ingenjörer.

Omkring 500 studenter brukade ställa upp. Själva tävlingen gick ut på att testa deltagarnas teknikkunskaper, samarbetsförmåga, presentationsteknik, stresstålighet och ingenjörskonst.

Finalen mellan de tre bästa lagen ägde under många år rum inför publik. Bland uppgifterna ingick då bland annat teknikrelaterade rebusar, där det gällde för laget att vara snabbast med att hitta lösningsordet (ett svenskt substantiv med anknytning till teknik, industri och ekonomi) när rebusen visades på en skärm. Till exempel förekom rebusen:

Pa 2 + 2 = 5 (lösningen är ”tryck-fel” där enheten Pa för pascal anger ett tryck), och rebusen: EUR 2004-03-30 (lösningen är ”valuta-dag”).

I dessa fall gav efter en kort betänketid programledaren (som var miniproblemförfattaren) ledtrådarna: ”förekommer tyvärr i böcker” respektive ”av viss ekonomisk betydelse”.

Här är en ny rebus för läsarna att fundera på. Det görs ingen skillnad mellan stora och små bokstäver.

Lösningen är en tänkbar tidningsrubrik med tre ord, om något med magnituden 4,1 som den 15 september år 2014 inträffade cirka 25 kilometer sydöst om Lillhärdal i Härjedalen på ungefär 12 km djup.

Det finns också i rebusens slut en viss anknytning till antikens Rom.

Vad döljer sig bakom rebusen?

Göran Grimvall

Kommentarer

Välkommen att säga din mening på Ny Teknik.

Principen för våra regler är enkel: visa respekt för de personer vi skriver om och andra läsare som kommenterar artiklarna. Alla kommentarer modereras efter publiceringen av Ny Teknik eller av oss anlitad personal.

Här är reglerna för kommentarerna på NyTeknik

  Kommentarer

Dagens viktigaste nyheter

Aktuellt inom

Debatt