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

Storlek: px
Starta visningen från sidan:

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

Transkript

1 är, som Scheme, ett interpreterat språk men det finns kompilatorer för. När man interpreterar ett språk tillhandahåller man en interpretator som läser sats för sats och försöker tolka den. När man kompilerar översätts istället hela programmet till ett ekvivalent program i maskinens eget språk. Vi kommer inte kompilera våra program, men jag ber er lägga skillnaden på minnet. Vi kommer att använda version 3 av, men de vanligaste är (fortfarande) versionerna Det finns program som konverterar mellan de olika versionerna. DA2001 (Föreläsning 10) Datalogi 1 Hösten / 22

2 ... är ett dynamiskt typat, imperativt språk DA2001 (Föreläsning 10) Datalogi 1 Hösten / 22

3 ... är ett dynamiskt typat, imperativt språk Värden har typ (som i Scheme) men variabler har en typ endast om det finns ett värde bundet till variabeln. DA2001 (Föreläsning 10) Datalogi 1 Hösten / 22

4 ... är ett dynamiskt typat, imperativt språk Värden har typ (som i Scheme) men variabler har en typ endast om det finns ett värde bundet till variabeln. Ett fullständigt (men ganska meningslöst) program: HELLO = "Hej hej!" print (HELLO) DA2001 (Föreläsning 10) Datalogi 1 Hösten / 22

5 ... Programmet skrivs i en texteditor, spars på en fil under ett namn t.ex. test.py DA2001 (Föreläsning 10) Datalogi 1 Hösten / 22

6 ... Programmet skrivs i en texteditor, spars på en fil under ett namn t.ex. test.py (.py för att tala om för alla (program) att filen innehåller ett program) DA2001 (Föreläsning 10) Datalogi 1 Hösten / 22

7 ... Programmet skrivs i en texteditor, spars på en fil under ett namn t.ex. test.py (.py för att tala om för alla (program) att filen innehåller ett program) För att köra programmet kan man skriva: python3 test.py DA2001 (Föreläsning 10) Datalogi 1 Hösten / 22

8 ... Programmet skrivs i en texteditor, spars på en fil under ett namn t.ex. test.py (.py för att tala om för alla (program) att filen innehåller ett program) För att köra programmet kan man skriva: python3 test.py Man kan, på Unix, Linux och MacOSX börja sitt program med ett direktiv #!/usr/bin/python3 DA2001 (Föreläsning 10) Datalogi 1 Hösten / 22

9 ... Programmet skrivs i en texteditor, spars på en fil under ett namn t.ex. test.py (.py för att tala om för alla (program) att filen innehåller ett program) För att köra programmet kan man skriva: python3 test.py Man kan, på Unix, Linux och MacOSX börja sitt program med ett direktiv #!/usr/bin/python3 Då kan man starta programmet med bara namnet på filen (test.py) DA2001 (Föreläsning 10) Datalogi 1 Hösten / 22

10 ... Programmet skrivs i en texteditor, spars på en fil under ett namn t.ex. test.py (.py för att tala om för alla (program) att filen innehåller ett program) För att köra programmet kan man skriva: python3 test.py Man kan, på Unix, Linux och MacOSX börja sitt program med ett direktiv #!/usr/bin/python3 Då kan man starta programmet med bara namnet på filen (test.py) Eller möjligen (./test.py) DA2001 (Föreläsning 10) Datalogi 1 Hösten / 22

11 ... Programmet skrivs i en texteditor, spars på en fil under ett namn t.ex. test.py (.py för att tala om för alla (program) att filen innehåller ett program) För att köra programmet kan man skriva: python3 test.py Man kan, på Unix, Linux och MacOSX börja sitt program med ett direktiv #!/usr/bin/python3 Då kan man starta programmet med bara namnet på filen (test.py) Eller möjligen (./test.py) Men först måste man göra så att OS:et förstår att filen kan köras som ett program chmod +x test.py DA2001 (Föreläsning 10) Datalogi 1 Hösten / 22

12 ... Programmet skrivs i en texteditor, spars på en fil under ett namn t.ex. test.py (.py för att tala om för alla (program) att filen innehåller ett program) För att köra programmet kan man skriva: python3 test.py Man kan, på Unix, Linux och MacOSX börja sitt program med ett direktiv #!/usr/bin/python3 Då kan man starta programmet med bara namnet på filen (test.py) Eller möjligen (./test.py) Men först måste man göra så att OS:et förstår att filen kan köras som ett program chmod +x test.py Då kan man kalla filen vad som helst och utelämna.py DA2001 (Föreläsning 10) Datalogi 1 Hösten / 22

13 ... Man kan också använda en python-editor. Det finns flera, en kallas IDLE och levereras med python (var noga med att använda den för python 3 eller python 3.X). En annan, vanligtvis kommersiell som vi har i undervisningsversion, kallad Wing IDE, kan man också använda. Båda kommer att demonstreras ingående. Då kan man editera sina program i ett fönster och få dem utförda i ett annat. Jag kommer använda båda omväxlande men IDLE följer med python vid installationen. Wing IDE är bara en av många integrerade utvecklingsmiljöer för (3). Se länkarna på kurshemsidorna. DA2001 (Föreläsning 10) Datalogi 1 Hösten / 22

14 ... För att få något (vettigt?) gjort måste man ha med funktioner samt andra satser: def square(x): return x * x print(square(4)) # Funktionshuvud # Funktionskropp, obs! indenteringen # Huvudprogram DA2001 (Föreläsning 10) Datalogi 1 Hösten / 22

15 Inmatning och utmatning # -*- coding: utf-8 -*- # Med ett direktiv som ovan på rad 1 eller 2 # kan man tala om för både editorer och # för vilken teckenkodning man använder def main(): # vanligt att man använder en funktion # som huvudprogram # OBS att input ger en sträng # som måste konverteras till int x = int(input( Mata in ett tal: )) print("kvadraten på", x, "=", square(x)) def square(x): return x * x main() # Funktionshuvud # Funktionskropp # Starta huvudprogrammet DA2001 (Föreläsning 10) Datalogi 1 Hösten / 22

16 Grundläggande typer int (heltal) DA2001 (Föreläsning 10) Datalogi 1 Hösten / 22

17 Grundläggande typer int (heltal) float (reella tal) DA2001 (Föreläsning 10) Datalogi 1 Hösten / 22

18 Grundläggande typer int (heltal) float (reella tal) bool (sanningsvärden true & false) DA2001 (Föreläsning 10) Datalogi 1 Hösten / 22

19 Grundläggande typer int (heltal) float (reella tal) bool (sanningsvärden true & false) chr (tecken ur kodtabellen för UTF-8) DA2001 (Föreläsning 10) Datalogi 1 Hösten / 22

20 Grundläggande typer int (heltal) float (reella tal) bool (sanningsvärden true & false) chr (tecken ur kodtabellen för UTF-8) str (teckensträng) DA2001 (Föreläsning 10) Datalogi 1 Hösten / 22

21 Grundläggande typer int (heltal) float (reella tal) bool (sanningsvärden true & false) chr (tecken ur kodtabellen för UTF-8) str (teckensträng) list (lista med vad som helst i) DA2001 (Föreläsning 10) Datalogi 1 Hösten / 22

22 Grundläggande typer int (heltal) float (reella tal) bool (sanningsvärden true & false) chr (tecken ur kodtabellen för UTF-8) str (teckensträng) list (lista med vad som helst i) dict (dictionary lista med nyckel:värde-par) DA2001 (Föreläsning 10) Datalogi 1 Hösten / 22

23 Grundläggande typer int (heltal) float (reella tal) bool (sanningsvärden true & false) chr (tecken ur kodtabellen för UTF-8) str (teckensträng) list (lista med vad som helst i) dict (dictionary lista med nyckel:värde-par) set (mängd oordnad lista utan dubletter) DA2001 (Föreläsning 10) Datalogi 1 Hösten / 22

24 Inmatning... x = int(input( Mata in ett tal: )) DA2001 (Föreläsning 10) Datalogi 1 Hösten / 22

25 Inmatning... x = int(input( Mata in ett tal: )) läs in ett heltal till vaiabeln x DA2001 (Föreläsning 10) Datalogi 1 Hösten / 22

26 Inmatning... x = int(input( Mata in ett tal: )) läs in ett heltal till vaiabeln x Men egentligen får man en teckensträng som försöker omvandla till ett heltal DA2001 (Föreläsning 10) Datalogi 1 Hösten / 22

27 Inmatning... x = int(input( Mata in ett tal: )) läs in ett heltal till vaiabeln x Men egentligen får man en teckensträng som försöker omvandla till ett heltal Matar man in något annat får man ett fel och programavbrott. DA2001 (Föreläsning 10) Datalogi 1 Hösten / 22

28 Inmatning... x = int(input( Mata in ett tal: )) läs in ett heltal till vaiabeln x Men egentligen får man en teckensträng som försöker omvandla till ett heltal Matar man in något annat får man ett fel och programavbrott. xstr = input( Mata in ett tal: ) så hamnar den inmatade strängen i xstr DA2001 (Föreläsning 10) Datalogi 1 Hösten / 22

29 Inmatning... x = int(input( Mata in ett tal: )) läs in ett heltal till vaiabeln x Men egentligen får man en teckensträng som försöker omvandla till ett heltal Matar man in något annat får man ett fel och programavbrott. xstr = input( Mata in ett tal: ) så hamnar den inmatade strängen i xstr Sedan kan inmatningen omvandlas till ett tal med kontroll av att man fått något som kan tolkas som ett tal DA2001 (Föreläsning 10) Datalogi 1 Hösten / 22

30 Inmatning... x = int(input( Mata in ett tal: )) läs in ett heltal till vaiabeln x Men egentligen får man en teckensträng som försöker omvandla till ett heltal Matar man in något annat får man ett fel och programavbrott. xstr = input( Mata in ett tal: ) så hamnar den inmatade strängen i xstr Sedan kan inmatningen omvandlas till ett tal med kontroll av att man fått något som kan tolkas som ett tal men det blir rätt bara om hela inmatningen kan tolkas som den önskade datatypen DA2001 (Föreläsning 10) Datalogi 1 Hösten / 22

31 Inmatning... def main(): # vanligt att man använder en funktion # som huvudprogram xstr = input( Mata in ett tal: ) try: x = int(xstr) except ValueError: print(xstr, "är inte ett tal!") else: print("kvadraten på", x, "=", square(x)) # slut på huvudprogrammet def square(x): return x * x main() # Funktionshuvud # Funktionskropp # Starta huvudprogrammet DA2001 (Föreläsning 10) Datalogi 1 Hösten / 22

32 Utmatning... För så här enkla program duger print utmärkt. Det räcker ganska långt. Man har en hel del möjligheter att formatera utskriften. DA2001 (Föreläsning 10) Datalogi 1 Hösten / 22

33 Utmatning... För så här enkla program duger print utmärkt. Det räcker ganska långt. Man har en hel del möjligheter att formatera utskriften. print(xstr, "är inte ett tal!") skriver värdet på xstr och sedan teckensträngen "är inte ett tal!" separerade med en blank. DA2001 (Föreläsning 10) Datalogi 1 Hösten / 22

34 Utmatning... För så här enkla program duger print utmärkt. Det räcker ganska långt. Man har en hel del möjligheter att formatera utskriften. print(xstr, "är inte ett tal!") skriver värdet på xstr och sedan teckensträngen "är inte ett tal!" separerade med en blank. Vill vi omge xstr med apostrofer kan vi skriva print(" ", xstr, " är inte ett tal!") men då får vi blanka kring värdet på xstr. DA2001 (Föreläsning 10) Datalogi 1 Hösten / 22

35 Utmatning... För så här enkla program duger print utmärkt. Det räcker ganska långt. Man har en hel del möjligheter att formatera utskriften. print(xstr, "är inte ett tal!") skriver värdet på xstr och sedan teckensträngen "är inte ett tal!" separerade med en blank. Vill vi omge xstr med apostrofer kan vi skriva print(" ", xstr, " är inte ett tal!") men då får vi blanka kring värdet på xstr. Vi har flera alternativ för att komma runt det. xstr är av typen str (teckensträng) så man kan använda strängkonkatenering: print(" " + xstr + " är inte ett tal!") DA2001 (Föreläsning 10) Datalogi 1 Hösten / 22

36 Utmatning... För så här enkla program duger print utmärkt. Det räcker ganska långt. Man har en hel del möjligheter att formatera utskriften. print(xstr, "är inte ett tal!") skriver värdet på xstr och sedan teckensträngen "är inte ett tal!" separerade med en blank. Vill vi omge xstr med apostrofer kan vi skriva print(" ", xstr, " är inte ett tal!") men då får vi blanka kring värdet på xstr. Vi har flera alternativ för att komma runt det. xstr är av typen str (teckensträng) så man kan använda strängkonkatenering: print(" " + xstr + " är inte ett tal!") Men man kan också använda formateringsmöjligheterna som print erbjuder: print([object,...], sep=, end= \n, file=sys.stdout) Det finns alltså ett antal parametrar som, om de inte skickas med, får defaultvärde, en egenskap man kan utnyttja i programmeringen. Vi kan sätta sep= för att undertrycka mellanrummen, vi kan se till att radbrytning inte sker, vi kan skriva på en fil. DA2001 (Föreläsning 10) Datalogi 1 Hösten / 22

37 OBS Namn måste börja på en bokstav eller understrykningstecken ( ) DA2001 (Föreläsning 10) Datalogi 1 Hösten / 22

38 OBS Namn måste börja på en bokstav eller understrykningstecken ( ) (bokstav är alla unicode-tecken som räknas som bokstav i något alfabet) DA2001 (Föreläsning 10) Datalogi 1 Hösten / 22

39 OBS Namn måste börja på en bokstav eller understrykningstecken ( ) (bokstav är alla unicode-tecken som räknas som bokstav i något alfabet) Alltså går det bra med svenska tecken, men editorerna brukar inte hänga med. DA2001 (Föreläsning 10) Datalogi 1 Hösten / 22

40 OBS Namn måste börja på en bokstav eller understrykningstecken ( ) (bokstav är alla unicode-tecken som räknas som bokstav i något alfabet) Alltså går det bra med svenska tecken, men editorerna brukar inte hänga med. Man kan ha lokala funktioner i funktioner, precis som i Scheme, och ordningen spelar ingen roll DA2001 (Föreläsning 10) Datalogi 1 Hösten / 22

41 OBS Namn måste börja på en bokstav eller understrykningstecken ( ) (bokstav är alla unicode-tecken som räknas som bokstav i något alfabet) Alltså går det bra med svenska tecken, men editorerna brukar inte hänga med. Man kan ha lokala funktioner i funktioner, precis som i Scheme, och ordningen spelar ingen roll Det finns en mängd reserverade ord False class finally is return None continue for lambda try True def from nonlocal while and del global not with as elif if or yield assert else import pass break except in raise DA2001 (Föreläsning 10) Datalogi 1 Hösten / 22

42 Styrstrukturer Alla tekniker vi använt i Scheme fungerar i men känner inte igen svansrekursion. def fac(n): def iterfac(n, res): if n == 0: return res else: return iterfac(n - 1, n * res) return iterfac(n, 1) try: x = input ("mata in ett heltal: ") n = int(x) except: print(" " + x + " är inte ett heltal!") else: print(fac(n)) Det innebär att programmet kraschar då man gjort för många rekursiva anrop. Gränsen är satt till högst 1000 anrop (totalt i en anropskedja), den kan ändras. DA2001 (Föreläsning 10) Datalogi 1 Hösten / 22

43 Styrstrukturer... Man behöver andra sturstrukturer så att även komplicerade algoritmer kan utföras. Vi avvecklar den inre funktionen och gör res till en lokal variabel men låter huvudprogrammet vara def fac(n): res = 1 # anropsvärdet från iterfac(n, 1) while n > 0: res *= n # samma som res = res * n n -= 1 # n = n - 1 return res DA2001 (Föreläsning 10) Datalogi 1 Hösten / 22

44 Styrstrukturer... Några varianter, kan göra samtidiga tilldelningar i tupler (sekvenser av värden) def fac(n): res = 1 while n > 0: res, n = res * n, n - 1 ## res = res * n och n = n - 1 samtidigt return res DA2001 (Föreläsning 10) Datalogi 1 Hösten / 22

45 Styrstrukturer... Vet man hur många gånger man ska gör något kan man använda for def fac(n): res = 1 for m in range (n): # Låt m gå från 0 till n - 1 res *= (m + 1) return res DA2001 (Föreläsning 10) Datalogi 1 Hösten / 22

46 Styrstrukturer... Eller: def fac(n): res = 1 for m in range (1, n + 1): res *= m return res # Låt m gå från 1 till n DA2001 (Föreläsning 10) Datalogi 1 Hösten / 22

47 Styrstrukturer... Det är vanligt att man börjar med att definiera konstanter, men eftersom inte har begreppet konstant annat än för fördefinierade objekt har man istället konventionen att skriva variable vars värden inte ska ändras med VERSALER. Det är också vanligt att låta huvudprogrammet representeras av en funktion PROMPT = Mata in ett tal: ERRTXT = " är inte ett tal!" def fac(n): res = 1 for m in range (1, n+1): res *= m return res def main(): x = input (PROMPT) n = int(x) print(fac(n)) main() DA2001 (Föreläsning 10) Datalogi 1 Hösten / 22

48 Styrstrukturer... Ordningen spelar ingen roll PROMPT = Mata in ett tal: ERRTXT = " är inte ett tal!" def main(): x = input (PROMPT) n = int(x) print(fac(n)) def fac(n): res = 1 for m in range (1, n+1): res *= m return res main() DA2001 (Föreläsning 10) Datalogi 1 Hösten / 22

49 Köra programfiler som kommandon #!/usr/bin/python3 import sys ERRTXT = " är inte ett tal!" def fac(n): res = 1 for m in range (1, n+1): res *= m return res def main(): try: x = sys.argv[1] n = int(x) except: print("använd./fac6.py <tal>.", " " + x + ERRTXT) else: print(fac(n)) main() DA2001 (Föreläsning 10) Datalogi 1 Hösten / 22

50 Enkel kommandotolk cmds = [ addera, subtrahera, sluta ] ## lista med tillåtna kommandon def main(): cmd = None ## initiera till inget kommando while not cmd: cmd = input( Kommando: ) if cmd in cmds: if cmd == addera : print("kommandot är addera ") elif cmd == subtrahera : print("kommandot är subtrahera ") elif cmd == sluta : print("kommandot är sluta, hejdå!") else: print("det finns inget " + cmd + " -kommando!") main() DA2001 (Föreläsning 10) Datalogi 1 Hösten / 22

51 Enkel kommandotolk... cmds = [ addera, subtrahera, sluta ] cmd = None count = 0 # felräknare while cmd!= sluta : cmd = input( Kommando: ) if cmd in cmds: if cmd == addera : print("kommandot är addera ") elif cmd == subtrahera : print("kommandot är subtrahera ") elif cmd == sluta : print("kommandot är sluta, hejdå!") elif count >= 2: print("efter 3 ogilitga kommandon avslutas programmet") cmd = sluta else: print("det finns inget " + cmd + " -kommando!") count += 1 DA2001 (Föreläsning 10) Datalogi 1 Hösten / 22

52 Enkel kommandotolk... cmd = None count = 0 # felräknare while cmd!= sluta : cmd = input( Kommando: ) if cmd == addera : print("kommandot är addera ") count = 0 elif cmd == subtrahera : print("kommandot är subtrahera ") count = 0 elif cmd == sluta : print("kommandot är sluta, hejdå!") count = 0 elif count < 2: print("det finns inget " + cmd + " -kommando!") count += 1 else: print("efter 3 ogilitga kommandon avslutas programmet") cmd = sluta DA2001 (Föreläsning 10) Datalogi 1 Hösten / 22

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. är, som Scheme, ett interpreterat språk men det finns kompilatorer för. När man interpreterar ett språk tillhandahåller man en interpretator som läser sats för sats och försöker tolka den. När man kompilerar

Läs mer

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?

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? Föreläsning 10 Datalogi 1 DA2001 python introduktion Variabler Datatyp Aritmetiska operatorer av typer Reserverade ord logiska operatorer If-sats kommentarer på skärmen print( Hej ) print( Hur är det?

Läs mer

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

Föreläsning 2 Programmeringsteknik DD1310. Programmering. Programspråk Föreläsning 2 steknik DD1310 python introduktion Variabler Datatyp Aritmetiska operatorer av typer Reserverade ord logiska operatorer If-sats kommentarer funktioner betyder att instruera en dator Ett program

Läs mer

DD1314 Programmeringsteknik

DD1314 Programmeringsteknik Skolan för Datavetenskap och kommunikation DD1314 Programmeringsteknik Föreläsning 1 o print o variabler o reserverade ord o input o kommentarer o beräkningar o datatyper o if-satser Kursinformation Programmering:

Läs mer

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

Föreläsning 2 Programmeringsteknik och C DD1316. Mikael Djurfeldt Föreläsning 2 Programmeringsteknik och C DD1316 Mikael Djurfeldt Föreläsning 2 Programmeringsteknik och C Python introduktion Utskrift Inläsning Variabler Datatyp Aritmetiska operatorer Omvandling

Läs mer

Pythons standardbibliotek

Pythons standardbibliotek Pythons standardbibliotek Python 3 skall, enligt standarddokumenten http://docs.python.org/py3k/library/index.html ha stöd för vissa funktioner, typer och datastrukturer Så länge man håller sig till detta

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

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

Föreläsning 2 Programmeringsteknik och Matlab DD1312. Programspråk. Utskrift på skärmen Föreläsning 2 Programmeringsteknik och Matlab DD1312 Introduktion till python Variabler,datatyper, omvandling av typer sfunktioner Två olika typer av program omvandlar högnivå till lågnivå program: Interpreterande

Läs mer

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

Föreläsning 2 Programmeringsteknik och Matlab DD1312. Programspråk. Utskrift på skärmen Föreläsning 2 Programmeringsteknik och Matlab DD1312 Introduktion till python Variabler, datatyper, omvandling av typer sfunktioner Två olika typer av program omvandlar högnivå till lågnivå program: Interpreterande

Läs mer

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

DD1310/DD1314/DA3009 Programmeringsteknik LÄRANDEMÅL... Vilka läser kursen? ...FLER LÄRANDEMÅL. Föreläsning 1 Skolan för Datavetenskap och kommunikation DD1310/DD1314/DA3009 Programmeringsteknik Föreläsning 1 Kursinfo Python-intro: print variabler reserverade ord input kommentarer beräkningar datatyper if-satser

Läs mer

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

Föreläsning 2 Programmeringsteknik och C DD1316. Programmering. Programspråk Föreläsning 2 steknik och C DD1316 python introduktion Variabler Datatyp Aritmetiska operatorer av typer Reserverade ord logiska operatorer If-sats kommentarer betyder att instruera en dator Ett program

Läs mer

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

1/15/2013. DD1310/DD1314/DA3009 Programmeringsteknik. Lärandemål... Vilka läser kursen? ...fler lärandemål VARFÖR? Föreläsning 1 Skolan för Datavetenskap och kommunikation DD1310/DD1314/DA3009 Programmeringsteknik Föreläsning 1 Kursinfo Diagnostiskt prov Python-intro: print variabler reserverade ord input kommentarer beräkningar

Läs mer

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

Föreläsning 2 Programmeringsteknik DD1310. Programmering. Programspråk Föreläsning 2 steknik DD1310 Python introduktion Variabler Datatyper Aritmetiska operatorer av typer Reserverade ord logiska operatorer If-sats kommentarer betyder att instruera en dator Ett program är

Läs mer

Pascal... Pascal. Pascal... Pascal...

Pascal... Pascal. Pascal... Pascal... ... Programspråk uppkallat efter Blaise. Skapat av Nicolaus Wirt. Avsett för undervisning för att lära ut typbegreppet och styrstrukturer. Har fått stor spridning p.g.a. enkelhet och att kompilatorn varken

Läs mer

Pascal. reserverade ord fördefinierade funktioner och procedurer egendefinierade funktioner, procedurer och objekt

Pascal. reserverade ord fördefinierade funktioner och procedurer egendefinierade funktioner, procedurer och objekt Programspråk uppkallat efter Blaise. Skapat av Nicolaus Wirt. Avsett för undervisning för att lära ut typbegreppet och styrstrukturer. Har fått stor spridning p.g.a. enkelhet och att kompilatorn varken

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

Alla datorprogram har en sak gemensam; alla processerar indata för att producera något slags resultat, utdata.

Alla datorprogram har en sak gemensam; alla processerar indata för att producera något slags resultat, utdata. Att förstå variabler Alla datorprogram har en sak gemensam; alla processerar indata för att producera något slags resultat, utdata. Vad är en variabel? En variabel är en plats att lagra information. Precis

Läs mer

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

Språket Python - Del 1 Grundkurs i programmering med Python Hösten 2009 Dagens lektion Ett programmeringsspråks byggstenar Några inbyggda datatyper Styra instruktionsflödet Modulen sys 2 Ett programmeringsspråks byggstenar 3 ETT PROGRAMMERINGSSPRÅKS BYGGSTENAR

Läs mer

Programmering I Tobias Wrigstad fredag, 2009 augusti 28

Programmering I Tobias Wrigstad fredag, 2009 augusti 28 Programmering I Tobias Wrigstad tobias@dsv.su.se Vad är programmering? Lågnivåspråk och högnivåspråk Kompilering och interpretering Variabler Notation för flödesschema (flow chart) Kontrollstrukturer (conditionals,

Läs mer

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

Introduktion till programmering SMD180. Föreläsning 4: Villkor och rekursion Introduktion till programmering Föreläsning 4: Villkor och rekursion 1 1 Några inbyggda funktioner (med resultat!) Konverterar mellan de grundläggande typerna: >>> int("32") 32 >>> int(3.999) 3 >>> float(32)

Läs mer

Objektorienterad Programmering (TDDC77)

Objektorienterad Programmering (TDDC77) Objektorienterad Programmering (TDDC77) Föreläsning II: utmatning, variabler, typer Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2016 Kompilera och köra programmet under terminal 2: I Skapa Hej.java

Läs mer

I Skapa Hej.java och skriv programmet. I Kompilera med javac Hej.java. I Rätta fel och repetera tills du lyckas kompilera ditt program

I Skapa Hej.java och skriv programmet. I Kompilera med javac Hej.java. I Rätta fel och repetera tills du lyckas kompilera ditt program Kompilera och köra programmet Objektorienterad Programmering (TDDC77) Föreläsning II: utmatning, variabler, typer Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2016 under terminal 2: I Skapa Hej.java

Läs mer

Föreläsning 2 Programmeringsteknik och C DD1316

Föreläsning 2 Programmeringsteknik och C DD1316 Föreläsning 2 Programmeringsteknik och C DD1316 Föreläsning 2 Programmeringsteknik och C Datatyp Aritmetiska operatorer Omvandling av typer Reserverade ord Mikael Djurfeldt Logiska operatorer

Läs mer

732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Felsökning. Datatyper. Referenstyper. Metoder / funktioner

732G 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 mer

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

Några inbyggda funktioner (med resultat!) Introduktion till programmering D0009E. Föreläsning 4: Villkor och rekursion. Modulus-operatorn. Några inbyggda funktioner (med resultat!) Introduktion till programmering D0009E Föreläsning 4: Villkor och rekursion Konverterar mellan de grundläggande typerna: >>> int("") >>> int(.999) >>> float().0

Läs mer

Tentamen i Introduktion till programmering

Tentamen i Introduktion till programmering Tentamen i Introduktion till programmering Kurskod: Skrivtid: D0009E 09:00-13:00 (4 timmar) Totalt antal uppgifter: 7 Totalt antal poäng: 38 Tentamensdatum: 2014-05-17 Jourhavande lärare: Tillåtna hjälpmedel:

Läs mer

Pseudoslumptal / slumptal. Pseudoslumptal... Slumptal exempel. Slumptal exempel

Pseudoslumptal / slumptal. Pseudoslumptal... Slumptal exempel. Slumptal exempel Pseudoslumptal / slumptal Pseudoslumptal... Slump existerar inte i datorns välordnade miljö så slumpartade tal finns naturligtvis inte heller Men man behöver slump i vissa försök och i simuleringar så

Läs mer

Grundläggande datalogi - Övning 1

Grundläggande datalogi - Övning 1 Grundläggande datalogi - Övning 1 Björn Terelius October 30, 2008 Python är ett tolkat språk som kan köras interaktivt. tcs-ray:~/grudat08>python >>> 11+3*4 23 >>> a = 15 >>> b=a >>> print "a =", a, "b

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

Sammanfattning. Listor. List-manipulering. Matris. /home/lindahlm/activity-phd/teaching/11dd1310/exercise3/exercise3.py September 13, 20111

Sammanfattning. Listor. List-manipulering. Matris. /home/lindahlm/activity-phd/teaching/11dd1310/exercise3/exercise3.py September 13, 20111 /home/lindahlm/activity-phd/teaching/11dd1310/exercise3/exercise3.py September 13, 20111 0 # coding : latin Sammanfattning Gick igenom listor, dictionary, felhantering, strängjämförelser, split(), rstrip()

Läs mer

Kurslitteraturen. C-nivå Villkorssatser [kap 8] if & elif & else and & or Loopar [kap 9] for

Kurslitteraturen. C-nivå Villkorssatser [kap 8] if & elif & else and & or Loopar [kap 9] for Inför provet Provet skrivs för hand och är uppdelad i två delar. Den första delen är på E-nivå och den andra delen är på C- och A-nivå. För att det ska bli enklare för er att träna inför provet så har

Läs mer

Filer. DA2001 (Föreläsning 16) Datalogi 1 Hösten / 19

Filer. DA2001 (Föreläsning 16) Datalogi 1 Hösten / 19 Filer När ett program behöver spara data för senare användning måste dessa data antingen sparas i en databas eller skrivas på en sekundärminnesfil Sådan skrivning på fil är inte mer komplicerad än att

Läs mer

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

Datatyper och kontrollstrukturer. Skansholm: Kapitel 2) De åtta primitiva typerna. Typ Innehåll Defaultvärde Storlek De åtta primitiva typerna Java, datatyper, kontrollstrukturer Skansholm: Kapitel 2) Uppsala Universitet 11 mars 2005 Typ Innehåll Defaultvärde Storlek boolean true, false false 1 bit char Tecken \u000

Läs mer

TDIU01 - Programmering i C++, grundkurs

TDIU01 - Programmering i C++, grundkurs TDIU01 - Programmering i C++, grundkurs Sammanfattning period 1 Eric Elfving Institutionen för datavetenskap 1 oktober 2013 Översikt Ett C++-programs uppbyggnad Variabler Datatyper Satser Uttryck Funktioner

Läs mer

Programmera i C Varför programmera i C när det finns språk som Simula och Pascal??

Programmera i C Varför programmera i C när det finns språk som Simula och Pascal?? Programmera i C Varför programmera i C när det finns språk som Simula och Pascal?? C är ett språk på relativt låg nivå vilket gör det möjligt att konstruera effektiva kompilatorer, samt att komma nära

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

Tilpro Övning 1. Per-Anders Staav (föredrar att kallas Pa) Kan nås via epost: (fast de flesta frågor besvaras nog bäst av Alexander)

Tilpro Övning 1. Per-Anders Staav (föredrar att kallas Pa) Kan nås via epost: (fast de flesta frågor besvaras nog bäst av Alexander) Tilpro Övning 1 Per-Anders Staav (föredrar att kallas Pa) Kan nås via epost: pasta@kth.se (fast de flesta frågor besvaras nog bäst av Alexander) På programmet idag: Unix (Solaris) Grunderna i Python programmering

Läs mer

Grundläggande Datalogi

Grundläggande Datalogi 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

Läs mer

Objektorienterad Programmering (TDDC77)

Objektorienterad Programmering (TDDC77) Objektorienterad Programmering (TDDC77) Föreläsning II: utmatning, variabler, typer Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2017 Outline Java Språket Utmatning av Sträng litteraler Variabler

Läs mer

Python. Vi har ofta behov av att behandla datastrukturer på ett enhetligt sätt så att vi kan göra samma sak i flera olika program.

Python. Vi har ofta behov av att behandla datastrukturer på ett enhetligt sätt så att vi kan göra samma sak i flera olika program. Moduler Vi har ofta behov av att behandla datastrukturer på ett enhetligt sätt så att vi kan göra samma sak i flera olika program. Vi har också ofta behov av att skapa överblick i våra program. Som ett

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

729G04 Programmering och diskret matematik. Python 2: Villkorssatser, sanningsvärden och logiska operatorer

729G04 Programmering och diskret matematik. Python 2: Villkorssatser, sanningsvärden och logiska operatorer 729G04 Programmering och diskret matematik Python 2: Villkorssatser, sanningsvärden och logiska operatorer Föreläsningsöversikt Vad händer när vi kör vår pythonkod? Programmerare Villkorssatser Jämförelser

Läs mer

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

Läsöversikt. Föreläsningar 2-6. Genomförande av laborationer Läsöversikt LP Part I Part IV, kap 18 PL: kap 1, 2 (Sem 1), 3 (Sem 3), 5.1-5.3, 5.8 intro, 6.1-6.3, 7.1-7.3, 8.1-8.3, 9.1-9.2 Wikipedia kan användas som stöd för PL-avsnitten. Föreläsningar 2-6 Genomförande

Läs mer

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

729G04 Programmering och diskret matematik. Föreläsning 7 729G04 Programmering och diskret matematik Föreläsning 7 Föreläsningsöversikt Information Interaktion via text Läsa från fil Skriva till fil Spara och läsa abstrakta datatyper från fil Information Felaktigt

Läs mer

F4. programmeringsteknik och Matlab

F4. programmeringsteknik och Matlab Programmeringsspråk Föreläsning 4 programmeringsteknik och Matlab 2D1312/ 2D1305 Introduktion till Java Kompilering, exekvering, variabler, styrstrukturer 1 Ett program är en eller flera instruktioner

Läs mer

(Man brukar säga att) Java är... Denna föreläsning. Kompilering av Java. Historik: Java. enkelt. baserat på C/C++ Allmänt om Java

(Man brukar säga att) Java är... Denna föreläsning. Kompilering av Java. Historik: Java. enkelt. baserat på C/C++ Allmänt om Java (Man brukar säga att) Java är... Denna föreläsning Allmänt om Java Javas datatyper, arrayer, referenssemantik Klasser Strängar enkelt baserat på C/C++ objekt-orienterat från början dynamiskt utbyggbart

Läs mer

Variabler och konstanter

Variabler och konstanter Variabler och konstanter Deklareras automatisk när man stoppar in data i dem. X = 7 Y = A Z = Kalle Definieras av att de har: ett namn (X) en datatyp (Integer) ett värde (t.ex. 7) Lagras i datorns minne!

Läs mer

Uppgifter teknik HT17 (uppdaterad v. 40)

Uppgifter teknik HT17 (uppdaterad v. 40) Uppgifter teknik HT17 (uppdaterad v. 40) Uppgifterna bedöms inte, de är bara till för att öva. Samarbeta gärna med andra! Du behöver inte skriva ner svaren, men se till att du förstår lösningarna! 1. Det

Läs mer

Inledande programmering med C# (1DV402) 27+15=42 1 (22)

Inledande programmering med C# (1DV402) 27+15=42 1 (22) 27+15=42 1 (22) Variabler Upphovsrätt för detta verk Detta verk är framtaget i anslutning till kursen Inledande programmering med C# vid Linnéuniversitetet. Du får använda detta verk så här: Allt innehåll

Läs mer

Laboration: Whitebox- och blackboxtesting

Laboration: Whitebox- och blackboxtesting Tilda11 höstterminen 2011 Laboration: Whitebox- och blackboxtesting Mål med laborationen Du ska lära dig begreppen white-box testing och black-box testing Du ska öva dig på att konstruera testfall Du ska

Läs mer

DD1361 Programmeringsparadigm. Carina Edlund

DD1361 Programmeringsparadigm. Carina Edlund DD1361 Programmeringsparadigm Carina Edlund carina@nada.kth.se Funktionell programmering Grundidéen med funktionell programmering är att härma matematiken och dess funktionsbegrepp. Matematiskt funktionsbegrepp

Läs mer

729G04 Programmering och diskret matematik. Python 3: Loopar

729G04 Programmering och diskret matematik. Python 3: Loopar 729G04 Programmering och diskret matematik Python 3: Loopar Översikt Labbar Punktnotation och strängmetoder Loopar Labb 3 Labbar? Punktnotation Punktnotation Ni har stött på punktnotation tidigare - kapitel

Läs mer

Grundläggande databehandling ht 2005

Grundläggande databehandling ht 2005 Grundläggande databehandling ht 2005 Programmering Filip Salomonsson 1 Idag Program, programmering Pythonintro 2 Programspråk Lågnivåspråk (maskinspråk); instruktioner på datorns

Läs mer

Ordlistor, filhantering och ut på webben. Linda Mannila 20.11.2007

Ordlistor, filhantering och ut på webben. Linda Mannila 20.11.2007 Ordlistor, filhantering och ut på webben Linda Mannila 20.11.2007 Vad kan vi nu? Primitiva datatyper Tal, strängar, booleska värden Samlingsdatatyp Listan Utskrift Indata Felhantering Funktioner och moduler

Läs mer

C++ Funktioner 1. int summa( int a, int b) //funktionshuvud { return a+b; //funktionskropp } Värmdö Gymnasium Programmering B ++ Datainstitutionen

C++ Funktioner 1. int summa( int a, int b) //funktionshuvud { return a+b; //funktionskropp } Värmdö Gymnasium Programmering B ++ Datainstitutionen C++ Funktioner 1 Teori När programmen blir större och mer komplicerade är det bra att kunna dela upp programmet i olika delar som gör specifika saker, vilket kan göra programmet mer lättläst. Ett sätt

Läs mer

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

Hur man programmerar. TDDC66 Datorsystem och programmering Föreläsning 3. Peter Dalenius Institutionen för datavetenskap Hur man programmerar TDDC66 Datorsystem och programmering Föreläsning 3 Peter Dalenius Institutionen för datavetenskap 2014-09-05 Översikt Problemlösning: Hur ska man tänka? Datatyper Listor (forsätter

Läs mer

TDP002 - Imperativ programmering

TDP002 - Imperativ programmering . TDP002 - Imperativ programmering Introduktion till kursen och Python Eric Elfving Institutionen för datavetenskap 14 augusti 2015 Översikt 2/29 Programmering - en översikt Python - Köra och skriva program

Läs mer

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

Föreläsningsanteckningar, Introduktion till datavetenskap HT S4 Datastrukturer. Tobias Wrigstad 1 Datatyper Tobias Wrigstad Det finns flera olika typer av (slags) data Olika datatyper har olika egenskaper. T.ex. är ett personnummer inte ett tal. (Den sista siffran skall stämma enligt den s.k. Luhnalgoritmen

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

TDP002 - Imperativ programmering

TDP002 - Imperativ programmering . TDP002 - Imperativ programmering Strängar och IO Eric Elfving Institutionen för datavetenskap 26 augusti 2015 Översikt 2/18 Inläsning och utskrift Typkonvertering och strängformatering Teckenkodning

Läs mer

Program. Kapitel make Program Interpreterande och kompilerande program

Program. Kapitel make Program Interpreterande och kompilerande program Kapitel 11 Program Detta kapitel är som synes mycket kort och nämner inte allt från föreläsningen. 11.1 Program Ett datorprogram är en samling instruktioner som beskriver något som en dator ska utföra.

Läs mer

ITK:P1 Föreläsning 1. Programmering. Programmeringsspråket Java. Stark typning Explicit typning Strukturerat Hög säkerhet

ITK:P1 Föreläsning 1. Programmering. Programmeringsspråket Java. Stark typning Explicit typning Strukturerat Hög säkerhet ITK:P1 Föreläsning 1 Att programmera i språket Java DSV Peter Mozelius Programmering Olika typer av programmering som t ex: o Imperativ programmering (C, Pascal m fl) o Funktionell programmering (Lisp,

Läs mer

Sätt att skriva ut binärträd

Sätt att skriva ut binärträd Tilpro Övning 3 På programmet idag: Genomgång av Hemtalet samt rättning Begreppet Stabil sortering Hur man kodar olika sorteringsvilkor Inkapsling av data Länkade listor Användning av stackar och köer

Läs mer

TDDC77 Objektorienterad Programmering

TDDC77 Objektorienterad Programmering TDDC77 Objektorienterad Programmering Föreläsning 2 Sahand Sadjadee IDA, Linköpings Universitet Hösttermin, 2018 Outline Emacs Introduktion till Objektorienterad Programmering Introduktion till Java Variabler

Läs mer

TDP002 - Imperativ programmering

TDP002 - Imperativ programmering TDP002 - Imperativ programmering Strängar och IO Eric Elfving Institutionen för datavetenskap 1 I/O - Inläsning och Utskrift Inläsning Typomvandling Utskrift Strängformatering 2 Teckenkodning 3 Externa

Läs mer

Planering Programmering grundkurs HI1024 HT 2014

Planering Programmering grundkurs HI1024 HT 2014 Planering Programmering grundkurs HI1024 HT 2014 Föreläsning V36 Föreläsning 1 Vad är programmering? Boken! Kurs-PM Vad är ett program? Kompilerande- Interpreterande Programmeringsmiljö Hello World! Att

Läs mer

Inledande programmering med C# (1DV402) Summera med while"-satsen

Inledande programmering med C# (1DV402) Summera med while-satsen Summera med while"-satsen Upphovsrätt för detta verk Inledande programmering med C# (1DV402) Detta verk är framtaget i anslutning till kursen Inledande programmering med C# vid Linnéuniversitetet. Du får

Läs mer

Hej Då, Karel! Programmering. Vårt första Javaprogram. hh.se/db2004. Java. Grundtyper, variabler och arrayer

Hej Då, Karel! Programmering. Vårt första Javaprogram. hh.se/db2004. Java. Grundtyper, variabler och arrayer Programmering hh.se/db2004 Föreläsning 3: Java. Grundtyper, variabler och arrayer Hej Då, Karel! Verónica Gaspes www2.hh.se/staff/vero www2.hh.se/staff/vero/programmering Center for Research on Embedded

Läs mer

Introduktion till programmering SMD180. Föreläsning 8: Listor

Introduktion till programmering SMD180. Föreläsning 8: Listor Introduktion till programmering Föreläsning 8: Listor 1 1 Listor = generaliserade strängar Strängar = sekvenser av tecken Listor = sekvenser av vad som helst Exempel: [10, 20, 30, 40] # en lista av heltal

Läs mer

TDP002 Imperativ programmering

TDP002 Imperativ programmering TDP002 Imperativ programmering Introduktion till kursen och python Eric Elfving Institutionen för datavetenskap (IDA) Översikt Programmering En introduktion Python Köra och skriva program Python grunderna

Läs mer

Introduktion till programmering SMD180. Föreläsning 7: Strängar

Introduktion till programmering SMD180. Föreläsning 7: Strängar Introduktion till programmering Föreläsning 7: Strängar 1 1 En sammansatt datatyp En sträng är ett enhetligt värde, som kan lagras i variabler och fungera som operand eller funktionsargument en datastruktur

Läs mer

Tilpro Övning Per-Anders Staav (vikarierande) (föredrar att kallas Pa) Kan nås via epost:

Tilpro Övning Per-Anders Staav (vikarierande) (föredrar att kallas Pa) Kan nås via epost: Tilpro Övning 1 2006 Per-Anders Staav (vikarierande) (föredrar att kallas Pa) Kan nås via epost: pasta@kth.se På programmet idag: Unix (Solaris) Grunderna i Python programmering Allmänt om datorkonton

Läs mer

Datalogi, grundkurs 1

Datalogi, grundkurs 1 Datalogi, grundkurs 1 Fiktiv Tentamen Lösningsförslag och kommentarer 1. Lösningsförslaget nedan förutsätter ingenting om filens innehåll och är alltså mer generell än nödvändigt: alfa= ABCDEFGHIJKLMNOPQRSTUVWXYZÅÄÖ

Läs mer

SMD 134 Objektorienterad programmering

SMD 134 Objektorienterad programmering SMD 134 Objektorienterad programmering Dagens agenda: Typer i Java: primitiva datatyperna, referenstyper Variabler och variabeltilldelningar med primitiva typer Konstanter av de olika typerna. Heltalsräkning

Läs mer

Starta ett fönster... Hur håller tkinter reda på musklick? Olika sätt att organisera fönsterinnehåll. Och för att placera våra widgets

Starta ett fönster... Hur håller tkinter reda på musklick? Olika sätt att organisera fönsterinnehåll. Och för att placera våra widgets Grafik Python levereras med ett grafikpaket tkinter De flesta av dagens applikationsprogram hanterar grafik Grafikhantering är komplicerat så använd färdigutvecklade grafikpaket Mycket att hålla reda på

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

C++ - En introduktion

C++ - En introduktion C++ - En introduktion De imperativa grunderna för dig som kan programmera Eric Elfving Institutionen för datavetenskap 1 / 72 Översikt 1 Grunderna 2 Uttryck och satser 3 Funktioner 4 Poster 1 Grunderna

Läs mer

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

TDDD78, TDDE30, 729A Introduktion till Java -- för Pythonprogrammerare TDDD78, TDDE30, 729A85 jonas.kvarnstrom@liu.se 2018 Introduktion till Java -- för Pythonprogrammerare Historia: C, C++ 3 Historia: Oak 1 4 1990: Sun Microsystems påbörjade projekt StarSeven Avancerad

Läs mer

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

TDDD78, TDDE30, 729A Introduktion till Java -- för Pythonprogrammerare TDDD78, TDDE30, 729A85 jonas.kvarnstrom@liu.se 2019 Introduktion till Java -- för Pythonprogrammerare Historia: C, C++ 3 Historia: Oak 1 4 1990: Sun Microsystems påbörjade projekt StarSeven Avancerad

Läs mer

Några saker till och lite om snabbare sortering

Några saker till och lite om snabbare sortering Några saker till och lite om snabbare sortering Generellt om avbrott Generera avbrott Snabb sortering principer Snabb sortering i Scheme och Python QuickSort (dela städat slå ihop) Mergesort (dela slå

Läs mer

Klassdeklaration. Metoddeklaration. Parameteröverföring

Klassdeklaration. Metoddeklaration. Parameteröverföring Syntax: Class Declaration Modifier Class Body Basic Class Member Klassdeklaration class Class Member Field Declaration Constructor Declaration Method Declaration Identifier Class Associations Motsvarar

Läs mer

Föreläsning 5&6 LOGISKA VARIABLER; IMPLEMENTERA KLASSER; MER ALGORITMER

Föreläsning 5&6 LOGISKA VARIABLER; IMPLEMENTERA KLASSER; MER ALGORITMER Föreläsning 5&6 LOGISKA VARIABLER; IMPLEMENTERA KLASSER; MER ALGORITMER Logiska uttryck datatypen boolean Logiska uttryck kan ha två möjliga värden, true eller false. Variabler av typen boolean kan tilldelas

Läs mer

Datalogi för E Övning 3

Datalogi för E Övning 3 Datalogi för E Övning 3 Mikael Huss hussm@nada.kth.se AlbaNova, Roslagstullsbacken 35 08-790 62 26 Kurshemsida: http://www.csc.kth.se/utbildning/kth/kurser/2d1343/datae06 Dagens program Att skapa egna

Läs mer

Övningar i 2D2050. Per-Anders Staav (kallas Pa) Epost: eller

Övningar i 2D2050. Per-Anders Staav (kallas Pa) Epost: eller Övningar i 2D2050 Per-Anders Staav (kallas Pa) Epost: pasta@kth.se eller pastaav@algonet.se Läser till civilingengör på Elektro 180 p inriktning mot programmering. Har jobbat extra som lärare på Nada sedan

Läs mer

Imperativ och Funktionell Programmering i Python #TDDD73. Fredrik Heintz,

Imperativ och Funktionell Programmering i Python #TDDD73. Fredrik Heintz, Imperativ och Funktionell Programmering i Python #TDDD73 Fredrik Heintz, IDA fredrik.heintz@liu.se @FredrikHeintz Översikt Repetition: Satser och uttryck Variabler, datatyper, synlighet och skuggning Upprepning,

Läs mer

TDP002 - Imperativ programmering

TDP002 - Imperativ programmering TDP002 - Imperativ programmering Underprogram Pontus Haglund Institutionen för datavetenskap Anpassatt från material ursprungligen av: Eric Elfving 1 Underprogram Parametrar Returvärden Räckvidd och skuggning

Läs mer

EDAA20 Programmering och databaser. Mål komprimerat se kursplanen för detaljer. Checklista. Föreläsning 1-2 Innehåll. Programmering.

EDAA20 Programmering och databaser. Mål komprimerat se kursplanen för detaljer. Checklista. Föreläsning 1-2 Innehåll. Programmering. EDAA20 Programmering och databaser Mål komprimerat se kursplanen för detaljer Läsperiod 1 7.5 hp anna.aelsson@cs.lth.se http://cs.lth.se/edaa20 Mer information finns på kursens webbsida samt på det utdelade

Läs mer

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

Fly me to the moon. Laboration om relationer, TDDC75 Diskreta strukturer. Mikael Asplund. 5 september 2017 Fly me to the moon Laboration om relationer, TDDC75 Diskreta strukturer Mikael Asplund 5 september 2017 1 Inledning Denna laboration i diskret matematik a r ta nkt att ge en inblick i hur programmering

Läs mer

Objektorienterad programmering Föreläsning 4

Objektorienterad programmering Föreläsning 4 Objektorienterad programmering Föreläsning 4 Copyright Mahmud Al Hakim mahmud@dynamicos.se www.webbacademy.se Agenda Introduktion till objektorientering Klasser och Objekt Instansvariabler Metoder Introduktion

Läs mer

Imperativ programmering. Föreläsning 2

Imperativ programmering. Föreläsning 2 Imperativ programmering 1DL126 3p Föreläsning 2 Imperativ programmering Kännetecken för imperativa språk: Programmet består av en serie instruktioner. Olika språk har olika uppsättningar av instruktioner.

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

Introduktion till programmering D0009E. Föreläsning 1: Programmets väg

Introduktion till programmering D0009E. Föreläsning 1: Programmets väg Introduktion till programmering D0009E Föreläsning 1: Programmets väg 1 Vad är en dator? En maskin vars beteende styrs av de innehållet (bitmönster) som finns lagrade i datorns minne (inte helt olikt förra

Läs mer

Föreläsning 1 & 2 INTRODUKTION

Föreläsning 1 & 2 INTRODUKTION Föreläsning 1 & 2 INTRODUKTION Denna föreläsning Vad händer under kursen? praktisk information Kursens mål vad är programmering? Skriva små program i programspråket Java Skriva program som använder färdiga

Läs mer

DIAGNOSTISKT PROV. Tid. Hjälpmedel. Antaganden. Rättning. Övrigt. Diagnostiskt Prov. Klockan Inga

DIAGNOSTISKT PROV. Tid. Hjälpmedel. Antaganden. Rättning. Övrigt. Diagnostiskt Prov. Klockan Inga 203-03-9 203-03-9 DIAGNOSTISKT PROV Tid Klockan 09.00-2.00 Hjälpmedel Inga Antaganden Om förutsättningar saknas I en uppgift skall rimliga antaganden göras och nedtecknas. Rättning Tentamen omfattar 6

Läs mer

Idag: Centrerad utskrift. Granskning. DD1311 Programmeringsteknik med PBL. Granskning Felhantering GUI. Föreläsning 15.

Idag: Centrerad utskrift. Granskning. DD1311 Programmeringsteknik med PBL. Granskning Felhantering GUI. Föreläsning 15. Skolan för Datavetenskap och kommunikation Idag: DD1311 Programmeringsteknik med PBL Granskning Felhantering GUI Föreläsning 15 På torsdag: Mer om GUI På grupptimmen: genomgång av granskningsprotokollet

Läs mer

TDDE44 Programmering, grundkurs

TDDE44 Programmering, grundkurs TDDE44 Programmering, grundkurs Föreläsning 5 Jody Foo, jody.foo@liu.se Föreläsning 5 & 6 Laboration 3: En egen pokedex data från webben Ny datatyp: dictionary Mer om dataabstraktion Nästlade datastrukturer

Läs mer

Repetition i Pascal. Exemplen fac. Exemplen fac i Pascal. Exemplen fac motivering. Orginalet

Repetition i Pascal. Exemplen fac. Exemplen fac i Pascal. Exemplen fac motivering. Orginalet Repetition Introduktion Repetition i 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

Läs mer

En kort text om programmering i C.

En kort text om programmering i C. En kort text om programmering i C C skapades 1972 av Brian Ritchie och Dennis Kerighan på Bell Labs i USA Det blev det språk som är mest använt genom tiderna Det finns många olika språk Pascal, FORTH,

Läs mer

Planering 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 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 mer

729G74 IT och programmering, grundkurs. Tema 2, Föreläsning 2 Jody Foo,

729G74 IT och programmering, grundkurs. Tema 2, Föreläsning 2 Jody Foo, 729G74 IT och programmering, grundkurs Tema 2, Föreläsning 2 Jody Foo, jody.foo@liu.se Föreläsningsöversikt Kursinfo: återkoppling Muddy Cards och kompletteringar Diskret matematik Python: Programmering

Läs mer