Vinjetter TDDC91 Datastrukturer och algoritmer
|
|
- Julia Danielsson
- för 4 år sedan
- Visningar:
Transkript
1 Vinjetter TDDC91 Datastrukturer och algoritmer 30 augusti 2013
2 2
3 Scenario 1 Man har inom Posten Logistik AB skrivit programvara för sortering av kundinformation och vill standardisera användningen av sorteringsalgoritmer. Som ett första steg har man provkört de olika algoritmerna på samma dator. Man har provat data av olika storlek och uppnått följande resultat: storlek indata alg. 1 alg. 2 alg. 3 alg
4 4
5 Scenario 2 När ett systems inloggningshanterare ställs inför ett lösenord måste en kontroll av att det lösenordet stämmer med användarens lösenord i systemets interna tabeller utföras. En naiv metod vore att lagra lösenorden i en symboltabell med användarnas namn som nycklar, men den metoden är känslig mot att någon oauktoriserad får tillgång till systemets tabell och därmed exponerarar alla lösenord. I stället använder de flesta system en säkrare metod där en symboltabell med krypterade lösenord för varje användare används. När en användare skriver in ett lösenord krypteras det lösenordet och kontrolleras mot det lagrade värdet. Vid överensstämmelse släpps användaren in i systemet. För att den här lösningen på inloggningsproblemet ska fungera väl behövs en krypteringsmetod med två egenskaper: Att kryptera ett lösenord bör vara enkelt och att lista ut ett lösenord givet den krypterade versionen bör vara mycket svårt. Subset Sum-kryptering En enkel lösenordshanteringsmetod är följande: Lösenordslängden sätts till ett specifikt antal bitar, säg N. Systemet håller reda på en tabell T med N heltal som vart och ett är N bitar långt. För att kryptera ett lösenord använder systemet lösenordet för att välja en delmängd av talen i T och lägger samman dem; summan (modulo 2 N ) är det krypterade lösenordet. Följande miniexempel med 5-bitars nycklar illustrerar processen. Antag att systemets tabell innehåller följande fem 5-bitars tal: Med den här tabellen skulle lösenordet krypteras som eftersom det säger att summan av rad två och fyra i tabellen ska användas (och = I praktiken skulle förstås en mycket större tabell användas. Antag nu att du fått tillgång till systemtabellen T och att du också lyckas snappa upp användarnamn och motsvarande krypterade lösenord. Den här informationen ger dig inte omedelbar tillgång till systemet; för att knäcka ett lösenord behöver du hitta en delmängd av T som summerar till det givna lösenordet. Säkerheten hos systemet beror på svårigheten hos det här problemet (som på engelska går under namnet Subset Sum). Uppenbarligen måste 5
6 6 lösenordslängden vara tillräckligt stor för att hindra dig från att bara prova alla möjligheter men samtidigt tillräckligt liten så att användarna kan komma ihåg sina lösenord. Med N bitar finns det 2 N olika delmängder, så man skulle kunna tänka sig att 40 eller 50 bitar borde räcka... Detaljer I stället för att använda heltal som lösenord är det brukligt att använda någon behändig översättning från det användaren skriver in till heltal. Här har vi valt att använda ett alfabet med 32 tecken (små engelska bokstäver samt de första sex siffrorna) i lösenorden och att koda dem som arrayer av 5-bitars heltal (bytes) med 0 för att koda a, 1 för att koda b och så vidare. Följdaktligen får vi N = 5 C, där C är antalet bokstäver i lösenordet. På katalogen /home/tddc91/vinjetter/password/ finns bland annat programmet Encrypt.java som systemadministratören skulle använda för att kryptera en användares lösenord. Programmet använder Key.java för att utföra addition av C-siffrors heltal i bas 32. Det läser in tabellen T och använder sedan bitarna i lösenordet för att välja ord ur tabellen att lägga samman och skriver ut det krypterade lösenordet. I katalogen finns också tabellerna easy5.txt, easy8.txt, rand5.txt och rand8.txt. Den första och tredje är för nycklar med 5 bytes (25 bitar), den andra och den fjärde är för nycklar med 8 bytes (40 bitar). De första två har mycket struktur medan de andra två är slumpmässigt genererade. Till exempel, med konstanten C definierad som 8 blir resultatet följande för lösenordet password. >javac Encrypt.java >java Encrypt password < rand8.txt password gobxmqkt qdrvjxwz joobqxtz xnoixmnk tcixtvem lqtsdtca zlptzlfp gmjuvyqw uoqrdhwp ltdkzndz btezrznq bujilqno qgaicljl yyefwcld gnvowyjk aynzobxh lxwewfhh aenipbjd vbskbezp Det skulle alltså vara fullt möjligt att använda bc eller någon annan kalkylator för att kontrollera att kolumnerna summerar till siffror motsvarande bokstäverna
7 7 i det krypterade lösenordet. Tabellen easy8.txt förenklar saken betydligt: >java Encrypt password < easy8.txt password aaaaaaac aaaaaaae aaaaaaai aaaaaaaz aaaaabaa aaaaaiaa aaaabaaa aaaaiaaa aaabaaaa aaaeaaaa aaaiaaaa aacaaaaa aaeaaaaa aaiaaaaa abaaaaaa azaaaaaa iaaaaaaa zaaaaaaa b0onjjbh En lösning Programmet Brute.java löser problemet att givet ett krypterat lösenord och en tabell hitta lösenordet; de C bokstäver som, när de konverterats till ett N- bitars tal, bestämmer delmängden som summerar till det N-bitars binära tal som motsvarar de C bokstäver som givits som indata. Med kostanten C definierad till 5, blir resultatet följande för lösenordet passw: >javac Encrypt.java > java Encrypt passw < rand5.txt exvx5 >javac Brute.java >java Brute exvx5 < rand5.txt i0ocs passw Följande lösenord har krypterats med rand8.txt, rand10.txt, respektive rand12.txt: xwtyjjin h554tkdzti uz1nuyric5u3 rpb4dnye oykcetketn xnsriqenxw5p kdidqv4i bkzlquxfnt 4l4dxa3sqwjx m5wrkdge wixxliygk1 wuupk1ol3lbq
8 8
9 Scenario 3 Försök att hitta en uppskattning av värdet på perkolationströskeln. Tillämpningar Givet ett sammansatt system bestående av slumpvis fördelade isolerande och metalliska material: hur stor andel av materialen behöver vara metalliska för att systemet som helhet skall vara en elektrisk ledare? Givet ett poröst landskap med vatten på ytan (eller olja under), under vilka omständigheter kan vattnet tränga igenom till bottnen (eller oljan tränga upp genom ytan)? Vetenskapen har tagit fram den abstrakta processen perkolation för att modellera sådana situationer. Modellen och problemet Vi modellerar ett perkolationssystem som ett N N-rutnät av platser. Varje plats är antingen öppen eller blockerad. En full vplats är en öppen plats som kan bindas samman till en öppen plats i övre raden via en kedja av närliggande (vänster, höger, upp, ner) öppna platser. Vi säger att systemet perkolerar om det finns en full plats på bottenraden. Med andra ord, ett system perkolerar om vi fyller alla öppna platser i översta raden och den processen fyller någon öppen plats i bottenraden. (I materialexemplet är de öppna platserna metalliska material och i det porösa landskapet motsvarar de öppna platserna hålrum genom vilket vatten kan flöda.) Följande har länge varit en öppen fråga: Om vi låter platser vara öppna oberoende av varandra med sannolikhet p (och därför blockerade med sannolikhet 1 p), vad är sannolikheten att systemet perkolerar? När p är 0 perkolerar 9
10 10 inte systmet; när p är 1 perkolerar systemet. Bilden nedan visar perkolationssannolikheten som funktion av p för slumpmässiga rutnät (vänster) och slumpmässiga rutnät (höger). När N är tillräckligt stort finns ett tröskelvärde p sådant att när p < p perkolerar ett slumpmissigt N N-rutnät nästan aldrig och när p > p perkolerar ett slumpmässigt N N-rutnät nästan alltid. Ingen har hittills lyckats härleda en analytisk lösning som bestämmer värdet på perkolationströskeln p. Monte Carlo-simulering Betrakta följande beräkningsexperiment för att uppskatta perkolationströskeln: Låt alla platser vara blockerade. Upprepa följande till systemet perkolerar: Välj en plats (rad i, kolumn j) med likformig sannolikhet bland alla blockerade platser. Öppna plats (rad i, kolumn j). Andelen platser som är öppna när systemet perkolerar är en uppskattning av perkolationströskeln. Genom att upprepa ovanstående experiment T gånger och ta medelvärdet får vi en bättre uppskattning av perkolationströskeln. Exempelprogram och data På katalogen /home/tddc91/vinjetter/percolation/ finns ett program som modellerar ett perkolationssystem (Percolation.java), men det fattas en viktig bit. Vidare finns programmet PercolationStats.java som använder modellen för att utföra Monte Carlo-simuleringen som skissats ovan. Slutligen finns också PercolationVisualizer.java, med tillhörande datafiler och stödprogram, för att visualisera ett perkoleringsförlopp.
11 Scenario 4 Givet en mängd av N distinkta punkter i planet, hitta alla (maximala) linjesegment som innehåller en delmängd av 4 eller fler av punkterna. Tillämpningar Viktiga komponenter i datorseende är att använda mönsteranalys av bilder för att rekonstruera de verkliga objekt som genererat bilderna. Denna process delas ofta upp i två faser: feature detection och pattern recognition. I feature detection väljs viktiga områden hos bilden ut; i pattern recognition försöker man känna igen mönster i områdena. Här får ni chansen att undersöka ett särskilt rent mönsterigenkänningsproblem rörande punkter och linjesegment. Den här typen av mönsterigenkänning dyker upp i många andra tillämpningar som t.ex. statistisk dataanalys. Exempeldata och -program På katalogen /home/tddc91/vinjetter/pattern/ finns flera filer med exempeldata. Där finns också programmet Brute.java som löser mönsterigenkänningsproblemet. 11
12 12
13 Scenario 5 Dagbrott AB vill bryta malm för att maximera sin nettovinst. Området där dagbrottet ska anläggas är indelat i block och för enkelhets skull antar vi en endimensionell layout. Från den geologiska prospekteringen är bedömningen att brytning av block i ger nettovinst (värdet av malmen minus utvinningskostnaderna) a i miljoner kronor. Vissa miljörelaterade restriktioner gör att Dagbrott AB endast får bryta malm i en sammanhängande grupp av block. Vilka block bör Dagbrott AB välja? Med andra ord, givet en sekvens av N (möjligen negativa) heltal, bestäm den största möjliga summan bland alla sammanhängande sekvenser. Problemet är lätt om alla tal är positiva: välj hela sekvensen. Svårigheten är när det förekommer negativa tal: borde man ta med ett negativt tal i hopp om att närliggande positiva tal kompenserar för detta? För indatat nedan är den maximalt möjliga summan 104, vilken erhålls genom att ta med block 2 till 6. Notera att summan alltid är minst 0, eftersom Dagbrott AB kan välja att inte gräva alls. block nettovinst Tillämpningar I verkliga tillämpningar behöver gruvoperatörer lösa en tredimensionell variant av problemet. Dessutom kan det förekomma ytterligare geologiska begränsningar, t.ex. att det inte går att bryta ett område 100 meter under marken utan att först frilägga några av de omgivande områdena. Den tvådimensionella varianten av problemet förekommer även som del av bildbehandling, där målet är att bestämma maximum likelihood-skattningen för ett visst sorts mönster. Exempeldata På katalogen /home/tddc91/vinjetter/pitmining/ finns flera filer med exempeldata. 13
Vinjetter TDDC91 Datastrukturer och algoritmer
Vinjetter TDDC91 Datastrukturer och algoritmer 17 augusti 2015 2 Scenario 1 Man har inom Posten Logistik AB skrivit programvara för sortering av kundinformation och vill standardisera användningen av sorteringsalgoritmer.
Läs merLaborationer i C++ TDDI16 Datastrukturer och algoritmer
Laborationer i C++ TDDI16 Datastrukturer och algoritmer 10 oktober 2016 2 Förord Detta kompendium innehåller laborationer för kursen TDDI16 Datastrukturer och algoritmer som ges vid Institutionen för datavetenskap
Läs merTDDI16: Datastrukturer och algoritmer
. TDDI16: Datastrukturer och algoritmer Lab 2: Knäcka lösenord Höstterminen 2018 2018-06-27 1 Upplägg Första delen av instruktionen, avsnitt 2 till 7, innehåller en fullständig beskrivning av problemet
Läs merTentamen TEN1 HI
Tentamen TEN1 HI1029 2014-03-14 Skrivtid: 8.15-13.00 Hjälpmedel: Referensblad (utdelas), papper (tomma), penna Logga in med tentamenskontot ni får av skrivvakten. Det kommer att ta tid att logga in ha
Läs merNonogram
Nonogram. Vad är nonogram? Nonogram är små enkla men fascinerande pyssel som ursprungligen kommer från Japan. De har också givits ut i söndagsbilagan i engelska dagstidningar under flera år. Idén bakom
Läs merTommy Färnqvist, IDA, Linköpings universitet. 1 ADT Map/Dictionary 1 1.1 Definitioner... 1 1.2 Implementation... 2
Föreläsning 5 ADT Map/Dictionary, hashtabeller TDDI16: DALG Utskriftsversion av föreläsning i Datastrukturer och algoritmer 16 september 2015 Tommy Färnqvist, IDA, Linköpings universitet 5.1 Innehåll Innehåll
Läs merProtokollbeskrivning av OKI
Protokollbeskrivning av OKI Dokument: Protokollbeskrivning av OKI Sida 1 / 17 1 Syfte Det här dokumentet har som syfte att beskriva protokollet OKI. 2 Sammanfattning OKI är tänkt som en öppen standard
Läs merAlgoritmer, 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 merFöreläsninsanteckningar till föreläsning 3: Entropi
Föreläsninsanteckningar till föreläsning 3: Entropi Johan Håstad, transkriberat av Pehr Söderman 2006-01-20 1 Entropi Entropi är, inom kryptografin, ett mått på informationsinnehållet i en slumpvariabel.
Läs merKryptering & Chiffer Del 2
Kryptering & Chiffer Del Vigenere Vigenere är en annan krypteringsmetod som är mer avancerad än de två föregående. Denna metod är säkrare men långt ifrån säker om man använder dåliga nycklar. Det finns
Läs merFö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 mer1 De fyra fundamentala underrummen till en matris
Krister Svanberg, mars 2012 1 De fyra fundamentala underrummen till en matris 1.1 Definition av underrum En given delmängd M av IR n säges vara ett underrum i IR n om följande gäller: För varje v 1 M,
Läs merAlgoritmer, 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 merGrundläggande kryptering & chiffer
Grundläggande kryptering & chiffer Allmänt om kryptering För att inte hackers ska kunna snappa upp den information som skickas över nätet så bör man använda sig av någon form av kryptering, d.v.s. förvrängning
Läs merLinkö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 merSLU Säkerhets instruktioner avseende kryptering av filer
1 1 SLU Säkerhet Christian Nähl SLU Säkerhets instruktioner avseende kryptering av filer Nedanstående instruktioner kan tillämpas vid behov av att kryptera informationstillgångar i samband med exempelvis
Läs merTeoretisk del. Facit Tentamen TDDC kl (6) 1. (6p) "Snabba frågor" Alla svar motiveras väl.
Facit Tentamen TDDC30 2015-08-28 kl 08-12 1 (6) Teoretisk del 1. (6p) "Snabba frågor" Alla svar motiveras väl. a) Vad är syftet med ett interface? (1p) Svar:Att ange vilka metoder som ska finnas, utan
Läs merTommy Färnqvist, IDA, Linköpings universitet
Föreläsning 8 Sortering och urval TDDC70/91: DALG Utskriftsversion av föreläsning i Datastrukturer och algoritmer 1 oktober 2013 Tommy Färnqvist, IDA, Linköpings universitet 8.1 Innehåll Innehåll 1 Sortering
Läs merFöreläsning 7. Felrättande koder
Föreläsning 7 Felrättande koder Antag att vi vill skicka ett meddelande som består av bokstäver a,b,c,d. Vi kan koda a,b,c,d. Antag att det finns en viss sannolikhet att en bit i ett meddelande som skickas
Läs merUPPGIFT 1 V75 FIGUR 1.
UPPGIFT 1 V75 FIGUR 1. Varje lördag året om spelar tusentals svenskar på travspelet V75. Spelet går ut på att finna sju vinnande hästar i lika många lopp. Lopp 1: 5 7 Lopp 2: 1 3 5 7 8 11 Lopp 3: 2 9 Lopp
Läs merFörsättsblad till skriftlig tentamen vid Linköpings Universitet
Försättsblad till skriftlig tentamen vid Linköpings Universitet Datum för tentamen 2015-08-28 Sal Tid 08:00 12:00 Kurskod Provkod Kursnamn/benämning Institution Antal uppgifter som ingår i tentamen Antal
Läs merRegression med Genetiska Algoritmer
Regression med Genetiska Algoritmer Projektarbete, Artificiell intelligens, 729G43 Jimmy Eriksson, jimer336 770529-5991 2014 Inledning Hur många kramar finns det i världen givet? Att kunna estimera givet
Läs merTentamen i Digitalteknik, EIT020
Elektro- och informationsteknik Tentamen i Digitalteknik, EIT020 18 december 2010, kl 8-13 Skriv namn och årskurs på alla papper. Börja en ny lösning på ett nytt papper. Använd bara en sida av pappret.
Läs merFörenklad förklaring i anslutning till kompedieavsnitten 6.3 och 6.4
Ext-6 (Ver 2010-08-09) 1(5) Förenklad förklaring i anslutning till kompedieavsnitten 6.3 och 6.4 Tecken-beloppsrepresentation av heltal Hur skall man kunna räkna med negativa tal i ett digitalt system,
Läs merGivet två naturliga tal a och b, som inte båda två är 0, hur räknar man ut största gemensamma delaren av a och b?
Euklides algoritm för största gemensamma delaren Givet två naturliga tal a och b, som inte båda två är 0, hur räknar man ut största gemensamma delaren av a och b? Euklides har kommit på en metod (algoritm)
Läs mer1 Minkostnadsflödesproblem i nätverk
Krister Svanberg, april 2012 1 Minkostnadsflödesproblem i nätverk Ett nätverk består av en given mängd noder numrerade från 1 till m (där m är antalet noder) samt en given mängd riktade bågar mellan vissa
Läs merUppgift 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 merUppgift 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 merBruksanvisning för Vinkelforum
Bruksanvisning för Vinkelforum Här klickar man för att bli medlem. Här klickar man för att logga in. Har man glömt lösenordet, kan man skriva ett nytt när man har klickat här. Bli medlem För att kunna
Läs merIntroduktion till algoritmer - Lektion 4 Matematikgymnasiet, Läsåret 2014-2015. Lektion 4
Introduktion till algoritmer - Lektion 4 Matematikgymnasiet, Läsåret 014-015 Denna lektion ska vi studera rekursion. Lektion 4 Principen om induktion Principen om induktion är ett vanligt sätt att bevisa
Läs merUPPGIFT 1 FORTSÄTT TALFÖLJDEN
UPPGIFT 1 FORTSÄTT TALFÖLJDEN Att fortsätta en påbörjad talföljd är en vanlig sorts uppgift i såväl matteböcker som IQ-tester. Men det smartaste måste väl ändå vara att skriva ett datorprogram som löser
Läs merKryptering. Krypteringsmetoder
Kryptering Kryptering är att göra information svårläslig för alla som inte ska kunna läsa den. För att göra informationen läslig igen krävs dekryptering. Kryptering består av två delar, en algoritm och
Läs merFöreläsning 12. Söndra och härska
Föreläsning 12 Söndra och härska Föreläsning 12 Söndra och härska Maximal delsekvens Skyline Closest pair Växel Uppgifter Söndra och härska (Divide and conquer) Vi stötte på dessa algoritmer när vi tittade
Läs merUppgift 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 merInledning. Vad är ett datorprogram, egentligen? Olika språk. Problemlösning och algoritmer. 1DV433 Strukturerad programmering med C Mats Loock
Inledning Vad är ett datorprogram, egentligen? Olika språk Problemlösning och algoritmer 1 (14) Varför använda en dator? Genom att variera de program som styr datorn kan den användas för olika uppgifter.
Läs merTATM79: Föreläsning 2 Absolutbelopp, summor och binomialkoefficienter
TATM79: Föreläsning Absolutbelopp, summor och binomialkoefficienter Johan Thim 15 augusti 015 1 Absolutbelopp Absolutbelopp Definition. För varje reellt x definieras absolutbeloppet x enligt { x, x 0 x
Läs merMagnus Nielsen, IDA, Linköpings universitet
Föreläsning 7 Introduktion till sortering TDDC91,TDDE22,725G97: DALG Utskriftsversion av föreläsning i Datastrukturer och algoritmer 24 september 2018 Magnus Nielsen, IDA, Linköpings universitet 7.1 1
Läs merInstruktioner för att skapa konton i MV-login
Instruktioner för att skapa konton i MV-login MV-Login är ett inloggningssystem, avsett för inloggning i MV-Nordics program, webbprogram och appar. Administration av systemet samt webbprogramen finner
Läs merTDIU 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 merSF2715 Tillämpad kombinatorik, 6hp
SF75 Tillämpad kombinatorik, 6hp Fortsättningskurs i matematik 7 mars 7 maj 009 Kursledare: Jakob Jonsson Upplägg 6 hp = p enligt gamla systemet 8 dubbeltimmar med teori och problemlösning Kursbok och
Läs merkl 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 merFöreläsning 12. Söndra och härska
Föreläsning 12 Söndra och härska Föreläsning 12 Söndra och härska Maximal delsekvens Skyline Closest pair Växel Söndra och härska (Divide and conquer) Vi stötte på dessa algoritmer när vi tittade på sortering.
Läs merTDP 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 merInstruktioner - Datortentamen TDDD73 Funktionell och imperativ programmering i Python TDDE24 Funktionell och imperativ programmering del 2
Instruktioner - Datortentamen TDDD73 Funktionell och imperativ programmering i Python TDDE24 Funktionell och imperativ programmering del 2 Hjälpmedel Följande hjälpmedel är tillåtna: Exakt en valfri bok,
Läs merFöreläsning 5: Kardinalitet. Funktioners tillväxt
Föreläsning 5: Kardinalitet. Funktioners tillväxt A = B om det finns en bijektion från A till B. Om A har samma kardinalitet som en delmängd av naturliga talen, N, så är A uppräknelig. Om A = N så är A
Läs merTeoretisk del. Facit Tentamen TDDC (6)
Facit Tentamen TDDC30 2014-08-29 1 (6) Teoretisk del 1. (6p) "Snabba frågor" Alla svar motiveras väl. a) Vad är skillnaden mellan synligheterna public, private och protected? (1p) Svar:public: Nåbar för
Läs merDatastrukturer och algoritmer. Föreläsning 15 Inför tentamen
Datastrukturer och algoritmer Föreläsning 15 Inför tentamen 1 Innehåll Kursvärdering Vi behöver granskare! Repetition Genomgång av gammal tenta 2 Första föreläsningen: målsättningar Alla ska höja sig ett
Läs merProgrammeringsuppgifter 1
Programmeringsuppgifter 1 Redovisning: Ni demo-kör och förklarar för handledaren några av de program ni gjort. Ni behöver inte hinna allt, redovisa så långt ni kommit. Om ni hinner mer kan ni alltid redovisa
Läs merTeoretisk del. Facit Tentamen TDDC kl (6) 1. (6p) "Snabba frågor" Alla svar motiveras väl.
Facit Tentamen TDDC30 2015-03-19 kl 08-12 1 (6) Teoretisk del 1. (6p) "Snabba frågor" Alla svar motiveras väl. a) Varför väljer man ofta synligheten private hellre än public för medlemsvariabler i en klass?
Läs merObjektorienterad programmering Föreläsning 8. Copyright Mahmud Al Hakim Agenda (halvdag)
Objektorienterad programmering Föreläsning 8 Copyright Mahmud Al Hakim mahmud@webacademy.se www.webacademy.se Agenda (halvdag) Objektorienterad programutveckling Algoritmer Algoritmkonstruktionerna Relationer
Läs merF2 Binära tal EDA070 Datorer och datoranvändning
Datarepresentation F2 Binära tal EDA070 Roger Henriksson I en dator lagras och behandlas all information i form av binära tal ettor och nollor. En binär siffra kallas för en bit BInary digit. Ett antal
Läs merAritmetisk kodning. F (0) = 0 Exempel: A = {1, 2, 3} k=1. Källkodning fö 5 p.1/12
Aritmetisk kodning Vi identifierar varje sekvens av källsymboler med ett tal i intervallet [0, 1). Vi gör det med hjälp av fördelningsfunktionen (cumulative distribution function) F. För enkelhets skull
Läs merMVE051/MSG Föreläsning 7
MVE051/MSG810 2016 Föreläsning 7 Petter Mostad Chalmers November 23, 2016 Överblick Deskriptiv statistik Grafiska sammanfattningar. Numeriska sammanfattningar. Estimering (skattning) Teori Några exempel
Läs merKravspecifikation Fredrik Berntsson Version 1.1
Kravspecifikation Fredrik Berntsson Version 1.1 Status Granskad FB 2016-02-01 Godkänd FB 2015-02-01 Dokumenthistorik Version Datum Utförda ändringar Utförda av Granskad 1.0 2015-02-01 Första versionen
Läs merOptimala koder. Övre gräns för optimala koder. Gränser. Övre gräns för optimala koder, forts.
Datakompression fö 3 p.3 Datakompression fö 3 p.4 Optimala koder Övre gräns för optimala koder En prefixkod kallas optimal om det inte existerar någon annan kod (för samma alfabet och sannolikhetsfördelning)
Läs merFacit Tentamen TDDC (7)
Facit Tentamen TDDC30 2014-03-18 1 (7) Teoretisk del 1. (3p) "Snabba frågor" a) Varför kan man tänkas vilja dölja metoder och variabler med private? (0.5p) Svar:För att skydda interna variabler från ändringar
Läs merProblem: FIL File Paths
Problem: FIL File Paths swedish BOI 2015, dag 2. Tillgängligt minne: 256 MB. 1.05.2015 Byteasar tycker om att leva farligt. Han springer med saxar, skickar in lösningar på tävlingsproblem utan att testa
Läs merOptimala koder. Det existerar förstås flera koder som har samma kodordsmedellängd. Enklaste fallet är att bara byta 0:or mot 1:or.
Datakompression fö 3 p.1 Optimala koder En prefixkod kallas optimal om det inte existerar någon annan kod (för samma alfabet och sannolikhetsfördelning) som har lägre kodordsmedellängd. Det existerar förstås
Läs merKör som root handbok. Geert Jansen Översättare: Stefan Asserhäll
Geert Jansen Översättare: Stefan Asserhäll 2 Innehåll 1 Inledning 5 2 Att använda Kör som root 6 3 Interna funktioner 8 3.1 X-identifiering........................................ 8 3.2 Gränssnitt med
Läs merIndicerade variabler
Indicerade variabler ARRAYER kan vara VEKTORARRAYER eller MATRISARRAYER Deklaration och användning av array (=vektorarray) Array och for-loop Slumptal Arrayer i två dimensioner (= matrisarray, matris)
Läs meri 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 merTDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 11 Jonas Lindgren, Institutionen för Datavetenskap, LiU
TDDC30 Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 11 Jonas Lindgren, Institutionen för Datavetenskap, LiU På denna föreläsning: Designmönster Adapter, Factory, Iterator,
Läs merÖ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 merTDP 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 merTENTAMEN 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 merTATM79: Föreläsning 2 Absolutbelopp, summor och binomialkoefficienter
TATM79: Föreläsning 2 Absolutbelopp, summor och binomialkoefficienter Johan Thim 2 augusti 2016 1 Absolutbelopp Absolutbelopp Definition. För varje reellt x definieras absolutbeloppet x enligt { x, x 0
Läs merTDDC30/725G63. Objektorienterad programmering i Java, datastrukturer och algoritmer
Tentamen i.. TDDC30/725G63 Objektorienterad programmering i Java, datastrukturer och algoritmer Datum 2012-12-21 Tid 14-18 Provkod DAT1 Institution Institutionen för Datavetenskap (IDA) Jour Johan Janzén
Läs merFÅ FRAM INDATA. När inga data finns!? Beslutsfattarens dilemma är att det är svårt att spå! Särskilt om framtiden!
FÅ FRAM INDATA När inga data finns!? Beslutsfattarens dilemma är att det är svårt att spå! Särskilt om framtiden! (Falstaff Fakir) Svårigheter att få fram bra information - en liten konversation Ge mig
Läs merUPPGIFT 1 TVÅPOTENSER. UPPGIFT 2 HISSEN I LUSTIGA HUSET.
UPPGIFT 1 TVÅPOTENSER. 2 ½ ¾ = 5575186299632655785383929568162090376495104 n = 142 är det minsta värde på n för vilket 2 Ò inleds med siffrorna 55. Uppgiften består i att skriva ett program som tar emot
Läs merAnvändarmanual för Pagero Kryptering
för Pagero Kryptering Version 1.1-1 - Allmänt... 3 Kryptering av filer... 3 Dekryptering av filer... 3 Installation... 4 Inställningar... 5 Skapa nycklar... 6 Lägg till kataloger för övervakning... 6 Lägg
Läs merVärmedistribution i plåt
Sid 1 (6) Värmedistribution i plåt Introduktion Om vi med konstant temperatur värmer kanterna på en jämntjock plåt så kommer värmen att sprida sig och temperaturen i plåten så småningom stabilisera sig.
Läs merFöreläsning 9: NP-fullständighet
Föreläsning 9: NP-fullständighet Olika typer av problem: 1. Beslutsproblem: A(x) =Ja. 2. Optimeringsproblem: A(x) =m Vanligen max/min. 3. Konstruktionsproblem: A(x) =En struktur. Vanligen lösningen till
Läs merProblem: BOW Bowling. Regler för Bowling. swedish. BOI 2015, dag 1. Tillgängligt minne: 256 MB. 30.04.2015
Problem: BOW Bowling swedish BOI 0, dag. Tillgängligt minne: 6 MB. 30.04.0 Byteasar tycker om både bowling och statistik. Han har skrivit ner resultatet från några tidigare bowlingspel. Tyvärr är några
Läs merProgrammeringsolympiaden 2018
Programmeringsolympiaden 2018 TÄVLINGSREGLER FÖR SKOLKVALET Tävlingen äger rum på av skolan bestämt datum under fyra timmar. Ingen förlängning ges för lunch eller raster. Eleven ska i förväg komma överens
Läs merTDDC74 Programmering: Abstraktion och modellering Tenta, kl 14 18, 11 juni 2014
TDDC74 Programmering: Abstraktion och modellering Tenta, kl 14 18, 11 juni 2014 Läs alla frågorna först, och bestäm dig för i vilken ordning du vill lösa uppgifterna. Skriv tydligt och läsligt. Använd
Läs merNÅ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 merVisma Proceedo. Att logga in - Manual. Version 1.3 / 140414 1
Visma Proceedo Att logga in - Manual Version 1.3 / 140414 1 Innehållsförteckning 1) INLOGGNING VIA VERKTYG OCH SYSTEM... 3 2) INTERNET EXPLORER... 6 2.1 Java... 6 2.2 Popup-fönster... 8 2.3 Browser, 32-
Läs merTeoretisk del. Facit Tentamen TDDC (6)
Facit Tentamen TDDC30 2013-06-05 1 (6) Teoretisk del 1. (3p) "Snabba frågor" Alla svar motiveras väl. a) Vad skiljer en statisk metod från en icke-statisk? (0.5p) Svar:En statisk metod är associerad till
Läs merArrays (indicerade variabler) Föreläsning 4
Arrays (indicerade variabler) Föreläsning 4 Dagens kluring Hitta felet (ska skriva ut 10,9,8,7,6,5,4,3,2,1): int n; for(n=10;n0;n--) for(m=0;m
Läs merProv i DAT 312: Algoritmer och datastrukturer för systemvetare
Prov i DAT 312: Algoritmer och datastrukturer för systemvetare Jacek Malec Datavetenskap, LU 11 april 2003 Datum 11 april 2003 Tid 14 19 Ansvarig lärare Jacek Malec (tel. 03 9890431) Hjälpmedel inga Antal
Läs merFöreläsning 4: Kombinatorisk sökning
DD2458, Problemlösning och programmering under press Föreläsning 4: Kombinatorisk sökning Datum: 2009-09-25 Skribent(er): Kristina Nylander, Dennis Ekblom, Marcus Öman Föreläsare: Fredrik Niemelä 1 Introduktion
Läs merFörsta sidan är ett försättsblad (laddas ned från kurshemsidan) Alla frågor som nns i uppgiftstexten är besvarade
HT 2011 Inlämningsuppgift 1 Statistisk teori med tillämpningar Instruktioner Ett av problemen A, B eller C tilldelas gruppen vid första övningstillfället. Rapporten ska lämnas in senast 29/9 kl 16.30.
Läs merUppgifter 6: Kombinatorik och sannolikhetsteori
Grunder i matematik och logik (2017) Uppgifter 6: Kombinatorik och sannolikhetsteori Marco Kuhlmann Kombinatorik Nivå A 6.01 En meny består av tre förrätter, fem huvudrätter och två efterrätter. På hur
Läs merTDP 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 merFacit Tentamen TDDC kl (6)
Facit Tentamen TDDC30 2015-03-19 kl 14-18 1 (6) Teoretisk del 1. (6p) "Snabba frågor" Alla svar motiveras väl. a) Ge ett exempel på ett kodstycke som orsakar ett NullPointerException. (1p) Svar:Animal
Läs merDigitalitet. Kontinuerlig. Direkt proportionerlig mot källan. Ex. sprittermometer. Elektrisk signal som representerar ljud.
Analog Digitalitet Kontinuerlig Direkt proportionerlig mot källan Ex. sprittermometer Elektrisk signal som representerar ljud Diskret Digital Representation som siffror/symboler Ex. CD-skiva Varje siffra
Läs merMejladressen är i formatet
Datum 2018-02-20 Mejl och lagringstjänst för förtroendevalda. Den nya GDPR-lagstiftningen som börjar gälla 2018-05-25 har uppmärksammat behovet av att ha mejl och lagringsutrymme som är skilda från arbetsgivarens
Läs mer732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Felsökning. Datatyper. Referenstyper. Metoder / funktioner
732G11 Linköpings universitet 2011-01-21 1 2 3 4 5 6 Skapa program Kompilera: Källkod Kompilator bytekod Köra: Bytekod Virtuell maskin Ett riktigt program Hej.java class Hej { public static void main (
Läs merKryptografi - När är det säkert? Föreläsningens innehåll. Kryptografi - Kryptoanalys. Kryptering - Huvudsyfte. Kryptografi - Viktiga roller
Föreläsningens innehåll Grunder Kryptografiska verktygslådan Symmetriska algoritmer MAC Envägs hashfunktioner Asymmetriska algoritmer Digitala signaturer Slumptalsgeneratorer Kryptering i sitt sammanhang
Läs merInlämningsuppgift-VT lösningar
Inlämningsuppgift-VT lösningar A 1. En van Oddset-spelare har under lång tid studerat hur många mål ett visst lag gör i ishockeymatcher och vet att sannolikheterna beskrivs av följande tabell: Mål 0 1
Läs merKontrollera att följande punkter är uppfyllda innan rapporten lämnas in: Första sidan är ett försättsblad (laddas ned från kurshemsidan)
Statistiska institutionen VT 2012 Inlämningsuppgift 1 Statistisk teori med tillämpningar Instruktioner Ett av problemen A, B eller C tilldelas gruppen vid första övningstillfället. Rapporten ska lämnas
Läs merA: 3 B: 4 C: 5 D: 6 E: 7 Ryssland
Trepoängsproblem 1. Några av bildens ringar bildar en kedja där den ring som pilen pekar på ingår. Hur många ringar finns det i denna kedja? A: 3 B: 4 C: 5 D: 6 E: 7 Ryssland 2. I en triangel har två sidor
Läs merUppgift 1. Minimeringsproblemet löses med en Monte Carlo algoritm:
Uppgift 1 Minimeringsproblemet löses med en Monte Carlo algoritm: 1) initiera elementen i vektorn s slummässigt med +/-1 2) räkna ut värdefunktionen (ekvationen given i uppgiften) 3) starta iteration 4)
Läs merPlanering av ett större program, del 2 - for och listor. Linda Mannila
Planering av ett större program, del 2 - for och listor Linda Mannila 9.10.2007 Vad kan vi nu? Primitiva datatyper Tal, strängar, booleska värden Utskrift Indata Felhantering Funktioner och moduler (grunder)
Läs merOBJEKTORIENTERAD PROGRAMVARUUTVECKLING. Övningstentamen 2
Institutionen för Data- och informationsteknik JSk TENTAMEN OBJEKTORIENTERAD PROGRAMVARUUTVECKLING Övningstentamen 2 TID: 4 timmar Ansvarig: Betygsgränser: Hjälpmedel: Jan Skansholm Sammanlagt maximalt
Läs mersamt lite algoritmer en kortfattad introduktion för studenter på Intro:DV
O, P, N och NP samt lite algoritmer en kortfattad introduktion för studenter på Intro:DV DSV En enkel algoritm Ponera att du spelar poker och har fått korten till höger. Eftersom det bara rör sig om fem
Läs merF2 Datarepresentation talbaser, dataformat och teckenkodning EDAA05 Datorer i system! Roger Henriksson!
F2 Datarepresentation talbaser, dataformat och teckenkodning EDAA05 Roger Henriksson Von Neumann-arkitekturen Gemensamt minne för programinstruktioner och data. Sekventiell exekvering av instruktionerna.
Läs merMatematik 3c Kap 2 Förändringshastighet och derivator
Matematik 3c Kap 2 Förändringshastighet och derivator Inledning Konkretisering av ämnesplan (länk) http://www.ioprog.se/public_html/ämnesplan_matematik/struktur_äm nesplan_matematik/struktur_ämnesplan_matematik.html
Läs merEn introduktion till och första övning i @Risk5 for Excel
LUNDS UNIVERSITET 1(6) STATISTISKA INSTITUTIONEN Per-Erik Isberg / Lars Wahlgren VT2012 En introduktion till och första övning i @Risk5 for Excel Vi har redan under kursen stiftat bekantskap med Minitab
Läs mer