Introduktion till programmering och Python Hösten 2009
Dagens lektion Vad är programmering? Vad är en dator? Filer Att tala med datorer En första titt på Python 2
Vad är programmering? 3
VAD ÄR PROGRAMMERING? Varför programmering är roligt Kombination av puzzellösning och kreativt skapande. Det ger nära omedelbar återkoppling. Stolheten av att mitt arbete används av andra och gör deras liv enklare. Farsinationen av att ta en maskin designad utan en specifik uppgift och låta den göra det jag vill. Glädjen att ständigt lära sig något nytt 4
Vad är en dator? 5
VAD ÄR EN DATOR? Vad behövs i en dator? Processor Utför begärda instruktioner som beräkningar eller datahantering. Beräkningar som aritmetiska operationer (plus, minus, gånger, delat) Datahantering som att styra data till olika delar av datorn. När ett program exekveras (körs), sänds en ström av instruktioner till processorn i form av s.k. maskinkod. 6
VAD ÄR EN DATOR? Vad behövs i en dator? Minne Minne finns i (minst) tre nivåer Supersnabbt men litet minne nära processorn (cache). Snabbt internminne. Töms när spänningen stängs av. Långsam hårddisk. Stor, långsam och behåller data även när spänningen stängs av. 7
VAD ÄR EN DATOR? Vad behövs i en dator? In-enheter Tangentbord Styrenheter (t.ex. möss) Mikrofon 8
VAD ÄR EN DATOR? Vad behövs i en dator? Ut-enheter Bildskärm (grafik styrs av grafikenhet) Högtalare (styrs av ljudenheter) 9
VAD ÄR EN DATOR? Moderkortet 10
VAD ÄR EN DATOR? VIA Epia-M 11
VAD ÄR EN DATOR? Digitalt Betyder tå eller finger på latin (digtus) Man räknar på fingrarna i diskreta storheter Jämför med analoga storheter som är kontinuerligt varierande. Något som är representerat digitalt kan kopieras exakt. 12
VAD ÄR EN DATOR? Ettor och nollor Vårt vanliga talsystem har basen 10 (decimalt) Gamla räknemaskiner hade hjul med 10 taggar. I elektronik enklare med enbart två tillstånd På eller av Positiv eller negativ Talsystem med basen 2 (binärt). 13
VAD ÄR EN DATOR? Byte och bit En bit antingen 1 eller 0 En byte är 8 bitar Nätverkshastighet angett i bitar per sekund. Datalagring angett i byte. 14
Filer 15
FILER Filer på en dator En fil består av en sekvens av digitalt data (ettor och nollor). Upp till program att tolka dessa siffror. Skillnad mellan binära filer och textfiler. Skillnad mellan 5 och 5. Siffran 5 (binärt 00000101) Textteknet 5 ofta representerat av 53 (binärt 00110101) Varje texttecken representerat av 1-4 byte. En textfil en sekvens av siffror som tolkas av program till tecken och bokstäver. 16
FILER Teckentabeller 17
Att tala med datorer 18
ATT TALA MED DATORER Ett språks syntax Ordet syntax kommer av grekiskan syntaxis syn betyder "samman" och taxis betyder "ordning", "sekvens" Inom lingvistiken betyder det en beskrivningar i form av regler för hur man i ett givet språk sätter samman enskilda enheter (ord, lexem) till komplexa strukturer, satser och meningar. 19
ATT TALA MED DATORER Semantik Ordet semantik kommer från grekiskans semantikos och semantikos som betyder "meningsfull" och sema som betyder tecken. Semantik är studiet av teckensystems innebörd och tolkning 20
ATT TALA MED DATORER Hög- och lågnivåspråk Högnivåspråk är ett hitte-på-språk vars text relativt lätt kan läsas, skrivas och förstås av människor. Text i ett högnivåspråk översätts av program till maskinkod. En enda instruktion i ett högnivåspråk kan betyda massor av instruktioner i maskinkod. Ett lågnivåspråk är ett mellanting mellan maskinkod och högnivåspråk. 21
ATT TALA MED DATORER Kompilering eller interpretering Två strategier för att köra (exekvera) ett program. Kompilera en text till en separat fil som sedan kan exekveras Kompilera betyder att översätta en text till maskinkod En text översätts "live" (interpreteras) till maskinkod som sänds direkt till processorn Interpreterande högnivåspråk kallas ibland också skriptspråk 22
ATT TALA MED DATORER Exempel på programmeringsspråk Lågnivåspråk Assembler Högnivåspråk Python Java C C++ C# 23
ATT TALA MED DATORER Kompilera eller interpretera Källkod Kompilator Interpretator 0 1 1 1 0 0 1 0 1 körbarbart program 1 1 1 0 0 0 0 0 0 1 1 1 1 0 0 0 1 1 maskinkod maskinkod 24
En första titt på Python 25
EN FÖRSTA TITT PÅ PYTHON Python Python är ett interpreterande högnivåspråk. Program skrivna i Python iterpreteras (tolkas) av pythontolken. Skapades 1990 av Guido van Rossum. 26
EN FÖRSTA TITT PÅ PYTHON Varför är Python bra? Lättläst Portabelt Ofta använt Bra ingång till andra språk 27
EN FÖRSTA TITT PÅ PYTHON När är Python olämpligt? Inte lämpligt till stora mjukvaruprojekt där hög prsetanda krävs. Interpreterande språk är förhållandevis långsamma jämfört med kompilerade. 28
EN FÖRSTA TITT PÅ PYTHON Python och dess moduler Python Språket Python inte stort. Kan importera moduler skrivna för vitt skilda områden. Språket är alltså både litet och enormt. Standardmoduler Följer med när man installerar Python på sin dator. Ungefär 350, bl.a. för att hantera filer, databaser och mejl. Övriga moduler 29 Finns att ladda ned eller så kan man skriva egna
EN FÖRSTA TITT PÅ PYTHON Pythontolken 30
EN FÖRSTA TITT PÅ PYTHON Skriva direkt i tolken Programmering kan ske direkt i tolken Instruktionerna utförs direkt Programmen kan inte upprepas utan att skriva in dem igen 31
EN FÖRSTA TITT PÅ PYTHON Namngivna värden - variabler Vi kan namnge värden i minnet. Dessa kallas variabler Namnet kommer av att en variabel med ett visst namn kan ändra värde. Ett variabelnamn får innehålla tecknen a-z, _ samt 1-9 Siffror får inte inleda variabelnamnet 32
EN FÖRSTA TITT PÅ PYTHON Tilldelning Man säger att en variabel tilldelas ett värde >>> x = 3 >>> y = 7 >>> x + y 10 >>> x * y 21 33
EN FÖRSTA TITT PÅ PYTHON Kommentarer En kommentar inleds med tecknet # All text på raden efter # ignoreras av interpretatorn Används för att förklara för sig själv och andra vad programmet gör. 34
EN FÖRSTA TITT PÅ PYTHON Ett första program Skriv koden i en textfil, t.ex. hello.py print "Hello world!" Anropa filen direkt i fönstret >> python hello.py 35