föreläsning 2 datalogi för e1 2d1343
DESCRIPTION
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. - PowerPoint PPT PresentationTRANSCRIPT
Föreläsning 2Datalogi 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! OchKan 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 = ageOm man vill lagra talet 3 i variabeln ageFö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
print ”Hej”,print ”Hur är det?”
Hej Hur är det?
print ”Hej”print ”Hur är det?”
HejHur är det?
Nu med ett kommatecken
Kommentarer
# 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
raiseassert elif from lambda trybreak else global not
whileclass except if or returncontinue exec import passdef finally in print
Standard data typer
• Number– Integer– Long– Float– Complex number
• String• List• Tuple• Dicsionary
Omvandling mellan typer
string till intagetext = ”21”age = int(agetext)
int till stringweekdays = 7wdtext = str(weekdays)
Definition och användningEtt 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ättnamn = ”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:
1. raw_input()2. input()3. 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
<
<=
>
>=
ExempelA=1B=1A==B
True
A=1B=1A is B
True
A=”hej”B=”hej”A is B
True
A=”hej”+”1”B=”hej”+”1”A is B
False
A=”hej”B=”hej”A == B
True
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
exempelage =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
Exempeliter=0while iter != 3:
print ”Hej”,iter=iter+1
Hej Hej Hej
Indentering
Indentering (indragning av kod) betyder mycket för python.
iter=0while 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 skrivasys.stdout.softspace=False Efter print satsen