729G04 Programmering och diskret matematik. Föreläsning 4
|
|
- Amanda Eliasson
- för 5 år sedan
- Visningar:
Transkript
1 729G04 Programmering och diskret matematik Föreläsning 4
2 Turtle Graphics
3 LOGO LOGO: programmeringsspråk för användning inom undervisning 1967 av Papert och Feurzeig Språket är släkt med LISP, men som "utenhet" hade man bl.a. möjlighet att styra en sköldpadda. Sköldpaddan hade även en "penna" som den kunde höja och sänka.
4 The robot
5 Trådlös variant
6 Modern variant Valiant Technology Ltd.
7 Turtle Graphics Att rita med hjälp av en sköldpadda som man styr med hjälp av kommandon brukar man kalla för Turtle Graphics. Man ser sköldpaddan uppifrån och kan ge den kommandon Python har en modul som låter oss hålla på med Turtle Graphics.
8 Kommandon man kan ge till sköldpaddan Gå frammåt Backa Sväng vänster Sväng höger Dra upp pennan Sätt ner pennan
9
10 Pythons turtlemodul
11 Förflyttning av sköldpaddan fd(avstånd): flytta sköldpaddan frammåt ett visst avstånd bk(avstånd): flytta sköldpaddan bakåt ett visst avstånd lt(grader): sväng vänster ett visst antal grader rt(grader): sväng höger ett visst antal grader
12 En fyrkant import turtle importera modulen screen = turtle.screen() screen.setup(width=600, height=600) turtle.mode("logo") turtle.showturtle() skapa en rityta sätt storleken på ritytan använd LOGO-standard för riktning visa sköldpaddan turtle.fd(100) turtle.rt(90) turtle.fd(100) turtle.rt(90) turtle.fd(100) turtle.rt(90) turtle.fd(100) gå framåt 100 steg sväng höger 90 grader gå framåt 100 steg sväng höger 90 grader gå framåt 100 steg sväng höger 90 grader gå framåt 100 steg
13 En fyrkant framåt
14 En fyrkant vänster
15 En fyrkant framåt
16 En fyrkant vänster
17 En fyrkant framåt
18 En fyrkant vänster
19 En fyrkant framåt
20 En fyrkant
21 Demo av pennan, förflyttning, position och riktning
22 Olika sätt att importera moduler import turtle from turtle import * screen = turtle.screen() turtle.showturtle() screen = Screen() showturtle() turtle.fd(100) turtle.rt(90) turtle.fd(100) turtle.rt(90) turtle.fd(100) turtle.rt(90) turtle.fd(100) fd(100) rt(90) fd(100) rt(90) fd(100) rt(90) fd(100)
23 Kan vi stoppa in detta i en loop?
24 Kan vi få sköldpaddan att röra sig slumpmässigt?
25 Sköldpaddan ritar på ritytan med en penna Sköldpaddan har en penna som kan höjas och sänkas. Den är nere från början. pd(): sätt ner pennan pu(): dra upp pennan
26 Koordinatsystem och riktning
27 (-, +) (+, +) (0, 0) (-, -) (+, -)
28 Sköldpaddan och koordinater pos() returnerar en tupel (x, y) där x och y är flyttal setpos(x, y) flyttar sköldpaddan till positionen (x, y) där x och y är flyttal. OBS! setpos() "teleporterar" inte sköldpaddan, dvs att om pennan är nere kommer det att bli ett streck.
29 Ja, tupler finns i Python också... Lista: [1, 2, 3] Tupel: (1, 2, 3) Den stora skillnaden mellan listoroch tupler i Python är att man inte kan ändra på en tupel. Datatyper som man inte kan ändra värdet på kallas "immutable" Datatyper man kan ändra värde på kallas "mutable"
30 Tupel-exempel
31 Går inte att ändra på en tupel >>> a = [1, 2, 3] >>> b = (1, 2, 3) >>> a[0] = 4 >>> b[0] = 4 Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: 'tuple' object does not support item assignment >>>
32 Riktning
33 Riktning i världen mode("standard") 90 mode("logo")
34 Sköldpaddan vet vilken riktning den tittar åt mode("logo") 0 är norrut 90 grader är österut gradantalet ökar medurs heading() returnerar ett flyttal somberättar gradantalet hos den riktning man står åt seth(d) där d är ett flyttal, ställer in sköldpaddans riktning
35 Cirkelrörelse
36 Exempel på anrop till circle() circle(40) circle(-40) circle(40, 90) circle(40, 180, 4)
37 Cirkelrörelse circle() kan ta etttill tre argument circle(40) flyttar sköldpaddan moturs i en cirkel med radien 40 circle(-40) ger en rörelse i medurs riktning circle(40, 90) avbryter rörelsen efter 90 grader circle(40, 90, 2) säger att sköldpaddan kommer dela upp rörelsen i två raksträckor.
38 Refaktorisering att skriva om kod för att göra den bättre utan att ändra på dess beteende
39 Exempel och refaktorisering Några exempel på vad man kan göra med turtle-modulen samt genomgång av refaktorisering genom generalisering och inkapsling Inkapsling: Att kapsla in en sekvens av uttryck och satser i en funktion Generalisering: Att göra en funktion mer generell genom att specificera beteenden med hjälp av parametrar/argument
40 Refaktorisering (refactoring) Förbättring av kod dock med bibehållen funktionalitet. Förbättringen kan avse underhåll lättlästhet Inte att förväxla med optimering som har med förbättring av prestanda att göra. Båda kan dock inträffa samtigt. Optimering kommer på nästa föreläsning.
41 Exempel på refaktorisering def get_number_of_children(name): if name == "Ada": return 1 elif name == "Bean": return 3 elif name == "Cecil": return 1 elif name == "Dan": return 2 elif name == "Eliza": return 2 elif name == "Frodo": return 0 elif name == "Garfield": return 0 def get_number_of_children(name): if name in ["Frodo", "Garfield"]: return 0 elif name in ["Ada", "Cecil"]: return 1 elif name in ["Dan", "Eliza"]: return 2 elif name in ["Bean"]: return 3
42 När ska man refaktorisera? När koden luktar illa - exempel på dålig lukt: redundant kod, t.ex. kod som upprepas eller kod som inte gör något långa funktioner väldigt mångaparametrar skickastill en funktion en funktion som gör för lite variabelnamn eller funktionsnamn som har missvisande namn komplexa vilkor i koden
43 Olika sätt att refaktorisera Hitta loopar Kapsla in (bryt ut till funktioner) Generalisera (gör koden mer generell, ofta funktioner)
44 Bryta ut en funktion / inkapsling print "Hi Ben!" print "I am happy!" # Inkapsling: Att kapsla in en sekvens av # uttryck och satser i en funktion. def greet_ben(): print "Hi Ben!" print "I am happy!"
45 Varför är detta bra? Återanvändning! def greet_ben(): print "Hi Ben!" print "I am happy!" greet_ben() greet_ben()
46 Generalisering av funktion Att gå från en funktion som utför en specifik uppgift, till en funktion som är mer flexibel med avseende på beteende genom att införa parametrar
47 Generalisering def greet_ben(): print "Hi Ben!" print "I am happy!" # Vi gör funktionen mer generell så # att den kan hälsa på vilket namn som helst def greet(name): print("hi " + name + "!") print("i am happy!")
48 Sick sack Vi vill producera ovanstående mönster. Kom ihåg: programmering är en iterativ aktivitet! Vi gör ett steg i taget.
49 Vi provar att refaktorisera
50 Sick sack from turtle import * screen = Screen() mode("logo") fd(100) rt(90) fd(10) rt(90) fd(100) lt(90) fd(10) lt(90) fd(100) rt(90) fd(10) rt(90) fd(100) lt(90) fd(10) lt(90) fd(100) rt(90) fd(10) rt(90) fd(100) lt(90) fd(10) lt(90)
51 Sick sack vi ser en loop from turtle import * screen = Screen() mode("logo") fd(100) rt(90) fd(10) rt(90) fd(100) lt(90) fd(10) lt(90) for i in range(3): fd(100) rt(90) fd(10) rt(90) fd(100) lt(90) fd(10) lt(90) fd(100) rt(90) fd(10) rt(90) fd(100) lt(90) fd(10) lt(90) fd(100) rt(90) fd(10) rt(90) fd(100) lt(90) fd(10) lt(90)
52 Sick sack inkapsling for i in range(3): fd(100) rt(90) fd(10) rt(90) fd(100) lt(90) fd(10) lt(90) # Vi hittar delar av koden vi kan göra om # till funktioner def make_right_l(): fd(100) rt(90) fd(10) rt(90) def make_left_l(): fd(100) lt(90) fd(10) lt(90) for i in range(3): make_right_l() make_left_l()
53 Sick sack inkapsling och generalisering def make_right_l(): fd(100) rt(90) fd(10) rt(90) def make_left_l(): fd(100) lt(90) fd(10) lt(90) for i in range(3): make_right_l() make_left_l() # Vi kapslar in loopen och generaliserar # den på samma gång def make_right_l(): fd(100) rt(90) fd(10) rt(90) def make_left_l(): fd(100) lt(90) fd(10) lt(90) def zig_zag(n): for i in range(n): make_right_l() make_left_l() zig_zag(3)
54 Sick sack inkapsling och generalisering # Vi kapslar in loopen och generaliserar # den på samma gång def make_right_l(): fd(100) rt(90) fd(10) rt(90) def make_left_l(): fd(100) lt(90) fd(10) lt(90) def zig_zag(n): for i in range(n): make_right_l() make_left_l() zig_zag(3) # Vi skapar en funktion som ritar ut tv segment med en b j def two_segments(angle, segment1, segment2): fd(segment1) rt(angle) fd(segment2) rt(angle) def make_right_l(): two_segments(90, 100, 10) def make_left_l(): two_segments(-90, 100, 10) def zig_zag(n): for i in range(n): make_right_l() make_left_l() zig_zag(3)
55 Uppgift: Stjärnan Vi vill rita en sån här figur Hur? Dela upp problemet, hitta mönster, gör samma sak flera gånger?
56 Rita en stjärna def draw_line_and_return(): """Rita ett streck p 50 enheter och startpositionen.""" fd(50) bk(50) terv nd till def draw_star(): """Rita ut en stj rna med fem armar""" for line in range(5): draw_line_and_return() rt(360.0/5) draw_star()
57 Debugga med spårutskrifter
58 Att hitta vad som går fel skriv ut värden på variabler på lämpligt ställe i koden print("x: ", x)
59 Med spårutskrifter def draw_line_and_return(length): """Rita ett streck och # Spr rutskrift print("drawing line, length:", length) fd(length) bk(length) terv nd till startpositionen.""" def draw_star(points, length): """Rita ut en stj rna med fem armar""" for line in range(points): # Skriv ut vilket streck vi ligger p print("line:", line) draw_line_and_return(length) rt(360.0/points)
60 Visualisering av nästlad loop
61 Stjärna med stjärnor
62 Stjärna med stjärnor
63 Labb 4 Tillämpning av funktioner, loopar och sköldpaddor Labb 4-8 görs i par Anmäl er till nya pargrupper
64 Angry Turtles
65 Angry Turtles Fåglar har stulit sköldpaddornas ägg och sköldpaddorna hämnas genom att skjuta iväg sig själva på en måltavla. Användaren ger styrka och vinkel Spelet ritar ut hur sköldpaddan flyger iväg och kollar om sköldpaddan träffar målet.
66 Exempel
67 Angry Turtles - innan spelet kan börja Innan vi spelet kan börja måste vi göra följande Ställa in ritytan Bestämma var måltavlan ska vara Rita ut måltavlan Placera sköldpaddan i startposition
68 Angry Turtles - själva spelet Spelaren börjar med t.ex poäng Spelloop Fråga användaren parametrar: styrka och ev vinkel - använd input() Förflytta sköldpaddan lite i taget (loop) förflyttningen baseras på angiven styrka (och ev vinkel) avbryt loopen (break) när sköldpaddan nuddat marken (eller är under marken), dvs kolla om y <= 0. Kolla avståndet till måltavlan Om sköldpaddan är tillräckligt nära måltavlan - berätta det, visa poäng och fråga om spelaren vill spela igen. Om sköldpaddan var för långt ifrån måltavlan - berätta det och dra ifrån poäng
729G04 PYTHON 4 JODY FOO. Department of Computer and Information Science (IDA) Linköping University, Sweden
729G04 PYTHON 4 JODY FOO Department of Computer and Information Science (IDA) Linköping University, Sweden TURTLE GRAPHICS LOGO LOGO: programmeringsspråk för användning inom undervisning 1967 av Papert
Läs merTDP002 - 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 merKurslitteraturen. 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 mer729G04 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 merPython. 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 merIntroduktion till programmering SMD180. Föreläsning 9: Tupler
Introduktion till programmering Föreläsning 9: Tupler 1 1 Sammansatta datatyper Strängar Sekvenser av tecken Icke muterbara Syntax: "abcde" Listor Sekvenser av vad som helst Muterbara Syntax: [1, 2, 3]
Läs merKonvexa höljet Laboration 6 GruDat, DD1344
Konvexa höljet Laboration 6 GruDat, DD1344 Örjan Ekeberg 10 december 2008 Målsättning Denna laboration ska ge dig övning i att implementera en algoritm utgående från en beskrivning av algoritmen. Du ska
Läs merDatalogi 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 merGrundlä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 merFörkortning och förlängning av rationella uttryck (s. 27 Origo 3c)
1 Print 1 Algebraiska 2 Variabler 1 Algebraiska 3 Input 1 Algebraiska 4 For 1 Algebraiska uttryck, Rationella uttryck 1 Algebraiska uttryck, Gränsvärden Förkortning och förlängning av rationella uttryck
Läs mer729G74 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 merPlanering av ett större program, del 2 - for och listor. Linda Mannila
Planering av ett större program, del 2 - for och listor Linda Mannila 9.10.2007 Vad kan vi nu? Primitiva datatyper Tal, strängar, booleska värden Utskrift Indata Felhantering Funktioner och moduler (grunder)
Läs merFö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 merFö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 merFö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 merUppgifter 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 merSprå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 merSekvensdatatyper, 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 merFö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 merLär dig programmera! Prova på programmering med enkla exempel! Björn Regnell www.bjornregnell.se
Lär dig programmera! Prova på programmering med enkla exempel! Björn Regnell www.bjornregnell.se Mål Så enkelt som möjligt: låg tröskel Ett riktigt programmeringsspråk: inget tak Roliga uppgifter som går
Läs merFö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 merFö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 mer729G04 Programmering och diskret matematik TEN kl 8-12
729G04 Programmering och diskret matematik TEN4 091120 kl 8-12 Examinator: Annika Silvervarg, telefonnummer 013-284068 Hjälpmedel: Dator, penna och suddgummi. Uppgifter: Tentamen består av 4 uppgifter
Läs mer729G04 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 merFunktioner. Linda Mannila
Funktioner Linda Mannila 13.11.2007 Vad kan vi nu? Primitiva datatyper Tal, strängar, booleska värden Samlingsdatatyp Listan Utskrift Indata Felhantering Intro till funktioner och moduler Villkorssatsen
Läs merFö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 merExtramaterial till Matematik Y
LIBER PROGRAMMERING OCH DIGITAL KOMPETENS Extramaterial till Matematik Y NIVÅ TRE Algebra ELEV Det finns många olika programmeringsspråk. Ett av dem är Python, som du ska få bekanta dig med i den här uppgiften.
Läs mer729G74 IT och programmering, grundkurs. Tema 3. Föreläsning 2 Jody Foo,
729G74 IT och programmering, grundkurs Tema 3. Föreläsning 2 Jody Foo, jody.foo@liu.se Föreläsningsöversikt Repetition: syntax-quiz Fler for-loopar (över listor och dictionaries) range() Nästlade strukturer
Läs merProgrammering 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 merIntroduktion till programmering D0009E. Föreläsning 5: Fruktbara funktioner
Introduktion till programmering D0009E Föreläsning 5: Fruktbara funktioner 1 Retur-värden Funktioner kan både orsaka en effekt och returnera ett resultat. Hittills har vi ej definierat några egna funktioner
Läs mer1/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 merDD1310/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 mer3137 Bestäm ekvationen för den räta linje som går genom punkterna med koordinaterna a) (5, 3) och (3, 5)
vux Lektion Kapitel Uppgift Lösning med programmering 3 Input Räta linjens ekvation 4 For 1 Algebra, Rita grafen till en andragradsfunktion 3137 Bestäm ekvationen för den räta linje som går genom punkterna
Läs merFly 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 merPythons 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 merv. 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 merTentamen 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 merv. 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 merDD1314 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 merIntroduktion 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 merFörkortning och förlängning av rationella uttryck (s. 29 Origo 3b)
1 Print 1 Algebraiska 2 Variabler 1 Algebraiska 3 Input 1 Algebraiska 4 For 1 Algebraiska uttryck, Rationella uttryck Förkortning och förlängning av rationella uttryck (s. 29 Origo 3b) Eleverna kan träna
Läs mer729G04 Programmering och diskret matematik. Föreläsning 5
729G04 Programmering och diskret matematik Föreläsning 5 Föreläsningsöversikt Repetition av listmetoder Scope Defaultvärden Algoritmer: ex. linjär/binär sökning Flödesdiagram Pseudokod Rekursion Programmering
Läs merIntroduktion 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 merIntroduktion till programmering SMD180. Föreläsning 5: Fruktbara funktioner
Introduktion till programmering Föreläsning 5: Fruktbara funktioner 1 Retur-värden Funktioner kan både orsaka en effekt och returnera ett resultat. Hittills har vi ej definierat några egna funktioner med
Läs merTDP002 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 merRepetition 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 merProgramdesign. minnesutrymme storlek på indata. DA2001 (Föreläsning 15) Datalogi 1 Hösten / 20
Programdesign Välj datastruktur så programmet blir så enkelt som möjligt. Välj algoritm så programmet blir lättläst, robust och effektivt. Analysera programmet för att få en bra metod. Överväganden vid
Läs merOrdlistor, 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 merIntroduktion 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 merSelektion och iteration
Selektion och iteration TDDD73 Funktionell och imperativ programmering i Python Föreläsning 6 Peter Dalenius Institutionen för datavetenskap 2014-09-15 Översikt Hur utformar man villkor för framför allt
Läs merLä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 merAlla 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 merNamn Stil Dokumentation Objekt-orienterad programmering OBS OBS OBS OBS OBS OBS OBS OBS
Namn Stil Dokumentation Objekt-orienterad programmering Dept. of Computer Science Umeå University jem@cs.umu.se OBS OBS OBS OBS OBS OBS OBS OBS Detta är inget gnäll på någon speciell utan jag ser detta
Läs merAnvända Python Laboration 1 GruDat, DD1344
Använda Python Laboration 1 GruDat, DD1344 Örjan Ekeberg 14 oktober 2008 Målsättning Målet med denna laboration är att du ska prova på att använda Python, framförallt interativt. Du ska också lära dig
Läs merTenta (TEN3) i kursen 729G04 Programmering och diskret matematik 5 feb 2016, kl 14:00-18:00
1 ( 7) Tenta (TEN3) i kursen 729G04 Programmering och diskret matematik 5 feb 2016, kl 14:00-18:00 Tillåtna hjälpmedel: Dator, penna, papper, linjal, suddgummi, godkänd(a) bok/böcker/kompendier (ej anteckningar,
Läs merMer grafik. Jan Erik Moström
Mer grafik 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",
Läs merTDP002 - 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 merPython. 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 merFö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 merSammanfattning. 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 merTDP002 - Imperativ programmering
TDP002 - Imperativ programmering Introduktion till kursen och Python Eric Elfving Institutionen för datavetenskap 1 Programmering - en översikt 2 Python Inbyggda typer Satser och uttryck 1 Programmering
Läs merMultipel tilldelning. Introduktion till programmering D0009E. Föreläsning 6: Iteration. while-satsen. Kom ihåg. Snurror kontra rekursion
Introduktion till programmering D0009E Föreläsning 6: Iteration Multipel tilldelning Helt ok att tilldela en variabel flera gånger: bruce = bruce, bruce = 7 bruce Output: 7 Som tillståndsdiagram: bruce
Läs merSkolan 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 merFö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 merMicroPython Ett textbaserad programmeringsspråk för Micro:bit
MicroPython Ett textbaserad programmeringsspråk för Micro:bit Introduktion till informationsteknologi 1DT051 2018-09-24 karl.marklund@it.uu.se Uppsala universitet Programming, problemlösning och algoritmer
Läs merIdag: 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 merSträ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 merPython. 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 mer729G04 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 mer6 cm. 106 Beräkna a) 3 ( 4) b) ( 2) 5 c) 4 ( 2,5) d) ( 8) 1,5. T.ex. print(3 * -4) 13 Beräkna cirkelns a) diameter b) omkrets
1 Print 1 Tal Multiplikation och division med negativa tal 106 Beräkna a) 3 ( 4) b) ( 2) 5 c) 4 ( 2,5) d) ( 8) 1,5 print(3 * -4) 2 Geometri Cirkelns omkrets 13 Beräkna cirkelns a) diameter b) omkrets 6
Läs merProblemlösning och funktioner Grundkurs i programmering med Python
Hösten 2009 Dagens lektion Problemlösningsstrategier Repetition av funktioner Mer om funktioner 2 Problemlösningsstrategier 3 PROBLEMLÖSNINGSSTRATEGIER Strategier Det finns ett flertal olika ansatser till
Läs merUppgifter till tenta i 729G04 Programmering och diskret matematik. 17 december 2015, kl 14:00-18:00
1 ( 7) Uppgifter till tenta i 729G04 Programmering och diskret matematik. 17 december 2015, kl 14:00-18:00 Tillåtna hjälpmedel: Dator, penna, papper, linjal, suddgummi, godkänd(a) bok/böcker/kompendier
Läs mer729G04 Programmering och diskret matematik
Tentamen 729G04, 2013-01-11 1(8) 729G04 Programmering och diskret matematik Tentamen 2013 01 11 kl 08.00 13.00 Tillåtna hjälpmedel: Dator, penna, papper, linjal, suddgummi, godkänd(a) bok/böcker Uppgifter:
Läs merUppgifter till tenta i 729G04 Programmering och diskret matematik. 7 augusti 2015, kl 08:00-12:00
1 ( 6) Uppgifter till tenta i 729G04 Programmering och diskret matematik. 7 augusti 2015, kl 08:00-12:00 Tillåtna hjälpmedel: Dator, penna, papper, linjal, suddgummi, godkänd(a) bok/böcker/kompendier (ej
Läs merProgrammering och algoritmiskt tänkande. Tema 3, föreläsning 1 Jody Foo
Programmering och algoritmiskt tänkande Tema 3, föreläsning 1 Jody Foo Tema 3: Översikt Objektorienterad programmering: fortsättning Tema 1 och 2: Exempel på att använda och skapa algoritmer Tema 3: strukturera
Läs mer729G06 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 merSä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 merProgramdesign. Dokumentera. Dokumentera
Programdesign Dokumentera Välj datastruktur så programmet blir så enkelt som möjligt. Välj algoritm så programmet blir lättläst, robust och effektivt. Analysera programmet för att få en bra metod. Överväganden
Läs merHI1024 Programmering, grundkurs TEN
HI1024 Programmering, grundkurs TEN2 2015-01-08 KTH STH Haninge 13.15-18.00 Tillåtna hjälpmedel: En A4 handskriven på ena sidan med egna anteckningar Kursboken C PROGRAMMING A Modern Approach K. N. King
Läs merÖvningsuppgifter kapitel 8
Inst. för Systemteknik Introduktion till programmering (SMD 180), 5 p Övningsuppgifter kapitel 8 1. Listor är en viktig datatyp i Python. Hur definierar kursboken lista? Vad kallas de värden som tillsammans
Läs merListor. 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 merKojo med Inga Ingenjör
När du klarat alla uppdrag får du Inga Ingenjörs körkort i Kojo-programmering Kojo med Inga Ingenjör Lär dig programmera Nybörjaruppdrag Innehåll 1. Kan du styra din kompis? 2. Kan du styra sköldpaddan
Läs merVariabler 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 merFöreläsning 6: Introduktion av listor
Föreläsning 6: Introduktion av listor Med hjälp av pekare kan man bygga upp datastrukturer på olika sätt. Bland annat kan man bygga upp listor bestående av någon typ av data. Begreppet lista bör förklaras.
Läs merTenta i Grundläggande programmering DD klockan
Tenta i Grundläggande programmering DD1331 2017-10-20 klockan 14.00 16.00 Marcus Dicander, KTH CST Tillåtna hjälpmedel: En Pythonbok, skrivmaterial, mat, medicin och vattenflaska. Otillåtna hjälpmedel:
Läs merLektion Kapitel Uppgift Lösning med programmering
1 Print 1 Tal, Prioriteringsregler 3 Procent, Procentuella förändringar 2 Variabler Teckna och tolka uttryck Ekvationslösningens grunder 1236 Beräkna utan räknare. a) 6 + 4 3 b) 9 4 12 3 c) 7 (3 + 12)
Läs mermatematik Lektion Kapitel Uppgift Lösningg T.ex. print(9-2 * 2) a) b) c) d)
1 Print 2.6 Prioriteringsregler 1 Beräkna a) 9 2 2 b) 10 + 5 6 c) 5 6 10 d) 16 + 4 5 6 2.6 Prioriteringsregler 7 Stina köper 3 chokladbollar för 10 kr styck och 1 kopp te för 14 kr. a) Skriv ett uttryck
Läs mer729G04 Programmering och diskret matematik
Tentamen 729G04, 2013-02-15 1(9) 729G04 Programmering och diskret matematik Tentamen 2013 02 15 kl 14.00 19.00 Tillåtna hjälpmedel: Dator, penna, papper, linjal, suddgummi, godkänd(a) bok/böcker Uppgifter:
Läs merAnmälningskod: Lägg uppgifterna i ordning. Skriv uppgiftsnummer (gäller B-delen) och din kod överst i högra hörnet på alla papper
Tentamen Programmeringsteknik I 2017-10-23 Skrivtid: 0800 1300 Tänk på följande Skriv läsligt. Använd inte rödpenna. Skriv bara på framsidan av varje papper. Lägg uppgifterna i ordning. Skriv uppgiftsnummer
Läs merKlasser 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 merNå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 merLär dig programmera för dig mellan 6 och 100 år...
för dig mellan 6 och 100 år... Björn Regnell Bilden visar ENIAC, som var den första datorn. Mamman och pappan på bilden programmerar ENIAC. ENIAC fanns när farfar och mormor var små. ENIAC vägde 27 tusen
Läs merSpråket Python - Del 2 Grundkurs i programmering med Python
Hösten 2009 Dagens lektion Funktioner Filhantering Felhantering 2 Funktioner 3 FUNKTIONER Att dela upp program Att dela upp program i mindre delar, funktioner är ett viktigt koncept i programmering. Viktigt
Läs merIntroduktion 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 merSockets: server. with Ada.Command_Line; use Ada.Command_Line; with Ada.Exceptions; use Ada.Exceptions; with Ada.Text_IO; use Ada.
Sockets: server with Ada.Command_Line; use Ada.Command_Line; with Ada.Exceptions; use Ada.Exceptions; with Ada.Text_IO; use Ada.Text_IO; with TJa.Sockets; use TJa.Sockets; procedure Server is -- Servern
Läs merImperativ 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 merIntroduktion till programmering D0009E. Föreläsning 9: Tupler och dictionaries
D 0 0 0 9 E Introduktion till programmering D0009E Föreläsning 9: Tupler och dictionaries 1 D 0 0 0 9 E Sammansatta datatyper Strängar Sekvenser av tecken Icke muterbara Syntax: "abcde" Listor Sekvenser
Läs merSkolan 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 merEnKlass. 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 merENKEL Programmering 3
ENKEL Programmering 3 Figurer i långa rader Titta på de olika figurerna i de olika raderna. Kan du se att de olika figurerna i varje rad är placerade enligt ett visst mönster? Kan du lista ut vilken figur
Läs mer