Föreläsning 2 Datalogi för E1 2D1343
Interpreterare och kompilator Två olika typer av program omvandlar högnivå till lågnivå program. Interpreterande program och kompilerande program. Python är ett interpreterande programmeringsspråk. Java, c, c++ är kompilerande programmeringsspråk.
Vad är ett program Input (tangentbord, fil, nätverket …) Output (skärm, fil, ljudkortet) Logiken Matematisk beräkning Jämförelse Villkor satser loop
Språkets syntax Syntax betyder språkets struktur. Följande är en massa ord i svenska språket: Labbarna i tid gör till bonus samla tentamen! Och Kan man gissa fram vad meningen vill egentligen säga? Kan en maskin gissa det utan att missuppfatta meningen? Ovanstående gäller också för olika programmeringsspråk bl.a. Python: Man kan alltså inte skriva: 23 = age Om man vill lagra talet 3 i variabeln age För att datorn ska förstå ska man skriva på följande sätt: age = 23
Värde, datatyp och variabel, Ett värde är en data som ska behandlas av programmet. Ett värde kan ha en typ. Vi delar typen till två stora delar till och börja med tal och strängar. En variabel är ett namn som refererar till ett värde. t.ex: kursbeteckning = ”2D1343”
Utskrift på skärmen 1 2 print ”Hej” print ”Hur är det?” Hej Hej Hur är det? 2 Nu med ett kommatecken
Kommentarer Skriv kod för att lära dig python # Följande sats skriver ut ett # viktig meddelande print ”skriv kod för att lära dig python” Skriv kod för att lära dig python
Variabelnamn Variabelnamn Typ Värde Tilldelning Exempel: age = 20 name = ”vahid”
Reserverade ord Det finns en del ord som programmeraren inte får välja som variabelnamn, de har ett betydelse för språket och därför kallar vi dom reserverade ord: and del for is raise assert elif from lambda try break else global not while class except if or return continue exec import pass def finally in print
Standard data typer Number String List Tuple Dicsionary Integer Long Float Complex number String List Tuple Dicsionary
Omvandling mellan typer string till int agetext = ”21” age = int(agetext) int till string weekdays = 7 wdtext = str(weekdays)
Definition och användning Ett program består av definitioner och användning av definitioner. Det blir fel om vi försöker använda något som inte är definierat. Rätt namn = ”Vahid” print namn,”är 20” Här blir det fel, varför? print namn,”är 20”
Några inbyggda funktioner int(a) divmod(a,b) str(a) pow(a,b) abs(a) round(a) round(a,b) cmp(a,b) len(a) type(a)
import Det finns en hel del andra funktioner som man kan importera från fördefinierade bibliotek, för att importera de så använder man reserverade ordet from och import: t.ex. för att importera funktionen sin() som finns i modulen math så skriver man i programmet: from math import sin
inläsning Inläsning från tangentbordet kan man göra på 3 följande sätt: raw_input() input() sys.stdin.readline() (det sista sättet behöver importera sys modulen)
Operatorer +, -, / ,* :är aritmetiska operatorer som används för tal. **: är en till operator som används för tal. 2**5 returnerar 2*2*2*2*2=32 *, + är två operatorer som kan användas för strängar och listor, förklaringen framgår av exempel på nästa bild:
Jämförelseoperatorer Följande är operatorer som returnerar ett boolskt värde d.v.s. sant eller falskt. Med hjälp av följande operatorer kan man skapa villkor-sats: ==, is !=, not < <= > >=
Exempel A=1 B=1 A==B True A=1 B=1 A is B True A=”hej” B=”hej” A is B False A=”hej”+”1” B=”hej”+”1” A == B True
If-sats If-sats används för att undvika eller påtvinga en-sats att exekveras: Syntax: if villkor-sats : sats som ska exekveras om villkoret är sant
Obs! Läs själv om if-elif-else på exempel age =18 if age<20: print ”Du är inte behörig för”, ”att handla på systembolaget ” Obs! Läs själv om if-elif-else på python kramaren
while-loop(while-slinga) while-slinga har samma funktion som for-slinga d.v.s att används för att upprepa en sak flera ggr fast den har en mycket annorlunda syntax: while ett villkor sats : koden som ska upprepas koden som ska se till att villkoret blir falskt efter ett tag
Exempel iter=0 while iter != 3: print ”Hej”, iter=iter+1 Hej Hej Hej
Indentering Indentering (indragning av kod) betyder mycket för python. iter=0 while iter != 3: print ”Hej”, iter=iter+1 Vad kommer att ovanstående program göra?
återigen print Funktionen print är inställd att mellan varje objekt som ska skrivas ut lägga till en extra mellanslag. t.ex: print ”python är”, ”enkel” python är enkel Detta kan man stänga av genom att skriva sys.stdout.softspace=False Efter print satsen