Resultat: Senior

Du har besvarat frågor. Du hade 15.

Dina poäng i början var 45. Om du svarade fel på alla frågor skulle du ha 0 poäng i slutet.

Du svarade rätt på 0 frågor.

Du svarade fel på 0 frågor.

Du svarade inte på 15 frågor.

Ditt resultat: 45/180

Bra gjort!

Du fick 0 poäng på frågan "Själviska ekorrar".

Du fick 0 poäng på frågan "Tröjnummer".

Du fick 0 poäng på frågan "Skosnören".

Du fick 0 poäng på frågan "Rekursiv målning".

Du fick 0 poäng på frågan "Flaggkompression".

Du fick 0 poäng på frågan "Utbytningsspel".

Du fick 0 poäng på frågan "IP-adresser".

Du fick 0 poäng på frågan "Tändsticksspelet".

Du fick 0 poäng på frågan "KIX-koder".

Du fick 0 poäng på frågan "Svartmålning".

Du fick 0 poäng på frågan "Sköldpaddan Cassy".

Du fick 0 poäng på frågan "Säckar i hissen".

Du fick 0 poäng på frågan "Medianfilter".

Du fick 0 poäng på frågan "Hurling".

Du fick 0 poäng på frågan "Röda och blå kulor".

1. Själviska ekorrar

Ru

Du fick 0 poäng på den här frågan. Maxpoäng är 12. Uppgiften låg på nivån svår.

De själviska ekorrarna bor i hål i ett träd med fem stora hål ovanpå varandra. Det finns 16 ekorrar totalt, så de måste dela på hålen och bo tillsammans med andra.

Varje dag kollar varje ekorre upp vilket av följande antal som är minst: antalet andra ekorrar i det egna hålet, antalet ekorrar i hålet ovanför eller antalet ekorrar i hålet nedanför. Nästa natt flyttar varje ekorre i hemlighet till det hål som har minst antal ekorrar i sig av dessa tre. Om antalen är lika tycker ekorren bättre om att stanna i hålet den bor i och den föredrar hålet ovanför jämfört med hålet nedanför.

 

Exempelvis, om det idag bor 5, 0, 0, 4 respektive 7 ekorrar i varje hål (räknat uppifrån och ned) så kommer imorgon alla fem ekorrar i det översta hålet att ha flyttat ned ett steg (0 grannar är bättre än 4). 7 ekorrar från det nedersta hålet har flyttat upp (4 grannar är bättre än 6) och 4 ekorrar från det näst nedersta hålet har flyttat upp (0 grannar är bättre än 3).

 

 

 

Anta att antalet ekorrar i respektive hål uppifrån och ner idag är 6, 3, 3, 0, 4 stycken. Efter hur många dagar har alla ekorrar flyttat in i samma hål?

1.

2 dagar

2.

3 dagar

Rätt svar
3.

4 dagar

4.

Aldrig

Du besvarade inte denna fråga.

Lösning:

Rätt svar är 3 dagar

(6,3,3,0,4)->(0,9,0,7,0)->(9,0,7,0,0)->(0,16,0,0,0)

 

Koppling till datavetenskap

Detta problem handlar om svärm-intelligens. Tanken med denna typ av algoritmer är att man kan lösa problem med väldigt enkla mekanismer även om antalet inblandade är stort. Exempelvis har myror utvecklat beteenden som baseras på enkla regler oberoende av alla andra myror. Om det är många myror så kan de fortfarande utföra komplicerade uppgifter såsom att bygga myrstackar, hitta bästa vägen eller dela på löv. 

I detta problem har vi ett antal ekorrar som också beter sig enligt enkla regler. Men det visar sig att dessa enkla regler är för själviska för att deras kollektiva beteende ska bli särskilt smart. Alla vill bo så rymligt som möjligt men slutar ändå i samma hål. Sensmoralen är att det oftast är bättre att samarbeta än att vara självisk, även när det handlar om algoritmer.

2. Tröjnummer

Ie

Du fick 0 poäng på den här frågan. Maxpoäng är 6. Uppgiften låg på nivån lätt.

Två lag med 15 spelare i vardera laget står uppställda inför en match. I det första laget står spelarna uppställda efter vilket nummer de har på sin tröja. I det andra lagret står spelarna uppställda efter längd.

Tröjnumren för spelarna i lag 1 är: 1, 4, 5, 7, 9, 14, 15, 17, 18, 19, 21, 22, 23, 25, 26

Tröjnumren för spelarna i lag 2 är: 8, 28, 12, 3, 24, 16, 23, 19, 14, 2, 11, 29, 27, 6, 13

 

Fråga

Hur många tröjnummer från lag 1 finns även i lag 2?

1.

2 tröjnummer

2.

3 tröjnummer

Rätt svar
3.

4 tröjnummer

4.

1 tröjnummer

Du besvarade inte denna fråga.

Lösning:

Rätt svar är 3 st tröjnummer

 

Förklaring

Tröjnummer 14, 19 och 23 förekommer i bägge lagen.

 

Koppling till datavetenskap

Sökning i en sorterad lista kan gå mycket snabbare än i en osorterad. Denna uppgift visar att det går mycket snabbare att söka efter ett specifikt tröjnummer i lag 1 jämfört med lag 2. 

Om vi antar att det tar 1 sekund att jämföra två nummer kommer det att ta ca 45 sekunder att lösa denna uppgift genom att för varje tröjnummer i lag 2 söka upp motsvarande nummer i lag 1. Om man istället för varje tröjnummer i lag 1 söker upp motsvarande tröjnummer i lag 2 kommer det att ta ca 112 sekunder.

Ju längre listor man arbetar med, desto större kommer skillnaden i söktider att bli. Om listan skulle innehålla 1000 nummer skulle det gå 50 gånger snabbare för en människa - eller för en dator - att söka i en sorterad lista jämfört med en osorterad. 

Sökning i listor är ett centralt problem i datavetenskap. Efter du har löst denna uppgift har du säkert utarbetat en egen strategi för att söka igenom listan med tröjnummer för lag 1. Sannolikt är den strategin en befintlig algoritm för sökning i sorterade listor - exempelvis binärsökning, hoppsökning eller interpolation. 

Ordnade listor är ett vanligt verktyg vid datalogiskt tänkande. Det är ofta en bra strategi att sortera en osorterad lista innan man söker i den, särskilt om man ska söka igenom den flera gånger.

Om listan över tröjnummer för lag 2 sorteras så att även den är sorterad efter tröjnummer innan vi påbörjar sökningen så kommer vi mycket snabbare att se att det finns tre gemensamma tröjnummer. 

Lag 1: 1, 4, 5, 7, 9, 14, 15, 17, 18, 19, 21, 22, 23, 25, 26

Lag 2: 2, 3, 6, 8, 11, 12, 13, 14, 16, 19, 23, 24, 27, 28, 29

3. Skosnören

At

Du fick 0 poäng på den här frågan. Maxpoäng är 12. Uppgiften låg på nivån svår.

Bäver älskar tjusiga skosnören. Han önskar sig en robot som kan snöra skorna åt honom, så han frågade sig "Hur kan jag berätta för roboten hur jag vill ha mina skor snörda? Jag behöver ett programmeringsspråk. Hur borde det se ut?"

Ett vanligt sätt att snöra skorna på visas i följande bild.

Anta att snöret som börjar på höger sida alltid är orange och snöret som börjar på vänster sida alltid är vitt. Bäver föreslår följande program för snörningen:

orange: up
white: up
{
   orange: + change up
   white:  + change up
}

 

Förklaring:

{…}

allt som finns mellan måsvingar upprepas så många gånger som möjligt

3{…}

samma som ovan fast det som finns mellan måsvingarna upprepas exakt 3 gånger, fungerar på samma sätt för andra tal

orange:

följande kommandon tillämpas endast på orange snören

white:

följande kommandon tillämpas endast på vita snören

up

dra snöret nerifrån upp genom hålet där den orange eller vita pilen är, se startpositionen i bilden ovan

down

samma som "up" fast dra nu snöret uppifrån ned genom hålet

+

flytta den orange eller vita pilen framåt en position (till nästa hål)

-

flytta pilen bakåt ett hål

change

gör så att den orange eller vita pilen byter från höger till vänster eller från vänster till höger (beroende på dess nuvarande position)

 

Vilken snörning skapas av följande program? (Tips: Koncentrera dig på ett av snörena.)

orange: up
white: up
2{
           orange: + change up
           white: + change up
}
orange: + down
white: + down
{
           orange: + change up
           white:  + change up
}

1.

2.

3.

4.

Rätt svar

Du besvarade inte denna fråga.

Lösning:

är rätt svar. För 2 par av ögon fungerar programmet som i exemplet. Sedan dras snöret upp genom ögat, men det byter inte sida. Därefter dras snöret ned genom ögat en gång på vardera sig och sedan byts sidan. Programmet fortsätter sedan som i exemplet.

Koppling till datavetenskap

Detta enkla programmeringsspråk har flera delar som finns i vanliga programmeringsspråk. Det har kommandon för loopar och det har inbyggda variabler som pilarnas positioner.

4. Rekursiv målning

At

Du fick 0 poäng på den här frågan. Maxpoäng är 12. Uppgiften låg på nivån svår.

Bäver och hennes vänner har lovat att hjälpa till med renoveringen av Stadsmuseet för Datavetenskap. De måste måla ett golv som är 16 meter x 16 meter i ett av rummen.

Planeringsavdelningen har en speciell uppsättning instruktioner för målning.

Instruktionerna är skrivna på ett papper som refererar till andra papper med ett nummer. På varje papper finns bildens verkliga storlek inskriven längst ner.

Här är ett exempel från ett tidigare projekt. Det ritar en bäver.

Bäver får planen för det nya projektet:

Instruktionen refererar till sig själv och båda papprena har samma nummer! Hon frågar en vän hur detta kan komma sig. Vännen svarar "Vi kan göra det. Det andra pappret är viktigt för det säger åt oss när vi ska sluta."

Hur kommer det målade resultatet se ut?

1.

Rätt svar
2.

3.

4.

Du besvarade inte denna fråga.

Lösning:

Rätt svar är

Ta det vänstra pappret. Det beskriver att vänstra delen av golvet ska målas med en halvcirkel med den runda sidan åt vänster. För högra halvan av golvet är instruktionerna återigen att använda samma ark två gånger, men delen som måste målas måste vara minst 1 meter lång. Lägg märke till att orienteringen av de två 1:orna är motsatta. Detta indikerar att arken måste vändas rätt varje gång.

Tänk på att de två runda sidorna på ark 1 rör vid varandra, detta betyder att de runda sidorna av halvcirklarna alltid kommer att röra vid varandra.

Koppling till datavetenskap

Självrefererande instruktioner som den här kallas för rekursiva. Rekursion är ett viktigt begrepp i datavetenskap. Rekursiva lösningar är vanligtvis kortare och mer kompakta än andra lösningar, men ibland lite svårare att förstå. Rekursiva mönster hittas ofta i naturen. Villkoren för att sluta, som de i exemplet, är viktiga för att undvika oändliga loopar.

5. Flaggkompression

Cz

Du fick 0 poäng på den här frågan. Maxpoäng är 12. Uppgiften låg på nivån svår.

Grafikformatet GIW använder följande algoritm för att komprimera data: Varje rad komprimeras separat. Varje färg lagras som en tre-bokstavs-kod. En sekvens med pixlar (bildpunkter) av samma färg kodas som ett par inom parentes, där det första elementet utgör tre-bokstavs-koden och det andra elementet anger antalet pixlar. De två elementen skiljs åt med ett kommatecken.

Exempel: de två paren (gre,20)(whi,13) motsvarar en rad av 20 gröna pixlar följt av 13 vita pixlar.

Nedan finns fyra flaggor som alla består av lika många rader av pixlar. Vilken av flaggorna kommer att behöva flest par för att lagras när den komprimeras enligt GIW-formatet?

1.

Rätt svar
2.

3.

4.

Du besvarade inte denna fråga.

Lösning:

Rätt svar är franska flaggan:

Varje rad behöver lika många par som antalet gånger färgen byts på den raden. Om hela raden har samma färg så behövs bara ett par. Till exempel Tysklands flagga består bara av rader som har en färg. Tjeckiens flagga byter färg exakt en gång per rad, från blå till vit eller från blå till röd. Varje rad behöver alltså exakt två par. Frankrikes flagga byter alltid färg två gånger per rad, från blå till vit till röd. Det behövs alltså alltid exakt tre par per rad. Den svenska flaggan är lite mer komplicerad för den byter färg två gånger för de flesta rader utom raderna i mitten som är enfärgade. Alltså behövs det fler par totalt sett jämfört med den tyska flaggan men färre par jämfört med den franska flaggan.

För att jämföra de svenska och tjeckiska flaggorna behöver vi avgöra det genomsnittliga antalet färgbyten. För den tjeckiska är det alltid exakt två. Om den svenska flaggan hade haft lika många enfärgade som trefärgade rader hade den också behövt två par i genomsnitt per rad. Då den enfärgade delen av svenska flaggan är betydligt smalare än halva höjden så kommer det alltså behövas mer än två par i genomsnitt per rad. Den svenska flaggan kräver alltså mer utrymme än den tjeckiska.

Sammanfattningsvis är ordningen, från minsta till största, Tyskland, Tjeckien, Sverige och Frankrike.

 

Koppling till datavetenskap

Komprimering av data är en viktig utmaning inom datavetenskapen för att spara på datorns lagringsutrymme, minska nätverkstrafiken och snabba upp överföringen av information mellan datorer. Bra algoritmer för datakompression kan alltså spara mycket pengar vilket gör det viktigt att hitta bättre och mer effektiva algoritmer för att komprimera bilder, ljud och video då de vanligtvis behöver stort utrymme.

Den typen av kompression som används i den här uppgiften kallas för skurlängdskodning (Run Length Encoding) – för en introduktion på engelska se följande video: https://www.youtube.com/watch?v=ypdNscvym_E

6. Utbytningsspel

Ca

Du fick 0 poäng på den här frågan. Maxpoäng är 12. Uppgiften låg på nivån svår.

Alice vill spela ett spel. Alice har några geometriska former som hon vill byta ut. Alice använder till att börja med följande två regler:

   

Dessa regler säger att:

  • en kvadrat kan bytas mot två trianglar.
  • en triangel kan bytas mot en kvadrat, en triangel och ytterligare en kvadrat.

Alice börjar alltid med en enda form. Om hon exempelvis börjar med en kvadrat och använder reglerna får hon följande former efter 3 steg:

 

Vilken uppsättning regler kan leda till:

1.

 

2.

Rätt svar
3.

4.

Du besvarade inte denna fråga.

Lösning:

Rätt svar är

 Enligt dessa regler är följande möjligt:

 

För att utesluta

måste vi göra några observationer. Först, om vi börjar med en triangel eller en cirkel så kan vi aldrig få några kvadrater. Alltså måste vi börja med en kvadrat. Om vi börjar med en kvadrat så får vi följande sekvens och ytterligare byten leder till en sekvens som är för lång.

 

För att utesluta

kan vi se att det aldrig går att få två kvadrater efter varandra då det inte finns någon regel som direkt ger flera kvadrater och ingen regel tar bort någon form så det kommer alltid finnas andra former mellan varje par av kvadrater.

För att utesluta

kan vi på ungefär samma sett se att det aldrig går att få cirklar efter varandra. Det enda sättet vore att byta ut två trianglar men då finns det alltid en kvadrat emellan cirklarna. 

 

Koppling till Datavetenskap

Reglerna kallas vanligtvis omskrivningsregler och används bland annat för att beskriva grammatiken hos kontextfria språk, eller andra grammatiker. Dessa grammatiker kan beskriva saker som

  • naturliga fenomen, t.ex. hur plantor växer
  • naturliga språk, t.ex. hur man skapar meningar
  • formella språk, t.ex. programmeringsspråk.

Uppgiften handlar om att avgöra om en mening kan härledas (eller deriveras) från olika omskrivningsregler. Detta är samma sak som datorn behöver göra för att tolka (eller parsa) ett program från något vi människor kan förstå till något som datorn kan förstå.

7. IP-adresser

De

Du fick 0 poäng på den här frågan. Maxpoäng är 9. Uppgiften låg på nivån medel.

Varje dator i ett nätverk tilldelas en unik IP-adress. En IP-adress ser ut så här [192.168.1.25] (fyra tal, varje mellan 0 och 254).

Varje nätverk har en nätmask som ser ut som en IP-adress, till exempel [255.255.0.0]. Nätmasken delar in IP-adresser i en nätverksdel och en värddel. Nätverksdelen är markerad med 255, värddelen markeras med 0.

Alla IP-adresser inom ett nätverk har en identisk nätverksdel och olika värddelar. Två datorer med olika nätverksdel eller samma IP-adress kan alltså inte prata med varandra.

Exempel: Givet nätverksmasken [255.255.0.0] så kan datorer med IP-adresserna [172.16.1.10] och [172.16.1.11] kommunicera. En dator med IP-adressen [172.31.1.12] kan inte kommunicera med någon av dem.

Max, Mia, Pia, Tim och Leo träffas för att spela sitt favoritspel. De kopplar ihop sina datorer med kablar och en switch, sätter upp nätverksmasken [255.255.255.0] och tilldelar IP-adresser.

Men något gick fel! Endast två datorer kan prata med varandra. Tilldela korrekta IP-adresser så att de fem datorerna kan prata med varandra. Det finns många lösningar och vilken som helst av dem funkar.

Du besvarade inte denna fråga.

Lösning:

En korrekt tilldelning är följande:

Max: [192.168.1.20]
Mia: [192.168.1.21]
Pia: [192.168.1.22]
Tim: [192.168.1.30]
Leo: [192.168.1.32]

Koppling till datavetenskap

Att få datorer att prata med varandra har alltid varit en utmaning. Förutom mer tekniska frågor som bandbredd och pålitlighet är det en mer diplomatisk fråga att införa adresser. I ett datornätverk måste varje nod ha en egen unik adress. Det behövs någon som kan bestämma över andra!

Den internationella adresseringssystemets historia är intressant: husnummer, radiofrekvenser, telefonnummer, postnummer, registreringsskyltar och nu Internet.

Dagens vanligaste kommunikationsprotokoll, Internet Protocol version 4 (IPv4) från september 1981, har som du sett i den här uppgiften, maximalt 256 x 256 x 256 x 256 = 4.294.967.296 IP-adresser. Är det tillräckligt? Det finns betydligt fler människor än tillgängliga IP-adresser och antalet enheter per person ökar hela tiden. Vad händer när IPv4-adresserna tar slut?

Inget! Som tur är finns det redan ett nytt protokoll IPv6 som har betydligt fler möjliga adresser. Det har ungefär 34.000.000.000.000.000.000.000.000.000.000.000.000.000 adresser, som ser ut så här 30h1:0db8:0000:08d3:0gc0:8a2e:0070:7344. Hur länge kommer de räcka? Tänk om det blir ett genombrott för nano-robotar?

8. Tändsticksspelet

Ch

Du fick 0 poäng på den här frågan. Maxpoäng är 9. Uppgiften låg på nivån medel.

Bea träffar en vän för att spela Tändsticksspelet. Hon förklarar spelreglerna för sin vän: "Det finns 13 tändstickor i en rad. Spelare Ett börjar med att ta bort 1, 2 eller 3 tändsstickor. Därefter är det Spelare Tvås tur, som också tar bort 1, 2, eller 3 tändstickor. Sedan är det återigen Spelare Etts tur följt av Spelare Två, och så vidare. Spelaren som tar bort den sista tändstickan vinner spelet."

Bea börjar. Hur många tändstickor ska Bea ta bort i första omgången för att vinna spelet?

Tips: Om det finns 4 tändstickor kvar när det är Beas tur kan inte Bea ta den sista tändstickan. Hon behöver alltså undvika den situationen!

1.

En tändsticka

Rätt svar
2.

Två tändstickor

3.

Tre tändstickor

4.

Antalet tändstickor hon tar spelar ingen roll för vem som vinner

Du besvarade inte denna fråga.

Lösning:

Bea måste ta 1 tändsticka första omgången så att det blir 12 tändstickor kvar. För varje följande drag så tar Bea bort så många tändstickor så att det blir en multipel av 4 kvar (alltså först 8 och sedan 4). Om hon följer strategin så kommer hennes vän till slut att få 4 tändstickor kvar och kan därmed inte vinna spelet.

Koppling till datavetenskap

Detta är ett klassiskt strategispel för två spelare som turas om att göra drag. Efter varje drag analyserar datorn sina möjliga drag och beräknar det drag som har störst chans att leda till en vinst. Därefter utför datorn sitt drag och väntar på motståndarens drag.

För det här spelet finns det en exakt algoritm. För andra spel finns det ingen exakt algoritm, istället använder man då heuristiker som ofta leder till bra drag. 1997 vann datorn för första gången över en världsmästare i schack. Datorn gjorde det genom att använda den här typen av heuristiker.

9. KIX-koder

Nl

Du fick 0 poäng på den här frågan. Maxpoäng är 6. Uppgiften låg på nivån lätt.

Bäverposten har postnummer bestående av 36 tecken som vardera kan vara 'A'..'Z' eller '0'..'9'. För att göra postnumren läsbara för maskiner konverteras dom till kix-koder.

I kix-kod representeras varje tecken med en kod som har 2 delar (övre och nedre). Varje del består av 4 staplar. Den övre delen innehåller långa staplar och korta staplar med gemensam nederkant. Den nedre delen innehåller långa staplar och korta staplar med gemensam överkant. Överdelarna och nederdelarna kombineras för att få fram 36 olika koder.

Denna tabell visar koden för flera olika tecken:

Som exempel blir kix-koden för "G7Y0" följande

 

Fråga

Nedan visas kix-koden för ett annat postnummer. Vilket är postnumret?

Du besvarade inte denna fråga.

Lösning:

Rätt svar är BC16

 

Förklaring

Svaret kan fås genom att se på tabellen och konvertera kix-koden till motsvarande bokstäver. Bokstäverna som används i koden är markerade i tabellen nedan:

 

 

Koppling till datavetenskap

Kix-koderna - som faktiskt används på riktigt i vissa länders postsystem - är ett exempel på streckkoder som kan avläsas av en dator. Detta är användbart för att automatisera urval och sortering av post.

I detta fall är informationen uppdelad i en övre och en nedre del, vilket är vanligt förekommande metod.

10. Svartmålning

Du fick 0 poäng på den här frågan. Maxpoäng är 9. Uppgiften låg på nivån medel.

I denna uppgift arbetar vi med kort som har 9 rutor. Varje ruta kan vara svart eller vit. När två kort kombineras kan ett nytt mönster med svarta och vita rutor skapas.

När de två korten till vänster i bilden nedan kombineras blir resultatet kortet längst till höger. 

 

Fråga

Hur många svarta rutor kommer att finnas på kortet som blir resultatet av att kombinera de två korten nedan?

FÅ UPPGIFTEN UPPLÄST:

Du besvarade inte denna fråga.

Lösning:

Rätt svar är 3 st

 

Förklaring

När två kort kombineras är regeln följande: för en svart ruta på det resulterande kortet krävs att motsvarande ruta på de kort som kombineras har samma färg (svart eller vit) - i annat fall blir rutan vit.

När de två korten i frågan kombineras blir det resultatet detta:

 

Koppling till datavetenskap

Detta handlar om boolska kretsar som är en matematisk beräkningsmodell. Om vi antar att en vit ruta tolkas som 0 och en svart ruta som 1 så kan operationen att kombinera två kort beskrivas enligt följande tabell:

1 ⇔ 1 → 1

0 ⇔ 1 → 0

1 ⇔ 0 → 0

0 ⇔ 0 → 1

Denna tabell går att komma fram till genom utifrån det givna exemplet. 

11. Sköldpaddan Cassy

De

Du fick 0 poäng på den här frågan. Maxpoäng är 6. Uppgiften låg på nivån lätt.

Sköldpaddan Cassy bor i Matrisland på en åker som är uppdelad i ett rutfält om 5 x 5 rutor. Hon älskar att äta sallad. Varje morgon vill hon besöka alla rutor på åkern för att se om några nya salladsplantor kommit upp. Hon börjar i den mittersta rutan med blicken vänd mot höger.

Skapa ett program som Cassy kan använda för att besöka alla rutor på sin åker:

  • Programmet har formen av en serie (högst 4) instruktioner som upprepas exakt 5 gånger i en så kallad loop.
  • Klicka på instruktionerna till vänster för att sätta dem i loopen.
  • Du kan använda varje instruktion mer än en gång.
  • Notera att R är en räknare. När din loop körs första gången är R = 1, när den körs andra gången R = 2 etc.
  • Prova ditt program genom att klicka på "Testa". Glöm inte att trycka på Svara när du är nöjd med ditt program.

Du besvarade inte denna fråga.

Lösning:

Rätt svar

Endast fyra instruktioner kan repeteras. Detta gör att den enda tänkbara lösningen är att låta sköldpaddan följa en sprialformad bana.

Det finns fyra alternativa sekvenser med instruktioner som kommer flytta Cassy över hela åkern i en spriralformad bana:

  • framåt R rutor, sväng vänster, framåt R rutor, sväng vänster
  • framåt R rutor, sväng höger, framåt R rutor, sväng höger
  • sväng vänster, framåt R rutor, sväng vänster, framåt R rutor
  • sväng höger, framåt R rutor, sväng höger, framåt R rutor

 

Detta är datavetenskap

Denna uppgift ber dig att skriva ett program. Ett program är en sekvens av instruktioner. En dator utför dessa instruktioner en i taget. Om programmet är korrekt, gör datorn exakt vad du vill. Om inte, gör datorn exakt vad du programmerat - men inte vad du vill. Datorn kan inte upptäcka dina programmeringsmisstag.

I den här uppgiften kan du komponera ett instruktionsblock bestående av fyra instruktioner. Upprepad exekvering av en instruktionsblock kallas slinga; Observera att slingan i denna uppgift ger en slingräknare . Alla användbara pogrammingsspråk erbjuder loopar (slingor) - och mer, som selektion (exekvering av instruktioner beroende på vissa villkor) eller subrutiner (instruktioner som består av andra instruktioner) etc.

12. Säckar i hissen

Cz

Du fick 0 poäng på den här frågan. Maxpoäng är 9. Uppgiften låg på nivån medel.

En samling säckar står i en korridor bredvid en hiss. Korridoren är så trång att säckarna måste stå på rad. Varje säck är märkt med dess vikt i kilogram (kg).

Hissen används för att flytta säckarna till en affär. Hissen kör uppåt så fort den lastas med minst 80kg, men den kan inte ta mer än 100kg. Efter att säckarna lämnats av i affären kommer hissen automatiskt direkt ner igen.

När hissen lastas tas alltid den första säcken i raden, d.v.s. den som står närmast hissen. Säcken som står på tur lastas bara in om den inte överbelastar hissen. Annars flyttas den säcken till andra änden av korridoren, den första längst bort och de efterföljande allt närmare hissen.

Om alla säckar från den ursprungliga raden är tagna, så fortsätter man lasta på samma sätt från den nya raden av säckar som skapats på andra sidan hissen.

Vilket av följande påståenden stämmer när alla säckar har skickats till affären enligt ovanstående instruktioner?

1.

Den andra änden av korridoren behövde inte användas.

2.

En omgång med säckar vägde exakt 100 kg.

Rätt svar
3.

Det behövdes fem omgångar för att skicka upp alla säckar.

4.

Andra omgången säckar vägde 98 kg.

Du besvarade inte denna fråga.

Lösning:

Endast påståendet att en omgång väger exakt 100kg stämmer.

Den första omgången består av de tre första säckarna 40+20+34=94kg.

För den andra omgången så lastas den första säcken (55kg) in i hissen. Nästa säck (50kg) är för tung och flyttas till andra sidan av korridoren. Nästa säck (23kg) lastas in i hissen, eftersom den totala vikten är 55+23=78kg så väntar hissen på mer last. Nästa säck (45kg) är för tunga och flyttas till andra sidan korridoren framför den säcken som redan står där. Samma gäller för nästa säck (30kg). Nästa säck (10kg) får plats i hissen som nu går då den har en total vikt på 55+23+10=88kg.

De tre sista säckarna från den ursprungliga raden (25+30+15=70kg) ställs in i hissen. Den tredje omgången är komplett när den första säcken från andra sidan korridoren (30kg) lastas in så att den totala vikten blir exakt 100kg.

Nu finns bara två säckar kvar, 45+50=95kg, de lastas in och blir den fjärde och sista omgången.

Koppling till datavetenskap

Säckarna i uppgiften bildar vad man kallar för en stack. En stack är en vanligt förekommande datastruktur där den sak som läggs till sist tas ut först (sist in, först ut). Exempel på stackar är en stapel med tallrikar i matsalen, man tar alltid den översta tallriken i stapeln. Ett annat exempel är en glasstrut där första kulan hamnar längst ned i struten och varje ny kul läggs ovanpå. Ett tredje exempel är när du surfar på webben, varje sida du besöker läggs på en stack och när du trycker på "bakåt"-knappen kommer du till den översta sidan i stacken som sedan tas bort från den.

En stack är inte alltid rätt. Om du kommer till ett sjukhus vill du inte att de alltid tar emot den patient som kom dit senast. Då använder man istället en . En kö är annan vanligt förekommande datastruktur där det som läggs in först kommer ut först (först in, först ut).

13. Medianfilter

Ru

Du fick 0 poäng på den här frågan. Maxpoäng är 6. Uppgiften låg på nivån lätt.

En bild med grå färger sparas i en tabell med siffror, där varje cell motsvaras av en pixel. En cell med siffran 1 motsvarar en svart pixel, en cell med siffran 5 motsvarar en vit pixel och värdena 2-4 motsvarar olika nyanser av grått.

I uppgiften skall vi använda ett "medianfilter" för att förändra en bild på följande sätt: För varje pixel i bilden sorteras dess värde samt dess grannars värden i stigande ordning. Det mellersta värdet (det femte) används som nytt värde för den givna pixeln. Ett filter av detta slag förändrar alla pixlar samtidigt. Som exempel, i figuren nedan, ändras den mittersta pixelns värde från 5 till 2.

 

Hur kommer följande bild att se ut efter att man använt ett medianfilter?

1.

Rätt svar
2.

 

3.

4.

 

Du besvarade inte denna fråga.

Lösning:

Rätt svar är

 

Låt oss ta en typisk pixel, se nedan. Om vi sorterar pixlarna efter deras intensitet så kommer det vara två vita till höger, tre svarta till vänster och fyra grå i mitten. Medianen är alltså grå. Vidare, om en svart pixel är omsluten av svarta pixlar så kommer den fortsätta vara svart. Samma sak gäller för vita pixlar.

 

 

 

 

 

 

 

Koppling till datavetenskap

Bildbehandling är ett viktigt område för att förbättra bilder genom att till exempel minska bruset. De flesta användare vet inte hur algoritmerna som bildbehandlingsprogram använder fungerar. Det är mycket roligare att förstå vad som händer. Medianfilter är en sådan algoritm som dessutom är enkel att förklara hur den fungerar. Uppgiften introducerar även det statistiska begreppet median.

14. Hurling

Ie

Du fick 0 poäng på den här frågan. Maxpoäng är 6. Uppgiften låg på nivån lätt.

Bävrar är väldigt bra på den irländska sporten hurling. Efter varje avslutad match ställer lagen upp sig på varsitt led. Därefter passerar de varandra, skakar varandras händer och tackar för matchen.

Till först skakar bara den främsta personen i varje lag hand. Därefter de två första (se bilden) och så vidare tills alla spelare i vardera lag har skakat hand med alla spelare i andra laget.

 

 

Fråga

I hurling är det 15 spelare i varje lag. Om varje spelare tar en sekund på sig att skaka hand och gå vidare till nästa spelare, hur många sekunder kommer det att ta tills alla har skakat hand med varandra?

Du besvarade inte denna fråga.

Lösning:

Rätt svar är 29

 

Förklaring

Antalet handskakningar är längden av ena ledet plus längden av det andra ledet minus ett.

Anta att det bara är en spelare per lag. Efter en sekund är alla handskakningar avklarade. 

Anta att det är två spelare per lag. Under den första sekunden skakar de första spelarna i varje lag hand. Under den andra sekunden skakar den första spelaren i varje lag hand med spelare två i det andra laget, och under den tredje sekunden skakar spelare två i bägge lagen hand med varandra. Alltså totalt 3 sekunder.

Med 15 spelare i varje lag blir det totalt 15 + 15 - 1 sekunder av handskakningar.

 

Koppling till datavetenskap

Detta kan ses som ett exempel på samtidighet i form av s.k. pipelining. Pipelining är ett väldigt effektivt sätt att få flera datorer att arbeta tillsammans för att lösa problem snabbt och effektivt. Det kan dock ta tid att uppnå den effektiviteten, på samma sätt som att den sista spelaren i varje led får vänta ett tag innan de ens får börja skaka hand med motståndarlaget. 

Analys av hur lång en algoritm tar på sig är en sofistikerad del av datavetenskap som kallas tidskomplexitetsanalys. I denna uppgift vet vi att lagens storlek alltid är 15 och kan därmed exakt fastställa den totala tiden till 29 sekunder. En tidskomplexitetsanalys kräver däremot att man anger ett svar som inte är bundet till en viss storlek på lagen. Man skulle då komma fram till att handskakningar alltid tar 2N-1 sekunder för alla lagstorlekar N där N är ett heltal som är 1 eller större.

15. Röda och blå kulor

It

Du fick 0 poäng på den här frågan. Maxpoäng är 9. Uppgiften låg på nivån medel.

Bävern Emil provar ett nytt dataspel med färgade kulor staplade i ett rör. Varje kula är antingen röd eller blå och det finns minst tre kulor när spelet börjar.

Varje gång som Emil klickar på knappen "GO" ramlar de två nedersta kulorna ut ur röret. Beroende på färgen på den första kulan som ramlar ut kommer en av två saker att hända:

Om den första kulan är röd släpps en ny blå kula ner i röret:       Om den första kulan är blå släpps tre nya kulor ner i röret, 
en röd, en blå och en röd:

 

Så länge det finns minst tre kulor kvar i röret kommer Emil att klicka på GO-knappen igen. Spelet slutar endast om det är två eller färre kulor kvar i röret.

Låt oss exempelvis anta att startpositionen ser ut så här:

Då kommer endast två kulor att finnas kvar i röret efter 5 klick på GO-knappen och spelet kommer att ta slut. Men andra startpositioner kan faktiskt ge ett spel som aldrig tar slut.
 

Vilken eller vilka av följande startpositioner ger ett spel som aldrig tar slut?

1.

A

2.

A och B

3.

A, B och C

Rätt svar
4.

A, B, C och D

Du besvarade inte denna fråga.

Lösning:

Rätt svar är: A, B och C.

Förklaring

Spelet slutar aldrig om Emil börjar med tre kulor där den nedersta kulan är blå. 

Om han börjar spelet med en röd kula i botten kommer spelet däremot att sluta efter endast ett klick på KÖR-knappen.

Låt oss beskriva innehållet i röret som en sekvens av bokstäver där R står för en röd kula och B för en blå kula. Den första bokstaven indikerar den översta kulan. Om vi skissar upp de fyra olika fall som finns med en blå kula i botten ser vi att vi efter maximalt 5 klick på KÖR-knappen kommer till rörinnehållet RBRRBR:

BBB → RBRB → RBRRB → RBRRBR;

BRB → RBRB → RBRRB → RBRRBR;

RBB → RBRR → BRB → RBRB → RBRRB → RBRRBR;

RRB → RBRR → BRB → RBRB → RBRRB → RBRRBR.

Spelet hamnar därefter i en cykel som aldrig tar slut, eftersom innehållet RBRRBR kommer att återkomma efter fyra tryck på KÖR-knappen:

RBRRBR → BRBRR → BBRB → RBRBB → RBRRBR

 

Koppling till datavetenskap

Spelet är ett exempel på ett produktionssystem, en beräkningsmodell som bygger på omskrivning av strängar. Det är utvecklat av Emil Leon Post på 20-talet, men som inte publicerades förrän 1943. Emil Leon Post (1897-1954) var en polskfödd amerikansk matematiker och logiker som utvidgade vår kunskap om beräkningsteori.

Omskrivningsmodeller omfattar en stor mängd olika system som beskriver hur en sträng får skrivas om till en annan. Omskrivningarna är de möjliga operationerna man kan göra på objekten (strängarna).

Teoretisk datavetenskap kallar idag dessa system för kontextfria gramatiker. Till exempel kan multiplikation och addition beskrivas som en enkel kontextfri gramatik med några enkla regler. Ett annat berömt och användbart exempel är att använda kontextfria gramatiker för att beskriva programmeringsspråk på ett uttömmande och fullständigt sätt.