SlideShare a Scribd company logo
Introduktion till
Programmering
Programmering med Python
Dagens föreläsning
1. Programmering– Vad är det egentligen?
2. Programmeringsspråk – Python?
3. Programmeringsmiljö?
1. IDLE
2. Terminalen/Konsolen
4. Att börja programmera
1. Hur skriver man?
2. Var skriver man?
3. Hur kör man sin kod?
5. Introduktiontill datatyper& variabler i Python
Frågor innan vi börjar?
http://www.quickmeme.com/img/f4/f46c46516f158e354bc8b526993df1bacc8d2bbe4ab0f595ae5f848cb9289320.jpg
Programmering
• Programmering går ut på att ge instruktionertill dator
• Datorn gör det du säger till den, och inget annat
• Datorn behöver specifika instruktioner
http://www.wilsoninfo.com/computer/my-one-true-love-computer.jpg
Exempel på instruktioner
• Matematiska instruktioner (beräkningar)
• 5 + 5
• 10 * 2
• 20 / 4
• Instruktioneratt skriva ut saker (output)
• print (”Hello World!”)
• print (”Tjena kexet, sitter du här och smular?”)
• Instruktion att hämta data från användare (input)
• input(”Hej, vad heterdu?”)
• input(”Vilket ärSverigesbästa fotbollslag?”)
Hur fungerar ett program?
• Program är en (ofta väldigt stor) samling av maskininkod – som innehåller
instruktioner till datorn
• Det är väldigt ovanligt att en person skriver maskinkod direkt, då detta inte är så
enkelt…
Lågnivå- och högnivåspråk
• Maskinkod var ju inte så enkelt att förstå… men det gör inget!
• Maskinkod är ett lågnivåspråk
• Binärt och hexadecimalt
• Vi kommer att jobbat med högnivåspråk
• T.ex. Python, JavaScript,C#,, C++, Java, PHP, Ruby, etc.
Resultat(3 körningar)
Hur fungerar högnivåspråk?
• Hur kan datorn förstå vår högnivåprogrammering, när den bara förstår binära tal?
• Vi översättervårhögnivåkodtill lågnivå
• Detta kan man göra på två olika sätt:
• Genomen tolk
• Genomen kompilator
Tolkning och kompilering av kod
• Tolkning av kod sker ”on the fly”
• Kompilering av kod sker ”i förväg”
Program?
Vad gör ett program egentligen?
Input
Output
Beräkningar
Konditional exekvering
Repetition
Från användare
Till användare
Beräkningar
If-satser
Iterationer
Error?
Men nä, va, hur?
Olika typer av fel
• Syntax – Följer inte programmeringsspråket regler (grammatik)
• 2 + ”hej”
• print(hej)
• Runtime – Fel under programmets körning
• Semantiska fel -
Kärlek till programmering…
Debugging
• Att lära sig hantera dessa felmeddelande är en programmerares vardag
• Ju mer ni programmerar,ju bättre kommer ni att bli på detta
• Kom ihåg – alla gör fel, mest hela tiden!
• Tänk på att programmeringsspråk är formella språk – och måste vara exakta
• Till skillnad från naturliga språk som t.ex. svenska och engelska därvi inte behövervara exakta för
att förstå varandra – vi kan till och med använda slang – och förstå varandra! =)
Varför läser vi
programmering?
Kan man utforma bra
webbplatser utan att
kunna webbtekniker?
Kan man utforma bra
informationssystem utan
att kunna programmera?
Design Utveckling
Design Utveckling
Design Utveckling
Design Utveckling
Vilka använder Python?
Programmera program
Att skapa ett program
• Uppgiftsformulering, vad är det för uppgift som ska lösas?
• Vilka steg behöver utföras för att lösa uppgiften?
• Vilka instruktioner kan användas för att utföra varje delsteg (algoritm)
Algoritmer
En beskrivning över hur man löser ett problem. Algoritmen består av ett antal
instruktioner och beskriver i vilken ordning instruktionernaska utföras.
http://upload.wikimedia.org/wikipedia/commons/thumb/3/3c/LampFlow
chart-sv.svg/250px-LampFlowchart-sv.svg.pnghttp://www.recepten.se/recept/pasta_carbonara.html
Att tänka på
• Uppgiftsformulering,vadär det för uppgift som ska lösas? Formulera uppgifteni termer av vad en
dator kan utföra. Avgränsa problemet, vadär en del av uppgiften? Vad ingår inte?
• Algoritmkonstruktion, vilka algoritmer är de mest lämpliga för detta problem? Konstruera strukturen
på programmet och skriv ner så kallad pseudokod. Detta är kreativ problemlösning.
• Kodning,översätt pseudokoden till ett programmeringsspråk t.ex. JavaScript eller Python
• Dokumentation,beskriva din lösning både i löpande text, med hjälp av UML och som kommentarer i
programmet.
• Verifikation,är programmet byggt på ett bra sätt så att det löser uppgiftenutan att fel uppståroch det
är lätt att underhålla.
• Validering,är användarennöjdmed hur programmet fungerar. Underhåll, åtgärda buggar, förbättra
och lägg till funktionalitet.
• Underhåll,åtgärda buggar, förbättra och lägg till funktionalitet.
Johans tips
Tillbaka till Python
”Pythonär ett programspråk som utformades i slutet av 1980-talet av Guido van
Rossum. Python har utvecklats till ett kraftfullt och samtidigt smidigt språk med stöd
för flera olika programmeringsparadigmer, bland annat
objektorienterad och funktionell programmering. Till språket hör ett rikt
standardbibliotek.”
https://sv.wikipedia.org/wiki/Python_(programspråk)
Python - utvecklingsmiljö
• Vi kommer att arbeta i Pythons egna utvecklingsmiljö IDLE
• Denna installerasautomatiskt närman installerarPython
• Man kan använda valfri utvecklingsmiljö, t.ex. egna textredigerare
• Men då får man exekvera sin kod från terminalen/konsolenistället
Datatyper?
• För att Python ska veta vad för typ av data som hanteras behöver vi delge denna
information till Python
• De olika datatypernasom vi kommer att titta på är:
• Number(int, float)
• String
• Boolean
• List
• Tuple
• Dictionary
Räkna med Python
• Python är väldigt bra på att räkna, vilket vi kan göra genom vanliga matematiska
uttryck.
• När vi räknar och gör matematiska operationer använder vi oss utav datatypen
number (numerisk datatyp).Här kan vi räkna med heltal.
• Vill vi istället räkna med decimaler använder vi datatypenfloat
Operander i Python
https://sv.wikipedia.org/wiki/Python_(programspråk)
Hantera text med Python
• Vill vi skriva ut text i Python så använder vi datatypenstring(textsträng).Tänk på att
textsträngar är just bara text – d.v.s. tecken uppradade efter varandra.
• Vi kan därfört.ex. inte räkna med strängar
• Strängar skrivs m.h.a. ’ eller ”
Lägga ihop strängar med varandra
• Detta vill man ofta göra för att bygga upp meddelande till användaren av ens
program. T.ex.
• Vi tar alltså de strängarna som står på varje sida av ”+” och sammanfogar dessa.
• Skulle vi försöka med räkna mer strängar får vi alltså inte önskat resultat.T.ex.
Variabler
• När man bygger ett program vill man gärna spara undan värde, så att vi kan
använda dem vid ett senare tillfälle.
• Hur kul vore det om man glömde allt – hela tiden?
• Detta gör man genom att använda variabler
• Variablerär ett namn som refererartill ett värde (kan vara av vilken datatypsom helst)
• Man skapar en variabel genom att
1. Välja ett lämpligt namn
2. Tilldela ett lämpligt värde genom”=”-tecknet
Ange datatyper?
Python listar ut detta beroende värde
Kommentarer
• Det är en god idé att dokumentera sin kod
• Man glömmerbort vad koden gör
• Man glömmerbort hur koden gör det
• Man glömmerbort varförkoden gör det
• Man kommenterar sin kod genom #
HT16 - DA354A - Introduktion till programmering (Python)

More Related Content

What's hot

Atomer, molekyler och kemiska reaktioner text
Atomer, molekyler och kemiska reaktioner   textAtomer, molekyler och kemiska reaktioner   text
Atomer, molekyler och kemiska reaktioner textMalin Åhrby
 
Lena Koinberg | Kemi: Livets kemi del 2
Lena Koinberg | Kemi: Livets kemi del 2Lena Koinberg | Kemi: Livets kemi del 2
Lena Koinberg | Kemi: Livets kemi del 2
Lena Koinberg
 
Lena Koinberg | Fysik NP Repetition: Sammanfattning åk 7
Lena Koinberg | Fysik NP Repetition: Sammanfattning åk 7Lena Koinberg | Fysik NP Repetition: Sammanfattning åk 7
Lena Koinberg | Fysik NP Repetition: Sammanfattning åk 7
Lena Koinberg
 
Lena Koinberg | Kemi: Atomer, joner och reaktioner del 1
Lena Koinberg | Kemi: Atomer, joner och reaktioner del 1Lena Koinberg | Kemi: Atomer, joner och reaktioner del 1
Lena Koinberg | Kemi: Atomer, joner och reaktioner del 1
Lena Koinberg
 
Lena Koinberg | Biologi: Ditt liv
Lena Koinberg | Biologi: Ditt livLena Koinberg | Biologi: Ditt liv
Lena Koinberg | Biologi: Ditt liv
Lena Koinberg
 
Lena Koinberg | Kemi NP repetition: Sammanfattning åk 8
Lena Koinberg | Kemi NP repetition: Sammanfattning åk 8Lena Koinberg | Kemi NP repetition: Sammanfattning åk 8
Lena Koinberg | Kemi NP repetition: Sammanfattning åk 8
Lena Koinberg
 
Celler celldelning och proteinsyntes
Celler celldelning och proteinsyntesCeller celldelning och proteinsyntes
Celler celldelning och proteinsyntesMoa Wikner
 
Lena Koinberg | Kemi: Hållbar utveckling
Lena Koinberg | Kemi: Hållbar utvecklingLena Koinberg | Kemi: Hållbar utveckling
Lena Koinberg | Kemi: Hållbar utveckling
Lena Koinberg
 
Lena Koinberg | Fysik: Energi
Lena Koinberg | Fysik: EnergiLena Koinberg | Fysik: Energi
Lena Koinberg | Fysik: Energi
Lena Koinberg
 
Lena Koinberg | Baskemi: Syror och baser
Lena Koinberg | Baskemi: Syror och baserLena Koinberg | Baskemi: Syror och baser
Lena Koinberg | Baskemi: Syror och baser
Lena Koinberg
 
Genetik
GenetikGenetik
Genetik
NOHasse
 
Ljusbrytning
LjusbrytningLjusbrytning
Ljusbrytningelanon
 
Ellära del 1 vt 15
Ellära del 1            vt 15Ellära del 1            vt 15
Ellära del 1 vt 15gulzay
 
Lena Koinberg | Fysik: Solsystemet
Lena Koinberg | Fysik: SolsystemetLena Koinberg | Fysik: Solsystemet
Lena Koinberg | Fysik: Solsystemet
Lena Koinberg
 
Genetik
GenetikGenetik
Genetikgulzay
 
Elektricitet
ElektricitetElektricitet
Elektricitet
Parisa_rasooli
 
Lena Koinberg | Fysik: Rörelse
Lena Koinberg | Fysik: RörelseLena Koinberg | Fysik: Rörelse
Lena Koinberg | Fysik: Rörelse
Lena Koinberg
 
Lena Koinberg | Kemi: Livets kemi del 1
Lena Koinberg | Kemi: Livets kemi del 1Lena Koinberg | Kemi: Livets kemi del 1
Lena Koinberg | Kemi: Livets kemi del 1
Lena Koinberg
 
Lena Koinberg | Biologi: Människan del 1
Lena Koinberg | Biologi: Människan del 1Lena Koinberg | Biologi: Människan del 1
Lena Koinberg | Biologi: Människan del 1
Lena Koinberg
 
Lena Koinberg | Fysik: Mått och materia
Lena Koinberg | Fysik: Mått och materiaLena Koinberg | Fysik: Mått och materia
Lena Koinberg | Fysik: Mått och materia
Lena Koinberg
 

What's hot (20)

Atomer, molekyler och kemiska reaktioner text
Atomer, molekyler och kemiska reaktioner   textAtomer, molekyler och kemiska reaktioner   text
Atomer, molekyler och kemiska reaktioner text
 
Lena Koinberg | Kemi: Livets kemi del 2
Lena Koinberg | Kemi: Livets kemi del 2Lena Koinberg | Kemi: Livets kemi del 2
Lena Koinberg | Kemi: Livets kemi del 2
 
Lena Koinberg | Fysik NP Repetition: Sammanfattning åk 7
Lena Koinberg | Fysik NP Repetition: Sammanfattning åk 7Lena Koinberg | Fysik NP Repetition: Sammanfattning åk 7
Lena Koinberg | Fysik NP Repetition: Sammanfattning åk 7
 
Lena Koinberg | Kemi: Atomer, joner och reaktioner del 1
Lena Koinberg | Kemi: Atomer, joner och reaktioner del 1Lena Koinberg | Kemi: Atomer, joner och reaktioner del 1
Lena Koinberg | Kemi: Atomer, joner och reaktioner del 1
 
Lena Koinberg | Biologi: Ditt liv
Lena Koinberg | Biologi: Ditt livLena Koinberg | Biologi: Ditt liv
Lena Koinberg | Biologi: Ditt liv
 
Lena Koinberg | Kemi NP repetition: Sammanfattning åk 8
Lena Koinberg | Kemi NP repetition: Sammanfattning åk 8Lena Koinberg | Kemi NP repetition: Sammanfattning åk 8
Lena Koinberg | Kemi NP repetition: Sammanfattning åk 8
 
Celler celldelning och proteinsyntes
Celler celldelning och proteinsyntesCeller celldelning och proteinsyntes
Celler celldelning och proteinsyntes
 
Lena Koinberg | Kemi: Hållbar utveckling
Lena Koinberg | Kemi: Hållbar utvecklingLena Koinberg | Kemi: Hållbar utveckling
Lena Koinberg | Kemi: Hållbar utveckling
 
Lena Koinberg | Fysik: Energi
Lena Koinberg | Fysik: EnergiLena Koinberg | Fysik: Energi
Lena Koinberg | Fysik: Energi
 
Lena Koinberg | Baskemi: Syror och baser
Lena Koinberg | Baskemi: Syror och baserLena Koinberg | Baskemi: Syror och baser
Lena Koinberg | Baskemi: Syror och baser
 
Genetik
GenetikGenetik
Genetik
 
Ljusbrytning
LjusbrytningLjusbrytning
Ljusbrytning
 
Ellära del 1 vt 15
Ellära del 1            vt 15Ellära del 1            vt 15
Ellära del 1 vt 15
 
Lena Koinberg | Fysik: Solsystemet
Lena Koinberg | Fysik: SolsystemetLena Koinberg | Fysik: Solsystemet
Lena Koinberg | Fysik: Solsystemet
 
Genetik
GenetikGenetik
Genetik
 
Elektricitet
ElektricitetElektricitet
Elektricitet
 
Lena Koinberg | Fysik: Rörelse
Lena Koinberg | Fysik: RörelseLena Koinberg | Fysik: Rörelse
Lena Koinberg | Fysik: Rörelse
 
Lena Koinberg | Kemi: Livets kemi del 1
Lena Koinberg | Kemi: Livets kemi del 1Lena Koinberg | Kemi: Livets kemi del 1
Lena Koinberg | Kemi: Livets kemi del 1
 
Lena Koinberg | Biologi: Människan del 1
Lena Koinberg | Biologi: Människan del 1Lena Koinberg | Biologi: Människan del 1
Lena Koinberg | Biologi: Människan del 1
 
Lena Koinberg | Fysik: Mått och materia
Lena Koinberg | Fysik: Mått och materiaLena Koinberg | Fysik: Mått och materia
Lena Koinberg | Fysik: Mått och materia
 

Viewers also liked

Magnetic particle inspection
Magnetic particle inspectionMagnetic particle inspection
Magnetic particle inspection
Taral Soliya
 
【地域おこしVR研究会】第1回勉強会「VR業界動向とコンテンツ制作入門」
【地域おこしVR研究会】第1回勉強会「VR業界動向とコンテンツ制作入門」【地域おこしVR研究会】第1回勉強会「VR業界動向とコンテンツ制作入門」
【地域おこしVR研究会】第1回勉強会「VR業界動向とコンテンツ制作入門」
Hiromichi Yamada
 
200 ribu orang turun demo ahok dengan biaya rp 100 miliar
200 ribu orang turun demo ahok dengan biaya rp 100 miliar200 ribu orang turun demo ahok dengan biaya rp 100 miliar
200 ribu orang turun demo ahok dengan biaya rp 100 miliar
Warnet Raha
 
EXTRA MATERIALS UNITS 1 AND 2
EXTRA MATERIALS UNITS 1 AND 2EXTRA MATERIALS UNITS 1 AND 2
EXTRA MATERIALS UNITS 1 AND 2
Mari Jimenez
 
Contenidos ni1 ni2
Contenidos ni1 ni2Contenidos ni1 ni2
Contenidos ni1 ni2
Mari Jimenez
 
Contenidos ni1 ni2
Contenidos ni1 ni2Contenidos ni1 ni2
Contenidos ni1 ni2
Mari Jimenez
 
Asteroide
AsteroideAsteroide
Asteroide
frederik_bijnens
 
Operaciones basicas de dibujo
Operaciones  basicas de dibujoOperaciones  basicas de dibujo
Operaciones basicas de dibujo
CristHian ChuMan RuIz
 
2.1. point
2.1. point2.1. point
2.1. pointrfarinas
 
Многогранная профессия тестировщика глазами с++ разработчика в примерах
Многогранная профессия тестировщика глазами с++ разработчика в примерахМногогранная профессия тестировщика глазами с++ разработчика в примерах
Многогранная профессия тестировщика глазами с++ разработчика в примерах
COMAQA.BY
 
ppt Pitch: Basic design principles
ppt Pitch: Basic design principlesppt Pitch: Basic design principles
ppt Pitch: Basic design principles
Oscar Gutierrez Gómez
 
Portfolio Pro Tips
Portfolio Pro TipsPortfolio Pro Tips
Portfolio Pro Tips
Ravi Bhadauria
 
Selenium Conference 2015 参加報告
Selenium Conference 2015 参加報告Selenium Conference 2015 参加報告
Selenium Conference 2015 参加報告
Jumpei Miyata
 
Principles of Design
Principles of DesignPrinciples of Design
Principles of Design
Ravi Bhadauria
 
Grid Systems in Graphic Design by ADMEC Multimedia Institute
Grid Systems in Graphic Design by ADMEC Multimedia InstituteGrid Systems in Graphic Design by ADMEC Multimedia Institute
Grid Systems in Graphic Design by ADMEC Multimedia Institute
Ravi Bhadauria
 
RPP SMA Bahasa Inggris Peminatan Kelas XII
RPP SMA Bahasa Inggris Peminatan Kelas XIIRPP SMA Bahasa Inggris Peminatan Kelas XII
RPP SMA Bahasa Inggris Peminatan Kelas XII
Diva Pendidikan
 
RPP SMA Bahasa Inggris Peminatan Kelas XI
RPP SMA Bahasa Inggris Peminatan Kelas XIRPP SMA Bahasa Inggris Peminatan Kelas XI
RPP SMA Bahasa Inggris Peminatan Kelas XI
Diva Pendidikan
 
Non destructive testing ppt
Non destructive testing pptNon destructive testing ppt
Non destructive testing ppt
Anisha Devarashetty
 
Classificação final Daytona 2017
Classificação final Daytona 2017Classificação final Daytona 2017
Classificação final Daytona 2017
Eduardo Abbas
 

Viewers also liked (20)

Magnetic particle inspection
Magnetic particle inspectionMagnetic particle inspection
Magnetic particle inspection
 
【地域おこしVR研究会】第1回勉強会「VR業界動向とコンテンツ制作入門」
【地域おこしVR研究会】第1回勉強会「VR業界動向とコンテンツ制作入門」【地域おこしVR研究会】第1回勉強会「VR業界動向とコンテンツ制作入門」
【地域おこしVR研究会】第1回勉強会「VR業界動向とコンテンツ制作入門」
 
200 ribu orang turun demo ahok dengan biaya rp 100 miliar
200 ribu orang turun demo ahok dengan biaya rp 100 miliar200 ribu orang turun demo ahok dengan biaya rp 100 miliar
200 ribu orang turun demo ahok dengan biaya rp 100 miliar
 
EXTRA MATERIALS UNITS 1 AND 2
EXTRA MATERIALS UNITS 1 AND 2EXTRA MATERIALS UNITS 1 AND 2
EXTRA MATERIALS UNITS 1 AND 2
 
Contenidos ni1 ni2
Contenidos ni1 ni2Contenidos ni1 ni2
Contenidos ni1 ni2
 
Immediate Attention Alerts
Immediate Attention AlertsImmediate Attention Alerts
Immediate Attention Alerts
 
Contenidos ni1 ni2
Contenidos ni1 ni2Contenidos ni1 ni2
Contenidos ni1 ni2
 
Asteroide
AsteroideAsteroide
Asteroide
 
Operaciones basicas de dibujo
Operaciones  basicas de dibujoOperaciones  basicas de dibujo
Operaciones basicas de dibujo
 
2.1. point
2.1. point2.1. point
2.1. point
 
Многогранная профессия тестировщика глазами с++ разработчика в примерах
Многогранная профессия тестировщика глазами с++ разработчика в примерахМногогранная профессия тестировщика глазами с++ разработчика в примерах
Многогранная профессия тестировщика глазами с++ разработчика в примерах
 
ppt Pitch: Basic design principles
ppt Pitch: Basic design principlesppt Pitch: Basic design principles
ppt Pitch: Basic design principles
 
Portfolio Pro Tips
Portfolio Pro TipsPortfolio Pro Tips
Portfolio Pro Tips
 
Selenium Conference 2015 参加報告
Selenium Conference 2015 参加報告Selenium Conference 2015 参加報告
Selenium Conference 2015 参加報告
 
Principles of Design
Principles of DesignPrinciples of Design
Principles of Design
 
Grid Systems in Graphic Design by ADMEC Multimedia Institute
Grid Systems in Graphic Design by ADMEC Multimedia InstituteGrid Systems in Graphic Design by ADMEC Multimedia Institute
Grid Systems in Graphic Design by ADMEC Multimedia Institute
 
RPP SMA Bahasa Inggris Peminatan Kelas XII
RPP SMA Bahasa Inggris Peminatan Kelas XIIRPP SMA Bahasa Inggris Peminatan Kelas XII
RPP SMA Bahasa Inggris Peminatan Kelas XII
 
RPP SMA Bahasa Inggris Peminatan Kelas XI
RPP SMA Bahasa Inggris Peminatan Kelas XIRPP SMA Bahasa Inggris Peminatan Kelas XI
RPP SMA Bahasa Inggris Peminatan Kelas XI
 
Non destructive testing ppt
Non destructive testing pptNon destructive testing ppt
Non destructive testing ppt
 
Classificação final Daytona 2017
Classificação final Daytona 2017Classificação final Daytona 2017
Classificação final Daytona 2017
 

Similar to HT16 - DA354A - Introduktion till programmering (Python)

HT22 - DA354A - Introduktion till Programmering
HT22 - DA354A - Introduktion till ProgrammeringHT22 - DA354A - Introduktion till Programmering
HT22 - DA354A - Introduktion till Programmering
Anton Tibblin
 
HT19 - DA354A - Introduktion till Python
HT19 - DA354A - Introduktion till PythonHT19 - DA354A - Introduktion till Python
HT19 - DA354A - Introduktion till Python
Anton Tibblin
 
HT18 - DA354A - Introduction to programming
HT18 - DA354A - Introduction to programmingHT18 - DA354A - Introduction to programming
HT18 - DA354A - Introduction to programming
Anton Tibblin
 
Datorer och programmering
Datorer och programmeringDatorer och programmering
Datorer och programmering
Roger Lihavainen
 
HT15, DA354A - Funkioner
HT15, DA354A - FunkionerHT15, DA354A - Funkioner
HT15, DA354A - Funkioner
Anton Tibblin
 
HT23 - DA106A - Introduktion till JavaScript
HT23 - DA106A - Introduktion till JavaScriptHT23 - DA106A - Introduktion till JavaScript
HT23 - DA106A - Introduktion till JavaScript
Anton Tibblin
 
HT16 - DA354A - Funktioner
HT16 - DA354A - FunktionerHT16 - DA354A - Funktioner
HT16 - DA354A - Funktioner
Anton Tibblin
 
HT18 - DA156A - Webben och JavaScript
HT18 - DA156A - Webben och JavaScriptHT18 - DA156A - Webben och JavaScript
HT18 - DA156A - Webben och JavaScript
Anton Tibblin
 
HT19 - DA156A - Introduktion till JavaScript
HT19 - DA156A - Introduktion till JavaScriptHT19 - DA156A - Introduktion till JavaScript
HT19 - DA156A - Introduktion till JavaScript
Anton Tibblin
 
HT19 - DA354A - Funktioner
HT19 - DA354A - FunktionerHT19 - DA354A - Funktioner
HT19 - DA354A - Funktioner
Anton Tibblin
 
HT17 - DA156A - JavaScript i webbutveckling
HT17 - DA156A - JavaScript i webbutvecklingHT17 - DA156A - JavaScript i webbutveckling
HT17 - DA156A - JavaScript i webbutveckling
Anton Tibblin
 
HT18 - DA354A - Functions
HT18 - DA354A - FunctionsHT18 - DA354A - Functions
HT18 - DA354A - Functions
Anton Tibblin
 
HT22 - DA354A - Funktioner
HT22 - DA354A - FunktionerHT22 - DA354A - Funktioner
HT22 - DA354A - Funktioner
Anton Tibblin
 
TypeScript DevSum 2013
TypeScript DevSum 2013TypeScript DevSum 2013
TypeScript DevSum 2013
Michael Herkommer
 
HT16 - DA156A - Introduktion till JavaScript
HT16 - DA156A - Introduktion till JavaScriptHT16 - DA156A - Introduktion till JavaScript
HT16 - DA156A - Introduktion till JavaScript
Anton Tibblin
 
Camps1 dag1 pres2_Intro_Om_Programmering_o_Kod
Camps1 dag1 pres2_Intro_Om_Programmering_o_KodCamps1 dag1 pres2_Intro_Om_Programmering_o_Kod
Camps1 dag1 pres2_Intro_Om_Programmering_o_Kod
LisaKodcentrum
 
Metodik - Versionshantering, pakethantering, paketering och testning
Metodik - Versionshantering, pakethantering, paketering och testningMetodik - Versionshantering, pakethantering, paketering och testning
Metodik - Versionshantering, pakethantering, paketering och testning
Johan Holmberg
 
Grundläggande programmering och datorkunskap 2022
Grundläggande programmering och datorkunskap 2022Grundläggande programmering och datorkunskap 2022
Grundläggande programmering och datorkunskap 2022
MagnusLindh6
 
Inlämningsuppg6
Inlämningsuppg6Inlämningsuppg6
Inlämningsuppg6robbannn
 

Similar to HT16 - DA354A - Introduktion till programmering (Python) (20)

HT22 - DA354A - Introduktion till Programmering
HT22 - DA354A - Introduktion till ProgrammeringHT22 - DA354A - Introduktion till Programmering
HT22 - DA354A - Introduktion till Programmering
 
HT19 - DA354A - Introduktion till Python
HT19 - DA354A - Introduktion till PythonHT19 - DA354A - Introduktion till Python
HT19 - DA354A - Introduktion till Python
 
HT18 - DA354A - Introduction to programming
HT18 - DA354A - Introduction to programmingHT18 - DA354A - Introduction to programming
HT18 - DA354A - Introduction to programming
 
Datorer och programmering
Datorer och programmeringDatorer och programmering
Datorer och programmering
 
HT15, DA354A - Funkioner
HT15, DA354A - FunkionerHT15, DA354A - Funkioner
HT15, DA354A - Funkioner
 
HT23 - DA106A - Introduktion till JavaScript
HT23 - DA106A - Introduktion till JavaScriptHT23 - DA106A - Introduktion till JavaScript
HT23 - DA106A - Introduktion till JavaScript
 
HT16 - DA354A - Funktioner
HT16 - DA354A - FunktionerHT16 - DA354A - Funktioner
HT16 - DA354A - Funktioner
 
HT18 - DA156A - Webben och JavaScript
HT18 - DA156A - Webben och JavaScriptHT18 - DA156A - Webben och JavaScript
HT18 - DA156A - Webben och JavaScript
 
HT19 - DA156A - Introduktion till JavaScript
HT19 - DA156A - Introduktion till JavaScriptHT19 - DA156A - Introduktion till JavaScript
HT19 - DA156A - Introduktion till JavaScript
 
HT19 - DA354A - Funktioner
HT19 - DA354A - FunktionerHT19 - DA354A - Funktioner
HT19 - DA354A - Funktioner
 
HT17 - DA156A - JavaScript i webbutveckling
HT17 - DA156A - JavaScript i webbutvecklingHT17 - DA156A - JavaScript i webbutveckling
HT17 - DA156A - JavaScript i webbutveckling
 
HT18 - DA354A - Functions
HT18 - DA354A - FunctionsHT18 - DA354A - Functions
HT18 - DA354A - Functions
 
HT22 - DA354A - Funktioner
HT22 - DA354A - FunktionerHT22 - DA354A - Funktioner
HT22 - DA354A - Funktioner
 
TypeScript DevSum 2013
TypeScript DevSum 2013TypeScript DevSum 2013
TypeScript DevSum 2013
 
HT16 - DA156A - Introduktion till JavaScript
HT16 - DA156A - Introduktion till JavaScriptHT16 - DA156A - Introduktion till JavaScript
HT16 - DA156A - Introduktion till JavaScript
 
Camps1 dag1 pres2_Intro_Om_Programmering_o_Kod
Camps1 dag1 pres2_Intro_Om_Programmering_o_KodCamps1 dag1 pres2_Intro_Om_Programmering_o_Kod
Camps1 dag1 pres2_Intro_Om_Programmering_o_Kod
 
Metodik - Versionshantering, pakethantering, paketering och testning
Metodik - Versionshantering, pakethantering, paketering och testningMetodik - Versionshantering, pakethantering, paketering och testning
Metodik - Versionshantering, pakethantering, paketering och testning
 
Grundläggande programmering och datorkunskap 2022
Grundläggande programmering och datorkunskap 2022Grundläggande programmering och datorkunskap 2022
Grundläggande programmering och datorkunskap 2022
 
CV
CVCV
CV
 
Inlämningsuppg6
Inlämningsuppg6Inlämningsuppg6
Inlämningsuppg6
 

More from Anton Tibblin

2024 - Localstorage & cookies Geolocation Mediahantering.pdf
2024 - Localstorage & cookies Geolocation Mediahantering.pdf2024 - Localstorage & cookies Geolocation Mediahantering.pdf
2024 - Localstorage & cookies Geolocation Mediahantering.pdf
Anton Tibblin
 
VT24 - jQuery & Ajax - Flerplattformsapplikationer med webbtekniker
VT24 - jQuery & Ajax - Flerplattformsapplikationer med webbteknikerVT24 - jQuery & Ajax - Flerplattformsapplikationer med webbtekniker
VT24 - jQuery & Ajax - Flerplattformsapplikationer med webbtekniker
Anton Tibblin
 
VT24 - Responsiv design & Ramverk inom webbutveckling
VT24 - Responsiv design & Ramverk inom webbutvecklingVT24 - Responsiv design & Ramverk inom webbutveckling
VT24 - Responsiv design & Ramverk inom webbutveckling
Anton Tibblin
 
DA395A - VT24 - JavaScript & Document object model
DA395A - VT24 - JavaScript & Document object modelDA395A - VT24 - JavaScript & Document object model
DA395A - VT24 - JavaScript & Document object model
Anton Tibblin
 
VT24 - DA395A - Kursintroduktion: Flerplattformsapplikationer med webbtekniker
VT24 - DA395A - Kursintroduktion: Flerplattformsapplikationer med webbteknikerVT24 - DA395A - Kursintroduktion: Flerplattformsapplikationer med webbtekniker
VT24 - DA395A - Kursintroduktion: Flerplattformsapplikationer med webbtekniker
Anton Tibblin
 
HT23 - DA354A - Webbprogrammering med Python
HT23 - DA354A - Webbprogrammering med PythonHT23 - DA354A - Webbprogrammering med Python
HT23 - DA354A - Webbprogrammering med Python
Anton Tibblin
 
HT23 - DA354A - Fil- och felhantering
HT23 - DA354A - Fil- och felhanteringHT23 - DA354A - Fil- och felhantering
HT23 - DA354A - Fil- och felhantering
Anton Tibblin
 
HT23 - DA354A - Listor och lexikon
HT23 - DA354A - Listor och lexikonHT23 - DA354A - Listor och lexikon
HT23 - DA354A - Listor och lexikon
Anton Tibblin
 
HT23 - DA354A - Kursintroduktion
HT23 - DA354A - KursintroduktionHT23 - DA354A - Kursintroduktion
HT23 - DA354A - Kursintroduktion
Anton Tibblin
 
HT23 - DA106A - Användbarhet (2)
HT23 - DA106A - Användbarhet (2)HT23 - DA106A - Användbarhet (2)
HT23 - DA106A - Användbarhet (2)
Anton Tibblin
 
HT23 - DA106A - Användbarhet 1
HT23 - DA106A - Användbarhet 1HT23 - DA106A - Användbarhet 1
HT23 - DA106A - Användbarhet 1
Anton Tibblin
 
HT23 - DA106A - Ramverk & Bibliotek
HT23 - DA106A - Ramverk & BibliotekHT23 - DA106A - Ramverk & Bibliotek
HT23 - DA106A - Ramverk & Bibliotek
Anton Tibblin
 
HT23 - DA106A - Responsiv webbutveckling
HT23 - DA106A - Responsiv webbutvecklingHT23 - DA106A - Responsiv webbutveckling
HT23 - DA106A - Responsiv webbutveckling
Anton Tibblin
 
HT23 - DA106A - Layout (2)
HT23 - DA106A - Layout (2)HT23 - DA106A - Layout (2)
HT23 - DA106A - Layout (2)
Anton Tibblin
 
HT23 - DA106A - Layout med CSS (1)
HT23 - DA106A - Layout med CSS (1)HT23 - DA106A - Layout med CSS (1)
HT23 - DA106A - Layout med CSS (1)
Anton Tibblin
 
Introduktion till CSS
Introduktion till CSSIntroduktion till CSS
Introduktion till CSS
Anton Tibblin
 
HTML - Tabeller och formulär
HTML - Tabeller och formulärHTML - Tabeller och formulär
HTML - Tabeller och formulär
Anton Tibblin
 
Introduktion till HTML
Introduktion till HTMLIntroduktion till HTML
Introduktion till HTML
Anton Tibblin
 
Kursintroduktion
KursintroduktionKursintroduktion
Kursintroduktion
Anton Tibblin
 
LocalStorage - GeoLocation - Media
LocalStorage - GeoLocation - MediaLocalStorage - GeoLocation - Media
LocalStorage - GeoLocation - Media
Anton Tibblin
 

More from Anton Tibblin (20)

2024 - Localstorage & cookies Geolocation Mediahantering.pdf
2024 - Localstorage & cookies Geolocation Mediahantering.pdf2024 - Localstorage & cookies Geolocation Mediahantering.pdf
2024 - Localstorage & cookies Geolocation Mediahantering.pdf
 
VT24 - jQuery & Ajax - Flerplattformsapplikationer med webbtekniker
VT24 - jQuery & Ajax - Flerplattformsapplikationer med webbteknikerVT24 - jQuery & Ajax - Flerplattformsapplikationer med webbtekniker
VT24 - jQuery & Ajax - Flerplattformsapplikationer med webbtekniker
 
VT24 - Responsiv design & Ramverk inom webbutveckling
VT24 - Responsiv design & Ramverk inom webbutvecklingVT24 - Responsiv design & Ramverk inom webbutveckling
VT24 - Responsiv design & Ramverk inom webbutveckling
 
DA395A - VT24 - JavaScript & Document object model
DA395A - VT24 - JavaScript & Document object modelDA395A - VT24 - JavaScript & Document object model
DA395A - VT24 - JavaScript & Document object model
 
VT24 - DA395A - Kursintroduktion: Flerplattformsapplikationer med webbtekniker
VT24 - DA395A - Kursintroduktion: Flerplattformsapplikationer med webbteknikerVT24 - DA395A - Kursintroduktion: Flerplattformsapplikationer med webbtekniker
VT24 - DA395A - Kursintroduktion: Flerplattformsapplikationer med webbtekniker
 
HT23 - DA354A - Webbprogrammering med Python
HT23 - DA354A - Webbprogrammering med PythonHT23 - DA354A - Webbprogrammering med Python
HT23 - DA354A - Webbprogrammering med Python
 
HT23 - DA354A - Fil- och felhantering
HT23 - DA354A - Fil- och felhanteringHT23 - DA354A - Fil- och felhantering
HT23 - DA354A - Fil- och felhantering
 
HT23 - DA354A - Listor och lexikon
HT23 - DA354A - Listor och lexikonHT23 - DA354A - Listor och lexikon
HT23 - DA354A - Listor och lexikon
 
HT23 - DA354A - Kursintroduktion
HT23 - DA354A - KursintroduktionHT23 - DA354A - Kursintroduktion
HT23 - DA354A - Kursintroduktion
 
HT23 - DA106A - Användbarhet (2)
HT23 - DA106A - Användbarhet (2)HT23 - DA106A - Användbarhet (2)
HT23 - DA106A - Användbarhet (2)
 
HT23 - DA106A - Användbarhet 1
HT23 - DA106A - Användbarhet 1HT23 - DA106A - Användbarhet 1
HT23 - DA106A - Användbarhet 1
 
HT23 - DA106A - Ramverk & Bibliotek
HT23 - DA106A - Ramverk & BibliotekHT23 - DA106A - Ramverk & Bibliotek
HT23 - DA106A - Ramverk & Bibliotek
 
HT23 - DA106A - Responsiv webbutveckling
HT23 - DA106A - Responsiv webbutvecklingHT23 - DA106A - Responsiv webbutveckling
HT23 - DA106A - Responsiv webbutveckling
 
HT23 - DA106A - Layout (2)
HT23 - DA106A - Layout (2)HT23 - DA106A - Layout (2)
HT23 - DA106A - Layout (2)
 
HT23 - DA106A - Layout med CSS (1)
HT23 - DA106A - Layout med CSS (1)HT23 - DA106A - Layout med CSS (1)
HT23 - DA106A - Layout med CSS (1)
 
Introduktion till CSS
Introduktion till CSSIntroduktion till CSS
Introduktion till CSS
 
HTML - Tabeller och formulär
HTML - Tabeller och formulärHTML - Tabeller och formulär
HTML - Tabeller och formulär
 
Introduktion till HTML
Introduktion till HTMLIntroduktion till HTML
Introduktion till HTML
 
Kursintroduktion
KursintroduktionKursintroduktion
Kursintroduktion
 
LocalStorage - GeoLocation - Media
LocalStorage - GeoLocation - MediaLocalStorage - GeoLocation - Media
LocalStorage - GeoLocation - Media
 

HT16 - DA354A - Introduktion till programmering (Python)

  • 2.
  • 3. Dagens föreläsning 1. Programmering– Vad är det egentligen? 2. Programmeringsspråk – Python? 3. Programmeringsmiljö? 1. IDLE 2. Terminalen/Konsolen 4. Att börja programmera 1. Hur skriver man? 2. Var skriver man? 3. Hur kör man sin kod? 5. Introduktiontill datatyper& variabler i Python
  • 4. Frågor innan vi börjar?
  • 6. Programmering • Programmering går ut på att ge instruktionertill dator • Datorn gör det du säger till den, och inget annat • Datorn behöver specifika instruktioner http://www.wilsoninfo.com/computer/my-one-true-love-computer.jpg
  • 7.
  • 8. Exempel på instruktioner • Matematiska instruktioner (beräkningar) • 5 + 5 • 10 * 2 • 20 / 4 • Instruktioneratt skriva ut saker (output) • print (”Hello World!”) • print (”Tjena kexet, sitter du här och smular?”) • Instruktion att hämta data från användare (input) • input(”Hej, vad heterdu?”) • input(”Vilket ärSverigesbästa fotbollslag?”)
  • 9. Hur fungerar ett program? • Program är en (ofta väldigt stor) samling av maskininkod – som innehåller instruktioner till datorn • Det är väldigt ovanligt att en person skriver maskinkod direkt, då detta inte är så enkelt…
  • 10. Lågnivå- och högnivåspråk • Maskinkod var ju inte så enkelt att förstå… men det gör inget! • Maskinkod är ett lågnivåspråk • Binärt och hexadecimalt • Vi kommer att jobbat med högnivåspråk • T.ex. Python, JavaScript,C#,, C++, Java, PHP, Ruby, etc. Resultat(3 körningar)
  • 11.
  • 12. Hur fungerar högnivåspråk? • Hur kan datorn förstå vår högnivåprogrammering, när den bara förstår binära tal? • Vi översättervårhögnivåkodtill lågnivå • Detta kan man göra på två olika sätt: • Genomen tolk • Genomen kompilator
  • 13. Tolkning och kompilering av kod • Tolkning av kod sker ”on the fly” • Kompilering av kod sker ”i förväg”
  • 15. Vad gör ett program egentligen? Input Output Beräkningar Konditional exekvering Repetition Från användare Till användare Beräkningar If-satser Iterationer
  • 17.
  • 18. Olika typer av fel • Syntax – Följer inte programmeringsspråket regler (grammatik) • 2 + ”hej” • print(hej) • Runtime – Fel under programmets körning • Semantiska fel -
  • 20. Debugging • Att lära sig hantera dessa felmeddelande är en programmerares vardag • Ju mer ni programmerar,ju bättre kommer ni att bli på detta • Kom ihåg – alla gör fel, mest hela tiden! • Tänk på att programmeringsspråk är formella språk – och måste vara exakta • Till skillnad från naturliga språk som t.ex. svenska och engelska därvi inte behövervara exakta för att förstå varandra – vi kan till och med använda slang – och förstå varandra! =)
  • 21.
  • 22.
  • 24. Kan man utforma bra webbplatser utan att kunna webbtekniker?
  • 25. Kan man utforma bra informationssystem utan att kunna programmera?
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 36.
  • 37.
  • 39. Att skapa ett program • Uppgiftsformulering, vad är det för uppgift som ska lösas? • Vilka steg behöver utföras för att lösa uppgiften? • Vilka instruktioner kan användas för att utföra varje delsteg (algoritm)
  • 40. Algoritmer En beskrivning över hur man löser ett problem. Algoritmen består av ett antal instruktioner och beskriver i vilken ordning instruktionernaska utföras. http://upload.wikimedia.org/wikipedia/commons/thumb/3/3c/LampFlow chart-sv.svg/250px-LampFlowchart-sv.svg.pnghttp://www.recepten.se/recept/pasta_carbonara.html
  • 41. Att tänka på • Uppgiftsformulering,vadär det för uppgift som ska lösas? Formulera uppgifteni termer av vad en dator kan utföra. Avgränsa problemet, vadär en del av uppgiften? Vad ingår inte? • Algoritmkonstruktion, vilka algoritmer är de mest lämpliga för detta problem? Konstruera strukturen på programmet och skriv ner så kallad pseudokod. Detta är kreativ problemlösning. • Kodning,översätt pseudokoden till ett programmeringsspråk t.ex. JavaScript eller Python • Dokumentation,beskriva din lösning både i löpande text, med hjälp av UML och som kommentarer i programmet. • Verifikation,är programmet byggt på ett bra sätt så att det löser uppgiftenutan att fel uppståroch det är lätt att underhålla. • Validering,är användarennöjdmed hur programmet fungerar. Underhåll, åtgärda buggar, förbättra och lägg till funktionalitet. • Underhåll,åtgärda buggar, förbättra och lägg till funktionalitet.
  • 44. ”Pythonär ett programspråk som utformades i slutet av 1980-talet av Guido van Rossum. Python har utvecklats till ett kraftfullt och samtidigt smidigt språk med stöd för flera olika programmeringsparadigmer, bland annat objektorienterad och funktionell programmering. Till språket hör ett rikt standardbibliotek.” https://sv.wikipedia.org/wiki/Python_(programspråk)
  • 45. Python - utvecklingsmiljö • Vi kommer att arbeta i Pythons egna utvecklingsmiljö IDLE • Denna installerasautomatiskt närman installerarPython • Man kan använda valfri utvecklingsmiljö, t.ex. egna textredigerare • Men då får man exekvera sin kod från terminalen/konsolenistället
  • 46. Datatyper? • För att Python ska veta vad för typ av data som hanteras behöver vi delge denna information till Python • De olika datatypernasom vi kommer att titta på är: • Number(int, float) • String • Boolean • List • Tuple • Dictionary
  • 47. Räkna med Python • Python är väldigt bra på att räkna, vilket vi kan göra genom vanliga matematiska uttryck. • När vi räknar och gör matematiska operationer använder vi oss utav datatypen number (numerisk datatyp).Här kan vi räkna med heltal. • Vill vi istället räkna med decimaler använder vi datatypenfloat
  • 49. Hantera text med Python • Vill vi skriva ut text i Python så använder vi datatypenstring(textsträng).Tänk på att textsträngar är just bara text – d.v.s. tecken uppradade efter varandra. • Vi kan därfört.ex. inte räkna med strängar • Strängar skrivs m.h.a. ’ eller ”
  • 50. Lägga ihop strängar med varandra • Detta vill man ofta göra för att bygga upp meddelande till användaren av ens program. T.ex. • Vi tar alltså de strängarna som står på varje sida av ”+” och sammanfogar dessa. • Skulle vi försöka med räkna mer strängar får vi alltså inte önskat resultat.T.ex.
  • 51. Variabler • När man bygger ett program vill man gärna spara undan värde, så att vi kan använda dem vid ett senare tillfälle. • Hur kul vore det om man glömde allt – hela tiden? • Detta gör man genom att använda variabler • Variablerär ett namn som refererartill ett värde (kan vara av vilken datatypsom helst) • Man skapar en variabel genom att 1. Välja ett lämpligt namn 2. Tilldela ett lämpligt värde genom”=”-tecknet
  • 52. Ange datatyper? Python listar ut detta beroende värde
  • 53. Kommentarer • Det är en god idé att dokumentera sin kod • Man glömmerbort vad koden gör • Man glömmerbort hur koden gör det • Man glömmerbort varförkoden gör det • Man kommenterar sin kod genom #