Upload
duongkhanh
View
216
Download
0
Embed Size (px)
Citation preview
L U L E Å T E K N I S K A U N I V E R S I T ETD 0 0 0 9 ES Y S T E M T E K N I K
INTRODUKTION TILL PROGRAMMERING
1
Introduktion till programmeringD0009E
Föreläsning 1: “Programmets väg”
L U L E Å T E K N I S K A U N I V E R S I T ETD 0 0 0 9 ES Y S T E M T E K N I K
INTRODUKTION TILL PROGRAMMERING
2
Vad är en dator?
� En maskin vars beteende styrs av de innehållet (bitmönster) som finns lagrade i datorns minne(inte helt olikt förra seklets självspelande pianon!)
� Att programmera en dator handlar alltså om att lägga in önskade bitmönster i datorns minne...
� Problemet är bara att människor har väldigt svårt att tänka i termer av bitmönster(jämför att spela piano genom att stansa hålrullar)
� Lyckligtvis kan vi ta hjälp av andra program när vi programmerar!
L U L E Å T E K N I S K A U N I V E R S I T ETD 0 0 0 9 ES Y S T E M T E K N I K
INTRODUKTION TILL PROGRAMMERING
Enkel mental model av datorn
3
CPU
Minne
Minne lagrar information
Processor förändrar information- det är den vi programmerar,- kan man säga
L U L E Å T E K N I S K A U N I V E R S I T ETD 0 0 0 9 ES Y S T E M T E K N I K
INTRODUKTION TILL PROGRAMMERING
Programmeringsparadigmer
� Olika paradigmer
• fundamentalt olika sätt att programmera
4
Programmeringsspråk
Deklarativa språk
Funktionella språk Logikspråk
Imperativa språk
Denna kurs
L U L E Å T E K N I S K A U N I V E R S I T ETD 0 0 0 9 ES Y S T E M T E K N I K
INTRODUKTION TILL PROGRAMMERING
Vad är ett program?
� Ett imperativt program är en sekvens av instruktioner till datorn• skrivna på ett speciellt språk
• programmeringsspråk
� Instruktionerna utförs, en efter en• när dom är slut är programmet slut
� Varje instruktion utför något• Ändrar datorns tillstånd/bitmönster
� Ordningen väldigt viktig• Inte samma program om vi kastar om instruktionerna
� Det finns programmeringsspråk som fungerar helt annorlunda• dessa kallas deklarativa språk• ...men dom tar vi inte upp i denhär kursen
5
L U L E Å T E K N I S K A U N I V E R S I T ETD 0 0 0 9 ES Y S T E M T E K N I K
INTRODUKTION TILL PROGRAMMERING
Ett enkelt ”program” för att brygga kaffe ☺
� häll i vatten i behållaren
� ta fram ett kaffefilter
� häll i en skopa kaffe i filtret
� upprepa ovanstående tills tillräckligt med kaffe finns i filtret
� montera filtret
� slå på bryggaren
� titta efter om kaffet är klart
� upprepa ovanstående tills kaffet är klart
� häll upp kaffet
6
L U L E Å T E K N I S K A U N I V E R S I T ETD 0 0 0 9 ES Y S T E M T E K N I K
INTRODUKTION TILL PROGRAMMERING
7
Python
� Ett modernt interpreterat högnivåspråk
� Exempel på andra språk som du kanske hört talas om: C, Pascal, C++, Java, Ada, Tcl, Perl, Visual Basic, C#, ...
� Exempel på språk som enbart kan beskriva data men inte beräkningar: HTML, XML, ASN.1, ...
� Python är fritt tillgängligt (python.org) och stödjer en mängd datorplattformar – installera gärna hemma!
� Populärt inom open-source-världen, används bl a av Google, NASA, AstraZeneca, Honywell och NYSE
� Blir allt vanligare på universiteten, på LTU från 2006!
L U L E Å T E K N I S K A U N I V E R S I T ETD 0 0 0 9 ES Y S T E M T E K N I K
INTRODUKTION TILL PROGRAMMERING
8
Python-interpretatorn
� Kan startas direkt från datorns kommandorad:python
� Interpretatorn svarar dåPython 2.3.5 (#1, Mar 20 2005, 20:38:20)Type "help", "copyright", "credits" or "license" for more
information.>>>
� Prompten >>> markerar att interpretatorn är beredd att ta emot kommandon, t exprint 1+1
� Interpretatorns svar på detta kommando blir2
samt en ny prompt. Sessionen kan avslutas med (ctrl)D
L U L E Å T E K N I S K A U N I V E R S I T ETD 0 0 0 9 ES Y S T E M T E K N I K
INTRODUKTION TILL PROGRAMMERING
9
Python-script
� Alternativt kan de kommandon man önskar köra samlas i en fil, ett s k script (program)
� Exempel: antag att filen kalle.py innehåller kommandotprint 1+1
� Om interpretatorn nu startas genom att man skriverpython kalle.py
kommer resultatet2
att skrivas ut, varefter interpretatorn avslutas direkt
L U L E Å T E K N I S K A U N I V E R S I T ETD 0 0 0 9 ES Y S T E M T E K N I K
INTRODUKTION TILL PROGRAMMERING
10
Python-miljön IDLE
� Vi kommer oftast att arbeta med Python-program i den integrerade utvecklingsmiljön IDLE
� IDLE är ett fönster-baserat program som• kör Python-interpretatorn som en underprocess i fönstret Python Shell
• kan öppna och redigera Python-script (filer som slutar på .py) i separata fönster
� Fönstren använder färger för att göra Python-texterna mer lättlästa
� Aktuellt script kan enkelt köras med knappen F5
L U L E Å T E K N I S K A U N I V E R S I T ETD 0 0 0 9 ES Y S T E M T E K N I K
INTRODUKTION TILL PROGRAMMERING
11
Byggstenarna i ett program
� Hämta indata (från tangentbord, fil, nätverk, ...)
� Producera utdata (på skärm, fil, nätverk, ...)
� Matematiska operationer (+, -, *, <, ...)
� Villkorlig körning
� Repetition
� Vi har redan sett exempel på produktion av utdata (kommandot print) och matematik (uttrycket 1+1). Övrigt följer, men är i grunden lika enkelt.
� Konsten att programmera är att kunna sätta samman dessa byggstenar till meningsfulla större enheter!
L U L E Å T E K N I S K A U N I V E R S I T ETD 0 0 0 9 ES Y S T E M T E K N I K
INTRODUKTION TILL PROGRAMMERING
12
Det klassiska första programmet
� Brukar användas som exempel på den mest triviala uppgift ett program kan ha: skriv ut texten
Hello, World!
som resultat och avsluta sedan
� I Python blir detta rätt och slätt kommandot
print ”Hello, World!”
� Observera citat-tecknen, de är exempel på en syntaktisk detalj av avgörande betydelse i ett formellt språk men som ofta kan utelämnas i naturligt språk
� I nästa kapitel ska vi titta vidare på dessa skillnader!
L U L E Å T E K N I S K A U N I V E R S I T ETD 0 0 0 9 ES Y S T E M T E K N I K
INTRODUKTION TILL PROGRAMMERING
Litet enkelt program
13
print "-- Mitt program --"v = 3g = 4print v,"multilicerat med ",g," blir ",v*gprint "-- Slut på mitt program --"
Programmet:
Resultatet av körning:
-- Mitt program --3 multilicerat med 4 blir 12-- Slut på mitt program --
L U L E Å T E K N I S K A U N I V E R S I T ETD 0 0 0 9 ES Y S T E M T E K N I K
INTRODUKTION TILL PROGRAMMERING
14
Variabler
� Central egenskap hos programspråk: att kunna ge namn åt värden. Dessa namn kallas variabler.
� "Ge en variabel ett värde" synonymt med "ge värdet ett namn"
� I Python:
>>> message = "What's up, Doc?"
>>> n = 17
>>> pi = 3.14159
L U L E Å T E K N I S K A U N I V E R S I T ETD 0 0 0 9 ES Y S T E M T E K N I K
INTRODUKTION TILL PROGRAMMERING
15
Värden
� De grundläggande saker som en dator manipulerar –resultaten av beräkningar – kallas värden
� Värden vi stött på: 2 och "Hello, World!"
� Olika typer av värden:• 2 är ett heltal (integer)• "Hello, World!" är en sträng av tecken (string)
� Tal med decimaler utgör en egen typ:• 2.0 och 3.14 är exempel på flyttal (float)
� Observera citat-tecknen:• "2" och "3.14" är båda värden av typen string