729G04 Programmering och diskret matematik. Python'1:'Labbmiljö'och'introduk7on'7ll'Python'

Relevanta dokument
MUDDYCARDS 729G04 PYTHON 1. Positivt. Negativt. JODY FOO Department of Computer and Information Science (IDA) Linköping University, Sweden

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

Datorsystem och programmering

kommando -fl argument

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

TDDE44 Programmering, grundkurs

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

Extramaterial till Matematik Y

Introduktion till Unix och Linux

Grundläggande datalogi - Övning 1

DD1314 Programmeringsteknik

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

TDDC77 Objektorienterad Programmering

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

729G04 PYTHON 6 JODY FOO. Department of Computer and Information Science (IDA) Linköping University, Sweden

Kort-kort om utdelade användarkonton och datormiljön på NADA

Introduktion till Linux. TDDC66 Datorsystem och programmering Föreläsning (i) Peter Dalenius Institutionen för datavetenskap

Objektorienterad Programmering (TDDC77)

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

Introduktion till programmering SMD180. Föreläsning 2: Variabler, uttryck och satser

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

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

Datorintroduktion 2009 Föreläsning 1. Dieter Larsen (IT-chef Matematiska vetenskaper)

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

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

Introduktion till Linux. TDDC66 Datorsystem och programmering Föreläsning 1 Peter Dalenius Institutionen för datavetenskap

Objektorienterad Programmering (TDDC77)

Kort-kort om utdelade användarkonton och datormiljön på NADA

Uppgifter teknik HT17 (uppdaterad v. 40)

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

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.

Programmeringsteknik med C och Matlab

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

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?

729G04 Programmering och diskret matematik. Python 3: Loopar

Objektorienterad Programmering (TDDC77)

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

Outline. Objektorienterad Programmering (TDDC77) Kursinfo. Outline. Hemsida. Organization. Ahmed Rezine Examination. Webreg.

Praktiska saker... Om Laboration 1. Studietips. Praktiska saker. Att studera hemifrån på PC. Seminarier & Lektioner & Handledning & Hemsida

Datorintroduktion 2010 Föreläsning 1. Dieter Modig

SF1672, Linjär Algebra med Matlab för F1 Lab0

Extramaterial till Matematik Y

Använda Python Laboration 1 GruDat, DD1344

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)

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

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

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

Introduktion till Haskell

Uppgifter till tenta i 729G04 Programmering och diskret matematik. 7 augusti 2015, kl 08:00-12:00

Introduktion till Linux. TDDE23 Funktionell och imperativ programmering, del 1 Föreläsning 1 Peter Dalenius Institutionen för datavetenskap

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

DD1310 Programmering för OPEN1 LAB1: Laborationer i Python läsåret 2011/2012

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

Extramaterial till Matematik Y

DN1212, Numeriska metoder & grundläggande programmering. Laboration 1 del 1-3 (frivilliga delar) Del 1-3 (dvs upg ) behöver inte redovisas

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

Instruktion för laboration 1

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

Introduktion till programmering. Undervisning. Litteratur och examination. Lärare. Föreläsning 1

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

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

Filers innehåll. Grundläggande databehandling. Representation av text. pffb = påhittat filformat för bilder

Problemlösning och funktioner Grundkurs i programmering med Python

Instruktion för laboration 1

Subversion. Laboration. Höstterminen 2008 r81. Ronny Kuylenstierna

1.#Bakgrund# En#kort#introduk+on#+ll#Unix# Klassiskt#första#bemötande# Håkan#Jonsson# Ins+tu+onen#för#systemteknik# Luleå#tekniska#universitet#

Text och strängindexerade fält Grundkurs i programmering med Python

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

Föreläsning 2 Programmeringsteknik och C DD1316

Laboration 1 Introduktion till Visual Basic 6.0

729G04 Programmering och diskret matematik Tenta kl 14:00-18:00

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

729G06 Föreläsning 1 Objektorienterad programmering

Programmering I Tobias Wrigstad fredag, 2009 augusti 28

729G04 - Diskret matematik. Hemuppgift.

DN1240, Numeriska metoder. Laboration 0 (frivilliga delar) (dvs uppgifterna behöver inte redovisas) Introduktion till UNIX och MATLAB

SF1546, Numeriska Metoder för O1 Lab0 - frivillig. (dvs uppgifterna behöver inte redovisas!)

Erfarenheter från labben

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

Programmering för språkteknologer I, VT2012. Rum

Kursinformation Grundkurs i programmering med Python

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

Pythons standardbibliotek

SF1520, Numeriska Metoder och Grundläggande Programmering för K2 Lab1.

Objektorienterad Programmering (TDDC77)

729G04 Programmering och diskret matematik

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

TANA17 Matematiska beräkningar med MATLAB för M, DPU. Fredrik Berntsson, Linköpings Universitet. 27 oktober 2015 Sida 1 / 31

Funktioner. Linda Mannila

GPT The bitter end. Förra veckan: Rekursiva funktioner som läggs in externa filer har stor räckvidd

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

Administrivia. hh.se/db Verónica Gaspes (Kursansvarig) 2 Mattias Enervall (Övningsassistent) Examination. 1 Skriftlig tentamen (betyg)

Föreläsning 3: Typomvandling, villkor och val, samt textsträngar

Tentamen i. för D1 m fl, även distanskursen. fredag 13 januari 2012

Universitetet i Linköping Institutionen för datavetenskap Anders Haraldsson

Schemaunderlag för Programmering, grundkurs (TDDB18)

DD1311 Programmeringsteknik för CL1 Laborationer läsåret

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

Transkript:

729G04 Programmering och diskret matematik Python'1:'Labbmiljö'och'introduk7on'7ll'Python'

Föreläsningsöversikt Upplägg'för'programmeringsdelen' Labbmiljön' Introduk7on'7ll'Python:' data:'siffror,'text,'listor' funk7oner:'egna'och'inbyggda' (denna'föreläsning'kommer'fortsäda'på'torsdag)'

Kursmål: programmering konstruera'grundläggande'datorprogram'och'formella' modeller'för'enkla'kogni7onsvetenskapliga'7llämpningar' förklara'vad'en'algoritm'är'och'7llämpa'grundläggande' algoritmer' använda'olika'datatyper/datastrukturer' använda'olika'typer'av'styrstrukturer' visa'förståelse'för'vad'datormodellering'innebär'och'ha' förmåga'ad'konstruera'enkla'datorprogram'

Examination: Programmering TEN3'2,5hp:'Datorsalstenta'(G/VG)' LAB5'1hp:'Individuella'labbar'(G)' LAB6'1hp:'Parlabbar'(G)'

Personal under Pythondelen Lärare:'Jody'Foo' Kursassistent:'Evelina'Rennes' Labbassistenter:'Sarah'Albertsson,'Per'Fallgren,'Ove' Jansson,'Evelina'Rennes' Kursadministratör:'Annelie'Almquist'

Upplägg för programmeringsdelen

Tre delar Introduk3on4och4syntax4 Föreläsning'1[3' Labb'0[3,'görs'individuellt' Lek7on'1' Strukturera4programflöde4 Föreläsning'4'&'5' Labb'4'och'5,'görs'i'par' Lek7on'2' Modellering:4grafer4i4Python4 Föreläsning'6[8' Labb'6[8,'görs'i'par' Lek7on'3[5'

Översiktsschema vecka4 FÖ/LE4 Handledda4labb3llfällen4 Inlämning4 40' FÖ'1'&'2' 0.1' 41' 1.1,'2.1' Labb'1' 42' FÖ'3,'LE'1' 2.2,'3.1' Labb'2' 43' 44' FÖ'4' 3.2,'3.3,'4.1' Labb'3' 45' FÖ'5,'LE'2' 4.2,'5.1' Labb'4' 46' 5.2,'5.3' Labb'5' 47' FÖ'6,'LE'3' 6.1' 48' FÖ'7,'LE'4' 6.2,'7.1' Labb'6' 49' FÖ'8,'LE'5' 7.2,'8.1' Labb'7' 50' 8.2' Labb'8' 51' Tenta'

Labbgrupper Individuella4labbar4(labb40J3)4 Anmäl'er'7ll'en'labbgrupp'i'Webreg'(se'kurshemsidan)' Parlabbar4(labb44J8)4 Anmälan'sker'också'via'Webreg.' OBS!'Försök'aD'bilda'labbpar'där'båda'medlemmarna' ligger'på'samma'nivå!'

Inlämning Labbar'skickas'in'via'e[post'(bifoga'kod'etc)'7ll' 729G04@ida.liu.se4 Endast4en4labb4per4eJpost4 Ni'får'bekräfelse'på'aD'den'är'moDagen' Vik7gt'aD'ni'skriver'korrekt'ämnesrad:'labbnummer)+'ert) LiU.ID)+'handledares)ID)t.ex.' Labb'1'jodfo01'[evere22]' Labb'4'jodfo01'jodfo02'[evere22]' E[post'förvandlas'7ll'ärenden'som'blir'7lldelade'räD' labbassistent'

Komplettering av labbar Skicka'in'kompleDering'som'svar'på'bekräfelsen,'så'får'er' labbassistent'en'no7fiering'om'ad'ni'lämnat'in'en' kompledering.'

Varför gör vi på detta viset? Ni'får'bekräfelse'på'aD'en'labb'lämnats'in' Minska'risken'för'aD'labbinlämningar'drunknar'bland'alla' andra'mail' Inlämnade'labbar'kvar'hos'kursen'istället'för'hos'en' labbassistent' Även'om'er'labbassistent'jobbar'kvar'om/när'ni' komplederar'i'fram7den,'hamnar'er'inlämning'på'ed' säkert'ställe'

Rättning och deadlines Översiktsschemat'ger'en'bild'över'när'vilken'labb'ska' lämnas'in.' Det'bästa'är'om'ni'ligger'i'fas' 'om'ni'inte'ligger'i'fas' kommer'ni'ha'labbar'kvar'och'inga'handledda'labbar'ad' gå'på.' Datum'för'räDnings7llfällen'finns'på'kurshemsidan.' Deadlines4 Förstagångsinlämningar:'114januari420164 KompleDeringsinlämningar:'254januari420164

Litteraturhänvisningar På'kurshemsidan'anges'området'för'föreläsningarna,'samt' rekommenderad'kurslideratur.' Använd'innehållsförteckningar'och'index'i'böckerna'eller' Googla'för'hiDa'relevanta'avsniD'aD'läsa.' AD'självständigt'orientera'er'i'liDeraturen'är'en'del'av' kursen.' TIPS:'Den'interak7va'boken'är'bra'+'aD'det'finns' yderligare'resurser'på'kurshemsidan'(klicka'på'"resurser")'

Labbsalar och labbmiljön

Labbmiljön HiDa'7ll'PUL:arna' Konto' Linux'

PUL:arna

IDA-konto Samma'användarnamn'och'lösenord'som'för'LiU[ID'(e[ post'm.m.)' Registrering' 'LiU[ID' 'IDA[konto' Jobba'hemmifrån:' http://www.ida.liu.se/local/students/remote/index.sv.shtml

Fönster och skal

Starta terminal-programmet

Fönster terminalapplikationen och skal Fönster'7ll'applika7onen'Terminal'som'kör'skalet'tsh' (TENEX'C'shell'f.'1975).'ED'skal'(shell)'är'eD' textbaserat'program'som'har'7ll'uppgif'ad'göra'det' möjligt'för'användaren'ad'köra'andra'program'och' kommandon.'

Fönster terminalapplikationen och skal Fönster'7ll'applika7onen'Terminal'som'kör'skalet'bash' (Bourne[again'shell'f.'1989).'

Principer och begrepp för skalfönster prompt' kommandon' argument' förgrund' bakgrund' output/stdout'

Vanliga kommandon ls' 'list' cd' 'change'directory' rm' 'remove' mv' 'move' pwd' 'print'working'directory'

Filsystem?

Filsystem Filer'och'kataloger/mappar'+'symboliska'länkar' tecken' betydelse'./! nuvarnade katalog!../! katalogen ovanför! ~! användarkatalog! ~/! min hemkatalog!

Navigation i skalet zaza <1>!

Navigation i skalet zaza <1> pwd!

Navigation i skalet zaza <1> pwd! /home/jodfo042! zaza <2>!

Navigation i skalet zaza <1> pwd! /home/jodfo042! zaza <2> cd /!

Navigation i skalet zaza <1> pwd! /home/jodfo042! zaza <2> cd /! zaza <3>!

Navigation i skalet zaza <1> pwd! /home/jodfo042! zaza <2> cd /! zaza <3> cd ~/!

Navigation i skalet zaza <1> pwd! /home/jodfo042! zaza <2> cd /! zaza <3> cd ~/! zaza <4>!

Navigation i skalet zaza <1> pwd! /home/jodfo042! zaza <2> cd /! zaza <3> cd ~/! zaza <4> cd ~/www-pub!

Navigation i skalet zaza <1> pwd! /home/jodfo042! zaza <2> cd /! zaza <3> cd ~/! zaza <4> cd ~/www-pub! zaza <5>!

Navigation i skalet zaza <1> pwd! /home/jodfo042! zaza <2> cd /! zaza <3> cd ~/! zaza <4> cd ~/www-pub! zaza <5> cd..!

Navigation i skalet zaza <1> pwd! /home/jodfo042! zaza <2> cd /! zaza <3> cd ~/! zaza <4> cd ~/www-pub! zaza <5> cd..! zaza <6>!

Labb 0: STONE

Programmeringsspråket Python

Varför Python Generellt,'högnivåspråk' Fokus'på'läsbarhet' Flera'programmeringparadigm'kan'användas' Det'går'aD'använda'7ll'vardags'

Om Python - Historia Skapades'av'Guido'van'Rossum' version'1.0:'januari'1994' version'2.0:'oktober'2000' version'3.0:'december'2008' version'3.5:'september'2015' python)is)for)girls)

Så hur ser det här Python ut? Demo'av'IDLE'3:'starta,'spara'fil,'öppna'fil,'ladda'kod,'köra' kod,'interak7vt'läge'

Representera information

Wikimedia Commons, JurgenG!

Siffror

Siffror - numeriska värden Vi'kommer'aD'jobba'med'två'typer'av'siffror:' heltal'(integer):'int' decimaltal:'float' Heltal'och'decimaltal'är'två)olika)datatyper)i'Python.'

Från heltal till flyttal #"För"att"konverer"ett"heltal"till"ett"flyttal"använder"" #"vi"den"inbyggda"funktionen"float()" float(1)$#"ger"1.0" & #"Den"inbyggda"funktionen"int()"konverterar"ett"flyttal" #"till"ett"heltal."observera"att"det"decimala"värdet"inte" #"avrundas,"utan"kapas"(trunkeras)" int(1.1)$#"ger"1" int(1.6)$#"ger"1"

Funktioner

En funktion i matematiken f:&a&+>&b& & Funktionen&f&går&avbildar&mängden&A&på&mängden&B.& & f(x)&=&2x& & Vi&definierar&funktionen&f&som&att&den&tar&in&ett&värde,& argumentet&x.&det&som&"kommer&ut"&från&funktionen&är& värdet&på&x&multiplicerat&med&2.&

En funktion i Python def$min_funktion(x):$ &&&&return$2$*$x$ Vi&definierar&funktionen&min_funktion&som&att&den&tar&in& ett&värde,&argumentet&x.&det&som&"kommer&ut"&från& funktionen&är&värdet&på&x&multiplicerat&med&2.& & & &

Funktionsdefinitionens beståndsdelar funk7onsnamn' argument' returvärde' indentering'för'ad'visa'vad'som'7llhör'funk7onen' def f(x):! return x + x!

Inbyggda funktionen print() #"Funktionen"print()"skriver"ut"saker."Exempel:" print(5)$ print(1.23456789)$ &

Inbyggda funktionen print() #"Vi"definierar"funktionen"min_funktion()." #"OBSERVERA"att"detta"bara"är"definitionen,"inget"anrop!" def$min_funktion(x):$ &&&&return$2$*$x$ & #"Nedanstående"kommer"skriva"ut"10" print(min_funktion(5))$

CODELA: Funktioner hdps://www.ida.liu.se/codela/as/729g04a/funk7oner1'

Datatyp: Sträng En'sträng'är'en'sekvens'av'tecken.' Början'och'slut'på'en'sträng'markeras'med'citaDecken'"' Ex:' "hej"& "Här&är&en&längre&sträng!"& "356"&

Operatorer: jobbar med data

Operatorer +,'[,'/,'*,'%' 5'+'5' 3'['1' 21'/'7' 3'*'7' 7'%'3'

Sätta ihop strängar Använd'operatorn'''+''''med'två'strängar.' "Hej"'+'"san"' '"Hejsan"'

Datatyper är viktiga 5'+'5'='?' "hej"'+'"5"'='?' "hej"'+'5'='?'

CODELA: Siffror, operatorer, strängar https://www.ida.liu.se/codela/as/729g04a/sos&

Variabler

Variabler och tilldelning En'variabel'är'en'e7keD'som'står'för'eD'värde' Låt'e7keDen'x'stå'för'värdet'10' x'='10' Vi'säger'aD'vi'7lldelar'x'värdet'10.' Variablen'på'vänster'sida'om'likhetstecknet'får'värdet' som'vi'beräknar'på'höger'sida.' z'='x'+'y'

Variabler och tilldelning x&=&5& y&=&x& x&=&x&+&y&

Variabelnamn Skillnad'på'stora'och'små'bokstäver' Variabeln'a'är'inte'samma'som'variabeln'A& hej'är'inte'samma'som'hej& För'längre'variabelnamn'används'understreck'som' mellanslag' number_of_students&=&53&

Skillnad på variabelnamn och strängar namn1&=$"pythagoras"$ namn2&=$"triangel"$ & #"Vad"blir"namn3"och"namn4?" namn3&=$namn1$+$"$"$+$namn2$ namn4&=$"namn1"$+$"$"$+$"namn2"$

CODELA: variabler och värden https://www.ida.liu.se/codela/as/729g04a/variabler&