Presentation laddar. Vänta.

Presentation laddar. Vänta.

Abelli, B. (2004). Programmeringens Grunder – med exempel i C#. Lund: Studentlitteratur 11 indata bearbetningutdata Databehandling Ett datorprogram består.

Liknande presentationer


En presentation över ämnet: "Abelli, B. (2004). Programmeringens Grunder – med exempel i C#. Lund: Studentlitteratur 11 indata bearbetningutdata Databehandling Ett datorprogram består."— Presentationens avskrift:

1 Abelli, B. (2004). Programmeringens Grunder – med exempel i C#. Lund: Studentlitteratur 11 indata bearbetningutdata Databehandling Ett datorprogram består i huvudsak av En beskrivning av de data som skall behandlas i programmet En algoritm där vi med hjälp av programsatser beskriver hur data skall matas in, bearbetas och beräknas samt matas ut

2 Abelli, B. (2004). Programmeringens Grunder – med exempel i C#. Lund: Studentlitteratur 22 Processor (CPU) Styrenhet Primärminne (RAM) Program X (maskinkod) Operativsystemet ”starta X” ”ladda X” Programinstruktioner ”starta X” Sekundärminne Uppstart av program

3 Abelli, B. (2004). Programmeringens Grunder – med exempel i C#. Lund: Studentlitteratur 33 Bits och bytes Binärkod – Maskinkod Maskininstruktion operationskod + operanddel Instruktionscykel Hämtning av instruktion Avkodning Aritmetisk och logisk bearbetning Spara resultatet Assembler Datorns språk

4 Abelli, B. (2004). Programmeringens Grunder – med exempel i C#. Lund: Studentlitteratur 44 Maskinkod Varje dator har ett ”maskinspråk” Maskinspråket är ”binärt” (ettor & nollor) Maskinspråket har ett begränsat antal möjliga instruktioner (grundläggande aritmetik, repetitioner, mm) Maskinspråket är hårt knutet till processortypen (därför kan ett program inte flyttas till vilken dator som helst)

5 Abelli, B. (2004). Programmeringens Grunder – med exempel i C#. Lund: Studentlitteratur Processor Primärminne Utenhet Inenhet Datorns språk

6 Abelli, B. (2004). Programmeringens Grunder – med exempel i C#. Lund: Studentlitteratur 66 En bit om bitar En bit (binary digit) Är den minsta dataenheten Kan ha två värden (noll eller ett) Kan representera numeriska tal, alfanumeriska tecken eller datorinstruktioner

7 Abelli, B. (2004). Programmeringens Grunder – med exempel i C#. Lund: Studentlitteratur 77 Fler bitar Varje bit kan användas för att lagra lite information: Svaret på en ja/nej-fråga En signal för att slå på eller av något Flera bitar tillsammans kan grupperas för att lagra mer information: 8 bitar (en byte) kan kombineras på 256 olika sätt, dvs kan betyda 256 olika saker!

8 Abelli, B. (2004). Programmeringens Grunder – med exempel i C#. Lund: Studentlitteratur 88 Binära tal 0010 =34 Binärt Decimalt =130 Byte = 8 bitar = 2 8 Kombinationer dvs 256 st KByte = 2 10 Byte = 1024 Byte MByte = 2 20 Byte = Byte ASCII

9 Abelli, B. (2004). Programmeringens Grunder – med exempel i C#. Lund: Studentlitteratur 99 Bitar som tecken ASCII - American Standard Code for Information Interchange Mest spridda teckenuppsättningen, representerar varje tecken som en unik 7-bitars kod. (Den “åttonde” biten användes ibland som en slags “kontrollbit”) TeckenASCII binärkod A B C D E F G H I J K L M N

10 Abelli, B. (2004). Programmeringens Grunder – med exempel i C#. Lund: Studentlitteratur 10 Bitar som instruktioner Datorn lagrar programmen som en samling av bitar. Exempelvis skulle kunna vara instruktionen för att addera ihop två tal En annan instruktion kan vara att hitta var i primärminnet ett tal är lagrat…

11 Abelli, B. (2004). Programmeringens Grunder – med exempel i C#. Lund: Studentlitteratur 11 Hur instruerar man en dator? Förutsättning: Datorns processor begriper bara maskinspråksinstruktioner. Lösning: Källkoden måste översättas till maskinkod, vilket kan ske på olika sätt. Datorn

12 Abelli, B. (2004). Programmeringens Grunder – med exempel i C#. Lund: Studentlitteratur 12 Processor (CPU) Aritmetisk-/logisk enhetStyrenhet Primärminne (RAM) PrograminstruktionerProgramdata Hämta instruktion Dataregister 2 4 Lagra data 3 Exekvera Instruktionsregister 1 Avkoda 2 Hämta data Programexekvering

13 Abelli, B. (2004). Programmeringens Grunder – med exempel i C#. Lund: Studentlitteratur 13 Assembler För många processorer finns ett särskilt assembler-språk Assembler innehåller i princip ett ”kommando” för varje instruktion processorn kan utföra. Översättaren från assembler till maskinkod kallas assemblator mov( start, eax ); breakif( eax > stop ); yield(); inc( start );

14 Abelli, B. (2004). Programmeringens Grunder – med exempel i C#. Lund: Studentlitteratur 14 Högnivåspråk Den tredje generationens språk är ”processoroberoende”, dvs att språket inte är direkt styrt utav vilka instruktioner processorn kan hantera Om ett program skrivet i ett högnivåspråk kan köras på en viss dator är beroende av om det finns en kompilator eller interpretator för språket till den datorns processor. Högnivåspråken är mer likt det talade språket, eller åtminstone mer lättförståeligt… IF b > c THEN ADD b TO a END IF

15 Abelli, B. (2004). Programmeringens Grunder – med exempel i C#. Lund: Studentlitteratur 15 Länkare Kompilator översättning Objekt- modul utdata källkod laddning länkning Laddmodul (körbart program) exekvering Andra objekt- moduler System- bibliotek indata Kompilering

16 Abelli, B. (2004). Programmeringens Grunder – med exempel i C#. Lund: Studentlitteratur 16 Interpretator översättning internkod utdata källkod interpretering indata Interpretering

17 Abelli, B. (2004). Programmeringens Grunder – med exempel i C#. Lund: Studentlitteratur 17 Virtuell maskin utdata Kompilator översättning källkod laddning Klass- bibliotek System- bibliotek översättning bytekod exekvering indata Den virtuella maskinen

18 Abelli, B. (2004). Programmeringens Grunder – med exempel i C#. Lund: Studentlitteratur 18 objektkodsystemfunktion objektkod programmet + = Statisk länkning

19 Abelli, B. (2004). Programmeringens Grunder – med exempel i C#. Lund: Studentlitteratur 19 objektkodsystemfunktion objektkod anropas först vid exekvering + = Dynamisk länkning programmet

20 Abelli, B. (2004). Programmeringens Grunder – med exempel i C#. Lund: Studentlitteratur Kategorier av högnivåspråk Imperativa språk Deklarativa språk Funktionella språk Rationella (logiska) språk Objektorienterade språk

21 Abelli, B. (2004). Programmeringens Grunder – med exempel i C#. Lund: Studentlitteratur 21 Språkgenerationer Naturliga språk 4GL Högnivåspråk Assembler Maskinkod FORTRAN COBOL BASIC PASCAL C ADA JAVAC#C++ SMALLTALK APLALGOL FORTHLISP LOGOMODULA-3 EIFFEL PILOT PL/1 PROLOGRPGVB VB.NETMODULA-2 OBERON SIMULA Objektorienterade språk

22 Abelli, B. (2004). Programmeringens Grunder – med exempel i C#. Lund: Studentlitteratur Programflöde och användarinteraktion Sekventiella program Batch-system Multiprogramming  interaktivitet Grafiska användargränssnitt (GUI – Graphical User Interface) Kontrollobjekt Händelsestyrda program - händelsehanterare

23 Abelli, B. (2004). Programmeringens Grunder – med exempel i C#. Lund: Studentlitteratur Att göra ett program i C# // C# using System; class Hello { public static void Main() { Console.WriteLine(“Hello World”); }

24 Abelli, B. (2004). Programmeringens Grunder – med exempel i C#. Lund: Studentlitteratur 24 Kompilera och exekvera


Ladda ner ppt "Abelli, B. (2004). Programmeringens Grunder – med exempel i C#. Lund: Studentlitteratur 11 indata bearbetningutdata Databehandling Ett datorprogram består."

Liknande presentationer


Google-annonser