Grundläggande Datalogi



Relevanta dokument
Python. Python är, som Scheme, ett interpreterat språk men det finns kompilatorer för Python.

Python. Python är, som Scheme, ett interpreterat språk men det finns kompilatorer för Python.

Föreläsning 14 Innehåll

Introduktionsmöte Innehåll

EDAA01 Programmeringsteknik - fördjupningskurs

Använda Python Laboration 1 GruDat, DD1344

Kungl. Tekn. Högskolan Förel 1, bild 1 Föreläsning 1: Introduktion ffl Kursinnehåll ffl Javarepetition ffl Referenser ffl Nyckelordet static ffl Klass

Innehåll. Mina målsättningar. Vad krävs för att nå dit? Obligatoriska uppgifter. Websajten. Datastrukturer och algoritmer

Tentamen. Datalogi I, grundkurs med Java 10p, 2D4112, Lördagen den 30 november 2002 kl , salar E33, E34

Uppgifter till tenta i 729G04 Programmering och diskret matematik. 17 december 2015, kl 14:00-18:00

Dataabstraktion. TDDD73 Funktionell och impterativ programmering i Python Föreläsning 12. Peter Dalenius Institutionen för datavetenskap

Föreläsning 10 Datalogi 1 DA2001. Utskrift på skärmen. Syntax. print( Hej ) Hur är det? Hej. print( Hej,end= ) print( Hur är det? ) HejHur är det?

Programmeringsteknik II

Läsöversikt. Föreläsningar 2-6. Genomförande av laborationer

Tentamen'('Datastrukturer,'algoritmer'och'programkonstruktion.'

Hur man programmerar. TDDC66 Datorsystem och programmering Föreläsning 3. Peter Dalenius Institutionen för datavetenskap

1/15/2013. DD1310/DD1314/DA3009 Programmeringsteknik. Lärandemål... Vilka läser kursen? ...fler lärandemål VARFÖR? Föreläsning 1

Föreläsning 2 Programmeringsteknik DD1310. Programmering. Programspråk

Dataabstraktion. TDDD73 Funktionell och imperativ programmering i Python Föreläsning 12. Peter Dalenius Institutionen för datavetenskap

Pythons standardbibliotek

Hitta k största bland n element. Föreläsning 13 Innehåll. Histogramproblemet

Föreläsning 2 Programmeringsteknik och C DD1316. Programmering. Programspråk

Grundläggande databehandling ht 2005

Föreläsning 2 Programmeringsteknik och Matlab DD1312. Programspråk. Utskrift på skärmen

Föreläsning 2 Programmeringsteknik DD1310. Programmering. Programspråk

729G04 Programmering och diskret matematik. Python 3: Loopar

Språket Python - Del 1 Grundkurs i programmering med Python

Datastrukturer och algoritmer. Föreläsning 15 Inför tentamen

DD1310/DD1314/DA3009 Programmeringsteknik LÄRANDEMÅL... Vilka läser kursen? ...FLER LÄRANDEMÅL. Föreläsning 1

Abstrakta datatyper Laboration 2 GruDat, DD1344

Programmering A. Johan Eliasson

Några inbyggda funktioner (med resultat!) Introduktion till programmering D0009E. Föreläsning 4: Villkor och rekursion. Modulus-operatorn.

TDDE44 Programmering, grundkurs

Sökning i ordnad lista. Sökning och sortering. Sökning med vaktpost i oordnad lista

Programmering för språkteknologer II, HT2011. Rum

Sätt att skriva ut binärträd

Föreläsning 2 Programmeringsteknik och Matlab DD1312. Programspråk. Utskrift på skärmen

DD1320 Tillämpad datalogi. Lösning (skiss) till tenta 20 okt 2011

Datalogi, grundkurs 1

DD1314 Programmeringsteknik

Introduktion till programmering SMD180. Föreläsning 4: Villkor och rekursion

Instruktioner - Datortentamen TDDD73 Funktionell och imperativ programmering i Python TDDE24 Funktionell och imperativ programmering del 2

Erfarenheter från labben

Grundläggande programmering med C# 7,5 högskolepoäng

Sista delen av kursen

Undervisning. Examination

Undervisning. Examination

729G04 Programmering och diskret matematik. Föreläsning 7

Programmering I Tobias Wrigstad fredag, 2009 augusti 28

OMTENTAMEN I DATASTRUKTURER OCH ALGORITMER DVG B kl. 09:00 14:00

Sista delen av kursen

Programspråkslingvistik. Sista delen av kursen. Ett programspråk

Föreläsningsanteckningar, Introduktion till datavetenskap HT S4 Datastrukturer. Tobias Wrigstad

Föreläsning 2 Programmeringsteknik och C DD1316. Mikael Djurfeldt

Träd Hierarkiska strukturer

Tentamen i Introduktion till programmering

TDIU01 (725G67) - Programmering i C++, grundkurs

Introduktion till Datalogi DD1339. Föreläsning 1 8 sept 2014

SMD 134 Objektorienterad programmering

Datatyper och kontrollstrukturer. Skansholm: Kapitel 2) De åtta primitiva typerna. Typ Innehåll Defaultvärde Storlek

Teoretisk del. Facit Tentamen TDDC kl (6) 1. (6p) "Snabba frågor" Alla svar motiveras väl.

TDP002 - Imperativ programmering

TDP002 - Imperativ programmering

Lösningar Datastrukturer TDA

Introduktion till programmering SMD180. Föreläsning 9: Tupler

OMTENTAMEN I DATASTRUKTURER OCH ALGORITMER DVG B kl. 08:15 13:15

ORDINARIE TENTAMEN I DATASTRUKTURER OCH ALGORITMER DVG B kl. 08:15 13:15

Tentamen Datastrukturer D DAT 035/INN960 (med mycket kortfattade lösningsförslag)

Programmering för språkteknologer II, HT2014. Rum

Kodexempel från Programmering 2 Tobias Wrigstad, Ph.D.

729G04 Programmering och diskret matematik

Tentamen Datastrukturer D DAT 035/INN960

Sökning och sortering

Klassdeklaration. Metoddeklaration. Parameteröverföring

Övning 1 - Abstrakta datatyper

Lösningsförslag för tentamen i Datastrukturer (DAT037) från

Föreläsning 5 Programmeringsteknik DD1310. Modulen doctest. Exempel. Doctest Dictionary Filhantering

Föreläsning 1 & 2 INTRODUKTION

Deklarationer/definitioner/specifikationer

Tenta (TEN3) i kursen 729G04 Programmering och diskret matematik 5 feb 2016, kl 14:00-18:00

Tenta i Grundläggande programmering DD klockan

LÖSNINGSFÖRSLAG TENTAMEN PROGRAMMERING I ETT FUNKTIONELLT SPRÅK ML, 5P

Datastrukturer. Erik Forslin. Rum 1445, plan 4 på Nada

Föreläsning 1 & 2 INTRODUKTION

Inom datalogin brukar man använda träd för att beskriva vissa typer av problem. Om man begränsar sig till träd där varje nod förgrenar sig högst två

Lektion 2: Sökagenter. Robin Keskisärkkä

TDDD78, TDDE30, 729A Introduktion till Java -- för Pythonprogrammerare

Tommy Färnqvist, IDA, Linköpings universitet. 1 Administrativ information Upplägg... 2

Datalogi I, grundkurs med Java 10p, 2D4112, Fiktiv tentamen, svar och lösningar och extra kommentarer till vissa uppgifter 1a) Dividera förs

Rebecka Geijer Michaeli, IDA, Linköpings universitet. 1 Administrativ information Upplägg... 2

Tutorial: Python på 90 minuter

Sortering. Brute-force. Sortering Ordna element enligt relation mellan nyckelvärden

Skillnader mellan Python och Java

EDAf30: Programmering i C++, 7.5 hp. EDAf30: Programmering i C++, 7.5 hp Administration. EDAf30: Programmering i C++, 7.5 hp Obligatoriska moment

Välkommen till. Datastrukturer, algoritmer och programkonstruktion. eller DOA

TDDD78, TDDE30, 729A Introduktion till Java -- för Pythonprogrammerare

Mål Förklaring av termer

Fly me to the moon. Laboration om relationer, TDDC75 Diskreta strukturer. Mikael Asplund. 5 september 2017

Trädstrukturer och grafer

Grundläggande datalogi - Övning 4

Transkript:

s delar Grundläggande Datalogi s delar s delar s delar Dataabstraktion Rekursion Algoritmanalys s delar Sortering Trädstrukturer Grafalgoritmer Optimering Stavning Strängmatchning Datakompression Versionshantering

s delar s delar Miller & Ranum: Problem Solving with Algorithms and Data Structures using 1. Introduktion till 2. Kö som abstrakt datatyp 3. Binära sökträd 4. Bredden-först sökning 5. Syntaxstyrd texttolkning 6. Bygga trädstrukturer Introduktion till Obligatoriska moment Tentamen Laboration 1 6 Bonuspoäng Slutbetyg Labb 2 6 ger en bonuspoäng till tentan vid redovisning i tid Labb 2 senast 20 Nov Labb 3 senast 4 Dec Baseras på tentaresultatet A & B kräver genomförd extrauppgift på labb 2 6 A kräver extra labb 7 s delar s delar

Programspråk för människor Beskrivning av algoritmer C-funktion double sum ( double a [ ], i n t n ) { double s = 0. 0 ; f o r ( i n t i =0; i <n ; ++i ) s += a [ i ] ; return s ; } Körbar pseudokod def sum ( a ) : s = 0 f o r x i n a : s += x return s -funktion $ python 2. 5. 2 ( r252 : 6 0 9 1 1, Sep 29 2008) [GCC 4. 3. 2 ] on l i n u x 2 Type h e l p f o r more i n f o r m a t i o n. >>> 4711 17 80087 >>> s o r t e d ( [ 3, 5, 4 ] ) [ 3, 4, 5 ] >>> Tal int, long, float, complex, bool Strängar str, unicode Ordnade element tuple, list Samlingar utan ordning set, dictionary

s egenheter i f a <0: a = 0 r e v = True f o r i i n range ( 4 7 1 1 ) : sum += i 2 f o r x i n v : i f x==0: count += 1 Indentering är signifikant Variabler behöver inte deklareras Sen typning: Typen är en egenskap hos data, inte hos variabler Namn som inleds med är speciella while a >10: a = 0. 1 Definiera egna funktioner def funk ( a, b ) : c = max( a, b ) return a+b+c Möjligt att returnera flera värden via en tuple: def o r d e r ( a, b ) : i f a>b : return b, a e l s e : return a, b def a v e r a g e ( x, y ) : return ( x+y )/2 u t i l s utils.py p r i n t u t i l s. a v e r a g e (17, 4 7. 1 1 ) from u t i l s a v e r a g e low, h igh = o r d e r ( x, y ) p r i n t a v e r a g e (17, 4 7. 1 1 )

Unit testing kontroll av att funktioner, klasser, och moduler ger rätt resultat. doctest Förenklat system för testning. Kontrollerar att svaret stämmer med dokumentationen utils.py def a v e r a g e ( x, y ) : >>> a v e r a g e ( 0, 10) 5 >>> a v e r a g e ( 1, 2) 1. 5 return ( x+y )/2 u t i l s d o c t e s t d o c t e s t. testmod ( u t i l s )