kl Uppgift 1. Mata in ett matematiskt uttryck: 0.5 * 2 * 0.5 * 2 * 0.5 * 2 * 0.5 * 2 * 0.5 * 2 * 0.5 * 2 Resultatet blir: 1.

Storlek: px
Starta visningen från sidan:

Download "kl Uppgift 1. Mata in ett matematiskt uttryck: 0.5 * 2 * 0.5 * 2 * 0.5 * 2 * 0.5 * 2 * 0.5 * 2 * 0.5 * 2 Resultatet blir: 1."

Transkript

1 kl Uppgift 1 Din uppgift är att skriva en liten mikroräknare (en pytteliten version av en miniräknare). Inmatningen till mikroräknaren skall vara en rad innehållande en matematisk beräkning. De enda operatorer som skall existera är + och *. Ett exempel på inmatning skulle kunna vara: 0 * * * * * 9 Det är givet att det före och efter varje operator skall finnas exakt ett blanktecken och att det efter sista talet på raden endast finns ett radslutstecken (RETURN). Det är också givet att de tal som skall matas in är av flyttalstyp (det går då också att mata in heltal). Ditt program skall avslutas då det skrivit ut resultatet (avrundat till 2 decimaler) på skärmen. Ett par körexempel: Mata in ett matematiskt uttryck: 0 * * * * * 9 Resultatet blir: Mata in ett matematiskt uttryck: 0.5 * 2 * 0.5 * 2 * 0.5 * 2 * 0.5 * 2 * 0.5 * 2 * 0.5 * 2 Resultatet blir: 1.00 Observera att inmatningen kan vara godtyckligt lång. Du får inte sätta några begränsingar på radlängd. Det är givet att uttrycket går att beräkna. Prioriteringsreglerna för addition och multiplikation antar vi att ni kan.

2 kl Uppgift 2 På en fil ligger ett krypterat meddelande. I detta meddelande finns ett lösenord. Detta lösenord skall du skriva in som kommentar i ditt program (som första rad i programmet) innan du skickar in din lösning. Den kryptering som använts i filen är ett så kallat monoalfabetiskt krypto vilket innebär att man har substituerat tecken i originaltexten med en given uppsättning andra tecken. Varje tecken i alfabetet har alltså endast ett motsvarande tecken i krypteringsalfabetet. Ett exempel: Ordinarie alfabet: ABCDEFGHIJKLMNOPQRSTUVWXYZÅÄÖ Krypterat alfabet: BCDEFGHIJKLMNOPQRSTUVWXYZÅÄÖA Det ordinarie alfabetet är alltid givet. Detta råkade vara endast en förskjutning av tecknen, ett hack, men det kan vara slumpmässig ordning av tecknen i det krypterade alfabetet. I ditt program skall man mata in krypteringsalfabetet. Det första tecknet ersätter A o.s.v. Vi kallar detta för krypteringsnyckeln (eller nyckeln) för krypteringen. Din uppgift är alltså att skriva ett program som frågar användaren efter en krypteringsnyckel (29 tecken), det filnamn där det krypterade meddelandet finns samt det filnamn där man vill få resultatet (originaltexten, eller klartexten som det egentligen heter). Därefter skall programmet dekryptera meddelandet i den krypterade filen och lagra resultatet i klartextfilen. Exempel på programkörning: Mata in kryptoalfabetet: QWERTYUIOPÅÄÖLKJHGFDSAZXCVBNM Mata in filnamn för det krypterade meddelandet: KRYPTFIL.TXT Mata in filnamn där resultatet skall hamna: KLARTEXT.TXT Resultatet finns nu på filen KLARTEXT.TXT Det är givet att filnamnen alltid skall vara 12 tecken långa. Körexemplet ovan anger också både kryptoalfabetet och filnamnet där det kryterade meddelandet finns. Filen är given och finns tillgänglig. När du dekrypterar filen är det inte säkert att hela filens innehåll blir läsbart. Det är dock givet att det som blir läsbart går att förstå (hela meningar).

3 kl Uppgift 3 I Florida behövs ett program där man räknar röster. På röstsedlarna står ett namn på en person (maximalt 20 tecken). Personen deltar i valet för ett givet parti där partinamnet är maximalt 20 tecken. Din uppgift är att skriva ett program där man först matar in vilka personer som tillhör vilket parti (det är maximalt 10 personer som deltar i valet och det är maximalt 4 olika partier) och efter detta skall programmet räkna röster. Räkningen av röster går till så att man får mata in namnet på den person som står på röstsedeln till progammet. Resultatet skall ange vilket parti som vunnit. Körexempel: Mata in antal partier: 2 Mata in antal kandidat: 4 Mata in namn för kandidat nummer 1: Al Mata in parti för kandidat nummer 1: Yes Party Mata in namn för kandidat nummer 2: Smith Mata in parti för kandidat nummer 2: No Party Mata in namn för kandidat nummer 3: George Mata in parti för kandidat nummer 3: Yes Party Mata in namn för kandidat nummer 4: Jones Mata in parti för kandidat nummer 4: No Party Mata in antal valsedlar: 10 Mata in namn på valsedel nummer 1: Al Mata in namn på valsedel nummer 2: George Mata in namn på valsedel nummer 3: Smith Mata in namn på valsedel nummer 4: Al Mata in namn på valsedel nummer 5: Al Mata in namn på valsedel nummer 6: Smith Mata in namn på valsedel nummer 7: George Mata in namn på valsedel nummer 8: George Mata in namn på valsedel nummer 9: Al Mata in namn på valsedel nummer 10: Jones Efter röstsammanräkningen ser vi att Yes Party har vunnit. Tips: I denna uppgift är det bra att tänka till om datastrukturerna först.

4 kl Uppgift 1 Du skall skriva ett program som kontrollerar om ett tal P är ett så kallat pseudoprimtal till basen B. För att P skall vara pseudoprimtal till basen B måste följande villkor vara uppfyllda: Villkor 1: B (P-1) mod P = 1 Villkor 2: Största gemensamma delare för B och P är 1 För att beräkna största gemensamma delare krävs att man gör en liten funktion. I denna uppgift ger vi denna helt gratis. Vi kallar den för S_G_D. function S_G_D(A, B : in Integer) return integer is begin if (B mod A) = 0 then return A; end if; return S_G_D((B mod A), A); end S_G_D; Det finns dock ett litet problem till att lösa. Vi ser direkt att B (P-1) kommer att bli mycket stora tal även för ganska små värden på B och P. För att lösa detta problem, d.v.s. villkor 1, kan vi använda oss av en liten finess som kallas modulär exponentiering som finns i matematiken. Följande gäller för modulär exponentiering: För N = 0: A N mod B = 1 För N > 0: A N mod B = (A * (A N-1 mod B)) mod B Din uppgift blir alltså att skriva ett program som frågar användaren efter ett tal och en bas och sen skriver ut om talet är ett pseudoprimtal till basen. Exempel på programkörningar: Mata in P och B: Talet 45 är ett pseudoprimtal till basen 19 Mata in P och B: Talet 1729 är ett pseudoprimtal till basen 11 Mata in P och B: Talet 1729 är inte ett pseudoprimtal till basen 13 Mata in P och B: Talet 561 är inte ett pseudoprimtal till basen 11 Mata in P och B: Talet 561 är ett pseudoprimtal till basen 13

5 kl Uppgift 2 En matematiker som hette Erathostenes funderade en hel del på hur man snabbt skulle kunna få fram alla primtal från 2 upp till ett visst tal. Han kom fram till att man skulle kunna skriva upp alla tal upp till det tal man önskade på ett papper och sen utföra en sekvens av strykningar av ickeprimtal. Detta kallas för Erathostenes såll och du skall nu utföra detta i ett program för att slippa sitta och skriva en massa tal på papper. Själva strykningarna går till på följande sätt: 1. Använd det lägsta tal som inte är struket (detta är ett primtal) och inte tidigare använt. 2. Stryk alla övriga tal som är jämnt delbara med detta tal. 3. Börja om från punkt 1 tills det att inga tal är oanvända. Exempel på strykningar om vi antar att det maximala talet är 10: Ursprungliga tal: Första strykningsomgången: (stryker alla multiplar av 2) Andra strykningsomgången: (stryker alla multiplar av 3) Tredje strykningsomgången: (stryker alla multiplar av 5) Fjärde strykningsomgången: (stryker alla multiplar av 7) De tal som fortfarande är ostrukna är de primtal som finns mellan 2 och det tal som efterfrågades. I exemplet ovan är alltså 2, 3, 5, 7 primtal. I ditt program skall först det sökta maxtalet efterfrågas och sen skall alla tal mellan 2 och det sökta talet lagras i ett fält (en array ). Fältet skall dimensioneras så att det får plats precis så många tal som efterfrågas. Efter insättningen av alla tal i fältet skall strykningarna utföras. Till sist skall programmet skriva ut de tal som ej är strukna, d.v.s. de primtal som finns upp till maxtalet. Körexempel: Mata in det maximala talet: 75 Primtalen är: Tips: Det är tillåtet att definiera datatyper i underprogram.

6 kl Uppgift 3 Som du såg i uppgiften om Erathostenes gäller att ett primtal endast är jämnt delbart med sig självt och 1 (självklart). Att lagra alla talen först och sen stryka dem är väldigt krävande ur minnessynpunkt. Detta kan man undvika genom att lagra primtalen allt eftersom man hittar dem. I denna uppgift skall du låta användaren mata in ett maxtal. Efter detta skall du gå igenom alla tal från 2 upp till maxtalet. Varje tal du testar och finner att det är ett primtal skall lagras sist i en fil som skall heta PRIMES.TXT. För att testa om ett tal är ett primtal krävs att du kontrollerar att det inte är jämnt delbart med något av de tidigare primtalen. Detta innebär (tyvärr) att du måste gå igenom filen för varje nytt tal som skall testas, men det är den uppgift du nu har framför dig. När alla tal upp till och med maxtalet är testade (och alla av dessa som är primtal är lagrade på filen) skall programmet skriva ut de funna primtalen. Körexempel: Mata in det maximala talet: 76 Primtalen är: Krav: Programmet får inte anta att filen existerar innan programmet körs.

7 kl Uppgift 1 En matematiker som hette Erathostenes funderade en hel del på hur man snabbt skulle kunna få fram alla primtal från 2 upp till ett visst tal. Han kom fram till att man skulle kunna skriva upp alla tal upp till det tal man önskade på ett papper och sen utföra en sekvens av strykningar av ickeprimtal. Detta kallas för Erathostenes såll och du skall nu utföra detta i ett program för att slippa sitta och skriva en massa tal på papper. Själva strykningarna går till på följande sätt: 1. Använd det lägsta tal som inte är struket (detta är ett primtal) och inte tidigare använt. 2. Stryk alla övriga tal som är jämnt delbara med detta tal. 3. Börja om från punkt 1 tills det att inga tal är oanvända. Exempel på strykningar om vi antar att det maximala talet är 10: Ursprungliga tal: Första strykningsomgången: (stryker alla multiplar av 2) Andra strykningsomgången: (stryker alla multiplar av 3) Tredje strykningsomgången: (stryker alla multiplar av 5) Fjärde strykningsomgången: (stryker alla multiplar av 7) De tal som fortfarande är ostrukna är de primtal som finns mellan 2 och det tal som efterfrågades. I exemplet ovan är alltså 2, 3, 5, 7 primtal. I ditt program skall först det sökta maxtalet efterfrågas och sen skall alla tal mellan 2 och det sökta talet lagras i en enkellänkad lista (skapad m.h.a. pekare). Efter insättningen av alla tal i listan skall strykningarna utföras. Till sist skall programmet skriva ut de tal som ej är strukna, d.v.s. de primtal som finns upp till maxtalet. Körexempel: Mata in det maximala talet: 77 Primtalen är:

8 kl Uppgift 2 I matematiken används lite då och då primtal. Om två på varandra följande primtal endast har differensen 2 kallas de tvillingprimtal. Ett par exempel på sådana är 5 och 7 respektive 11 och 13. I en textfil som heter GIVEN_PRIMES.TXT finns de första N stycken primtalen (där N är ett heltal som är minst noll). Bland dessa finns det eventuellt ett antal tvillingprimtalspar. Du skall skriva ett program som frågar användaren vilket tvillingprimtalspar som önskas och sen skall programmet skriva ut detta par. Om användaren matar in att den söker par nummer 5 skall alltså det femte tvillingprimtalsparet skrivas ut. Om det är så att användaren matar in ett tal som är för stort, d.v.s. det finns inte så många tvillingprimtalspar i filen, skall meddelandet Det fanns inte så många tvillingprimtal i filen. skrivas ut. Körexempel: Mata in vilket tvillingprimtal som sökes: 1 Du sökte tvillingparet: 3, 5 Mata in vilket tvillingprimtal som sökes: 4 Du sökte tvillingparet: 17, 19 Mata in vilket tvillingprimtal som sökes: 12 Du sökte tvillingparet: 149, 151 Mata in vilket tvillingprimtal som sökes: 20 Du sökte tvillingparet: 311, 313 Mata in vilket tvillingprimtal som sökes: 25 Du sökte tvillingparet: 521, 523 Mata in vilket tvillingprimtal som sökes: 101 Det fanns inte så många tvillingprimtal i filen. I sista exemplet antar vi att filen som användes inte innehöll så många tvillingprimtalspar. Tips: Titta i filen för att se vilket format som används. Krav: Programmet måste fungera även om vi provkör med en datafil som innehåller fler eller färre primtal än den ni har fått som exempel. Det är alltså meningen att du skall upptäcka att det inte fanns så många par i filen. Ingen felhantering på inmatningar av negativa tal behöver göras. Användaren matar alltid in positiva tal.

9 kl Uppgift 3 Du skall skriva ett program som kontrollerar om ett tal B är en så kallad primitiv rot modulo talet P. För att B skall vara en primitiv rot modulo talet P måste ett antal saker vara uppfyllda: Ekvation 1: B N mod P = 1 Ekvation 2: Phi(P) = N I ekvation 1 skall man finna det minimala talet N som är större än noll. I ekvation 2 skall Phi(P) räkna antalet tal, T, i intervallet [1, P] som uppfyller villkoret: Villkor: Största gemensamma delaren för T och P är 1 För att ni skall slippa skriva funktionen Phi(P) har vi givit denna. I filen phi.adb ligger denna funktion. Speciellt gäller att Phi(P) = (P - 1) om P är ett primtal. Du får använda den på det sätt du anser lämpligt. För att beräkna största gemensamma delare krävs att man gör en liten funktion. I denna uppgift ger vi denna helt gratis (också). Vi kallar den för S_G_D. function S_G_D(A, B : in Integer) return integer is begin if (B mod A) = 0 then return A; end if; return S_G_D((B mod A), A); end S_G_D; Det finns dock ett litet problem. Vi ser direkt att B N kommer att bli mycket stora tal även för ganska små värden på B och N. Vi skall inte lösa detta problem, men vi skall se till att programmet inte hamnar i ett felläge. Detta gör vi genom att bestämma att N inte får bli större eller lika med P. Om N blir större eller lika med P skall felmeddelandet Ett fel har inträffat! skrivas ut. Din uppgift blir alltså att skriva ett program som frågar användaren efter talet B och talet P och sen letar reda på N (om det går) och skriver ut om B är en primitiv rot modulo P enligt nedan. Exempel på programkörningar: Mata in B och P: 2 11 Talet 2 är en primitiv rot modulo 11 Mata in B och P: 2 13 Talet 2 är en primitiv rot modulo 13 Mata in B och P: 5 13 Talet 5 är inte en primitiv rot modulo 13

10 kl Uppgift 1 Ibland vill man kunna primtalsfaktorisera stora tal. Detta kan göras på många olika sätt och man kan dra nytta av primtalsfaktorerna på olika sätt. Ibland är man dock inte intresserad av alla faktorerna eller hur många gånger de förekommer. I denna uppgift skall du ta fram alla unika primtalsfaktorer ur en sekvens av primtalsfaktorer som användaren matar in. Detta kallas för att vi plockar fram den kvadratfria delen i primtalsfaktorsekvensen. På en textfil som heter GIVEN_PRIMES.TXT finns de första 100 primtalen. Dessa kan du läsa in till en vektor och använda vid lösningen av problemet. Användaren skall anmodas skriva in ett antal primfaktorer samt att avsluta inmatningen med en nolla. Programmet skall läsa in de primfaktorer som matats in och på något sätt lagra information om dessa. När alla primfaktorer är inlästa skall programmet skriva ut alla primfaktorerna, men varje faktor får endast skrivas ut exakt en gång. För att göra uppgiften lite mer spännande skall primfaktorerna skrivas ut i sorterad ordning där det minsta skrivs ut först. Det är givet i uppgiften att användaren inte matar in primfaktorer som är större än det största primtalet på filen. Exempel på programkörningar: Mata in ett antal primfaktorer (avsluta med en nolla): Kvadratfria delen (sorterad) är: Mata in ett antal primfaktorer (avsluta med en nolla): Kvadratfria delen (sorterad) är: Krav: Du får INTE lagra information om de inlästa primtalsfaktorerna i en länkad lista!

11 kl Uppgift 2 Som du säkert redan vet gäller att ett primtal endast är jämnt delbart med sig självt och 1. En matematiker som hette Erathostenes funderade en hel del på hur man snabbt skulle kunna få fram alla primtal från 2 upp till ett visst tal. Han kom fram till att man skulle kunna skriva upp alla tal upp till det tal man önskade på ett papper och sen utföra en sekvens av strykningar av ickeprimtal. Detta kallas för Erathostenes såll och du skall nu utföra detta i ett program för att slippa sitta och skriva en massa tal på papper. Själva strykningarna går till på följande sätt: 1. Använd det lägsta tal som inte är struket (detta är ett primtal) och inte tidigare använt. 2. Stryk alla övriga tal som är jämnt delbara med detta tal. 3. Börja om från punkt 1 tills det att inga tal är oanvända. Exempel på strykningar om vi antar att det maximala talet är 10: Ursprungliga tal: Första strykningsomgången: (stryker alla multiplar av 2) Andra strykningsomgången: (stryker alla multiplar av 3) Tredje strykningsomgången: (stryker alla multiplar av 5) Fjärde strykningsomgången: (stryker alla multiplar av 7) De tal som fortfarande är ostrukna är de primtal som finns mellan 2 och det tal som efterfrågades. I exemplet ovan är alltså 2, 3, 5, 7 primtal. Som du inser är det väldigt krävande ur minnessynpunkt att först lagra alla talen och sen stryka dem. Detta kan man undvika genom att lagra primtalen allt eftersom man hittar dem. I denna uppgift skall du låta användaren mata in ett maxtal. Efter detta skall du gå igenom alla tal från 2 upp till maxtalet. Varje tal du testar och finner att det är ett primtal skall lagras sist i en länkad lista (med pekare alltså). För att testa om ett tal är ett primtal krävs att du kontrollerar att det inte är jämnt delbart med något av de tidigare primtalen. Detta innebär att du måste gå igenom listan för varje nytt tal som skall testas, men det är den uppgift du nu har framför dig. När alla tal upp till och med maxtalet är testade (och alla av dessa som är primtal är lagrade i listan) skall programmet skriva ut de funna primtalen. Körexempel: Mata in det maximala talet: 78 Primtalen är:

12 kl Uppgift 3 I krypteringssammanhang pratas det ofta om RSA-krypton. Detta krypto lanserades av tre forskare i USA som hette Ron Rivest, Adi Shamir och Leonard Adleman. Själva algoritmen är enligt källor i England använd redan tidigare i militära sammanhang. Att denna algoritm inte publicerades av militären var väl ganska naturligt. Vi beskriver här RSA-kryptot kortfattat. Hela principen bygger på att man vill skapa en publik nyckel samt en privat nyckel som gör att meddelandet blir i princip oknäckbart. Nyckelgenereringen går till på följande sätt: 1. Vi väljer två väldigt stora primtal (åtminstone 200-siffriga tal), vi kallar dessa P och Q. Dessa multipliceras till ett nytt tal, N = P * Q. Dessutom beräknar vi Phi = (P-1) * (Q-1). 2. Välj den minimala krypteringsnyckel, K, som är relativt prim med Phi. Ett tal är relativt primt med ett annat om talens största gemensamma delare är ett. Vi har nu den publika nyckeln till RSA-kryptot som består av talen K och N. 3. Förutom detta krävs att man skapar en privat avkrypteringsnyckel, A. Detta går till på så sätt att man söker det minimala talet A som uppfyller ekvationen ((A * K) mod Phi) = 1. Vi söker alltså ett tal som multiplicerat med K ger en rest på 1 när produkten delas med Phi. Vi har nu den privata avkrypteringsnyckeln A. Krypteringen går till på följande sätt: Vi använder följande formel: C = (T K mod N), där C är den krypterade texten (kryptotexten) och T är den ursprungliga texten (klartexten) samt K och N den publika nyckeln. Dekrypteringen går till på följande sätt: Vi använder vi följande formel: T = (C A mod N). Där C är kryptotexten, T klartexten, A den privata avkrypteringsnyckeln och N en del av den publika nyckeln. Din uppgift är att låta en användare mata in två primtal (P och Q) utan felhantering och sedan ta fram värdena på A och K. Vi begränsar oss till små primtal för att inte få så stora problem. Givet i uppgiften är också att du får funktionen som tar fram största gemensamma delare (vi kallar den S_G_D). Denna finns på filen "s_g_d.adb". Ett par exempel på programkörningar (observera att vi använder ganska små primtal :-): Mata in P och Q: 5 11 De sökta talen är: A = 27 K = 3 Mata in P och Q: 13 7 De sökta talen är: A = 29 K = 5 Ett exempel som tar lite tid i värsta fall (dock inte längre än 1-2 minuter): Mata in P och Q: De sökta talen är: A = K = 5

13 kl Uppgift 1 Nu i valborg är det ju tyvärr en massa problem för polisen vad det gäller alltför berusade personer som desutom håller på med smällare och raketer. Detta har polisen nu kommit fram till att de skall kunna göra något åt genom att låta varje misstänkt skriva ett litet program som utför ett enkelt alkoholtest. Det program som den misstänkte (Se det inte som att det är du som är den misstänkte utan att du får vara försöksperson.) skall skriva är ett program som läser in en alkohol och sen skriver ut den igen. Då polisen antar att de som är berusade inte kan hantera kemiska formler på rätt sätt, medan de som inte är berusade kan detta, anser de att det räcker att mata in alkoholen med dess kemiska formel (t.ex. C 2 H 5 OH). Hur detta ser ut syns i exemplen nedan. Vi antar att man inte skall kunna mata in alkoholer med fler än nio kolatomer (C), men programmet får förstås klara fler. Programmet skall vara konstruerat så att det inte kan anses vara s.k. fullständig uppräkning av fall, d.v.s. alla varianter skall hanteras likvärdigt och inte med en uppräkning av alla fall som finns. Ingen felhantering av indata behöver göras. Den som provar programmet anses vara nykter och veta vad den gör. Krav på programmet: 1. Alkoholen skall lagras i en post. Datatypen skall vara privat och ligga i ett paket. 2. Ingen felhantering. 3. I paketet skall det finnas en Get_Line som ser till att hela den inmatade raden är bortläst (inklusive radslut) och en Put_Line som ser till att utskriften avslutas med ett radslut. Get_Line och Put_Line får endast ha en parameter och den skall vara av den privata datatypen ovan. Inmatningen skall ske på formen CaHbOH, där a och b är de tal som anger antal atomer av respektive slag (b=a*2+1). a skall alltid matas in (även om a=1). Utskriften skall se ut enligt exemplen nedan. Exempel på programkörningar: Mata in en alkohol: C1H3OH Alkoholen ser ut enligt följande: H H - C - OH H Mata in en alkohol: C9H19OH Alkoholen ser ut enligt följande: H H H H H H H H H H - C - C - C - C - C - C - C - C - C - OH H H H H H H H H H

14 kl Uppgift 2 Alla vi människor tycker väl att det är lite kul att veta sitt ursprung. Det kan vara mormors farmors mor Valborg eller farmors morfar Valle Borg som vi har något minne av eller tycker hade ett intressant yrke. Det du skall göra är att skriva ett program som läser in en rad bestående av maximalt 80 tecken (utan felhantering) och sen kontrollerar om den inmatade raden innehåller en beskrivning av typen ovan (d.v.s. farmors mormors farfars morfars mor eller liknande). Vi antar för enkelhetens skull att det alltid är gemener (a-ö) som användaren matar in. Det som skall kontrolleras är alltså att raden som matas in innehåller orden mor eller far så att det blir en korrekt beskrivning. Kombinationerna farmor m.fl. måste avslutas med ett s om de följs av ytterligare ord. Det är alltså inte korrekt att mata in mormor mormor mor medan det är korrekt att mata in mormors mormor. Krav på programmet: 1) Det är inte ok att räkna upp andra ord än mor och far i programmet. Ni får alltså inte jämföra med t.ex. mormor. 2) Själva testet av korrekthet skall utföras i en funktion som heter Legal_Value. Körexempel: Mata in en släktrelation: mormors farmors morfars farfars mormors morfars farmors far Det är ok! Mata in en släktrelation: mormors morfars farmors fars mormors farmors morfars farfar Det är fel! Tips: Det är tillåtet att använda rekursion för att lösa problemet med kontrollen.

15 kl Uppgift 3 Skriv ett program som går igenom filen VINTERN_RASAT.TXT (som ni förstår är detta kopplingen till valborg) och sen skriver ut vilket tecken som förekommer flest gånger. OBS! Det är programmet som skall räkna ut vilket tecknet är (eller tecknen om det är flera). Rader som börjar med blanktecken skall ignoreras. Endast de tecken som finns med i svenska alfabetet (a-ö) räknas, d.v.s. alla specialtecken som bindestreck, siffror, punkter m.m. skall ignoreras. Om det är så att två eller flera tecken förekommer lika många gånger (och det är maxantalet förstås) skall alla dessa skrivas ut. I texten på filen finns både gemener och versaler vilket kan ställa till det lite. Vi räknar alla tecken som versaler och ni får konvertera de som är gemener. Därför har vi här en hjälpfunktion som gör om alla svenska bokstäver till versaler: function To_Upper(Item : in Character) return Character is begin if (Item in a.. z ) or else (Item = å ) or else (Item = ä ) or else (Item = ö ) then return Character Val(Character Pos(Item) - Character Pos( a ) + Character Pos( A )); end if; return Item; end To_Upper; Körexempel (om det är flera tecken skrivs de ut med och enligt andra exemplet): I filen VINTERN_RASAT.TXT finns X flest gånger. I filen VINTERN_RASAT.TXT finns X och Y flest gånger.

16 kl Uppgift 1 Nu i valborg är det ju tyvärr en massa problem för polisen vad det gäller alltför berusade personer som desutom håller på med smällare och raketer. Detta har polisen nu kommit fram till att de skall kunna göra något åt genom att låta varje misstänkt skriva ett litet program som utför ett enkelt alkoholtest. Det program som den misstänkte (Se det inte som att det är du som är den misstänkte utan att du får vara försöksperson.) skall skriva är ett program som läser in en alkohol och sen skriver ut den igen. Då polisen antar att de som är berusade inte kan hantera kemiska formler på rätt sätt, medan de som inte är berusade kan detta, anser de att det räcker att mata in alkoholen med dess kemiska formel (t.ex. C 2 H 5 OH). Hur detta ser ut syns i exemplen nedan. Vi antar att man inte skall kunna mata in alkoholer med fler än tio kolatomer (C), men programmet får förstås klara fler. Programmet skall vara konstruerat så att det inte kan anses vara s.k. fullständig uppräkning av fall, d.v.s. alla varianter av inmatningar skall hanteras likvärdigt och inte med en uppräkning av alla fall som finns. Användaren av programmet är en annan misstänkt individ så det måste finnas full felkontroll av inmatningen. D.v.s. indata kan vara precis vad som helst. Vid felaktiga inmatningar skall programmet skriva ut att det är fel och sen skall programmet fråga efter en ny inmatning. Så fort det är en korrekt inmatning skall programmet skriva ut det inmatade igen och sen avsluta. Krav på programmet: 1. Alkoholen skall lagras i en post. Datatypen skall vara privat och ligga i ett paket. 2. Full felhantering (inklusive undantag, d.v.s. exceptions ) av indata och felutskrifterna skall göras i huvudprogrammet. 3. I paketet skall det finnas en Get_Line som ser till att hela den inmatade raden är bortläst (inklusive radslut) och en Put_Line som ser till att utskriften avslutas med ett radslut. Get_Line och Put_Line får endast ha en parameter och den skall vara av den privata datatypen ovan. Inmatning och utskrift skall ske på formen CaHbOH, där a och b är de tal som anger antal atomer av respektive slag (b=a*2+1). a kan uteslutas (om a=1). Exempel på programkörningar (programmet avslutas när en korrekt formel matas in): Mata in en alkohol: CH3O Felaktig inmatning! Mata in en alkohol: CH3OH Du matade in CH3OH. Mata in en alkohol: C10H20OH Felaktig inmatning! Mata in en alkohol: Jag är inte berusad! Felaktig inmatning! Mata in en alkohol: CH2OH Felaktig inmatning! Mata in en alkohol: C10H21OH Du matade in C10H21OH.

17 kl Uppgift 2 Skriv ett program som går igenom filen VARSANG.TXT (se i filen för att se kopplingen till valborg :-) och sen skriver ut hur många specialtecken det finns i texten. OBS! Det är programmet som skall räkna ut antalet. Rader som börjar med blanktecken skall ignoreras. Dessutom skall blanktecken, radslutstecken (RETURN) och de vanliga bokstäverna i det svenska alfabetet inte räknas som specialtecken. I texten på filen finns både gemener och versaler vilket skulle kunna ställa till det lite. Därför har vi här en hjälpfunktion som gör om alla gemener till versaler: function To_Upper(Item : in Character) return Character is begin if (Item in a.. z ) or else (Item = å ) or else (Item = ä ) or else (Item = ö ) then return Character Val(Character Pos(Item) - Character Pos( a ) + Character Pos( A )); end if; return Item; end To_Upper; Körexempel (XXX nedan ersätts med det antal programmet hittar i filen): I filen VARSANG.TXT finns det XXX stycken specialtecken.

18 kl Uppgift 3 I Ada finns datatypen String som ni väl känner till. När man deklarerar en variabel av denna typ måste man alltid ange start- och slutindex vilket gör att man direkt vet hur många tecken som kommer att lagras. När man sen läser in en sträng från tangentbordet med Get resp. Put måste användaren alltid mata in exakt så många tecken som strängen är dimensionerad för och utskriften sker med alla tecken som skickas till Put. I många fall vore det trevligt om man hade en strängdatatyp som inte var så hårt begränsad (vad det gäller längd). Man kanske vill kunna skriva Get och sen låta användaren mata in godtyckligt många tecken. För att lösa detta skulle man kunna tänka sig att använda en länkad lista med tecken. I denna uppgift skall vi göra det lite enklare genom att bestämma oss för att användaren aldrig matar in mer än 80 tecken. Din uppgift är att skapa en datatyp som du skall kalla Unbounded_String som skall innehålla representationen av det som motsvarar strängen beskriven ovan. Dessutom skall det finnas en Get (med en parameter) som läser så många tecken som det finns på den inmatade raden och lagrar detta i parametern. En Put måste ju också finnas med. Denna skall ha en parameter (av din strängtyp) och se till att skriva ut exakt så många tecken som matades in. Krav på din Get : Skall se till att hela raden (inklusive radslut) är inläst. Krav på din Put : Skall se till att hela strängen skrivs ut (lagom många tecken alltså). Radslut skall inte skrivas ut. Givetvis skall ditt program visa att dina underprogram och datatypen fungerar som de skall. Detta innebär att du måste kunna påvisa på något sätt att det inte är något kvar i inmatningsbufferten efter det att Get gjort sitt. Vi antar att inmatningen inte går så fort att det kan komma in någon extra inmatning efter det att användaren tryckt på RETURN. Tips: Din datatyp bör vara en post med en sträng (String) och ett heltal som anger antal inmatade tecken. Det är ok att göra motsvarande med en lista av tecken om du vill, men det blir lite mer kodskrivande. Krav: Det är inte tillåtet att använda sig av andra specialdatatyper som kan finnas i Ada. Inte använda redan befintliga datatyper mer än de grundläggande (Integer, Float, Boolean, Character och String) eller strukturer uppbyggda av dessa (array, access och record). Exempel på programkörning (användarens indata är markerad med fetstil): Mata in en sträng med maximalt 80 tecken: Nu i valborg är det ju trevligt att gå på lite firande! Du skall behöva trycka RETURN för att komma vidare om det är så att inmatningsbufferten är tom. Tryck RETURN nu! Du matade in (denna text skall komma efter ditt RETURN): Nu i valborg är det ju trevligt att gå på lite firande!

19 kl Uppgift 1 Ett företag har beställt ett program som letar efter förekomster av en teckensekvens i en annan teckensekvens. Din uppgift är alltså att skriva detta program. Programmet skall till att börja med be användaren att mata in två teckensekvenser. Den första sekvensen kallar vi texten och den andra kallar vi söksträngen. Sekvenserna avslutas med varsitt radslut (RETURN). Söksträngen skall alltså försöka återfinnas i texten. Det speciella med detta program är att det inte behöver vara en exakt matchning av söksträngen i texten. Det är helt ok att det finns fler likadana tecken i rad i texten än det finns i söksträngen. Ett exempel som är en matchning är texten= KKAAALLEEE och söksträngen= KALLE. Detta beroende på att det är helt ok att ha flera K, A och E i rad trots att det bara finns ett i söksträngen på motsvarande position. Det är dock viktigt att påpeka att det måste finns minst två L i rad i texten då det finns två i söksträngen (det hade förstås varit ok med tre stycken L i rad också). Ditt program skall upprepa inmatningarna tills det att en matchning funnits. Efter det att en matchning funnits skall programmet avslutas. Exempel på programkörningar (programmet avslutas när en matchning hittats): Mata in texten : KKAAARLLLEEE Mata in söksträngen: KALLE ** Ingen matchning! Mata in texten : Man kan blanda gemener och VERSALER. Mata in söksträngen: versaler ** Ingen matchning! Mata in texten : Sångaren sjöng lallaaalllaaallaaala. Mata in söksträngen: lalalalala ** Matchning! Mata in texten : Morfar: Har ekorren hjul? Mata in söksträngen: Pojken: Nej den har ben... och SVANS! ** Ingen matchning! Mata in texten : Morfar: Var sitter den? Mata in söksträngen: Pojken: I granen! ** Ingen matchning! Mata in texten : Skämt åsido. GRANEN Mata in söksträngen: GRANNEN ** Ingen matchning! Mata in texten : GRANNEN Mata in söksträngen: GRANNNEN ** Ingen matchning! Mata in texten : GRANNEN Mata in söksträngen: GRANNEN ** Matchning! Tips: Det är ok att anta att användaren inte matar in mer än 80 tecken i någon av sekvenserna, men det är inte givet att användaren matar in färre tecken i söksträngen än i texten.

20 kl Uppgift 2 En pojke fick en klocka i födelsedagspresent och den hade inte bara tidsvisning utan var försedd med datumvisning också (endast vilken dag i månaden alltså). Det pojken upptäckte var dock att klockan hade en intern kontroll av vilken månad det var för tillfället och vid första månadsskiftet kom klockan att stå fel. Detta justerade pojken på det enkla sättet att han drog tillbaka datumet tills det att det stämde igen. Nu kan det tänkas att pojken kommer att få göra detta ett antal gånger innan klockan internt tror sig vara i samma månad som pojken befinner sig i. Din uppgift är att skriva ett program som läser in två datum (månad och dag exakt på formen MM-DD) som motsvarar dels klockans interna datum och dels det aktuella datumet som pojken fyller år (observera att dagnumret skall vara lika i de två inmatningarna) och sen gör samma justeringar som pojken skulle göra. Som resultat av en programkörning skall programmet skriva ut hur lång tid det tagit (i dagar räknat) efter det att pojken fyllde år tills dess att klockan går rätt samt hur många ändringar av klockan som är gjorda (vi antar att pojekn ställer klockan på rätt dagnummer på sin födelsedag.. Det är givet att användaren matar in korrekta data och att inga skottår skall hanteras. Körexempel: Mata in födelsedag : Mata in internt datum: Antal dagar efter födelsedagen : 27 Antal tillrättningar av klockan: 1 Mata in födelsedag : Mata in internt datum: Antal dagar efter födelsedagen : 665 Antal tillrättningar av klockan: 11 Mata in födelsedag : Mata in internt datum: Antal dagar efter födelsedagen : 546 Antal tillrättningar av klockan: 7 Mata in födelsedag : Mata in internt datum: Antal dagar efter födelsedagen : 383 Antal tillrättningar av klockan: 8 Mata in födelsedag : Mata in internt datum: Antal dagar efter födelsedagen : 0 Antal tillrättningar av klockan: 0

21 kl Uppgift 3 På ett hundpensionat i staden var det en gång två hunder som kom in samtidigt och skulle dela rum. Den ena av hundarna hade inga loppor i sin päls medan den andre hade exakt etthundra stycken. Nu bar det sig inte bättre än att dessa loppor hade en tendens att vilja hoppa från den hund de satt på till den andre. En fråga som direkt uppstår är: Hur lång tid tar det innan båda hundarna har lika många loppor i sina respektive pälsar (d.v.s. femtio stycken var)? Du skall skriva ett program som simulerar detta förlopp 1000 gånger och sen skriva ut hur lång tid det tagit i medeltid tills hundarna har lika många loppor. Simuleringen har följande begränsning: Det är alltid exakt en loppa som byter päls (hoppar till den andra hunden) per tidsenhet. Du kan redogöra för tiden i tidsenheter (inte timmar, minuter och sekunder). Tips: Det kan eventuellt vara av intresse att lagra information i ett fält (en array ). Exempel på programkörning (observera att det kan vara andra snittider du får...): Det tog i snitt tidsenheter innan det var jämvikt.

Uppgift 1 ( Betyg 3 uppgift )

Uppgift 1 ( Betyg 3 uppgift ) 2008-03-12.kl.14-19 Uppgift 1 ( Betyg 3 uppgift ) Du skall skriva ett program som läser igenom en textfil som heter FIL.TXT och skriver ut alla rader där det står ett decimaltal först på raden. Decimaltal

Läs mer

Uppgift 1 (vadå sortering?)

Uppgift 1 (vadå sortering?) 2011-06-08.kl.14-19 Uppgift 1 (vadå sortering?) Du skall skriva ett program som sorterar in en sekvens av tal i en vektor (en array ) enligt en speciell metod. Inledningsvis skall vektorn innehålla endast

Läs mer

Uppgift 1 ( Betyg 3 uppgift )

Uppgift 1 ( Betyg 3 uppgift ) 2004-03-10.kl.08-13 Uppgift 1 ( Betyg 3 uppgift ) Du skall skriva ett program som ritar ut en åtthörning på skärmen. Åtthörningen skall dock se ut enligt exemplen nedan och det är så att användaren skall

Läs mer

Uppgift 1 ( Betyg 3 uppgift )

Uppgift 1 ( Betyg 3 uppgift ) Uppgift 1 ( Betyg 3 uppgift ) I filerna queue_handling.ads och queue_handling.adb finns en datastruktur som motsvarar en kö. Det finns fyra operationer som kan utföras på en kö. 1) Enqueue som stoppar

Läs mer

Uppgift 1a (Aktiekurser utan poster)

Uppgift 1a (Aktiekurser utan poster) Uppgift 1a (Aktiekurser utan poster) Vi har lite olika upplägg i de kurser vi håller och i vissa kurser finns det med något som vi kallar "poster" (eng. "record"). I andra har vi inte med detta. Vi har

Läs mer

5 Grundläggande in- och utmatning

5 Grundläggande in- och utmatning 5 Grundläggande in- och utmatning För att användaren skall kunna kommunicera med programmet krävs att man inkluderar ett eller flera bibliotek med rutiner. I Ada finns det ett antal paket som gör detta

Läs mer

RSA-kryptering och primalitetstest

RSA-kryptering och primalitetstest Matematik, KTH Bengt Ek augusti 2016 Material till kurserna SF1630 och SF1679, Diskret matematik: RSA-kryptering och primalitetstest Hemliga koder (dvs koder som används för att göra meddelanden oläsbara

Läs mer

kl Tentaupplägg

kl Tentaupplägg Tentaupplägg TIPS 1: Läs igenom ALLA uppgifterna. Välj den du känner är lättast först. Det kan gärna ta 10-20 minuter. Försök skriva saker som kan vara problem i uppgifterna. Är det något du absolut kommer

Läs mer

Uppgift 1 (Sorterade heltal som är OK)

Uppgift 1 (Sorterade heltal som är OK) 2013-03-12.kl.14-19 Uppgift 1 (Sorterade heltal som är OK) Ibland råkar man ut för att man måste se till att man inte får dubletter i sina inmatningar. Denna uppgift baserar sig på detta, men dessutom

Läs mer

Föreläsning 6: Introduktion av listor

Föreläsning 6: Introduktion av listor Föreläsning 6: Introduktion av listor Med hjälp av pekare kan man bygga upp datastrukturer på olika sätt. Bland annat kan man bygga upp listor bestående av någon typ av data. Begreppet lista bör förklaras.

Läs mer

Uppgift 1 (grundläggande konstruktioner)

Uppgift 1 (grundläggande konstruktioner) Uppgift 1 (grundläggande konstruktioner) a) Skriv ett program som låter användaren mata in 7 heltal och som gör utskrifter enligt nedanstående körexempel. Mata in 7 heltal: 1 0 0 3 1 1 1 Tal nr 2 var en

Läs mer

Uppgift 1 ( Betyg 3 uppgift )

Uppgift 1 ( Betyg 3 uppgift ) Uppgift 1 ( Betyg 3 uppgift ) Skriv ett program, Draw_Hexagones, som ritar ut en bikupa enligt körexemplen nedan. Exempel 1: Mata in storlek på bikupan: 1 + / \ + + + + \ / + Exempel 3: Mata in storlek

Läs mer

Uppgift 1 ( Betyg 3 uppgift )

Uppgift 1 ( Betyg 3 uppgift ) Uppgift 1 ( Betyg 3 uppgift ) Skriv ett program, Draw_Hexagones, som ritar ut en bikupa enligt körexemplen nedan. Exempel 1: Mata in storlek på bikupan: 1 Exempel 3: Mata in storlek på bikupan: 3 \ / \

Läs mer

Föreläsning 4: Poster

Föreläsning 4: Poster Föreläsning 4: Poster Följande är genomgånget: type Person_Type is Namn : String(30); Skonr : Float; Kon : Boolean; Diskussion runt detta med olika typer m.m. Har tagit upp vilka operationer man kan göra

Läs mer

kl Tentaupplägg

kl Tentaupplägg Tentaupplägg TIPS 1: Läs igenom ALLA uppgifterna. Välj den du känner är lättast först. Det kan gärna ta 10-20 minuter. Försök skriva saker som kan vara problem i uppgifterna. Är det något du absolut kommer

Läs mer

Tentaupplägg denna gång

Tentaupplägg denna gång Tentaupplägg denna gång Denna tenta är uppdelad i två olika varianter. Det är helt ok att använda vilken variant ni vill. Det är ok att byta mitt under tentan om man så vill också. Variant 1: Uppgift 1,

Läs mer

Uttryck, satser och strömhantering

Uttryck, satser och strömhantering Linköpings Universitet Institutionen för datavetenskap (IDA) UPP-gruppen 2018-09-06 Mål Uttryck, satser och strömhantering I denna laboration ska du lära dig Formaterad inläsning och utskrift Vanliga repetitions-

Läs mer

Övning 6 - Tillämpad datalogi 2012

Övning 6 - Tillämpad datalogi 2012 /home/lindahlm/activity-phd/teaching/12dd1320/exercise6/exercise6.py October 2, 20121 0 # coding : latin Övning 6 - Tillämpad datalogi 2012 Sammanfattning Idag gick vi igenom komprimering, kryptering och

Läs mer

MA2047 Algebra och diskret matematik

MA2047 Algebra och diskret matematik MA2047 Algebra och diskret matematik Något om restklassaritmetik Mikael Hindgren 19 september 2018 Exempel 1 Klockan är nu 8.00 Vad är klockan om 78 timmar? Vad var klockan för 53 timmar sedan? 8 + 78

Läs mer

Algoritmer, datastrukturer och komplexitet

Algoritmer, datastrukturer och komplexitet Algoritmer, datastrukturer och komplexitet Övning 6 Anton Grensjö grensjo@csc.kth.se 9 oktober 2015 Anton Grensjö ADK Övning 6 9 oktober 2015 1 / 23 Översikt Kursplanering Ö5: Grafalgoritmer och undre

Läs mer

NÅGOT OM KRYPTERING. Kapitel 1

NÅGOT OM KRYPTERING. Kapitel 1 Kapitel 1 NÅGOT OM KRYPTERING Behovet av att skydda information har funnits mycket länge, men först i samband med utvecklingen av datatekniken har det blivit ett allmänt problem för alla moderna samhällen.

Läs mer

Föreläsning 3.1: Datastrukturer, en översikt

Föreläsning 3.1: Datastrukturer, en översikt Föreläsning.: Datastrukturer, en översikt Hittills har vi i kursen lagt mycket fokus på algoritmiskt tänkande. Vi har inte egentligen ägna så mycket uppmärksamhet åt det andra som datorprogram också består,

Läs mer

Algoritmer, datastrukturer och komplexitet

Algoritmer, datastrukturer och komplexitet Algoritmer, datastrukturer och komplexitet Övning 6 Anton Grensjö grensjo@csc.kth.se 4 oktober 2017 1 Idag Algoritmkonstruktion (lite blandat) Redovisning och inlämning av labbteori 3 2 Uppgifter Uppgift

Läs mer

Tentamen Grundläggande programmering

Tentamen Grundläggande programmering Akademin för Innovation Design och Teknik Tentamen Grundläggande programmering Kurskod: DVA103 Datum 2012-06-11 Tid 14.10 16.30 Examinator: Lars Asplund Maxpoäng: 48 Betygsgränser: Betyg 3: 20 Betyg 4:

Läs mer

kl Tentaupplägg

kl Tentaupplägg Tentaupplägg TIPS 1: Läs igenom ALLA uppgifterna. Välj den du känner är lättast först. Det kan gärna ta 10-20 minuter. Försök skriva saker som kan vara problem i uppgifterna. Är det något du absolut kommer

Läs mer

Objektorienterad programmering i Java I. Uppgifter: 2 Beräknad tid: 5-8 timmar (OBS! Endast ett labbtillfälle) Att läsa: kapitel 5 6

Objektorienterad programmering i Java I. Uppgifter: 2 Beräknad tid: 5-8 timmar (OBS! Endast ett labbtillfälle) Att läsa: kapitel 5 6 Laboration 2 Objektorienterad programmering i Java I Uppgifter: 2 Beräknad tid: 5-8 timmar (OBS! Endast ett labbtillfälle) Att läsa: kapitel 5 6 Syfte: Att kunna använda sig av olika villkors- och kontrollflödeskonstruktioner

Läs mer

Kursmaterial för laborationer i

Kursmaterial för laborationer i Kursmaterial för laborationer i IMPA TDDC 68 Sammanställt av Torbjörn Jonsson 2007-02-09 INNEHÅLL Allmänt om C++-laborationerna 1 De olika laborationerna: Lab0: Grundläggande C++ 3 Lab1: Sortering med

Läs mer

TDP Uppgift 1

TDP Uppgift 1 Uppgift 1 Ett (svenskt) registreringsnummer består av tre bokstäver mellan A och Z (förutom bokstäverna I,Q och V) samt tre siffror. I denna uppgift ska du skapa ett program som ber användaren mata in

Läs mer

kl Tentaupplägg

kl Tentaupplägg Tentaupplägg TIPS 1: Läs igenom ALLA uppgifterna. Välj den du känner är lättast först. Det kan gärna ta 10-20 minuter. Försök skriva saker som kan vara problem i uppgifterna. Är det något du absolut kommer

Läs mer

Primtal, faktorisering och RSA

Primtal, faktorisering och RSA 17 november, 2007 Ett Exempel N = 93248941901237910481523319394135 4114125392348254384792348320134094 3019134151166139518510341256153023 2324525239230624210960123234120156 809104109501303498614012865123

Läs mer

Exempel på ett litet Ada-program

Exempel på ett litet Ada-program Exempel på ett litet Ada-program -- En kommentar som beskriver något. with Ada.Text_IO; procedure Mini is -- Deklarationer. K : constant Integer := 5; X, Y : Integer; -- Körbar kod. Ada.Text_IO.Put( Utskrift

Läs mer

Linköpings Tekniska Högskola Instutitionen för Datavetenskap (IDA) Torbjörn Jonsson, Erik Nilsson Lab 2: Underprogram

Linköpings Tekniska Högskola Instutitionen för Datavetenskap (IDA) Torbjörn Jonsson, Erik Nilsson Lab 2: Underprogram Mål Lab 2: Underprogram Följande laboration introducerar underprogram; procedurer, funktioner och operatorer. I denna laboration kommer du att lära dig: Hur man skriver underprogram och hur dessa anropas.

Läs mer

Lösning till tentamensskrivning i Diskret Matematik för CINTE, CL2 och Media 1, SF1610 och 5B1118, onsdagen den 17 augusti 2011, kl

Lösning till tentamensskrivning i Diskret Matematik för CINTE, CL2 och Media 1, SF1610 och 5B1118, onsdagen den 17 augusti 2011, kl Matematiska Institutionen KTH Lösning till tentamensskrivning i Diskret Matematik för CINTE, CL och Media, SF60 och 5B8, onsdagen den 7 augusti 0, kl 4.00-9.00. Examinator: Olof Heden Hjälpmedel: Inga

Läs mer

TENTA: TDDD11 & TDDC68. Tillåtna hjälpmedel. Starta Emacs, terminal och tentakommunikationsfönster. Skicka in frågor och uppgifter

TENTA: TDDD11 & TDDC68. Tillåtna hjälpmedel. Starta Emacs, terminal och tentakommunikationsfönster. Skicka in frågor och uppgifter TENTA: TDDD11 & TDDC68 Tillåtna hjälpmedel Det är tillåtet att ha böcker (t.ex. Ada-bok, formelsamlingar, lexikon,...) med sig samt utdelade lathundar (finns på kurshemsidan) för Ada, Unix och Emacs. Utdraget

Läs mer

Uppgift 1 ( Betyg 3 uppgift )

Uppgift 1 ( Betyg 3 uppgift ) 2005-06-09.kl.08-13 Uppgift 1 ( Betyg 3 uppgift ) Ett plustecken kan se ut på många sätt. En variant är den som ses nedan. Skriv ett program som låter användaren mata in storleken på plusset enligt exemplen

Läs mer

Uppgift 1 ( Betyg 3 uppgift )

Uppgift 1 ( Betyg 3 uppgift ) 2008-03-25.kl.14-19 Uppgift 1 ( Betyg 3 uppgift ) Du skall skriva ett program (en funktion), my_plot_figure, som läser in ett antal sekvenser av koordinater från tangentbordet och ritar ut dessa till en

Läs mer

TDP Regler

TDP Regler Regler Student får lämna salen tidigast en timme efter tentans start. Vid toalettbesök eller rökpaus ska pauslista utanför salen fyllas i. All form av kontakt mellan studenter under tentans gång är strängt

Läs mer

kl Tentaupplägg

kl Tentaupplägg Tentaupplägg TIPS 1: Läs igenom ALLA uppgifterna. Välj den du känner är lättast först. Det kan gärna ta 10-20 minuter. Försök skriva saker som kan vara problem i uppgifterna. Är det något du absolut kommer

Läs mer

Tentaupplägg. Betygsgränser: 1 uppg 19:00 Betyg 3 2 uppg 18:00 Betyg 4 2 uppg 16:30 Betyg 5 3 uppg 18:00 Betyg 5

Tentaupplägg. Betygsgränser: 1 uppg 19:00 Betyg 3 2 uppg 18:00 Betyg 4 2 uppg 16:30 Betyg 5 3 uppg 18:00 Betyg 5 Tentaupplägg TIPS 1: Läs igenom ALLA uppgifterna. Välj den du känner är lättast först. Det kan gärna ta 10-20 minuter. Försök skriva saker som kan vara problem i uppgifterna. Är det något du absolut kommer

Läs mer

Övning 6. Komprimering, kryptering, dokumentering & testning

Övning 6. Komprimering, kryptering, dokumentering & testning Per Sedholm DD1320 (tilda11) 2011-10-05 1. Smittskydd Övning 6 Komprimering, kryptering, dokumentering & testning Du har fått ett mail som innehåller tips mot spridning av virus. Informationen är komprimerad

Läs mer

Lennart Rolandsson, Uppsala universitet, Ulrica Dahlberg och Ola Helenius, NCM

Lennart Rolandsson, Uppsala universitet, Ulrica Dahlberg och Ola Helenius, NCM Matematik Gymnasieskola Modul: Matematikundervisning med digitala verktyg II Del 1: Om programmering Aktiviteter Del 1 Lennart Rolandsson, Uppsala universitet, Ulrica Dahlberg och Ola Helenius, NCM Ni

Läs mer

Uppgift 1 ( Betyg 3 uppgift )

Uppgift 1 ( Betyg 3 uppgift ) 2008-01-11.kl.08-13 Uppgift 1 ( Betyg 3 uppgift ) Skriv ett program som ritar ut svenska flaggan i färg (tips: den är blå med ett gult kors :-) ). Till din hjälp finns det ett par procedurer som ställer

Läs mer

Uppgift 1 ( Betyg 3 uppgift )

Uppgift 1 ( Betyg 3 uppgift ) 2006-12-08.kl.08-13 Uppgift 1 ( Betyg 3 uppgift ) Implementera följande funktion: fun(1) = 1 fun(n) = fun(n / 2), för jämna n fun(n) = n / (fun(n - 1) + fun(n + 1)), för udda n Exempel på korrekta resultat:

Läs mer

Uppgift 1 (Oläsliga krypterade meddelanden)

Uppgift 1 (Oläsliga krypterade meddelanden) Uppgift 1 (Oläsliga krypterade meddelanden) Ofta vill man kryptera text för att inte andra skall se vad man skrivit. I den givna filen KRYPTERAD_TEXT.TXT finns en krypterad text som kan vara av intresse

Läs mer

kl Tentaupplägg

kl Tentaupplägg Tentaupplägg TIPS 1: Läs igenom ALLA uppgifterna. Välj den du känner är lättast först. Det kan gärna ta 10-20 minuter. Försök skriva saker som kan vara problem i uppgifterna. Är det något du absolut kommer

Läs mer

Föreläsning 5: Introduktion av pekare

Föreläsning 5: Introduktion av pekare Föreläsning 5: Introduktion av pekare Det bör påpekas att det som tas upp i introduktionen inte är reella exempel på kod. Man anväder inte pekare till att peka på enstaka heltal som i exemplen nedan, men

Läs mer

Sats 2.1 (Kinesiska restsatsen) Låt n och m vara relativt prima heltal samt a och b två godtyckliga heltal. Då har ekvationssystemet

Sats 2.1 (Kinesiska restsatsen) Låt n och m vara relativt prima heltal samt a och b två godtyckliga heltal. Då har ekvationssystemet Avsnitt 2 Tillägg om kongruensräkning Detta avsnitt handlar om två klassiska satser som används för att förenkla kongruensräkning: Kinesiska restsatsen och Fermats lilla sats. Den första satsen används

Läs mer

Uppgifter till praktiska tentan, del A. (7 / 27)

Uppgifter till praktiska tentan, del A. (7 / 27) Uppgifter till praktiska tentan, del A. (7 / 27) I. Sortering/Sökning: III II. Representation/Omvandling/format/protokoll: II III. Strukturering: II I alla problem, där bokstäver förekommer, antar vi att

Läs mer

kl Tentaupplägg

kl Tentaupplägg Tentaupplägg TIPS 1: Läs igenom ALLA uppgifterna. Välj den du känner är lättast först. Det kan gärna ta 10-20 minuter. Försök skriva saker som kan vara problem i uppgifterna. Är det något du absolut kommer

Läs mer

kl Tentaupplägg. TIPS 4: Du kan kompilera din kod med följande kommandon g++11, w++11 (för mer varningar)

kl Tentaupplägg. TIPS 4: Du kan kompilera din kod med följande kommandon g++11, w++11 (för mer varningar) Tentaupplägg TIPS 1: Läs igenom ALLA uppgifterna. Välj den du känner är lättast först. Det kan gärna ta 10-20 minuter. Försök skriva saker som kan vara problem i uppgifterna. Är det något du absolut kommer

Läs mer

Tentaupplägg denna gång

Tentaupplägg denna gång Några tips på vägen kanske kan vara bra. Tentaupplägg denna gång TIPS 1: Läs igenom ALLA uppgifterna och välj den du känner att det är den lättaste först. Det kan gärna ta 10-20 minuter. Försök skriva

Läs mer

Introduktion till MATLAB, med utgångspunkt från Ada

Introduktion till MATLAB, med utgångspunkt från Ada Introduktion till, med utgångspunkt från Desktop-miljö som innefattar editor, kommandofönster, graffönster och mycket mer. Interpreteras Snabbt att testa kommandon Terminal + emacs + gnatmake Kompileras

Läs mer

Föreläsning 8: Aritmetik och stora heltal

Föreläsning 8: Aritmetik och stora heltal 2D1458, Problemlösning och programmering under press Föreläsning 8: Aritmetik och stora heltal Datum: 2006-11-06 Skribent(er): Elias Freider och Ulf Lundström Föreläsare: Per Austrin Den här föreläsningen

Läs mer

kl Examination - Ada

kl Examination - Ada Examination - Ada TIPS 1: Läs igenom ALLA uppgifterna. Välj den du känner är lättast först. Det kan gärna ta 10-20 minuter. Försök skriva saker som kan vara problem i uppgifterna. Är det något du absolut

Läs mer

Användarhandledning Version 1.2

Användarhandledning Version 1.2 Användarhandledning Version 1.2 Innehåll Bakgrund... 2 Börja programmera i Xtat... 3 Allmänna tips... 3 Grunderna... 3 Kommentarer i språket... 4 Variabler... 4 Matematik... 5 Arrayer... 5 på skärmen...

Läs mer

kl Tentaupplägg

kl Tentaupplägg Tentaupplägg TIPS 1: Läs igenom ALLA uppgifterna. Välj den du känner är lättast först. Det kan gärna ta 10-20 minuter. Försök skriva saker som kan vara problem i uppgifterna. Är det något du absolut kommer

Läs mer

Resträkning och ekvationer

Resträkning och ekvationer 64 Resträkning och ekvationer Torsten Ekedahl Stockholms Universitet Beskrivning av uppgiften. Specialarbetet består i att sätta sig in i hur man räknar med rester vid division med primtal, hur man löser

Läs mer

DUGGA Tentaupplägg

DUGGA Tentaupplägg Tentaupplägg TIPS 1: Läs igenom ALLA uppgifterna. Välj den du känner är lättast först. Det kan gärna ta 10-20 minuter. Försök skriva saker som kan vara problem i uppgifterna. Är det något du absolut kommer

Läs mer

Föreläsning 7: Filer

Föreläsning 7: Filer Genomgånget på FÖ: Föreläsning 7: Filer Undantag: Liten mall för undantag ("exceptions") och vad man har det till. Dock inte med betoning på allt, men det väsentliga är upptaget. Filer: P. Open(filvar,

Läs mer

Lösningar till utvalda uppgifter i kapitel 5

Lösningar till utvalda uppgifter i kapitel 5 Lösningar till utvalda uppgifter i kapitel 5 5.3. Vi använder Euklides algoritm och får 4485 = 1 3042 + 1443 3042 = 2 1443 + 156 1443 = 9 156 + 39 156 = 4 39. Alltså är sgd(3042, 4485) = 39. Om vi startar

Läs mer

Programmering i C++ En manual för kursen Datavetenskaplig introduktionskurs 5p

Programmering i C++ En manual för kursen Datavetenskaplig introduktionskurs 5p Programmering i C++ En manual för kursen Datavetenskaplig introduktionskurs 5p Skriven av Michael Andersson Introduktion Programmering I högnivåspråk fokuserar på själv problemet (algoritmen) istället

Läs mer

kl Tentaupplägg

kl Tentaupplägg Tentaupplägg TIPS 1: Läs igenom ALLA uppgifterna. Välj den du känner är lättast först. Det kan gärna ta 10-20 minuter. Försök skriva saker som kan vara problem i uppgifterna. Är det något du absolut kommer

Läs mer

Övningsuppgifter kapitel 8

Övningsuppgifter kapitel 8 Inst. för Systemteknik Introduktion till programmering (SMD 180), 5 p Övningsuppgifter kapitel 8 1. Listor är en viktig datatyp i Python. Hur definierar kursboken lista? Vad kallas de värden som tillsammans

Läs mer

Visual Basic, en snabbgenomgång

Visual Basic, en snabbgenomgång Visual Basic, en snabbgenomgång Variabler och Datatyper En variabel är som en behållare. Olika behållare passar bra till olika saker. I Visual Basic(härefter VB) finns olika typer av behållare för olika

Läs mer

OBJEKTORIENTERAD PROGRAMVARUUTVECKLING

OBJEKTORIENTERAD PROGRAMVARUUTVECKLING Institutionen för Data- och informationsteknik TENTAMEN OBJEKTORIENTERAD PROGRAMVARUUTVECKLING OBS! Det kan finnas kurser med samma eller liknande namn på olika utbildningslinjer. Denna tentamen gäller

Läs mer

Offentlig kryptering

Offentlig kryptering 127 Offentlig kryptering Johan Håstad KTH 1. Inledning. Denna uppgift går ut på att studera ett offentligt kryptosystem. Med detta menas ett kryptosystem där det är offentligt hur man krypterar, men trots

Läs mer

18 juni 2007, 240 minuter Inga hjälpmedel, förutom skrivmateriel. Betygsgränser: 15p. för Godkänd, 24p. för Väl Godkänd (av maximalt 36p.

18 juni 2007, 240 minuter Inga hjälpmedel, förutom skrivmateriel. Betygsgränser: 15p. för Godkänd, 24p. för Väl Godkänd (av maximalt 36p. HH / Georgi Tchilikov DISKRET MATEMATIK,5p. 8 juni 007, 40 minuter Inga hjälpmedel, förutom skrivmateriel. Betygsgränser: 5p. för Godkänd, 4p. för Väl Godkänd (av maximalt 36p.). Förenkla (så mycket som

Läs mer

Tentaupplägg denna gång

Tentaupplägg denna gång Några tips på vägen kanske kan vara bra. Tentaupplägg denna gång TIPS1: Läs igenom ALLA uppgifterna. Välj den du känner är lättast först. Det kan gärna ta 10-20 minuter. Försök skriva saker som kan vara

Läs mer

Kompilering och exekvering. Föreläsning 1 Objektorienterad programmering DD1332. En kompilerbar och körbar java-kod. Kompilering och exekvering

Kompilering och exekvering. Föreläsning 1 Objektorienterad programmering DD1332. En kompilerbar och körbar java-kod. Kompilering och exekvering Föreläsning 1 Objektorienterad programmering DD1332 Introduktion till Java Kompilering, exekvering, variabler, styrstrukturer Kompilering och exekvering Ett program måste översättas till datorns språk

Läs mer

HI1024 Programmering, grundkurs TEN2 2015-10-30

HI1024 Programmering, grundkurs TEN2 2015-10-30 HI1024 Programmering, grundkurs TEN2 2015-10-30 KTH STH Haninge 8.15-13.00 Tillåtna hjälpmedel: En A4 handskriven på ena sidan med egna anteckningar Kursboken C PROGRAMMING A Modern Approach K. N. King

Läs mer

Utdrag från Verklighetens Kvadratrötter: Sida 1 en bok om matematikens användningsområden skriven av Marcus Näslund. Mer info: www.kvadratrot.se.

Utdrag från Verklighetens Kvadratrötter: Sida 1 en bok om matematikens användningsområden skriven av Marcus Näslund. Mer info: www.kvadratrot.se. Utdrag från Verklighetens Kvadratrötter: Sida 1 KRYPTOLOGI Hur matematiken skyddar dina hemligheter Talteori, primtal, moduloräkning Bakgrund Den hemliga kod som under andra världskriget användes av Nazityskland

Läs mer

TDIU Regler

TDIU Regler Regler Student får lämna salen tidigast en timme efter tentans start. Vid toalettbesök eller rökpaus ska pauslista utanför salen fyllas i. All form av kontakt mellan studenter under tentans gång är strängt

Läs mer

Programmering, grundkurs, 8.0 hp HI1024, HI1900 etc., Tentamen TEN1. Måndagen den 10 januari 2011,

Programmering, grundkurs, 8.0 hp HI1024, HI1900 etc., Tentamen TEN1. Måndagen den 10 januari 2011, Programmering, grundkurs, 8.0 hp HI1024, HI1900 etc., Tentamen TEN1 Måndagen den 10 januari 2011, 8.15 12.15 Tentamen består av två delar, del A och del B. Del A innehåller 10 kryssfrågor på olika teman

Läs mer

Tentamen i. för D1 m fl, även distanskursen. lördag 26 februari 2011

Tentamen i. för D1 m fl, även distanskursen. lördag 26 februari 2011 1 of 7 Örebro universitet Akademin för naturvetenskap och teknik Thomas Padron-McCarthy (thomas.padron-mccarthy@oru.se) Tentamen i Programmering grundkurs och Programmering C för D1 m fl, även distanskursen

Läs mer

Objektorienterad programmering D2

Objektorienterad programmering D2 Objektorienterad programmering D2 Laboration nr 2. Syfte Att få förståelse för de grundläggande objektorienterade begreppen. Redovisning Källkoden för uppgifterna skall skickas in via Fire. För senaste

Läs mer

Programmering med Java. Grunderna. Programspråket Java. Programmering med Java. Källkodsexempel. Java API-exempel In- och utmatning.

Programmering med Java. Grunderna. Programspråket Java. Programmering med Java. Källkodsexempel. Java API-exempel In- och utmatning. Programmering med Java Programmering med Java Programspråket Java Källkodsexempel Källkod Java API-exempel In- och utmatning Grunderna Ann Pan panda@nada.kth.se Rum 1445, plan 4 på Nada 08-7909690 Game.java

Läs mer

Enkla datatyper minne

Enkla datatyper minne Enkla datatyper minne 143.56 sant Sonja A falskt 18 1999-10-29 Bertil Gralvik, KTH Ingenjörsskolan 1 Addera två tal Algoritmen Summera tal Mata in två tal Beräkna Skriv ut resultat Mata in tal 1 Mata in

Läs mer

Krypteringteknologier. Sidorna 580-582 (647-668) i boken

Krypteringteknologier. Sidorna 580-582 (647-668) i boken Krypteringteknologier Sidorna 580-582 (647-668) i boken Introduktion Kryptering har traditionellt handlat om skydda konfidentialiteten genom att koda meddelandet så att endast mottagaren kan öppna det

Läs mer

TDDC77 Objektorienterad Programmering

TDDC77 Objektorienterad Programmering TDDC77 Objektorienterad Programmering Föreläsning 3 Sahand Sadjadee IDA, Linköpings Universitet Hösttermin 2018 Outline Operatorer Java Standard Library Inmatning Operatorer operatorer En operator är en

Läs mer

HI1024 Programmering, grundkurs TEN

HI1024 Programmering, grundkurs TEN HI1024 Programmering, grundkurs TEN2 2016-12-22 KTH STH Flemingsberg 8.15-13.00 Tillåtna hjälpmedel: Kursboken C PROGRAMMING A Modern Approach K. N. King helt utan anteckningar Alternativt C från början

Läs mer

DN1212/numpm Numeriska metoder och grundläggande programmering Laboration 1 Introduktion

DN1212/numpm Numeriska metoder och grundläggande programmering Laboration 1 Introduktion Staffan Romberger 2008-10-31 DN1212/numpm Numeriska metoder och grundläggande programmering Laboration 1 Introduktion Efter den här laborationen ska du kunna hantera vektorer och matriser, villkorssatser

Läs mer

Tentaupplägg denna gång

Tentaupplägg denna gång Några tips på vägen kanske kan vara bra. 2014-10-30.kl.08-13 Tentaupplägg denna gång TIPS1: Läs igenom ALLA uppgifterna. Välj den du känner är lättast först. Det kan gärna ta 10-20 minuter. Försök skriva

Läs mer

DE FYRA RÄKNESÄTTEN (SID. 11) MA1C: AVRUNDNING

DE FYRA RÄKNESÄTTEN (SID. 11) MA1C: AVRUNDNING DE FYRA RÄKNESÄTTEN (SID. 11) 1. Benämn med korrekt terminologi talen som: adderas. subtraheras. multipliceras. divideras.. Addera 10 och. Dividera sedan med. Subtrahera 10 och. Multiplicera sedan med..

Läs mer

TDP Regler

TDP Regler Regler Student får lämna salen tidigast en timme efter tentans start. Vid toalettbesök eller rökpaus ska pauslista utanför salen fyllas i. All form av kontakt mellan studenter under tentans gång är strängt

Läs mer

Tentamen i. för D1 m fl, även distanskursen. lördag 28 maj 2011

Tentamen i. för D1 m fl, även distanskursen. lördag 28 maj 2011 1 of 7 Örebro universitet Akademin för naturvetenskap och teknik Thomas Padron-McCarthy (thomas.padron-mccarthy@oru.se) Tentamen i Programmering grundkurs och Programmering C för D1 m fl, även distanskursen

Läs mer

Periodiska decimalbråk

Periodiska decimalbråk 300 Periodiska decimalbråk Hans Riesel K T H Inledning. Du har säkert lagt märke till att decimalerna i vissa enkla tal såsom 1/3 = 0.333... eller 1/11 = 0.0909..., består av en upprepning av en ständigt

Läs mer

4. Bestäm alla trippler n 2, n, n + 2 av heltal som samtliga är primtal. 5. Skriv upp additions- och multiplikationstabellen för räkning modulo 4.

4. Bestäm alla trippler n 2, n, n + 2 av heltal som samtliga är primtal. 5. Skriv upp additions- och multiplikationstabellen för räkning modulo 4. Uppvärmningsproblem. Hur kan man se på ett heltal om det är delbart med, 2, 3, 4, 5, 6, 7, 8, 9, 0 respektive? Varför? 2. (a) Tänk på ett tresiffrigt tal abc, a 0. Bilda abcabc genom att skriva talet två

Läs mer

Övningsuppgifter till föreläsning 2 Variabler och uttryck

Övningsuppgifter till föreläsning 2 Variabler och uttryck Sid 1 (5) Övningsuppgifter till föreläsning 2 Variabler och uttryck Syfte Syftet med övningsuppgifterna är att träna på: Aritmetik, variabler, tilldelning, scanf och printf Generellt Diskutera gärna uppgifterna

Läs mer

Introduktion Schenker-BTL AB, Stab IT Beskrivning över informationsintegreringmed Schenker, metodbeskrivning version 1.

Introduktion Schenker-BTL AB, Stab IT Beskrivning över informationsintegreringmed Schenker, metodbeskrivning version 1. Schenker har interna system som handhar information som är av intresse för våra kunder/partners. Idag finns ett flertal av dem tillgängliga via Internet, sk Online-tjänster. Dessa erbjuder inte bara hämtning

Läs mer

Läsanvisning till Discrete matematics av Norman Biggs - 5B1118 Diskret matematik

Läsanvisning till Discrete matematics av Norman Biggs - 5B1118 Diskret matematik Läsanvisning till Discrete matematics av Norman Biggs - 5B1118 Diskret matematik Mats Boij 28 oktober 2001 1 Heltalen Det första kapitlet handlar om heltalen och deras aritmetik, dvs deras egenskaper som

Läs mer

Repetition i Python 3. Exemplen fac. Exemplen fac motivering. Exemplen fac i Python

Repetition i Python 3. Exemplen fac. Exemplen fac motivering. Exemplen fac i Python Repetition i Python 3 Exemplen fac Orginalet I Scheme använde vi rekursion för all slags repetition. Efterom Scheme är ett funktionellt språk återsänder alla språkkonstruktioner ett värde men i Python

Läs mer

Programkonstruktion. Tentamen,

Programkonstruktion. Tentamen, Programkonstruktion (Programmeringsmetodik DV1) Tentamen, 2008-03-10 Lars-Henrik Eriksson Institutionen för informationsteknologi Uppsala Universitet Tid: 0900-14:00. Börja med att läsa igenom alla frågorna

Läs mer

RSA-kryptografi för gymnasiet. Jonas Gustafsson & Isac Olofsson

RSA-kryptografi för gymnasiet. Jonas Gustafsson & Isac Olofsson RSA-kryptografi för gymnasiet Jonas Gustafsson & Isac Olofsson HT 2010 Innehåll 1 Grundläggande beräkningsmetoder och begrepp 5 1.1 Mängder.............................. 5 1.2 Kvot och rest...........................

Läs mer

TENTAMEN I PROGRAMMERING. På tentamen ges graderade betyg:. 3:a 24 poäng, 4:a 36 poäng och 5:a 48 poäng

TENTAMEN I PROGRAMMERING. På tentamen ges graderade betyg:. 3:a 24 poäng, 4:a 36 poäng och 5:a 48 poäng TENTAMEN I PROGRAMMERING Ansvarig: Jan Skansholm, tel 7721012 Betygsgränser: Hjälpmedel: Sammanlagt maximalt 60 poäng. På tentamen ges graderade betyg:. 3:a 24 poäng, 4:a 36 poäng och 5:a 48 poäng Skansholm,

Läs mer

Introduktion till programmering SMD180. Föreläsning 2: Variabler, uttryck och satser

Introduktion till programmering SMD180. Föreläsning 2: Variabler, uttryck och satser Introduktion till programmering Föreläsning 2: Variabler, uttryck och satser 1 1 Värden De grundläggande saker som en dator manipulerar resultaten av beräkningar kallas värden Värden vi stött på: 2 och

Läs mer

Schemaunderlag för Programmering, grundkurs (TDDB18)

Schemaunderlag för Programmering, grundkurs (TDDB18) Allmänt Schemaunderlag för Programmering, grundkurs (TDDB18) Under VT1 håller jag (Torbjörn) tre kurser. Detta gör att det inte är lätt att få till ett optimalt schema för er studenter (tyvärr). En variant

Läs mer

Kryptokorsordslösare Programmeringsmetodik DV (period 2) Inlämningsuppgift 1

Kryptokorsordslösare Programmeringsmetodik DV (period 2) Inlämningsuppgift 1 Kryptokorsordslösare Programmeringsmetodik DV1 2004 (period 2) Inlämningsuppgift 1 Christer Folkesson 1. Sammanfattning 2. Användarbeskrivning 2.1. Lösa ett kryptokorsord 2.2. Utskrift av lösning 2.3.

Läs mer

Enklast att skriva variabelnamn utan ; innehåll och variabelnamn skrivs ut

Enklast att skriva variabelnamn utan ; innehåll och variabelnamn skrivs ut F5: Filhantering in- och utmatning (kap. 2 och 8) 1 Utskrift på skärm, inläsning från tangentbord (kap. 2) Spara och hämta variabler med save och load (kap. 2) Kommandot textread Mer avancerad filhantering:

Läs mer

Talteori (OBS en del frågor gäller diofantiska ekvationer och de tas inte upp från och med hösten 2012)

Talteori (OBS en del frågor gäller diofantiska ekvationer och de tas inte upp från och med hösten 2012) Talteori (OBS en del frågor gäller diofantiska ekvationer och de tas inte upp från och med hösten 2012) T4.4-T4.7, 4.3, 4.7,T4.13-T4.14 S: Jag har svårt för visa-uppgifter. i kapitel 4 Talteori. Kan du

Läs mer

i LabVIEW. Några programmeringstekniska grundbegrepp

i LabVIEW. Några programmeringstekniska grundbegrepp Institutionen för elektroteknik Några programmeringstekniska grundbegrepp 1999-02-16 Inledning Inom datorprogrammering förekommer ett antal grundbegrepp som är i stort sett likadana oberoende om vi talar

Läs mer