Programmering 1
Mathias Magnusson
Lektion 1
Programmering
Programmering 1 (100p) (PRRPRR01)
Programmering 2 (100p) (PRRPRR02)
Vad säger skolverket?
http://www.skolverket.com/cm/2.10/laroplaner-amnen-och-kurser/
gymnasieutbildning/gymnasieskola/sok-amnen-kurser-och-program/ subject.htm?subjectCode=PRR&lang=sv&tos=gy
Programmering 1
Eclipse – IDE (Integrated Development Environment)
JDK – Paket för utveckla javaprogram (Java Development Kit)
JRE – Program för att köra javaprogram (Java Runtime Environment)
JavaJavisst+ - Kurslitteratur
(Delas ut under kursens gång, finns digitalt via kurshemsida.)
Programmering 1
Resurser: Googlesite:
https://sites.google.com/site/programmering1bergagymnasiet/
Luvit:
Programmering 1
Examination:
Projektuppgifter (1-2 st)
Teoretiskt prov
Praktiskt prov
Vad vill ni?
Programmering 1
Vad kräver jag av er? • Engagemang
• Intresse • Ansvar
(Arbeta hemma)
Programmering 1
Lektionerna:
• Genomgång
• Exempel (gemensamma)
• Övningar (enskilt)
Vad är programmering?
• Algoritm
= en begränsad
uppsättning väldefinierade
instruktioner för att lösa en
uppgift
Abu Abdullah Muhammed bin Musa al Khwarizimi
Algoritm
Sockerkaka:Sätt ugnen på 175 grader Vispa följande saker:
2 ägg, 2 kp socker, 2 kp mjöl, 2 tsk bakpulver, 50 g smör, 1 dl mjölk Sätt in i ugnen Grädda i 40 min Ta ut och njut Lätt att förstå för en människa?
Programmering
Dator klarar maskinkod (ettor och nollor)
Vi skriver program som med algoritmer (i ord
eller som graf) och skriver källkod
Programmeringsspråk
C, C++, C# ,Visual Basic, Java, Objective-C,
Ada, Fortran, Pascal, Scala, mm
Skillnader och likheter?
Givetvis! (Både i struktur, funktion och
syntax.)
Hur fungerar programmering?
/* *Källkod skriven i *ett *programmerings-*språk */ Kompilering 11000100 11100111 01110011 11110001 Programmet körs! MittProgram.cpp källkod MittProgram.exemaskinkod
Exekvering
Maskinkoden fungerar snabbt, men bara för en viss plattform.
Programmering med Java
/* *Källkod skriven i *ett *programmerings *språk */ Kompilering 1100 1110 0111 1111 Programmet körs! MittProgram.java källkod MittProgram.classBytekod Exekvering (java.exe) Kompilator (javac.exe) JVM Java är plattformsoberoende
Hur fungerar programmering?
Källkod
Kompilator
Maskinkod
Källkod
Kompilator
Javabytekod
Interpretator (tolk)
Java
Sun Microsystem (1995) (Uppköpt av Oracle 2010) Anpassat för Internet
Applets – små program, körs via webbläsare Android (2008- ) Olika javaprogram: • Konsolprogram • GUI-applikationer • Applets • Android
Java
Fördelar:
• Plattformsoberoende
– kan köras på olika OS utan att programmet måste skrivas om
• Grafiska användargränssnitt
– behöver ej skrivas om för olika OS – Kraftfulla grafiska verktyg
Java
• Objektorienterat
– Programmen består av objekt (klasser) som samverkar. – Grafiska verktygen är objektEx Kortspel
: •Kort •Kortlek •Spelregler •Spelomgång •GrafikAlla dessa delar är s k objekt
Java
• Applets
– Små program som körs genom webbläsare, t ex filläsning, client/server
• Open-source • Android
Nackdelar:
• Något långsammare att exekvera (köra) än traditionellt programmeringsspråk, t ex C++
Java
Svårt?
Bygger på C++, tagit bort pekarfunktionen
vilket gör det lättare att förstå
Automatisk Garbage Collector
Måste lära sig Javas standardklasser
(enormt klassbibliotek)
Java
J2SE (Java 2 Platform Standard Edition) (J2ME, J2EE)
Sun har utvecklat standardklasspaket Gratis från Internet
Java
Utvecklingsmiljö (IDE)
IDE – integrated development environment Ex: Eclipse (Skolan) (C, C++, Java)
Netbeans (Java, C++)
Visual Studio (ej java, Visual Basic, C, C#, C++) Eclipses hemsida – www.eclipse.org
Programmall
class MittProgram_Mall {
public static void main(String[] arg) {
} }
Utskrift till konsolfönster
class MittProgram {
public static void main(String[] arg) {
System.out.println(”Gör en utskrift.");
} }
Lite skrivsätt
System.out.println(”Det du vill skriva ut”);
Skriver ut det som står innanför ” ” och hoppar till ny rad.
System.out.print(”Det du vill skriva ut”);
Skriver ut det som står innanför ” ” utan att hoppa till ny rad.
Programuppbyggnad
public class Utskrift {
public static void main(String [ ] args) {
System.out.println(”Mathias”); System.out.print(”Mathias”); System.out.println(”Mathias”);
} }
Hoppar till ny rad
Hoppar INTE till ny rad
Variabler och inmatning
Måste kunna hantera data i programmering
Java har olika datatyper för heltal,
decimaltal, tecken, teckensträngar, bitar,
stora och små tal.
Variabler och inmatning
Variabeldefinition av heltal:
Variabler och inmatning
Tilldelar en variabel ett värde:
int tal; tal = 10;
= -tecknet kallas tilldelningsoperator och används då variabler ”får” (tilldelas) värden
Du kan också göra allting direkt (definiera och tilldela)
int tal2 = 12;
10 tal
12 tal2
Utskrift av variabler
Om du vill skriva ut en variabel:
int tal = 4;
System.out.println(”Talet är ” +tal);
int tal1 = 2; int tal2 = 5;
System.out.println(”Summan av talen är ” +(tal1+tal2));
4 tal 2 tal1 5 tal2
Heltal
class Summera {
public static void main(String[] arg) { int x, y, s; x = 20; y = 23; s = x + y; System.out.println("Summan är "+ s); } }
Övningar
• Börja att arbeta med kapitel 1 i
JavaJavisst+ (fram till sidan 9)
3 2