Introduktionskurs i Datateknik

Storlek: px
Starta visningen från sidan:

Download "Introduktionskurs i Datateknik"

Transkript

1 HF0010 Introduktionskurs i Datateknik F2: Vad är ett programmeringsspråk? A. Cajander, STH

2 Introduktionskurs i Datateknik F1: Vad är en dator? F2: programmeringsspråk? L1: Hour of code, alla kan programmera, Diplom! L2: Visuell programmering av svårare problem! F3: Webbprogrammering JavaScript! L3: IDE, Web sida & JavaScript!

3 Kommer du ihåg?! SW PROGRAM KOMPILATOR OPERATIVSYSTEM Källkod Maskinkod ASSEMBLER Assemblerkod Hårdvara vad kan en dator egentligen göra?!,och hur?! HW

4 Kommer du ihåg?! Central Processing Unit (CPU) Basen Beräkning Kontroll Hjärnan 001:t=x*x 002:y=t+2 003:x=x+1 100:0, 0, 2 101:1, 1, 3 102:2, 4, 6 Resultat (Minne!) Program Control Unit (PCU) Program Counter (PC) 00 Instruction Register (IR) 11 Arithmetic-Logic Unit (ALU) + Accumulator Register (AC) - * / 2! Adress Instruktion/Data Memory # : (40bit) 0011 # : # : # : # : Adress Instruktion/Data # : Sekvens CPU, ALU, PC, Adress, basen 2/16, IR, AC, Sekvens!

5 Symbolic programming, assembler Maskinkod assembler! Maskinkod anv. prog! Program Program Ladda! Ladda! Anv. prog. källkod! Text!!! Assembler DATOR #1 Assembler Indata DATOR #2 Anv. prg! Utdata Alla maskininstruktioner döps till ett kort namn. Alla typer av konstanter kan ges förklarande namn.!

6 Utvik: RAM/ROM & basen 16 Hur vet vi vad det binära talet i en minnescell betyder? * * Instruktion: GOTO Konstant: 0 Konstant: 255 Konstant: -1 (2-komplement) Bokstav: A Bokstav: B Attans, det måste vi göra själva! (Hur lagras ett stort tal?)

7 Järnkoll?! INS8060 SC/MP Maskinkod ASSEMBLER Assemblerkod -74, $25, 4MHz, 46 inst. Central Processing Unit (CPU) Program Control Unit (PCU) Program Counter (PC) 00 Instruction Register (IR) 11 Arithmetic-Logic Unit (ALU) Adress Instruktion/Data Memory Adress Instruktion/Data # :???????? # :???????? # :???????? # :???????? # :???????? Accumulator Register (AC) Bit 0 Status Register (SR) # :

8 4 maskininstruktioner eller LDI 0x01

9 och 4 till

10

11 Järnkoll?! LDI 0x01 CAS LDI 0x00 CAS JMP -8 Blink.asm INS8060 SC/MP Maskinkod ASSEMBLER Assemblerkod -74, $25, 4MHz, 46 inst. Central Processing Unit (CPU) Program Control Unit (PCU) Program Counter (PC) 00 Instruction Register (IR) 11 Arithmetic-Logic Unit (ALU) Adress Instruktion/Data Memory Adress Instruktion/Data # :???????? # :???????? # :???????? # :???????? # :???????? Accumulator Register (AC) Bit 0 Status Register (SR) # :

12 Järnkoll?! LDI 0x01 CAS LDI 0x00 CAS JMP -8 Blink.asm INS8060 SC/MP Maskinkod ASSEMBLER Assemblerkod -74, $25, 4MHz, 46 inst. Central Processing Unit (CPU) Program Control Unit (PCU) Program Counter (PC) 00 Instruction Register (IR) 11 Arithmetic-Logic Unit (ALU) Accumulator Register (AC) Adress Instruktion/Data Memory Adress Instruktion/Data # : # : # : # : # : # : # : # : Bit 0 Status Register (SR) # :

13 Järnkoll?! LDI 0x01 CAS LDI 0x00 CAS JMP -8 Blink.asm PC IR AC SR MEM INS8060 SC/MP Maskinkod ASSEMBLER Assemblerkod -74, $25, 4MHz, 46 inst. Central Processing Unit (CPU) Program Control Unit (PCU) Program Counter (PC) 00 Instruction Register (IR) 11 Arithmetic-Logic Unit (ALU) Accumulator Register (AC) Adress Instruktion/Data Memory Adress Instruktion/Data # : # : # : # : # : # : # : # : Bit 0 Status Register (SR) # :

14 Provkör INS8060 SC/MP Maskinkod ASSEMBLER -74, $25, 4MHz, 46 inst. Central Processing Unit (CPU) Program Control Unit (PCU) Program Counter (PC) 00 Instruction Register (IR) 11 Arithmetic-Logic Unit (ALU) Accumulator Register (AC) Adress Instruktion/Data Memory Adress Instruktion/Data # : # : # : # : # : # : # : # : Bit 0 Status Register (SR) # :

15 Järnkoll?! RA1=!RA1; Blink.c KOMPILATOR INS8060 SC/MP Maskinkod ASSEMBLER Assemblerkod -74, $25, 4MHz, 46 inst. Central Processing Unit (CPU) Program Control Unit (PCU) Program Counter (PC) 00 Instruction Register (IR) 11 Arithmetic-Logic Unit (ALU) Accumulator Register (AC) Adress Instruktion/Data Memory Adress Instruktion/Data # : # : # : # : # : # : # : # : Bit 0 Status Register (SR) # :

16 Introduktionskurs i Datateknik F1: Vad är en dator? F2: programmeringsspråk? L1: Hour of code, alla kan programmera, Diplom! L2: Visuell programmering av svårare problem! F3: Webbprogrammering JavaScript! L3: IDE, Web sida & JavaScript!

17 Kursmål Sidor märkta med den här symbolen innehåller begrepp som är extra viktiga för dina fortsatta studier!! Varför finns det speciella programmeringsspråk? Syntax och semantik! Likheter: Datatyper, Flödeskontroll, Ofullkomligheter & Stora program. Variabel är en namngiven plats i minnet för en viss typ av information! Flödeskontroll: Sekvens, Val, Upprepning och Funktioner.

18 Den andra generationen: Transistorrevolutionen John Bardeen, William Shockley & Walter Brattain at Bell Labs, 1948 "There were 80 characters per card, and a good speed was 100 cards per minute." That's 133 characters per second. The first marketed tape drive from IBM, the 726, operated at 7,500 characters per second times faster than the punch card rate

19 Den andra generationen: Transistorrevolutionen IBM NOT Gate

20 Den andra generationen: Transistorrevolutionen! IBM -701 (-53) Batch = Ett enskilt jobb. #1: BATCH MONITOR BÖRJAN TILL ETT OPERATIVSYSTEM (OS) Monitor = Styrprogram som alltid fanns i datorn! #2: FORTRAN, COBOL KOMPILATOR (Maskinoberoende)

21 Den andra generationen: Maskinkod, Assembler, Högnivåspråk # : # : # : # : # : # : # : # : MASKINKOD! (Processorspecifik) Assembler Kompilator (Interpretator) POR LDI 0x01 //Turn lamp CAS // on! LDI 0x00 //Turn lamp CAS // off! JMP POR //Forever! ASSEMBLERKOD! (Processorspecifik) Int main(void) { while (true) RA0++; (Mathlab) (Kompilerar en rad i taget allt eftersom programmet körs) //Forever // toggle RA0! } C-KOD! (Generell)

22 Fördjupning: Programmeringsspråk. Varför har vi ett programmeringsspråk?! Det är för svårt att skapa en översättare! (=Kompilera, översätta till maskinkod!)

23 Fördjupning: Programmeringsspråk. Det finns 1000-tals programmeringsspråk Java Ada C LISP Generell, maskinnära, processorienterad, funktionell

24 Fördjupning: Programmeringsspråk. Syntax, semantik och reserverade ord! while ( closed ( A, number + 1 ) ) ; A programming language is a formal notation for describing algorithms to be executed by a computer. Like all formal notations, a programming language has two components: syntax and semantics begränsat Formellt språk som inte kan misstolkas! (= Lätt att översätta!)

25 Fördjupning: Programmeringsspråk. Syntax, semantik och reserverade ord! while ( closed ( A, number + 1 ) ) ; Vad är ord (tokens) i språket! Literals Operators Syntax Identifiers [A-Za-z_][A-Za-z0-9_]* (Tokens) Punctuation marks,;(){}:;white space Semantik (Keywords 50!) Vad är en mening i språket! Antalet mellanslag spelar nästan alltid ingen roll!

26 Fördjupning: Programmeringsspråk. Likheter Möjligheter att mappa verkliga storheter till datorvariabler. Egenheter att se upp med! DATA TYPES Literals Operators Identifiers Punctuation marks Tokens [A-Za-z_][A-Za-z0-9_]* PRG CORR Syntax (Keywords) Semantik CTRL STRUCT,;(){}:;white space PRG IN LARGE Möjligheter att påverka sekvensen av instruktioner! Möjligheter att skapa stora komplicerade program. Vi börjar med att titta på vad data typer är

27 Fördjupning: Programmeringsspråk. Datatyper Med hjälp av en datatyp kan en platser i minnet namnges där ett värde av en speciell typ kan lagras en variabel! * * Assembler: MOVLW 0x04 ;W=4. MOWF KOD 0x10 ;temp=4. C: int temp; //temp temp = 4; // is 4! temp max min sort prov heltal heltal heltal bokstav bokstav Värde Namn Typ Ex c: int temp; Maskinoberoende, Korrekt användning, Otydligheter utklarade & noggrannhet.

28 Fördjupning: Programmeringsspråk. Sammanfattning datatyp! Garbage Collection Vilka värden False True TYPE * + - och vilka operationer! Binding Reference VALUE Constant uninitialized Abstract En variabel i ett programmeringsspråk används för att (mellan-)lagra ett värde. En variabel har ett namn och 4 attribut! Casting Visible Static SCOPE Side-effects Dynamic Allocation Automatic LIFETIME Static Dynamic Gråmarkerade begrepp får vänta till C/Java-kurserna!

29 Fördjupning: Programmeringsspråk. Likheter Möjligheter att mappa verkliga storheter till datorvariabler. Egenheter att se upp med! DATA TYPES Literals Operators Identifiers Punctuation marks Tokens [A-Za-z_][A-Za-z0-9_]* PRG CORR Syntax (Keywords) Semantik CTRL STRUCT,;(){}:;white space PRG IN LARGE Möjligheter att påverka sekvensen av instruktioner! Möjligheter att skapa stora komplicerade program. Vad är (flödes-)kontroll strukturer?

30 Fördjupning: Programmeringsspråk. Control Structures En dator utför alltid nästa rad, om den inte får andra instruktioner! Mät ugnstemperaturen. Om ugnstemperaturen är över 205 slå av värmen. Om ugnstemperaturen är under 195 slå på värmen. Mät kött-temperaturen. Om kött-temperaturen är under 65 börja om! Stäng av värmen. Statement-Level Control Structures Sequencing Repetition Selection Jump Unit-Level Control Structures Explicitly Called Units Implicitly Called Units Concurrent Units

31 Statement-Level Control Structures Fördjupning: Programmeringsspråk. Sequencing Som i ett recept: nästa rad, nästa rad, nästa rad, nästa rad

32 Statement-Level Control Structures Fördjupning: Programmeringsspråk. Repetition (for, while, until, do) Som i ett recept: Tillsätt 5 äggulor, ett i taget

33 Statement-Level Control Structures Fördjupning: Programmeringsspråk. Selection (if, then, else, switch, case, default, other(wise)) Som i ett recept: Om russinbullar tillsätt 1 dl russin!

34 Unit-Level Control Structures Fördjupning: Programmeringsspråk. Explicitly Called Units (subroutines, function, procedure) Start Klart

35 Unit-Level Control Structures Fördjupning: Programmeringsspråk. Explicitly Called Units (function, procedure) Start Start Klart Klart

36 Unit-Level Control Structures Fördjupning: Programmeringsspråk. Explicitly Called Units (subroutines, function, procedure) Start Start x default 1.5 X x=2 Klart Scope Visibility CBV,CBR,CBN Den anropade rutinen kan ha parametrar! Klart

37 Unit-Level Control Structures Fördjupning: Programmeringsspråk. Implicitly Called Units (exceptions, interrupt) Y=A/B Div med 0! Mouse event sats sats

38 Unit-Level Control Structures Fördjupning: Programmeringsspråk. Concurrent Units (task, fork, process, thread) Resource starvation Race conditions Deadlock Producer Consumer Semaphores Monitors Mutex

39 Fördjupning: Programmeringsspråk. Likheter Möjligheter att mappa verkliga storheter till datorvariabler. Egenheter att se upp med! DATA TYPES Literals Operators Identifiers Punctuation marks Tokens [A-Za-z_][A-Za-z0-9_]* PRG CORR Syntax (Keywords) Semantik CTRL STRUCT,;(){}:;white space PRG IN LARGE Möjligheter att påverka sekvensen av instruktioner! Möjligheter att skapa stora komplicerade program. Ofullkomligheter

40 Fördjupning: Programmeringsspråk. Correctnes Vad händer vid division av heltal? Vad händer vid division med noll? Vad händer om ett tal blir större än vad variabeln kan hantera? Vad händer om en bokstav adderas till ett tal? Kan ord plussas samman? Vad händer när en variabel utan värde används? Alla programmeringsspråk har minst någon märklig egenhet!

41 Fördjupning: Programmeringsspråk. Likheter Möjligheter att mappa verkliga storheter till datorvariabler. Egenheter att se upp med! DATA TYPES Literals Operators Identifiers Punctuation marks Tokens [A-Za-z_][A-Za-z0-9_]* PRG CORR Syntax (Keywords) Semantik CTRL STRUCT,;(){}:;white space PRG IN LARGE Möjligheter att påverka sekvensen av instruktioner! Möjligheter att skapa stora komplicerade program. Vadå skapa stora program?

42 Fördjupning: Programmeringsspråk. Programming In Large Hela programmet återfinns i huvudfunktionen! Huvudprogrammet, det som heter main(void){ } tar hjälp av sorteringsfunktionen bubbla! Ett stort program kan ta hjälp av hundratals funktioner, där många kan vara generella och lika från program till program! Språket borde ha stöd för det!

43 Fördjupning: Programmeringsspråk. Programming In Large Module Classes SORTERA #include < > BIL REG static NYCKEL makefile PROGRAM Både språket och programutvecklingsmetoden måste stödja tekniken!

44 Programspråk & programmering 7 Assembler qualifiers 1 typedef Sequencing ior and 2 casting Operands Selection 2 eller 3 Reference 4 Repetition Abstract Aggregates Jump Compound Literals Functions xor not Basic Side effects Und. behavior DATA TYPES PRG CORR Imp. dependent Syntax related Logical related CTRL STRUCT PRG IN LARGE main /*comment*/ or // makefile Exceptions direktiv class Branch Skip # Goto Call Return A 1 =1 A 2 =1 A n =A n-1 +A n-2

45 f a int float char short circuit order of subexp eval. C-språket = + - * / % * / % & ^ << >> ==!= > < >= <=! && ~ & ^ << >> a[i] * & a->b a.b fn(), A?B:C sizeof() && comp. ass. i*i++, Integer overflow Index out of range #define =; Aritmetic If () { } [else { }] Compound assign. qualifiers Comparison typedef Sequencing casting Implicit promotion, Explicit. Precedence, Operands Assosiativity Selection Reference Iteration Abstract Aggregates Jump Compound Literals Functions Logical Bitwise Referens Other {,,,} text file struct [ ] overf/index Basic Side effects int/int Und. behavior DATA TYPES PRG CORR Imp. dependent Syntax related Logical related CTRL STRUCT PRG IN LARGE ; { } Directives int main(void){ declarations statements } /*comment*/ or // makefile switch () case : [deafult :] Exceptions while () do while () for (;;) break continue lable:goto return exit int t( ){}

46 Den tredje generationen: IC revolutionen! IBM M op/s Pipelining Virtual mem. Datorerna var nu så kraftfulla så flera använd. kunde dela på en dator. För detta krävdes ett kraftfullt styrprogram, de första OS växte fram!

47 Den tredje generationen: IC revolutionen Operatören kommunicerade med OS:et via en kommandotolk! Den del i OS:et som hanterade dialogen benämndes vanligtvis Command Line Interpreter (CLI). Kommandona var ofta förkortningar. Varje datorleverantör med självaktning hade ett eget operativsystem med en egen CLI med egna, men likartade, kommandon. Speciellt viktigt var att kunna hantera filsystemet och vilka processer som kördes i datorn. Trots att dagens datorer ofta har grafiska användargränssnitt, finns vanligtvis ett CLI kvar undangömt om det skulle behövas!

48 Den tredje generationen: IC revolutionen Windows: Command Prompt

49 Den tredje generationen: IC revolutionen Mac/Linux Windows (DOS) Hjälp man help Visa filerna som finns där jag är ls dir Där jag är i filkatalogen./.\ En nivå upp i filträdet.... Flytta en nivå upp i filträdet cd.. cd.. Hemkatalogen cd ~/ Flytta till specifik plats cd path cd path Flytta en fil mv from to move from to Kopiera en fil cp from to copy from to Radera en fil rm path del path Visa innehållet i en fil, sida för sida more path more path Styr om output, input, länka (pipe) > < > <

50 Den tredje generationen: IC revolutionen IBM NOT Gate

51 Den tredje generationen: IC revolutionen APOLLO 11 SPECIAL 55W 2 k RAM 36k ROM 2 MHz 4nW Margaret Hamilton Chefsprogrammerare

52 Den tredje generationen: IC revolutionen Miniräknare! Mot slutet av perioden gick det att få in så många transistorer på en IC så att funktionen till en hel enkel dator kunde skapas

53 Den fjärde generationen: Mikrodatorrevolutionen Gordon -04 Stordatorerna började ersättas med datorkraft på skrivbordet + centralt filsystem Timesharing VT100

54 Den fjärde generationen: Mikrodatorrevolutionen HD, FD Undantag: Batterier!

55 Den femte generationen: Persondatorrevolutionen -82: Commondore 64-83: IBM PC : Apple Machintosh Grafiskt användargränssnitt (GUI)

56 Den sjätte generationen: Internetrevolutionen Sir Timothy John "Tim" Berners-Lee 2014

57 Abstraktion II Källkod Högnivåspråk Java ARM Kompilator Java Intel Kompilator Java IBM Kompilator Generellt mellan språk VM ARM Kompilator (Front-end) VM Intel VM IBM VM = Virtuell Maskin (Back-end)

58 Abstraktion III Ca 4000-rader kod måste uppdateras för att flytta Linux till en ny plattform! Ett helt operativsystem är miljontals rader kod.

59 Den sjunde generationen: Streaming/flerkärnerevolutionen Fujitsu -05 (4/100k) Programmeringsspråk med stöd för parallella processer

60 Den åttonde generationen: Den biologiska/nano revolutionen Edge of Moores law Nanoteknologi Biologisk integration 22nm 5nm

61 Vi ska lära oss programmera varför tycker en del att det är svårt? Ett programmeringsspråk består vanligtvis av ca 50 ord...det kan omöjligtvis vara svårt att lära sig 50 engelska ord......men det är knepigt att beskriva verkligheten med bara 50 ord......tricket är att beskriva verkligheten i små små steg......och att inte glömma bort att datorn fungerar......precis som du, när du läser ett recept!

62 Hur använder man (dator-)språket? Arbetsintensiv Monoton Konsten att översätta en verklig process till datorns värld Farlig Felkänslig Väg 4 tomater och beräkna medelvärdet!

63 Hur använder man (dator-)språket? Arbetsintensiv Monoton Konsten att översätta en verklig process till datorns värld Farlig Felkänslig Väg 4 tomater och beräkna medelvärdet! Nollställ miniräknaren. Repetera 4 gånger: Väg nästa tomat addera vikten till summan på miniräknaren. Dividera summan med 4!

64 Hur använder man (dator-)språket? Arbetsintensiv Monoton Konsten att översätta en verklig process till datorns värld Farlig Felkänslig Väg 4 tomater och beräkna medelvärdet! Nollställ miniräknaren. Repetera 4 gånger: Väg nästa tomat addera vikten till summan på miniräknaren. Dividera summan med 4! det är att kunna programmera, och rätt lika från språk till språk!

65 Prova på att beskriva gissa talet!

66 Prova på att beskriva gissa talet! Generera ett slumptal! Välkommen till spelet! Gissa ett tal? Läs in talet! Om =, skriv ut Rätt! Om >, skriv ut För högt! Om <, skriv ut För lågt! Fortsätt om ej =

67 Prova på att beskriva gissa talet! Generera ett slumptal! Välkommen till spelet! Gissa ett tal? Läs in talet! Om =, skriv ut Rätt! Om >, skriv ut För högt! Om <, skriv ut För lågt! Fortsätt om ej =

68 Prova på att beskriva gissa talet! Generera ett slumptal! Välkommen till spelet! Gissa ett tal? Läs in talet! Om =, skriv ut Rätt! Om >, skriv ut För högt! Om <, skriv ut För lågt! Fortsätt om ej =

69 HI1026 Proj HI1007 Java HI1024 C HI1030 DB HI1029 DS HI1031 Dist HE1034 Nät HE1033 Nät HI1032 Nät HE1037 Nät HI1025 OS HE1028 uc HE1041 uc Förstår du det här blir resan lätt! GUI CLI t.ex bytekode Maskinkod Program #1 Program #2 KOMPILATOR Virtuell Maskin Standard Bibliotek Kärna ASSEMBLER t.ex Java OPERATIV OS Skärm tgb SYSTEM Processer Minne Resurshantering Filsys. Nätverk Assemblerkod Maskinkoden utgör ett abstrakt gränssnitt som döljer bort hur den underliggande hårdvaran är uppbyggd * Föreläsning #3.html Browser IoT Prg RT OS ---- IoT Prg HE1026 Dig HE1030 Ana av ett antal IC-kretsar med miljontals grindar som i sin tur består av miljardtals transistorer! (som trots allt inte kan göra mycket mer än 1+1!)

70 Lab #1: Hour of code Minecraft! code.org

71 Lab #2:Lite svårare program Klassisk Labyrint 20 övningar!

72 Rev history AC Skapad AC Utkast #1, remiss NB AC Bättre introduktion AC Bättre avslutning + övning AC Inkluderat modern datorhistoria från föreläsning #1. Flyttat programutvecklingsmetodik till föreläsning #3. Fördjupat begreppen abstraktion och operativsystem AC Uppsnyggat inför HT AC Adderat CLI avsnitt

73

Grundkurs Programmering

Grundkurs Programmering HI124 Grundkurs Programmering F7b: Funktioner på djupet! A. Cajander, STH 6 1 5 42 3.14f a float char short circuit order of subexp eval. Dagens fokus = + - * / % ++ -- + - * / % & ^ > ==!= > < >=

Läs mer

Grundkurs Programmering

Grundkurs Programmering HI1024 Grundkurs Programmering F09: Pekare! A. Cajander, STH 6 1 5 42 3.14f a float char short circuit order of subexp eval. Dagens fokus = + - * / % ++ -- + - * / % & ^ > ==!= > < >=

Läs mer

Introduktionskurs i Datateknik

Introduktionskurs i Datateknik HF0010 Introduktionskurs i Datateknik F3: World Wide Web? A. Cajander, STH Introduktionskurs i Datateknik F1: Vad är en dator? F2: programmeringsspråk? L1: Hour of code, alla kan programmera, Diplom! L2:

Läs mer

Vad har vi lärt oss så här långt Vad är en sträng? Strängkonstanter. Att skriva ut och läsa in strängar. Att arbeta med strängar.

Vad har vi lärt oss så här långt Vad är en sträng? Strängkonstanter. Att skriva ut och läsa in strängar. Att arbeta med strängar. Vad har vi lärt oss så här långt Vad är en sträng Strängkonstanter. Att skriva ut och läsa in strängar. Att arbeta med strängar. Matriser av strängar. Sortering av strängar. Vad har vi lärt oss i dag Literals

Läs mer

Introduktionskurs i Datateknik

Introduktionskurs i Datateknik HF0010 Introduktionskurs i Datateknik F1: Vad är en dator? A. Cajander, STH Introduktionskurs i Datateknik F1: Vad är en dator? F2: programmeringsspråk? L1: Hour of code, alla kan programmera, Diplom!

Läs mer

Föreläsning 2. Operativsystem och programmering

Föreläsning 2. Operativsystem och programmering Föreläsning 2 Operativsystem och programmering Behov av operativsystem En dator så som beskriven i förra föreläsningen är nästan oanvändbar. Processorn kan bara ges enkla instruktioner såsom hämta data

Läs mer

Program & programmering

Program & programmering Program & programmering Vad är program? Satser och instruktioner, toggla igenom exempel Program på olika nivåer, för olika maskiner, för olika saker Tolka program; kompilator, intepretator, binärbytekod,

Läs mer

Objektorienterad Programmering (TDDC77)

Objektorienterad Programmering (TDDC77) Objektorienterad Programmering (TDDC77) Föreläsning II: utmatning, variabler, typer Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2016 Kompilera och köra programmet under terminal 2: I Skapa Hej.java

Läs mer

I Skapa Hej.java och skriv programmet. I Kompilera med javac Hej.java. I Rätta fel och repetera tills du lyckas kompilera ditt program

I Skapa Hej.java och skriv programmet. I Kompilera med javac Hej.java. I Rätta fel och repetera tills du lyckas kompilera ditt program Kompilera och köra programmet Objektorienterad Programmering (TDDC77) Föreläsning II: utmatning, variabler, typer Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2016 under terminal 2: I Skapa Hej.java

Läs mer

Föreläsning 1: Intro till kursen och programmering

Föreläsning 1: Intro till kursen och programmering Föreläsning 1: Intro till kursen och programmering Kursens hemsida http:www.it.uu.se/edu/course/homepage/prog1/vt11 Studentportalen http://www.studentportalen.uu.se Lärare: Tom Smedsaas, Tom.Smedsaas@it.uu.se

Läs mer

Kompilering och exekvering. Föreläsning 1 Objektorienterad programmering DD1332. En kompilerbar och körbar java-kod. Kompilering och exekvering

Kompilering och exekvering. Föreläsning 1 Objektorienterad programmering DD1332. En kompilerbar och körbar java-kod. Kompilering och exekvering Föreläsning 1 Objektorienterad programmering DD1332 Introduktion till Java Kompilering, exekvering, variabler, styrstrukturer Kompilering och exekvering Ett program måste översättas till datorns språk

Läs mer

Inledning. Vad är ett datorprogram, egentligen? Olika språk. Problemlösning och algoritmer. 1DV433 Strukturerad programmering med C Mats Loock

Inledning. Vad är ett datorprogram, egentligen? Olika språk. Problemlösning och algoritmer. 1DV433 Strukturerad programmering med C Mats Loock Inledning Vad är ett datorprogram, egentligen? Olika språk Problemlösning och algoritmer 1 (14) Varför använda en dator? Genom att variera de program som styr datorn kan den användas för olika uppgifter.

Läs mer

Föreläsning 1: Intro till kursen och programmering

Föreläsning 1: Intro till kursen och programmering Föreläsning 1: Intro till kursen och programmering λ Kursens hemsida http:www.it.uu.se/edu/course/homepage/prog1/mafykht11/ λ Studentportalen http://www.studentportalen.uu.se UNIX-konton (systemansvariga

Läs mer

Klassdeklaration. Metoddeklaration. Parameteröverföring

Klassdeklaration. Metoddeklaration. Parameteröverföring Syntax: Class Declaration Modifier Class Body Basic Class Member Klassdeklaration class Class Member Field Declaration Constructor Declaration Method Declaration Identifier Class Associations Motsvarar

Läs mer

Föreläsning 2 Programmeringsteknik och C DD1316. Mikael Djurfeldt

Föreläsning 2 Programmeringsteknik och C DD1316. Mikael Djurfeldt Föreläsning 2 Programmeringsteknik och C DD1316 Mikael Djurfeldt Föreläsning 2 Programmeringsteknik och C Python introduktion Utskrift Inläsning Variabler Datatyp Aritmetiska operatorer Omvandling

Läs mer

F2: Motorola Arkitektur. Assembler vs. Maskinkod Exekvering av instruktioner i Instruktionsformat MOVE instruktionen

F2: Motorola Arkitektur. Assembler vs. Maskinkod Exekvering av instruktioner i Instruktionsformat MOVE instruktionen 68000 Arkitektur F2: Motorola 68000 I/O signaler Processor arkitektur Programmeringsmodell Assembler vs. Maskinkod Exekvering av instruktioner i 68000 Instruktionsformat MOVE instruktionen Adresseringsmoder

Läs mer

Per Holm Lågnivåprogrammering 2014/15 24 / 177. int och double = = 2, 147, 483, 647

Per Holm Lågnivåprogrammering 2014/15 24 / 177. int och double = = 2, 147, 483, 647 Lågnivåprogrammering Föreläsning 2 Lågnivåprogrammering Förberedelse inför laboration 2. Maskinspråk, assemblerspråk Talrepresentation En enkel dator, komponenter Instruktionsformat, instruktionscykel

Läs mer

Repetition C-programmering

Repetition C-programmering Repetition C-programmering Viktor Kämpe C Historik Utvecklades först 1969 1973 av Dennis Ritchcie vid AT&T Bell Labs. Högnivå språk med kontakt mot maskinvara. Ett utav de mest använda språken. Repetition

Läs mer

F4. programmeringsteknik och Matlab

F4. programmeringsteknik och Matlab Programmeringsspråk Föreläsning 4 programmeringsteknik och Matlab 2D1312/ 2D1305 Introduktion till Java Kompilering, exekvering, variabler, styrstrukturer 1 Ett program är en eller flera instruktioner

Läs mer

Grundkurs i programmering - intro

Grundkurs i programmering - intro Grundkurs i programmering - intro Linda Mannila 4.9.2007 Dagens föreläsning Allmän kursinformation: mål, syfte, upplägg, examination, litteratur, etc. Hur arbetar en dator? Hur vi får datorn att förstå

Läs mer

Digitalitet. Kontinuerlig. Direkt proportionerlig mot källan. Ex. sprittermometer. Elektrisk signal som representerar ljud.

Digitalitet. Kontinuerlig. Direkt proportionerlig mot källan. Ex. sprittermometer. Elektrisk signal som representerar ljud. Analog Digitalitet Kontinuerlig Direkt proportionerlig mot källan Ex. sprittermometer Elektrisk signal som representerar ljud Diskret Digital Representation som siffror/symboler Ex. CD-skiva Varje siffra

Läs mer

Imperativ programmering. Föreläsning 2

Imperativ programmering. Föreläsning 2 Imperativ programmering 1DL126 3p Föreläsning 2 Imperativ programmering Kännetecken för imperativa språk: Programmet består av en serie instruktioner. Olika språk har olika uppsättningar av instruktioner.

Läs mer

Lågnivåprogrammering. Föreläsning 2 Lågnivåprogrammering. Binära tal. En enkel modell av datorns inre

Lågnivåprogrammering. Föreläsning 2 Lågnivåprogrammering. Binära tal. En enkel modell av datorns inre Lågnivåprogrammering Föreläsning 2 Lågnivåprogrammering Förberedelse inför laboration 2. Maskinspråk, assemblerspråk Talrepresentation En enkel dator, komponenter Instruktionsformat, instruktionscykel

Läs mer

Grundläggande datavetenskap, 4p

Grundläggande datavetenskap, 4p Grundläggande datavetenskap, 4p Kapitel 2 Datamanipulation, Processorns arbete Utgående från boken Computer Science av: J. Glenn Brookshear 2004-11-09 IT och Medier 1 Innehåll CPU ALU Kontrollenhet Register

Läs mer

c a OP b Digitalteknik och Datorarkitektur 5hp ALU Design Principle 1 - Simplicity favors regularity add $15, $8, $11

c a OP b Digitalteknik och Datorarkitektur 5hp ALU Design Principle 1 - Simplicity favors regularity add $15, $8, $11 A basic -bit Select between various operations: OR, AND, XOR, and addition Full Adder Multiplexer Digitalteknik och Datorarkitektur hp Föreläsning : introduktion till MIPS-assembler - april 8 karlmarklund@ituuse

Läs mer

Introduktion C-programmering

Introduktion C-programmering Introduktion C-programmering Viktor Kämpe C Historik Utvecklades först 1969 1973 av Dennis Ritchcie vid AT&T Bell Labs. Högnivå språk med kontakt mot maskinvara. Ett utav de mest använda språken. 2 C Standarder

Läs mer

HF0010. Introduktionskurs i datateknik 1,5 hp

HF0010. Introduktionskurs i datateknik 1,5 hp HF0010 Introduktionskurs i datateknik 1,5 hp Välkommna - till KTH, Haninge, Datateknik, kursen och till första steget mot att bli programmerare! Er lärare och kursansvarig: Nicklas Brandefelt, bfelt@kth.se

Läs mer

Föreläsning 2 Programmeringsteknik och C DD1316. Programmering. Programspråk

Föreläsning 2 Programmeringsteknik och C DD1316. Programmering. Programspråk Föreläsning 2 steknik och C DD1316 python introduktion Variabler Datatyp Aritmetiska operatorer av typer Reserverade ord logiska operatorer If-sats kommentarer betyder att instruera en dator Ett program

Läs mer

TDDC77 Objektorienterad Programmering

TDDC77 Objektorienterad Programmering TDDC77 Objektorienterad Programmering Föreläsning 3 Sahand Sadjadee IDA, Linköpings Universitet Hösttermin 2018 Outline Operatorer Java Standard Library Inmatning Operatorer operatorer En operator är en

Läs mer

Objektorienterad Programmering (TDDC77)

Objektorienterad Programmering (TDDC77) Objektorienterad Programmering (TDDC77) Föreläsning II: utmatning, variabler, typer Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2017 Outline Java Språket Utmatning av Sträng litteraler Variabler

Läs mer

Inledande programmering med C# (1DV402) Introduktion till programmering

Inledande programmering med C# (1DV402) Introduktion till programmering Introduktion till programmering Upphovsrätt för detta verk Detta verk är framtaget i anslutning till kursen Inledande programmering med C# vid Linnéuniversitetet. Du får använda detta verk så här: Allt

Läs mer

Python. Python är, som Scheme, ett interpreterat språk men det finns kompilatorer för Python.

Python. Python är, som Scheme, ett interpreterat språk men det finns kompilatorer för Python. är, som Scheme, ett interpreterat språk men det finns kompilatorer för. När man interpreterar ett språk tillhandahåller man en interpretator som läser sats för sats och försöker tolka den. När man kompilerar

Läs mer

Introduktion till programmering. Undervisning. Litteratur och examination. Lärare. Föreläsning 1

Introduktion till programmering. Undervisning. Litteratur och examination. Lärare. Föreläsning 1 Kursinfo Introduktion till programmering Undervisning Föreläsning 1 Kursinformation Inloggning, filsystem, kommandotolk några inledande exempel Föreläsningar Fem föreläsningar, vardera 45 minuter. Allmänna

Läs mer

Föreläsning 2 Programmeringsteknik DD1310. Programmering. Programspråk

Föreläsning 2 Programmeringsteknik DD1310. Programmering. Programspråk Föreläsning 2 steknik DD1310 python introduktion Variabler Datatyp Aritmetiska operatorer av typer Reserverade ord logiska operatorer If-sats kommentarer funktioner betyder att instruera en dator Ett program

Läs mer

Python. Python är, som Scheme, ett interpreterat språk men det finns kompilatorer för Python.

Python. Python är, som Scheme, ett interpreterat språk men det finns kompilatorer för Python. är, som Scheme, ett interpreterat språk men det finns kompilatorer för. När man interpreterar ett språk tillhandahåller man en interpretator som läser sats för sats och försöker tolka den. När man kompilerar

Läs mer

Programmera i C Varför programmera i C när det finns språk som Simula och Pascal??

Programmera i C Varför programmera i C när det finns språk som Simula och Pascal?? Programmera i C Varför programmera i C när det finns språk som Simula och Pascal?? C är ett språk på relativt låg nivå vilket gör det möjligt att konstruera effektiva kompilatorer, samt att komma nära

Läs mer

Vad är en dator? Introduktion till datorer och nätverk. Pontus Haglund Institutionen för datavetenskap (IDA) 21 augusti 2018

Vad är en dator? Introduktion till datorer och nätverk. Pontus Haglund Institutionen för datavetenskap (IDA) 21 augusti 2018 . Vad är en dator? Introduktion till datorer och nätverk Pontus Haglund Institutionen för datavetenskap (IDA) 21 augusti 2018 Översikt 2/23 Datorns historia von Neumann-arkitekturen Operativsystem Datornät

Läs mer

En kort text om programmering i C.

En kort text om programmering i C. En kort text om programmering i C C skapades 1972 av Brian Ritchie och Dennis Kerighan på Bell Labs i USA Det blev det språk som är mest använt genom tiderna Det finns många olika språk Pascal, FORTH,

Läs mer

Kursupplägg. Examination. Föreläsning 1: Intro till kursen och. Kursmaterial. programmering. Kursboken: Programmera med a multimedia approach

Kursupplägg. Examination. Föreläsning 1: Intro till kursen och. Kursmaterial. programmering. Kursboken: Programmera med a multimedia approach Föreläsning 1: Intro till kursen och Kursens hemsida http://www.it.uu.se/edu/course/homepage/prog1/esvt10 Studentportalen http://www.studentportalen.uu.se Kursmaterial Kursbok Kursprogramvara Tips: Installera

Läs mer

Variabler och konstanter

Variabler och konstanter Variabler och konstanter Deklareras automatisk när man stoppar in data i dem. X = 7 Y = A Z = Kalle Definieras av att de har: ett namn (X) en datatyp (Integer) ett värde (t.ex. 7) Lagras i datorns minne!

Läs mer

Introduktion till programmering D0009E. Föreläsning 1: Programmets väg

Introduktion till programmering D0009E. Föreläsning 1: Programmets väg Introduktion till programmering D0009E Föreläsning 1: Programmets väg 1 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

Läs mer

Introduktion till programmering och Python Grundkurs i programmering med Python

Introduktion till programmering och Python Grundkurs i programmering med Python 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?

Läs mer

Introduktion till programmering. Programspråk och paradigmer

Introduktion till programmering. Programspråk och paradigmer Introduktion till programmering Programspråk och paradigmer Vad är ett programspråk? Aprogramming languageis a formal constructedlanguagedesigned to communicate instructions to a machine, particularly

Läs mer

Föreläsning 3. Programmering, C och programmeringsmiljö

Föreläsning 3. Programmering, C och programmeringsmiljö Föreläsning 3 Programmering, C och programmeringsmiljö Vad är programmering? Ett väldigt kraftfullt, effektivt och roligt sätt att kommunicera med en dator Att skapa program / applikationer till en dator

Läs mer

OOP Objekt-orienterad programmering

OOP Objekt-orienterad programmering OOP Objekt-orienterad programmering OOP F1:1 Delkursansvarig Epost Kursens webbsidor sm@fc.dsv.su.se http://people.dsv.su.se/~sm/oop/ Föreläsning 1 Introduktion till kursen OOP Vad är Java? Ett första

Läs mer

Föreläsning 5 5DV086 - Programspråk

Föreläsning 5 5DV086 - Programspråk Föreläsning 5 5DV086 - Programspråk Petter Ericson (pettter@cs.umu.se) Umeå University 6 februari, 2015 Haskell-frågor? Haskell-tips do-syntax State-monaden Dagens plan Programspråksteori Varför? Vad?

Läs mer

Föreläsning 3. Programmering, C och programmeringsmiljö

Föreläsning 3. Programmering, C och programmeringsmiljö Föreläsning 3 Programmering, C och programmeringsmiljö Vad är programmering? Ett väldigt kraftfullt, effektivt och roligt sätt att kommunicera med en dator Att skapa program / applikationer till en dator

Läs mer

Att komma igång. Föreläsning 1

Att komma igång. Föreläsning 1 Att komma igång Föreläsning 1 Att komma igång Vad är programmering? Boken! Kurs-PM Vad är ett program? Kompilerande-Interpreterande Programmeringsmiljö Hello World! Att programmera Variabler printf scanf

Läs mer

Föreläsning 2 Programmeringsteknik DD1310. Programmering. Programspråk

Föreläsning 2 Programmeringsteknik DD1310. Programmering. Programspråk Föreläsning 2 steknik DD1310 Python introduktion Variabler Datatyper Aritmetiska operatorer av typer Reserverade ord logiska operatorer If-sats kommentarer betyder att instruera en dator Ett program är

Läs mer

TDDC77 Objektorienterad Programmering

TDDC77 Objektorienterad Programmering TDDC77 Objektorienterad Programmering Föreläsning 1 Sahand Sadjadee IDA, Linköpings Universitet Hösttermin, 2018 Outline Kursinfo Introduktion till Programmering Java Development Kit(JDK) Kursinfo Hemsida

Läs mer

Programmering med Java. Grunderna. Programspråket Java. Programmering med Java. Källkodsexempel. Java API-exempel In- och utmatning.

Programmering med Java. Grunderna. Programspråket Java. Programmering med Java. Källkodsexempel. Java API-exempel In- och utmatning. Programmering med Java Programmering med Java Programspråket Java Källkodsexempel Källkod Java API-exempel In- och utmatning Grunderna Ann Pan panda@nada.kth.se Rum 1445, plan 4 på Nada 08-7909690 Game.java

Läs mer

Programmering, grundkurs, 8.0 hp, Elektro, KTH, hösten 2010. Programmering: att instruera en maskin att utföra en uppgift, kräver olika språk:

Programmering, grundkurs, 8.0 hp, Elektro, KTH, hösten 2010. Programmering: att instruera en maskin att utföra en uppgift, kräver olika språk: Föreläsning 1 OH: Övergripande information Programmering: att instruera en maskin att utföra en uppgift, kräver olika språk: * maskinspråk = ettor och nollor, kan bara en maskin förstå. * programmeringsspråk

Läs mer

Enkla datatyper minne

Enkla datatyper minne Enkla datatyper minne 143.56 sant Sonja A falskt 18 1999-10-29 Bertil Gralvik, KTH Ingenjörsskolan 1 Addera två tal Algoritmen Summera tal Mata in två tal Beräkna Skriv ut resultat Mata in tal 1 Mata in

Läs mer

Parameteröverföring. Exempel. Exempel. Metodkropp

Parameteröverföring. Exempel. Exempel. Metodkropp Exempel atriangle.changesize (100, 50); // OK atriangle.changesize (100); // fel antal atriangle.changesize ( 1, 50); // fel datatyp char c = atriangle.getarea (); // fel datatyp Parameteröverföring I

Läs mer

Planering Programmering grundkurs HI1024 HT 2014

Planering Programmering grundkurs HI1024 HT 2014 Planering Programmering grundkurs HI1024 HT 2014 Föreläsning V36 Föreläsning 1 Vad är programmering? Boken! Kurs-PM Vad är ett program? Kompilerande- Interpreterande Programmeringsmiljö Hello World! Att

Läs mer

TDP002 Imperativ programmering

TDP002 Imperativ programmering TDP002 Imperativ programmering Introduktion till kursen och python Eric Elfving Institutionen för datavetenskap (IDA) Översikt Programmering En introduktion Python Köra och skriva program Python grunderna

Läs mer

TDIU01 - Programmering i C++, grundkurs

TDIU01 - Programmering i C++, grundkurs TDIU01 - Programmering i C++, grundkurs Sammanfattning period 1 Eric Elfving Institutionen för datavetenskap 1 oktober 2013 Översikt Ett C++-programs uppbyggnad Variabler Datatyper Satser Uttryck Funktioner

Läs mer

Innehålls förteckning

Innehålls förteckning Programmering Uppsats i skrivteknik Axxell Företagsekonomi i informationsteknik 19.3.2015 Respondent: Tomas Björklöf Opponent: Theo Wahlström Handledare: Katarina Wikström Innehålls förteckning 1. Inledning...3

Läs mer

Föreläsning 3: Booleans, if, switch

Föreläsning 3: Booleans, if, switch TDA 545: Objektorienterad programmering Föreläsning 3: Booleans, if, switch Magnus Myréen Chalmers, läsperiod 1, 2015-2016 Påminnelse om klasser och objekt Boll boll1 = new Boll(5,12); skapar ett nytt

Läs mer

Introduktion till programmering

Introduktion till programmering Introduktion till programmering Vad är programmering? Vad gör en dator? Vad är ett datorprogram? 1 (9) Vad är programmering? För att bestämma en cirkels area måste du: 1. Dividera diametern 5 med 2. 2.

Läs mer

Att komma igång. Föreläsning 1

Att komma igång. Föreläsning 1 Att komma igång Föreläsning 1 Att komma igång Vad är programmering? Boken! Kurs-PM Vad är ett program? Kompilerande-Interpreterande Programmeringsmiljö Hello World! Att programmera Variabler printf scanf

Läs mer

Viktiga begrepp. Algoritm. Array. Binärkod. Blockprogrammering. Bugg / fel och felsökning. Dataspel. Dator

Viktiga begrepp. Algoritm. Array. Binärkod. Blockprogrammering. Bugg / fel och felsökning. Dataspel. Dator Viktiga begrepp Den här ordlistan är till för dig som går kursen Om Programmering. Eftersom detta är en grundläggande kurs har vi i vissa fall gjort en del förenklingar. En del begrepp är svåra att förenkla,

Läs mer

CE_O3. Nios II. Inför lab nios2time

CE_O3. Nios II. Inför lab nios2time IS1200 Exempelsamling till övning CE_O3, 2015 CE_O3. Nios II. Inför lab nios2time 3.1. Logiska operationer (se uppgift 1.2 c) Repetera (eller lär dig) innebörden av de logiska operationerna "bitvis AND",

Läs mer

Inledande programmering med C# (1DV402) Introduktion till C#

Inledande programmering med C# (1DV402) Introduktion till C# Introduktion till C# Upphovsrätt för detta verk Detta verk är framtaget i anslutning till kursen Inledande programmering med C# vid Linnéuniversitetet. Du får använda detta verk så här: Allt innehåll i

Läs mer

Boken?!?! Vad är ett program? Kompilerande-Interpreterande Programmeringsmiljö Hello World! Att programmera och ett enkelt program Variabler printf

Boken?!?! Vad är ett program? Kompilerande-Interpreterande Programmeringsmiljö Hello World! Att programmera och ett enkelt program Variabler printf Föreläsning1 Boken?!?! Vad är ett program? Kompilerande-Interpreterande Programmeringsmiljö Hello World! Att programmera och ett enkelt program Variabler printf scanf Ni behöver läsa boken både för att

Läs mer

Elektroteknik MF1016 föreläsning 9 MF1017 föreläsning 7 Mikrodatorteknik

Elektroteknik MF1016 föreläsning 9 MF1017 föreläsning 7 Mikrodatorteknik Elektroteknik MF1016 föreläsning 9 MF1017 föreläsning 7 - Inbyggda system - Analog till digital signal - Utvecklingssystem, målsystem - Labutrustningen - Uppbyggnad av mikrokontroller - Masinkod, assemblerkod

Läs mer

Översikt Introduktion DST 1. Nicholas Wickström. IDE, Högskolan i Halmstad. N. Wickström

Översikt Introduktion DST 1. Nicholas Wickström. IDE, Högskolan i Halmstad. N. Wickström DST 1 Nicholas Wickström IDE, Högskolan i Halmstad 2009 1 Outline 1 Vad är Hårdvara? (Datorsystemmodell; processor m. periferi, IO, Minne) Typiskt för hårdvarunära programmering (datablad, register, datastrukturer,...)

Läs mer

Operativsystem Lektion 1. Lärare. Schema. Kurssajten Finns på adressen. Jan Erik Moström. Set Norman

Operativsystem Lektion 1. Lärare. Schema. Kurssajten Finns på adressen. Jan Erik Moström. Set Norman Operativsystem Lektion 1 1 Lärare jem@cs.umu.se, B449 Lektioner etc Set Norman set@cs.umu.se, NAdv105 Labbar, labhandledning 2 Schema Notera att det finns ändringar i schemat!! Under perioden 1-8 mars

Läs mer

Indexerade variabler

Indexerade variabler Indexerade variabler Vad har vi lärt oss så här långt Den första sammansatta (compound) datatypen: matris. Att arbeta med 1-dimensionella matriser. Att arbeta med flerdimensionella matriser. Matriser med

Läs mer

729G74 IT och programmering, grundkurs. Tema 1, Föreläsning 2 Jody Foo,

729G74 IT och programmering, grundkurs. Tema 1, Föreläsning 2 Jody Foo, 729G74 IT och programmering, grundkurs Tema 1, Föreläsning 2 Jody Foo, jody.foo@liu.se Föreläsningsöversikt Kommande moment Vad är ett program? Vad händer när man kör ett program? Programmeringsspråk Python

Läs mer

Programmering I Tobias Wrigstad fredag, 2009 augusti 28

Programmering I Tobias Wrigstad fredag, 2009 augusti 28 Programmering I Tobias Wrigstad tobias@dsv.su.se Vad är programmering? Lågnivåspråk och högnivåspråk Kompilering och interpretering Variabler Notation för flödesschema (flow chart) Kontrollstrukturer (conditionals,

Läs mer

Lektion Java Grunder. Javas historia. Programmeringsspråket Java. Skillnaderna mellan Java och C++ JVM (Javas Virtuella Maskin)

Lektion Java Grunder. Javas historia. Programmeringsspråket Java. Skillnaderna mellan Java och C++ JVM (Javas Virtuella Maskin) Lektion Java Grunder Javas historia Ursprungligen utvecklades Java (1991) för att användas i olika typer av konsumentelektronik (mikrovågsugnar, videoapparater) av programmerare på Sun. Språket kallades

Läs mer

Extra lab. Nu på fredag kl 8-12 Frivillig Enbart hjälp med projektuppgiften Ingen examination

Extra lab. Nu på fredag kl 8-12 Frivillig Enbart hjälp med projektuppgiften Ingen examination Extra lab Nu på fredag kl 8-12 Frivillig Enbart hjälp med projektuppgiften Ingen examination Erfarenheter från projektstart Läs på i Downey om klasser och objekt! När kan/ska man använda self? När bollarna

Läs mer

Moment 2 Digital elektronik. Föreläsning Inbyggda system, introduktion

Moment 2 Digital elektronik. Föreläsning Inbyggda system, introduktion Moment 2 Digital elektronik Föreläsning Inbyggda system, introduktion Jan Thim 1 Inbyggda system, introduktion Innehåll: Historia Introduktion Arkitekturer Mikrokontrollerns delar 2 1 Varför lär vi oss

Läs mer

Programmering i C++ En manual för kursen Datavetenskaplig introduktionskurs 5p

Programmering i C++ En manual för kursen Datavetenskaplig introduktionskurs 5p Programmering i C++ En manual för kursen Datavetenskaplig introduktionskurs 5p Skriven av Michael Andersson Introduktion Programmering I högnivåspråk fokuserar på själv problemet (algoritmen) istället

Läs mer

EDAA20 Programmering och databaser. Mål komprimerat se kursplanen för detaljer. Checklista. Föreläsning 1-2 Innehåll. Programmering.

EDAA20 Programmering och databaser. Mål komprimerat se kursplanen för detaljer. Checklista. Föreläsning 1-2 Innehåll. Programmering. EDAA20 Programmering och databaser Mål komprimerat se kursplanen för detaljer Läsperiod 1 7.5 hp anna.aelsson@cs.lth.se http://cs.lth.se/edaa20 Mer information finns på kursens webbsida samt på det utdelade

Läs mer

F1 - Introduktion. ID1004 Objektorienterad programmering Fredrik Kilander

F1 - Introduktion. ID1004 Objektorienterad programmering Fredrik Kilander F1 - Introduktion ID1004 Objektorienterad programmering Fredrik Kilander fki@kth.se Viktiga resurser Java Software Solutions, Lewis & Loftus, sjätte eller sjunde upplagan kth.se/social meddelanden, frågor

Läs mer

Inledning. Statistisk Programmering. UNIVAC 1107 (sextio- och sjuttiotal) Hålkorten. Att använda dator

Inledning. Statistisk Programmering. UNIVAC 1107 (sextio- och sjuttiotal) Hålkorten. Att använda dator Inledning Statistisk Programmering Att använda dator Datorernas utveckling sen 1970 har revolutionerat den statistiska vetenskapen! Göran Broström gb@statumuse Statistiska institutionen Umeå universitet

Läs mer

TDDE44 Programmering, grundkurs

TDDE44 Programmering, grundkurs TDDE44 Programmering, grundkurs Föreläsning 1 Jody Foo, jody.foo@liu.se Föreläsningsöversikt Vad ingår i "Programmering, grundkurs"? Kursöversikt Datorer, program, programmeringsspråk Kort om nästa föreläsning

Läs mer

Datorarkitektur I. Tentamen Lördag 10 April Ekonomikum, B:154, klockan 09:00 14:00. Följande gäller: Skrivningstid: Fråga

Datorarkitektur I. Tentamen Lördag 10 April Ekonomikum, B:154, klockan 09:00 14:00. Följande gäller: Skrivningstid: Fråga Datorarkitektur I Tentamen Lördag 10 April 2010 Ekonomikum, B:154, klockan 09:00 14:00 Examinator: Karl Marklund 0704 73 32 17 karl.marklund@it.uu.se Tillåtna hjälpmedel: Penna Radergummi Linjal Följande

Läs mer

Föreläsning 10 Datalogi 1 DA2001. Utskrift på skärmen. Syntax. print( Hej ) Hur är det? Hej. print( Hej,end= ) print( Hur är det? ) HejHur är det?

Föreläsning 10 Datalogi 1 DA2001. Utskrift på skärmen. Syntax. print( Hej ) Hur är det? Hej. print( Hej,end= ) print( Hur är det? ) HejHur är det? Föreläsning 10 Datalogi 1 DA2001 python introduktion Variabler Datatyp Aritmetiska operatorer av typer Reserverade ord logiska operatorer If-sats kommentarer på skärmen print( Hej ) print( Hur är det?

Läs mer

Grundläggande programmering DVG A08 & ISG A04. Allmän information. Å vem är jag då. Karlstads Universitet, Johan Öfverberg 1

Grundläggande programmering DVG A08 & ISG A04. Allmän information. Å vem är jag då. Karlstads Universitet, Johan Öfverberg 1 Grundläggande programmering DVG A08 & ISG A04 Allmän information Grupp C och D slås ihop Schemat är ändrat Kurs i programmering utan förkunskaper Hjälp oss med detta Lita inte på era klasskamrater De ställer

Läs mer

Att komma igång. Föreläsning 1

Att komma igång. Föreläsning 1 Att komma igång Föreläsning 1 Att komma igång Vad är programmering? Boken! Kurs-PM Vad är ett program? Kompilerande-Interpreterande Programmeringsmiljö Hello World! Att programmera Variabler printf scanf

Läs mer

Institutionen för datavetenskap 2014/15

Institutionen för datavetenskap 2014/15 LUNDS TEKNISKA HÖGSKOLA Datorer och datoranvändning Institutionen för datavetenskap 2014/15 ME en dator 1 Inledning ME är en påhittad dator, men den har likheter med riktiga datorer: det finns ett maskinspråk

Läs mer

732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Felsökning. Datatyper. Referenstyper. Metoder / funktioner

732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Felsökning. Datatyper. Referenstyper. Metoder / funktioner 732G11 Linköpings universitet 2011-01-21 1 2 3 4 5 6 Skapa program Kompilera: Källkod Kompilator bytekod Köra: Bytekod Virtuell maskin Ett riktigt program Hej.java class Hej { public static void main (

Läs mer

Digitalteknik EIT020. Lecture 15: Design av digitala kretsar

Digitalteknik EIT020. Lecture 15: Design av digitala kretsar Digitalteknik EIT020 Lecture 15: Design av digitala kretsar November 3, 2014 Digitalteknikens kopplingar mot andra områden Mjukvara Hårdvara Datorteknik Kretskonstruktion Digitalteknik Elektronik Figure:,

Läs mer

System S. Datorarkitektur - en inledning. Organisation av datorsystem: olika abstraktionsnivåer. den mest abstrakta synen på systemet

System S. Datorarkitektur - en inledning. Organisation av datorsystem: olika abstraktionsnivåer. den mest abstrakta synen på systemet Datorarkitektur - en inledning Organisation av datorsystem: olika abstraktionsnivåer System S den mest abstrakta synen på systemet A B C Ett högnivåperspektiv på systemet a1 b1 c1 a2 b3 b2 c2 c3 En mera

Läs mer

Objektorienterad programmering i Java

Objektorienterad programmering i Java bild 1 Objektorienterad programmering i Java Föreläsning 1 Kapitel 1-3 i kursboken Java Software Solutions bild 2 Läsanvisningar Kapitel 1 är en repetition av det ni förväntas kunna sedan tidigare. Det

Läs mer

Föreläsning 1 & 2 INTRODUKTION

Föreläsning 1 & 2 INTRODUKTION Föreläsning 1 & 2 INTRODUKTION Denna föreläsning Vad händer under kursen? praktisk information Kursens mål vad är programmering? Skriva små program i programspråket Java Skriva program som använder färdiga

Läs mer

Outline. For. I istället för att följa det normala ordningen, man ändra den. I i Java får man inte göra hopp hur som helst

Outline. For. I istället för att följa det normala ordningen, man ändra den. I i Java får man inte göra hopp hur som helst Outline Objektorienterad Programmering (TDDC77) Föreläsning IV: while, for, do while, switch, arrayer Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2016 Ordning Villkorliga hopp I Normalt sett så

Läs mer

Datatyper och kontrollstrukturer. Skansholm: Kapitel 2) De åtta primitiva typerna. Typ Innehåll Defaultvärde Storlek

Datatyper och kontrollstrukturer. Skansholm: Kapitel 2) De åtta primitiva typerna. Typ Innehåll Defaultvärde Storlek De åtta primitiva typerna Java, datatyper, kontrollstrukturer Skansholm: Kapitel 2) Uppsala Universitet 11 mars 2005 Typ Innehåll Defaultvärde Storlek boolean true, false false 1 bit char Tecken \u000

Läs mer

En Von Neumann-arkitektur ( Von Neumann-principen i föreläsning 1) innebär:

En Von Neumann-arkitektur ( Von Neumann-principen i föreläsning 1) innebär: Lösningsförslag för 725G45-tentan 3/11-10 1. Vad menas med Von Neumann-arkitektur? (2p) En Von Neumann-arkitektur ( Von Neumann-principen i föreläsning 1) innebär: Data och instruktioner lagras i samma

Läs mer

Introduktion till programmering, hösten 2011

Introduktion till programmering, hösten 2011 Föreläsning 1 Programmering är ett hantverk. Det betyder att man inte kan läsa sig till den förmågan, man måste träna och man tränar genom att skriva mer och mer avancerade program. Programmering förutsätter

Läs mer

Föreläsning 2 sept 05 (Onsdag v 36). DD Chapter 2.

Föreläsning 2 sept 05 (Onsdag v 36). DD Chapter 2. Föreläsning 2 sept 05 (Onsdag v 36). DD Chapter 2. Hur vi jobbar med ett program. 1. Vad vi skriver (med hjälp av redigeringsprogrammet Emacs) på datorn: // Fig. 2.1: Welcome1.java // A first program in

Läs mer

Föreläsning 1 & 2 INTRODUKTION

Föreläsning 1 & 2 INTRODUKTION Föreläsning 1 & 2 INTRODUKTION Denna föreläsning Vad händer under kursen? praktisk information Kursens mål vad är programmering? Skriva små program i programspråket Java Skriva program som använder färdiga

Läs mer

Dagens föreläsning. Repetition. Repetition - Programmering i C. Repetition - Vad C består av. Repetition Ett första C-program

Dagens föreläsning. Repetition. Repetition - Programmering i C. Repetition - Vad C består av. Repetition Ett första C-program Dagens föreläsning Programmeringsteknik för Ingenjörer VT05 Föreläsning 3-4 Repetition Datatyper Uttryck Operatorer Satser Algoritmer Programmeringsteknik VT05 2 Repetition Repetition - Programmering i

Läs mer

IT för personligt arbete F5

IT för personligt arbete F5 IT för personligt arbete F5 Datalogi del 1 DSV Peter Mozelius 1 En dators beståndsdelar 1) Minne 2) Processor 3) Inmatningsenheter 1) tangentbord 2) scanner 3) mus 4) Utmatningsenheter 1) bildskärm 2)

Läs mer

TDP002 - Imperativ programmering

TDP002 - Imperativ programmering TDP002 - Imperativ programmering Introduktion till kursen och Python Eric Elfving Institutionen för datavetenskap 1 Programmering - en översikt 2 Python Inbyggda typer Satser och uttryck 1 Programmering

Läs mer

Lösningar till tentamen i EIT070 Datorteknik

Lösningar till tentamen i EIT070 Datorteknik Lösningar till tentamen i EIT070 Datorteknik Institutionen för Elektro- och informationsteknik, LTH Onsdagen den 13 mars 2013, klockan 14:00 19:00 i Vic 2 A-D, 3 A-C. Tillåtna hjälpmedel: på tentan utdelad

Läs mer

Software Technology. Josef Svenningsson

Software Technology. Josef Svenningsson Software Technology Josef Svenningsson Software Technology Software Technology Området Software Technology handlar i mångt och mycket om följande frågeställning: Hur designar man programmeringsspråk för

Läs mer