föreläsning 2 datalogi för e1 2d1343

24
Föreläsning 2 Datalogi för E1 2D1343

Upload: heavynne-mays

Post on 04-Jan-2016

36 views

Category:

Documents


1 download

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 Presentation

TRANSCRIPT

Page 1: Föreläsning 2 Datalogi för E1 2D1343

Föreläsning 2Datalogi för E1 2D1343

Page 2: 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.

Page 3: Föreläsning 2 Datalogi för E1 2D1343

Vad är ett program

• Input (tangentbord, fil, nätverket …)• Output (skärm, fil, ljudkortet)• Logiken

– Matematisk beräkning– Jämförelse – Villkor satser– loop

Page 4: Föreläsning 2 Datalogi för E1 2D1343

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

Page 5: Föreläsning 2 Datalogi för E1 2D1343

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”

Page 6: Föreläsning 2 Datalogi för E1 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

Page 7: Föreläsning 2 Datalogi för E1 2D1343

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

Page 8: Föreläsning 2 Datalogi för E1 2D1343

Variabelnamn

• Variabelnamn

• Typ

• Värde

• Tilldelning

Exempel:

age = 20

name = ”vahid”

Page 9: Föreläsning 2 Datalogi för E1 2D1343

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

Page 10: Föreläsning 2 Datalogi för E1 2D1343

Standard data typer

• Number– Integer– Long– Float– Complex number

• String• List• Tuple• Dicsionary

Page 11: Föreläsning 2 Datalogi för E1 2D1343

Omvandling mellan typer

string till intagetext = ”21”age = int(agetext)

int till stringweekdays = 7wdtext = str(weekdays)

Page 12: Föreläsning 2 Datalogi för E1 2D1343

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”

Page 13: Föreläsning 2 Datalogi för E1 2D1343

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)

Page 14: Föreläsning 2 Datalogi för E1 2D1343

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

Page 15: Föreläsning 2 Datalogi för E1 2D1343

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)

Page 16: Föreläsning 2 Datalogi för E1 2D1343

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:

Page 17: Föreläsning 2 Datalogi för E1 2D1343

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

<

<=

>

>=

Page 18: Föreläsning 2 Datalogi för E1 2D1343

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

Page 19: Föreläsning 2 Datalogi för E1 2D1343

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

Page 20: Föreläsning 2 Datalogi för E1 2D1343

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

Page 21: Föreläsning 2 Datalogi för E1 2D1343

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

Page 22: Föreläsning 2 Datalogi för E1 2D1343

Exempeliter=0while iter != 3:

print ”Hej”,iter=iter+1

Hej Hej Hej

Page 23: Föreläsning 2 Datalogi för E1 2D1343

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?

Page 24: Föreläsning 2 Datalogi för E1 2D1343

å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