Mer grafik. Jan Erik Moström

Storlek: px
Starta visningen från sidan:

Download "Mer grafik. Jan Erik Moström"

Transkript

1 Mer grafik

2 from Tkinter import * root = Tk() mf = Frame(root) mf.pack() cv = Canvas(mf) o1 = cv.create_oval(100,100,80,80,outline="red",fill="blue", width=2) o2 = cv.create_oval(10,10,80,80,outline="red",fill="green", width=2) o3 = cv.create_oval(60,70,80,80,fill="yellow", width=1) p1 = cv.create_polygon(5,5,50,100,50,200,100,50,fill="",outline="black") l1 = cv.create_line(100,100,80,120,150,200) txt = cv.create_text(150,100,text="hello world",justify="left") cv.pack() root.mainloop()

3

4 Objektorienterad programmering, Department of Computing Science, Umeå University - jem@cs.umu.se

5 Vilket problem löser man? Data abstraktion Namn Adress Adress Namn membernames = ['Kalle Anka','Knatte Anka','Tjatte Anka','Fnatte Anka'] membernames.sort() print membernames ['Fnatte Anka', 'Kalle Anka', 'Knatte Anka', 'Tjatte Anka']

6 Enheter Namn Adress Namn Adress Namn Adress Namn Adress Namn Adress Namn Adress Namn Adress Namn Adress

7 Enheter

8 Enheter

9 Enheter

10 Begrepp Objektorienterad programmering Klasser Objekt

11 Python class Member: pass x = Member() x.name = 'Kalle Anka' x. = 'kalle@ankeborg.se' y = Member() y.name = 'Tjatte Anka' y. = 'tjatte@ankeborg.se' print x.name print x. print y.name print y. # Kalle Anka # kalle@ankeborg.se # Tjatte Anka # tjatte@ankeborg.se

12 Abstraktion class Member: def setname( self, newname ): self.name = newname def getname( self ): return self.name def set( self, new ): self. = new def get( self ): return self. x = Member() x.setname('kalle Anka') x.set('kalle@ankeborg.se') print x print x.getname() print x.get() print x.name print x.

13 class Member: def setname( self, newname ): self._name = newname def name( self ): return self._name def set( self, new ): self._ = new def ( self ): return self._ x = Member() x.setname('kalle Anka') x.set('kalle@ankeborg.se') print x print x.name() print x. () print x._name print x._ y = Member() print y.name() Traceback (most recent call last): File "x.py", line 70, in <module> print y.name() File "x.py", line 51, in name return self._name AttributeError: Member instance has no attribute '_name'

14 class Member: def init (self): self._name = '' self._ = '' ordf = Member() ordf.setname("kalle Anka") print ordf.name() def setname( self, newname ): self._name = newname def name( self ): return self._name def set( self, new ): self._ = new def ( self ): return self._

15 class Member: def init (self, name, ): self._name = name self._ = def setname( self, newname ): self._name = newname def name( self ): return self._name def set( self, new ): self._ = new def ( self ): return self._ ordf = Member("Kalle Anka",'kalle@ankeborg.se') print ordf.name() # Kalle Anka print ordf. () # kalle@ankeborg.se

16 class Name: def init (self, first, last): self._first = first self._last = last def first(self): return self._first def last(self): return self._last def setfirst(self, first): self._first = first def setlast(self, last): self._last = last def firstlast( self ): return self._first + ' ' + self._last def lastfirst( self ): return self._last + ', ' + self._first

17 class Member: def init (self, name, ): self.setname(name) self._ = def setname( self, newname ): [first,last] = newname.split() self._name = Name(first,last) def name( self ): return self._name.lastfirst() def set( self, new ): self._ = new def ( self ): return self._ x = Member("Kalle Anka",'kalle@ankeborg.se') print x.name() # Anka, Kalle

18 x = Member("Kalle Anka",'kalle@ankeborg.se') print x.name() # Anka, Kalle memberlist = [Member("Kalle Anka",'kalle@ankeborg.se')] memberlist.append( Member('Knatte Anka','knatte@ankeborg.se') ) memberlist.append( Member('Tjatte Anka','tjatte@ankeborg.se') ) memberlist.append( Member('Fnatte Anka','fnatte@ankeborg.se') ) print memberlist [< main.member instance at 0x100492e18>, < main.member instance at 0x100492ea8>, < main.member instance at 0x100492f38>, < main.member instance at 0x100492fc8>] for member in memberlist: print member.name() Anka, Kalle Anka, Knatte Anka, Tjatte Anka, Fnatte memberlist.sort() for member in memberlist: print member.name() Anka, Kalle Anka, Knatte Anka, Tjatte Anka, Fnatte

19 class Name:... def compare( self, other ): if self._last < other._last: return -1 elif self._last > other._last: return 1 else: if self._first < other._first: return -1 elif self._first == other._first: return 0 else: return 1 class Member: def compare( self, other ): return self._name.compare(other._name) def comparemembers( one, two ): return one.compare(two) memberlist = [Member("Kalle Anka",'kalle@ankeborg.se')] memberlist.append( Member('Knatte Anka','knatte@ankeborg.se') ) memberlist.append( Member('Tjatte Anka','tjatte@ankeborg.se') ) memberlist.append( Member('Fnatte Anka','fnatte@ankeborg.se') ) memberlist.sort(comparemembers) for member in memberlist: print member.name()

Föreläsning 8 Programmeringsteknik och Matlab DD1312. Klassmetod. Egen modul

Föreläsning 8 Programmeringsteknik och Matlab DD1312. Klassmetod. Egen modul Föreläsning 8 Programmeringsteknik och Matlab DD1312 er, Self Metoderna:, av metoder, Det är en metod som tillhör klassen och inte objektet. class Skylt(object): antal=0 def init (,r):.reklam=r def antal():

Läs mer

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

Kodexempel från Programmering 2 Tobias Wrigstad, Ph.D. Kodexempel från Programmering 2 Tobias Wrigstad, Ph.D. tobias@dsv.su.se Notera att exemplen är i Python 2.5 För att översätta till Python 3.0, gör följande ändringar print(x,y) istället för print x,y input("ett

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

Databaser. Jan Erik Moström, Department of Computing Science, Umeå University - jem@cs.umu.se

Databaser. Jan Erik Moström, Department of Computing Science, Umeå University - jem@cs.umu.se Databaser, Department of Computing Science, Umeå University - jem@cs.umu.se Databaser Finns några olika typer Relationsdatabaser är vanligast Vi kommer bara att prata om relationsdatabaser Strukturerad

Läs mer

Hos vad? och bör därför vara instanseller klassvariabel i vilken klass?

Hos vad? och bör därför vara instanseller klassvariabel i vilken klass? Övningstillfälle 5 Lite kort repetition om klasser och objekt class EnKlass(KlassAttÄrvaFrån): klassvariabel = 5 def init (self) KlassAttÄrvaFrån. init (self) self.instansvariabel = 10 s = 'klassvariabel=

Läs mer

Skolan för Datavetenskap och kommunikation PROGRAMMERINGSTEKNIK FÖRELÄSNING 15

Skolan för Datavetenskap och kommunikation PROGRAMMERINGSTEKNIK FÖRELÄSNING 15 Skolan för Datavetenskap och kommunikation PROGRAMMERINGSTEKNIK FÖRELÄSNING 15 Grafiska gränssnitt - GUI Tkinter Tillstånd Komponenter Layout Händelser LÄNKAR & EXEMPEL...finns på kurswebsidan under "GUI

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

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

Föreläsning 13 och 14: Binära träd

Föreläsning 13 och 14: Binära träd Föreläsning 13 och 14: Binära träd o Binärträd och allmänna träd o Rekursiva tankar för binärträd o Binära sökträd Binärträd och allmänna träd Stack och kö är två viktiga datastrukturer man kan bygga av

Läs mer

Grundläggande datalogi - Övning 3

Grundläggande datalogi - Övning 3 Grundläggande datalogi - Övning 3 Björn Terelius November 14, 2008 Utskrift av stackar Tornen i Hanoi Principerna för rekursion: Hitta ett enkelt basfall (som har en känd lösning). Reducera varje annat

Läs mer

Programmering grundkurs

Programmering grundkurs Programmering grundkurs Föreläsning 11 Jody Foo, jody.foo@liu.se Föreläsningsöversikt Laboration 6 Abstraktion och OOP Klassdiagram med UML (Unified Modelling Language) Egna klasser som innehåller andra

Läs mer

Övning 6. Ali Tofigh 24 Oktober, 2006

Övning 6. Ali Tofigh 24 Oktober, 2006 Övning 6 Ali Tofigh 24 Oktober, 2006 1 Sortering Att sortera behöver man göra väldigt ofta i programmering. Python tillhandahåller bland annat en metod i listor för detta ändamål. Det enda metoden behöver

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

Skolan för Datavetenskap och kommunikation. Programmeringsteknik. Föreläsning 16

Skolan för Datavetenskap och kommunikation. Programmeringsteknik. Föreläsning 16 Skolan för Datavetenskap och kommunikation Programmeringsteknik Föreläsning 16 Grafiskt användargränssnitt (GUI) Använd modulen tkinter, som har klasser för komponenter. Se "Referenser" på kursens webbsida:

Läs mer

Python. Datatyper. Mer om datatyper. Heltal - 3 Flyttal - 2,456 Listor - [1,2,3,4] Strängar - spam!

Python. Datatyper. Mer om datatyper. Heltal - 3 Flyttal - 2,456 Listor - [1,2,3,4] Strängar - spam! Python Mer om datatyper Heltal - 3 Flyttal - 2,456 Listor - [1,2,3,4] Strängar - spam! Datatyper Dictionaries - {1: camelot,2: shrubbery } Tupler - (1,2,3,) 1 Lite om strängar Strängar innehåller specialtecken

Läs mer

TDP002 Imperativ programmering. Laborationsmaterial emacs python-mode

TDP002 Imperativ programmering. Laborationsmaterial emacs python-mode TDP002 Imperativ programmering Laborationsmaterial emacs python-mode Höstterminen 2008 Innehållsförteckning Introduktion...3 Redovisning av laborationer...3 Laboration 1 emacs python-mode...4 Uppgift 1

Läs mer

EnKlass. Instans 3 av EnKlass. Instans 2 av EnKlass

EnKlass. Instans 3 av EnKlass. Instans 2 av EnKlass Övningstillfälle 4 Klasser och objekt (s. 221 ff.) Syfte 1: En naturlig fortsättning på koncepten abstraktion och inkapsling! Funktion (återanvändning av skyddad, säker och testad kod) Modul (återanvändning

Läs mer

Skolan för Datavetenskap och kommunikation PROGRAMMERINGSTEKNIK FÖRELÄSNING 18

Skolan för Datavetenskap och kommunikation PROGRAMMERINGSTEKNIK FÖRELÄSNING 18 Skolan för Datavetenskap och kommunikation PROGRAMMERINGSTEKNIK FÖRELÄSNING 18 Dagens föreläsning Betygskriterier P-redovisning Komplettering Vad händer om man inte hinner klart? Plussa för betyg E ska

Läs mer

Länkade listor, stackar och köer

Länkade listor, stackar och köer Länkade listor, stackar och köer I fortsättningen ska vi ta upp några olika abstrakta datatyper. De kan ses som enkla verktyg i en verktygslåda som ska göra det lättare att programmera. Några av dessa

Läs mer

Lektion 1 - Programmeringsteknik F1, ht 2003

Lektion 1 - Programmeringsteknik F1, ht 2003 Lektion 1 - Programmeringsteknik F1, ht 2003 Daniel Deogun danield@it.uu.se 8 september 2003 Innehåll 1 När är ICA öppet? 3 1.1 Problem................................ 3 1.2 Lösning................................

Läs mer

Mer till P-uppgiften: Dokumentation. Nyheter. Algoritm för sökning. Mer hjälp. DD1311 Programmeringsteknik med PBL

Mer till P-uppgiften: Dokumentation. Nyheter. Algoritm för sökning. Mer hjälp. DD1311 Programmeringsteknik med PBL Skolan för Datavetenskap och kommunikation Mer till P-uppgiften: DD1311 Programmeringsteknik med PBL Föreläsning 15 & 16 Hjälpsidor Sökning Rekursion Felhantering Grafiska gränssnitt Nästa tisdag: Mer

Läs mer

Strängar. TDDD64 Programmering i Python Föreläsning 4. Peter Dalenius Institutionen för datavetenskap

Strängar. TDDD64 Programmering i Python Föreläsning 4. Peter Dalenius Institutionen för datavetenskap Strängar TDDD64 Programmering i Python Föreläsning 4 Peter Dalenius Institutionen för datavetenskap 2014-09-12 Översikt Grundläggande operationer på strängar Exempel på funktioner som arbetar med strängar

Läs mer

Grundläggande datalogi - Övning 2

Grundläggande datalogi - Övning 2 Grundläggande datalogi - Övning 2 Björn Terelius November 7, 2008 Klasser skapas med nyckelordet class Klasser Konstruktorer och destruktorer Undantagshantering class MyClass: Docstring and doctests for

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

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

Lite skoj - typ. 5DV085 - Programspråk. Jan Erik Moström, Department of Computing Science, Umeå University - jem@cs.umu.se

Lite skoj - typ. 5DV085 - Programspråk. Jan Erik Moström, Department of Computing Science, Umeå University - jem@cs.umu.se Lite skoj - typ 5DV085 - Programspråk, Department of Computing Science, Umeå University - jem@cs.umu.se Kommentarer och frågor på sem 1? Byte av tid Den 26:e - skulle vi kunna flytta den lektionen? Förmiddagen?

Läs mer

Outline. Objektorienterad Programmering (TDDC77) En frukt har ett namn. Man kan lägga en frukt i en korg... Hashing. Undantag. Ahmed Rezine.

Outline. Objektorienterad Programmering (TDDC77) En frukt har ett namn. Man kan lägga en frukt i en korg... Hashing. Undantag. Ahmed Rezine. Outline Objektorienterad Programmering (TDDC77) Föreläsning XIV: Undantag, Design Ahmed Rezine IDA, Linköpings Universitet Undantag Design Hösttermin 2017 En frukt har ett namn Man kan lägga en frukt i

Läs mer

Objektorienterad Programmering (TDDC77)

Objektorienterad Programmering (TDDC77) Objektorienterad Programmering (TDDC77) Föreläsning XIV: Undantag, Design Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2017 Outline Hashing Undantag Design Outline Hashing Undantag Design En frukt

Läs mer

Skillnader mellan Python och Java

Skillnader mellan Python och Java Java Utvecklat på SUN Microsystems mitten 1990-talet Ursprungligen för Webprogram Nu mycket spritt Massor med läroböcker Vi använder Lewis&Loftus http://javasuncom/javase/6/docs/api/ Skillnader mellan

Läs mer

Omprov 11/11. på förmiddagen.

Omprov 11/11. på förmiddagen. Omprov 11/11 på förmiddagen Vad kommer sedan? Översättning Du har ätit upp Vill du ha godis nu? Nej, tack Jag är mätt Nej, tack Jag är full Översättning Du har ätit upp Vill du ha godis nu? Nej, tack Jag

Läs mer

Föreläsning 5 Mer om funktioner, villkor

Föreläsning 5 Mer om funktioner, villkor Föreläsning 5 Mer om funktioner, villkor Grundkurs i programmering Jan Lönnberg Institutionen för datateknik -universitetets högskola för teknikvetenskaper 15.9.2011 Varför? Det finns sammanhang där ett

Läs mer

729G75: Programmering och algoritmiskt tänkande. Tema 1, föreläsning 1 Jody Foo

729G75: Programmering och algoritmiskt tänkande. Tema 1, föreläsning 1 Jody Foo 729G75: Programmering och algoritmiskt tänkande Tema 1, föreläsning 1 Jody Foo Föreläsningsöversikt Kursinfo / Om kursen Algoritmer Objektorienterad programmering i praktiken terminologi använda objekt

Läs mer

Övning 1 - Abstrakta datatyper

Övning 1 - Abstrakta datatyper /home/lindahlm/activity-phd/teaching/12dd1320/exercise1/exercise1.py September 3, 20121 0 # coding : latin Övning 1 - Abstrakta datatyper 18 Summering Vi gick igenom betydelsen av abstrakta datatyper/datastrukturer.

Läs mer

Programmering grundkurs

Programmering grundkurs Programmering grundkurs Föreläsning 8 Jody Foo, jody.foo@liu.se Föreläsningsöversikt, FÖ 8-9 Kurslogistik: nya pargrupper Programmeringsparadigm: Objektorienterad programmering (OOP) Klass, instans, instansvariabler,

Läs mer

729G75: Programmering och algoritmiskt tänkande. Tema 3, föreläsning 2

729G75: Programmering och algoritmiskt tänkande. Tema 3, föreläsning 2 729G75: Programmering och algoritmiskt tänkande Tema 3, föreläsning 2 Översikt Vanliga mönster när man designar en klass Klass-diagram Exempel Arv i Python Egna klasser använd som egna datatyper, men även

Läs mer

Objektorienterad Programmering (OOP) Murach s: kap 12-16

Objektorienterad Programmering (OOP) Murach s: kap 12-16 Objektorienterad Programmering (OOP) Murach s: kap 12-16 2013-01-28 1 Winstrand Development Objektorienterad Programmering Förkortas OOP Objektorientering innebär att man delar in koden i olika block,

Läs mer

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å

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å Binära träd 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å gånger, talar man om binära träd. Sådana

Läs mer

Introduktion till programmering SMD180. Föreläsning 3: Funktioner

Introduktion till programmering SMD180. Föreläsning 3: Funktioner Introduktion till programmering Föreläsning 3: Funktioner 1 1 Mer matematik Vi har sett matematiska uttryck med variabler, värden och operatorer, ex: 17+n pi/2 hours*60+minutes Kan man även skriva uttryck

Läs mer

Övning 1. Abstrakta datatyper. 1. Stacken. class Stack: """A representation of a last-in-first-out (LIFO) stack of objects."""

Övning 1. Abstrakta datatyper. 1. Stacken. class Stack: A representation of a last-in-first-out (LIFO) stack of objects. Per Sedholm DD1320 (tilda11) 2011-09-02 Övning 1 Abstrakta datatyper 1. Stacken -*- coding: utf-8 -*- """Classroom exercise 1, example 1.""" class Stack: """A representation of a last-in-first-out (LIFO)

Läs mer

729G06 Programmering och logik. Info om pythondelen & introduktion till objektorienterad programmering.

729G06 Programmering och logik. Info om pythondelen & introduktion till objektorienterad programmering. 729G06 Programmering och logik Info om pythondelen & introduktion till objektorienterad programmering. Översikt Kursinformation Vad är objektorienterad programmering Skapa och använda objekt Enstaka objekt

Läs mer

Arv. Objektorienterad och komponentbaserad programmering

Arv. Objektorienterad och komponentbaserad programmering Arv Objektorienterad och komponentbaserad programmering Arv Regel nr 1: Ett objektorienterat språk ska tillåta inkapsling av data Regel nr 2: Ett objektorienterat språk ska tillåta arv Regel nr 3: Ett

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

Påminnelse: en datatyp för bilder. Programmering. En datatyp för bilder. Spegelbild. hh.se/db2004

Påminnelse: en datatyp för bilder. Programmering. En datatyp för bilder. Spegelbild. hh.se/db2004 Programmering hh.se/db2004 Föreläsning 10: Objektorienterad programmering - datatyper Verónica Gaspes www2.hh.se/staff/vero www2.hh.se/staff/vero/programmering Påminnelse: en datatyp för bilder Vad är

Läs mer

729G75: Programmering och algoritmiskt tänkande. Tema 1. Föreläsning 1 Jody Foo

729G75: Programmering och algoritmiskt tänkande. Tema 1. Föreläsning 1 Jody Foo 729G75: Programmering och algoritmiskt tänkande Tema 1. Föreläsning 1 Jody Foo Föreläsningsöversikt Kursinfo / Om kursen Algoritmer Objektorienterad programmering i praktiken terminologi använda objekt

Läs mer

Sekvensdatatyper, ASCII och chiffer. Linda Mannila

Sekvensdatatyper, ASCII och chiffer. Linda Mannila Sekvensdatatyper, ASCII och chiffer Linda Mannila 1.11.2007 Vad kan vi nu? Primitiva datatyper Tal, strängar, booleska värden Samlingsdatatyp Listan Utskrift Indata Felhantering Intro till funktioner och

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

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

Föreläsning 5 Programmeringsteknik DD1310. Modulen doctest. Exempel. Doctest Dictionary Filhantering Föreläsning 5 Programmeringsteknik DD1310 Doctest Modulen doctest Man kan använda modulen doctest för att testa programmet på ett mer systematiskt sätt. Så här gör man: 1. Skriver programmets funktioner

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

Vad handlar kursen om? Algoritmer och datastrukturer. Vad handlar kursen om? Vad handlar kursen om?

Vad handlar kursen om? Algoritmer och datastrukturer. Vad handlar kursen om? Vad handlar kursen om? Algoritmer och datastrukturer Allmänt om kursen Kort javagrund repetition - Klasser, metoder, objekt och referensvariabler, - Hierarkiska klass strukturer - Arrayer och arrayer av objekt - Collection ramverket

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

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

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

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

OBJEKTORIENTERAD PROGRAMMERING för Z1 (TDA540) Ansvarig: Jan Skansholm, tel eller

OBJEKTORIENTERAD PROGRAMMERING för Z1 (TDA540) Ansvarig: Jan Skansholm, tel eller Institutionen för TENTAMEN Data- och informationsteknik 2010-01-11 JSk OBJEKTORIENTERAD PROGRAMMERING för Z1 (TDA540) OBS! Det kan finnas kurser med samma eller liknande namn på olika utbildningslinjer.

Läs mer

Föreläsning 9: Arv och UML

Föreläsning 9: Arv och UML TDA 545: Objektorienterad programmering Föreläsning 9: Arv och UML Magnus Myréen Chalmers, läsperiod 1, 2015-2016 Quiz Vad betyder static? Varför skriver man get-metoder? public int getpos() { return pos;

Läs mer

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

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

1 Uppgift 1. a) Skapar ett Company-objekt med hjälp av den överlagrade konstruktorn. Du kan själv välja värden på instansvariablerna.

1 Uppgift 1. a) Skapar ett Company-objekt med hjälp av den överlagrade konstruktorn. Du kan själv välja värden på instansvariablerna. 1 Uppgift 1 Klassen Company Banken FinanceTrust som tidigare bara haft privatpersoner som kunder vill nu bygga ut sitt datasystem så att även företag kan registreras som kunder. Skriv klassen Company som

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

Programmering för Språkteknologer II. Innehåll. Associativa datastrukturer. Associativa datastrukturer. Binär sökning.

Programmering för Språkteknologer II. Innehåll. Associativa datastrukturer. Associativa datastrukturer. Binär sökning. Programmering för Språkteknologer II Markus Saers markus.saers@lingfil.uu.se Rum -040 stp.lingfil.uu.se/~markuss/ht0/pst Innehåll Associativa datastrukturer Hashtabeller Sökträd Implementationsdetaljer

Läs mer

Programmering för språkteknologer II, HT2014. evelina.andersson@lingfil.uu.se Rum 9-2035 http://stp.ling.uu.se/~evelina/uv/uv14/pst2/

Programmering för språkteknologer II, HT2014. evelina.andersson@lingfil.uu.se Rum 9-2035 http://stp.ling.uu.se/~evelina/uv/uv14/pst2/ Programmering för språkteknologer II, HT2014 Avancerad programmering för språkteknologer, HT2014 evelina.andersson@lingfil.uu.se Rum 9-2035 http://stp.ling.uu.se/~evelina/uv/uv14/pst2/ Idag - Hashtabeller

Läs mer

Dugga Datastrukturer (DAT036)

Dugga Datastrukturer (DAT036) Dugga Datastrukturer (DAT036) Duggans datum: 2012-11-21. Författare: Nils Anders Danielsson. För att en uppgift ska räknas som löst så måste en i princip helt korrekt lösning lämnas in. Enstaka mindre

Läs mer

PYTHON SNABBREPETITION MEN FÖRST LITE ALLMÄNT OM PROGRAMMERING 729G04 PYTHON 2. Dagens Python

PYTHON SNABBREPETITION MEN FÖRST LITE ALLMÄNT OM PROGRAMMERING 729G04 PYTHON 2. Dagens Python Dagens Python 729G04 PYTHON 2 Mer om funktioner Villkorssatser JODY FOO Department of Computer and Information Science (IDA) Linköping University, Sweden Linköpings universitet 1 2 MEN FÖRST LITE ALLMÄNT

Läs mer

Föreläsning 12: Exempel och problemlösning

Föreläsning 12: Exempel och problemlösning TDA 545: Objektorienterad programmering Föreläsning 12: Exempel och problemlösning Magnus Myréen Chalmers, läsperiod 1, 2015-2016 Idag Problemlösning, dvs hur man ska tänka för att hitta lösning int mängd/set

Läs mer

Dagens föreläsningar

Dagens föreläsningar Dagens föreläsningar Iteratorer Utvecklingsmönster och PyUnit Grafik och grafiska användargränssnitt (GUI) Orientering andra dynamiska språk Liten presentation av Ruby Iteratorer Iteratorer En av de vanligaste

Läs mer

1. Klass med en dynamiskt allokerad variabel, definitionsfilen-del Klass med en dynamiskt allokerad variabel, inkluderingsfilen.

1. Klass med en dynamiskt allokerad variabel, definitionsfilen-del Klass med en dynamiskt allokerad variabel, inkluderingsfilen. 1. Klass med en dynamiskt inkluderingsfilen Klass2-1 1. Klass med en dynamiskt definitionsfilen-del 1 Klass2-2 #ifndef person #define person #include #include class Person private:

Läs mer

v. 42 Python HT17 En introduktion Oscar Bergqvist

v. 42 Python HT17 En introduktion Oscar Bergqvist v. 42 HT17 Python En introduktion Oscar Bergqvist oscar.bergqvist@stockholm.se 1 Innehåll 2 IDLE... 3 2.1 Det interaktiva läget... 3 2.2 Standardläget... 3 2.3 Färger i IDLE... 3 3 Variabler... 3 3.1 Namn...

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

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

Programmering grundkurs

Programmering grundkurs Programmering grundkurs Föreläsning 12 Jody Foo, jody.foo@liu.se Föreläsningsöversikt Tentan Laboration 7 Skriva till fil Hantering av flaggor m.m. till egna skript med argparse Lite repetition syntax

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

Fredag 10 juni 2016 kl 8 12

Fredag 10 juni 2016 kl 8 12 KTH CSC, Alexander Baltatzis DD1320/1321 Lösningsförslag Fredag 10 juni 2016 kl 8 12 Hjälpmedel: En algoritmbok (ej pythonkramaren) och ditt eget formelblad. För betyg E krävs att alla E-uppgifter är godkända,

Läs mer

v. 43 Python HT17 En introduktion Oscar Bergqvist

v. 43 Python HT17 En introduktion Oscar Bergqvist v. 43 HT17 Python En introduktion Oscar Bergqvist oscar.bergqvist@stockholm.se 1 Innehåll 2 IDLE... 3 2.1 Det interaktiva läget... 3 2.2 Standardläget... 3 2.3 Färger i IDLE... 3 3 Variabler... 3 3.1 Namn...

Läs mer

729G75: Programmering och algoritmiskt tänkande. Tema 3, föreläsning 2

729G75: Programmering och algoritmiskt tänkande. Tema 3, föreläsning 2 729G75: Programmering och algoritmiskt tänkande Tema 3, föreläsning 2 Översikt Vanliga mönster när man designar en klass Arv i Python UML-diagram Exempel Vanliga mönster när man designar en klass Namngivning

Läs mer

Klasser och objekt, referenser Grundkurs i programmering med Python

Klasser och objekt, referenser Grundkurs i programmering med Python Hösten 2009 Dagens lektion Klasser och objekt Referenser 2 Klasser och objekt 3 KLASSER OCH OBJEKT Relaterat data Information om en fyrkant Bredd Höjd Färg 4 KLASSER OCH OBJEKT Egna datatyper Skapa en

Läs mer

F4 Klasser och Metoder. ID1004 Objektorienterad programmering Fredrik Kilander

F4 Klasser och Metoder. ID1004 Objektorienterad programmering Fredrik Kilander F4 Klasser och Metoder ID1004 Objektorienterad programmering Fredrik Kilander fki@kth.se Klasser och objekt Klasser definierar (utgör idén) Objekt instantierar (utgör förekomsten) En klassdefinition Många

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

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

Outline. Objektorienterad Programmering (TDDC77) Abstrakta klasser. Abstrakta metoder. Abstrakta klasser. Gränssnitt. Uppräkningar (enum) Ahmed Rezine

Outline. Objektorienterad Programmering (TDDC77) Abstrakta klasser. Abstrakta metoder. Abstrakta klasser. Gränssnitt. Uppräkningar (enum) Ahmed Rezine Objektorienterad Programmering (TDDC77) Föreläsning XII: Interfaces, Enums,, Collections Links for: interfaces, enums, generics, collections Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2017 Abstrakta

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

Programmering grundkurs

Programmering grundkurs Programmering grundkurs Föreläsning 10 Jody Foo, jody.foo@liu.se Föreläsningsöversikt Laboration 6 Abstraktion och OOP Klassdiagram med UML (Unified Modelling Language) Egna klasser som innehåller andra

Läs mer

Listor. TDDD73 Funktionell och imperativ programmering i Python Föreläsning 7. Peter Dalenius Institutionen för datavetenskap 2014-09-23

Listor. TDDD73 Funktionell och imperativ programmering i Python Föreläsning 7. Peter Dalenius Institutionen för datavetenskap 2014-09-23 Listor TDDD73 Funktionell och imperativ programmering i Python Föreläsning 7 Peter Dalenius Institutionen för datavetenskap 2014-09-23 Översikt Ytterligare exempel på dubbelrekursion Inbyggda metoder hos

Läs mer

Innehåll. dynamisk bindning. och programmering CRC) u Arv, polymorfi och

Innehåll. dynamisk bindning. och programmering CRC) u Arv, polymorfi och Innehåll u OOP snabbintroduktion u Datatyper u Uttryck u Satser u Arv (intro) u Programvaruutveckling och programmering u Klassdesign och metodik (UML, CRC) u Arv, polymorfi och dynamisk bindning u Fält

Läs mer

Det objektorienterade synsättet. Objekt. Datorprogrammet kan uppfattas som en slags modell av den verklighet programmet skall samverka med.

Det objektorienterade synsättet. Objekt. Datorprogrammet kan uppfattas som en slags modell av den verklighet programmet skall samverka med. Det objektorienterade synsättet A - 1 Objekt A - 2 Datorprogrammet kan uppfattas som en slags modell av den verklighet programmet skall samverka med. De enskilda variablerna i programmet, de s.k. objekten,

Läs mer

Historik: OOP. Objektorientering. Historik: OOP (forts) En Dum Fråga

Historik: OOP. Objektorientering. Historik: OOP (forts) En Dum Fråga Historik: OOP Simula-67 Norge, 1967 Byggde på Algol-60, avsett för simulering Garbage collection, arv, klasser (inte olikt Java) Smalltalk, Alan Kay, Xerox, 70-tal Introducerade begreppet objekt-orienterad

Läs mer

TDDC74 Programmering: Abstraktion och modellering Dugga 2, , kl 17-19

TDDC74 Programmering: Abstraktion och modellering Dugga 2, , kl 17-19 TDDC74 Programmering: Abstraktion och modellering Dugga 2, 2017-04-06, kl 17-19 Läs alla frågorna först och bestäm dig för i vilken ordning du vill lösa uppgifterna. Uppgifterna är inte nödvändigtvis i

Läs mer

Haskell forts. 5DV085 - Programspråk. Jan Erik Moström, Department of Computing Science, Umeå University - jem@cs.umu.se

Haskell forts. 5DV085 - Programspråk. Jan Erik Moström, Department of Computing Science, Umeå University - jem@cs.umu.se Haskell forts 5DV085 - Programspråk, Department of Computing Science, Umeå University - jem@cs.umu.se Moduler Grupp 1, Department of Computing Science, Umeå University - jem@cs.umu.se Function application

Läs mer

Föreläsning 2 Objektorienterad programmering DD1332. Typomvandling

Föreläsning 2 Objektorienterad programmering DD1332. Typomvandling metoder Föreläsning 2 Objektorienterad programmering DD1332 Array [modifierare] String metodnamn (String parameter) Returtyp (utdata typ) i detta fall String Indata typ i detta fall String 1 De får man

Läs mer

OOP Omtenta 2010-03-06 10.00 15.00

OOP Omtenta 2010-03-06 10.00 15.00 Stockholms universitet 1 (6) OOP OOP Omtenta 2010-03-06 10.00 15.00 Avser kurserna: DSK1:OOP GES:OOP ID1013 Anvisningar Påbörja varje ny uppgift på nytt blad. Skriv endast på ena sidan av bladen. Skriv

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

Lösningsförslag, tentamen FYTA11 Javaprogrammering

Lösningsförslag, tentamen FYTA11 Javaprogrammering Lunds universitet FYTA11 Institutionen för Astronomi och Teoretisk fysik HT 12 Lösningsförslag, tentamen FYTA11 Javaprogrammering Onsdag 9 januari 2013, 10:15 14:15 Instruktioner Hjälpmedel: Papper och

Läs mer

Objektsamlingar i Java

Objektsamlingar i Java 1 (6) Objektsamlingar i Java Objektorienterad programmering 3 Syfte Att ge träning i att använda objektsamlingar i Java. Mål Efter övningen skall du kunna använda objektsamlingsklasserna ArrayList och

Läs mer

OBJEKTORIENTERAD PROGRAMVARUUTVECKLING

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

Läs mer

Dugga i Grundläggande programmering STS, åk

Dugga i Grundläggande programmering STS, åk Grundläggande programmering, STS 1 14 maj 2007 Sida 1/11 Dugga i Grundläggande programmering STS, åk 1 2007-05-14 Skrivtid: 13:00 16:00 Hjälpmedel: Inga Lärare: Sven Sandberg besöker duggan ca 13:45. Tel.

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

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

Föreläsning 13 Datalogi 1 DA2001

Föreläsning 13 Datalogi 1 DA2001 Föreläsning 13 Datalogi 1 DA2001 Hashtabeller Särfall (exception) klasser En hashtabell kan ses som en lista där programmeraren associerar egna nycklar (index) till varje element som ska läggas i tabellen

Läs mer

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

Grundläggande programmering med C# 7,5 högskolepoäng Grundläggande programmering med C# 7,5 högskolepoäng Provmoment: TEN1 Ladokkod: NGC011 Tentamen ges för: Omtentamen DE13, IMIT13 och SYST13 samt öppen för alla (Ifylles av student) (Ifylles av student)

Läs mer

Hur man programmerar. Exempel på problemlösning i Python

Hur man programmerar. Exempel på problemlösning i Python Hur man programmerar Exempel på problemlösning i Python Problemet Som vokaler i engelska språket räknar vi i denna uppgift bokstäverna aeuio, och som konsonanter alla andra bokstäver utom y (y fungerar

Läs mer