Databehandling Ett datorprogram består i huvudsak av

Slides:



Advertisements
Liknande presentationer
Avlusning Debugger (”avlusare”) Breakpoints Watch.
Advertisements

INTRODUKTION TILL PROGRAMMERING
Relationsoperatorer Java/C# C/C++ Visual Basic FORTRAN PASCAL ORACLE
Svenska Akademins Ordbok (SAOB)
9. Gör ritningen innan Du bygger huset
En avancerad miniräknare
Frågor Allmän IT-kunskap avsnitt 1 kapitel 1 Repetition 4
Anders Sjögren Lagringsklasser •en variabel i C har två attribut –type( int, float, char..... ) –lagringsklass( auto, extern, register, static ) •lagringsklassens.
10. Elementen i strukturerad programmering
Klasser och objekt.
Leif Håkansson’s Square Dancer Rotation
Next previous Internetprogrammering 2000 Internetprogrammering 2000 Föreläsning 10 Distribuerad programmering med Javas RMI, Remote Method Invocation.
Datatyper C# C/C++ Java VB Fortran Pascal bool boolean Boolean
Programmeringsteknik I: F1 1 Föreläsning 1: Intro till kursen och programmering Kursens hemsida Studentportalen.
Föreläsning 1.
Några standardalgoritmer
Filhantering Grundprincipen för filhantering Öppna filen
Metoder i java Det finns två typer av metoder i java
Välkommen Vahid Mosavat
Programmeringsteknik K och Media
Att programmera i språket Java
INTRODUKTION TILL PROGRAMMERING
Stora additionstabellen
IT för personligt arbete F6
OOP Objekt-orienterad programmering
Programmering B PHP Lektion 2
Repetition inför slutprovet
Programmering B PHP Lektion 2
Från binära till hexadecimala
Programmering B PHP Lektion 3
Polymorfism.
Räckvidd och synlighet. Abelli, B. (2004). Programmeringens Grunder – med exempel i C#. Lund: Studentlitteratur 22 Synlighet (meddelandesändning) Det.
Arv.
TÄNK PÅ ETT HELTAL MELLAN 1-50
1. En infrastruktur för programutveckling
Mitt första Java program Mahmud Al Hakim Copyright, Mahmud Al Hakim, 1.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public ITE PC v4.0 Chapter 1 1 Operating Systems Networking for Home and Small Businesses – Chapter.
För utveckling av verksamhet, produkter och livskvalitet. -Algoritmer och Datastrukturer- -Algoritm analys och sökning algoritmer- Kap 5 -Algoritmer och.
Objektorientering.
1 Föreläsning 6 Programmeringsteknik och Matlab 2D1312/2D1305 Metoder & parametrar Array API och klassen ArrayList.
Objektorienterad programmering i Java
Objektorienterad Programmering i C++ I
Next previous RMI, Remote Method Invocation Om du har boken av Marty Hall, läs avsnitt 15.8 För fler exempel se:
Föreläsning 1 Reserverade ord Javas API Identifierare Litteraler Variabler Kompilering och interpretering.
Anders Sjögren ANSI - standard ?. Anders Sjögren ANSI - standard ? Om man skriver ett bra C-program och kompilerar fram ”exe”-filen så vore det ju trevligt.
INTRODUKTION TILL PROGRAMMERING
Abelli, B. (2004). Programmeringens Grunder – med exempel i C#. Lund: Studentlitteratur 11 C# I/O Streams C# använder “strömmar” för in- och utmatningsoperationer.
Frågor Allmän IT-kunskap avsnitt 1 kapitel 1 Repetition 3
Problemlösningsmetodik
Föreläsning 1. Innehåll Introduktion till objektorientering –OOP (objektorienterad programmering) –Objekt, instanser, klasser C++ –OO i C++ –Standardbibliotek.
Presentation of I. Name: Disputerat nu vår Forskningsintresset är:
Anders Sjögren Går det att simulera vår värld med 1:or och 0:or ?
Föreläsning 4 programmeringsteknik och Matlab 2D1312/ 2D1305
Föreläsning 1 Om kursen Reserverade ord Javas API Identifierare Litteraler Variabler Kompilering och interpretering.
ITK:P1 Föreläsning 2 Introduktion till objektorientering DSV Marie Olsson.
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 5 ( ) INNEHÅLL: -Introduktion till programmeringsspråket Java -Den allmänna.
Digitalitet.
Länkade listor Binära träd
Central-enhet PM CPU BIOS Skiv- minne Sekundär- minnes- enheter (SM)
Program. Symboliska samband Symboliska beteenden Matematisk kausalitet (orsak – verkan) 2x = y, y = x^2, y = kx + l.
1 Föreläsning2 Operativsystem. 2 Talsystem Decimal (bas 10): 0,1,2,…,8,9 Binär talsystem (bas 2): endast 1 och 0 Hexadecimal talsystem (bas 16): 0,1,…9,A,…,E,F.
Digitalteknik 7.5 hp distans: Talsystem och koder 1.3.1
Föreläsning 1 Introduktion till kursen. Algoritmer
OOP&M - teori1 OOP&M – Föreläsning 3 kap 2-4 Repetition Föreläsning-datayper-syntax-tilldelning.
OOP&M - teori1 There is a difference between knowing the path and walking the path, Neo.
OOP&M - teori1 Dator Introduktion till programmering.
Föreläsning 3 Väsentliga delar i ett Javaprogram Input i paketet extra
Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 1 ( ) INNEHÅLL: -Introduktion av kursen -Vad är programmering? -Programmeringsspråk.
Python.
Grundläggande datavetenskap, 4p
Presentationens avskrift:

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 indata bearbetning utdata

Programinstruktioner Uppstart av program Primärminne (RAM) Sekundärminne Programinstruktioner Program X (maskinkod) Operativsystemet ”ladda X” ”starta X” Processor (CPU) ”starta X” Styrenhet

Datorns språk Bits och bytes Binärkod – Maskinkod Maskininstruktion operationskod + operanddel Instruktionscykel Hämtning av instruktion Avkodning Aritmetisk och logisk bearbetning Spara resultatet Assembler

Varje dator har ett ”maskinspråk” 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) 01001001101011100100110011001100110101001100011010101001010100101

Datorns språk Processor Primärminne Utenhet Inenhet 101010101

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

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!

Byte = 8 bitar = 28 Kombinationer dvs 256 st Binära tal 0010 0010 = 34 Binärt Decimalt 1000 0010 130 Byte = 8 bitar = 28 Kombinationer dvs 256 st KByte = 210 Byte = 1024 Byte MByte = 220 Byte = 1048576 Byte Länk ASCII-tabell LATIN1 Unicode (ISO 10646-1) Mer att läsa ASCII

Bitar som tecken ASCII - American Standard Code for Information Interchange Mest spridda teckenuppsättningen, representerar varje tecken som en unik 7-bitars kod. Tecken ASCII binärkod A 01000001 B 01000010 C 01000011 D 01000100 E 01000101 F 01000110 G 01000111 H 01001000 I 01001001 J 01001010 K 01001011 L 01001100 M 01001101 N 01001110 (Den “åttonde” biten användes ibland som en slags “kontrollbit”)

Bitar som instruktioner Datorn lagrar programmen som en samling av bitar. Exempelvis skulle 01101010 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…

Hur instruerar man en dator? Datorn 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.

Programexekvering Primärminne (RAM) Processor (CPU) Programinstruktioner Programdata 2 1 Hämta instruktion Hämta data Lagra data Processor (CPU) Styrenhet Aritmetisk-/logisk enhet 2 3 Exekvera Avkoda Instruktionsregister Dataregister 4

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 );

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

Kompilering Kompilator Länkare källkod översättning Andra objekt-moduler Objekt-modul Länkare System-bibliotek länkning Laddmodul (körbart program) laddning exekvering indata utdata

Interpretering Interpretator källkod översättning internkod indata interpretering utdata

Den virtuella maskinen Klass-bibliotek System-bibliotek Kompilator källkod översättning Virtuell maskin bytekod laddning översättning indata exekvering utdata

= + Statisk länkning objektkod objektkod systemfunktion systemfunktion programmet

= + Dynamisk länkning objektkod objektkod systemfunktion programmet anropas först vid exekvering

1.9 Kategorier av högnivåspråk Imperativa språk Deklarativa språk Funktionella språk Rationella (logiska) språk Objektorienterade språk

Språkgenerationer 1950 1960 1970 1980 1990 2000 2010 Naturliga språk 4GL Objektorienterade språk Högnivåspråk Assembler Maskinkod 1950 1960 1970 1980 1990 2000 2010 FORTRAN RPG PROLOG VB VB ALGOL APL MODULA-2 VB.NET COBOL LOGO MODULA-3 LISP FORTH OBERON PILOT PASCAL EIFFEL BASIC C C++ JAVA C# ADA PL/1 SMALLTALK SIMULA

1.10 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

1.12 Att göra ett program i C# using System; class Hello { public static void Main() Console.WriteLine(“Hello World”); }

Kompilera och exekvera