Tamás Péter (D. 424) Mechatronika, Optika és Gépészeti Informatika Tanszék (D 407) 1
Előadások 1. Bevezetés 2. Adatszerkezetek, algoritmusok 3. Számítástudomány alapjai 4. Számítógépek felépítése, hardware elemek 5. Operációs rendszerek, számítógépes hálózatok 6. Adatbázisok 7. Számítógépes grafika 2
I. Bevezetés az informatikába 3
I.1 A számítógép működése I.2 Adatok I.3 Program I.4 Adatok + Program = Objektum 4
I.1 A számítógép működése I.1.1 A számítógép működésének elvi alapjai Leegyszerűsített megfogalmazás - Az információ a valóság (vagy egy részének) visszatükröződése. [Neumann] Az információmennyiség mértékegysége a bit (nem csak az adatmennyiség mértékegysége). Ha egy eldöntendő kérdésre egyforma valószínűséggel adhatók különböző válaszok, akkor az e kérdésre adott bármely válasz pontosan 1 bit információt hordoz. I.1.2 A számítógép felépítése, hardver elemek I.1.2.1 A Neumann elv A számítógép 1. Elektronikus működésű, 2. Az információ bináris ábrázolása, 3. Tárolt programmal programozható 4. A program utasításait az adatokkal együtt a központi memóriában tárolja, 5. Univerzálisan használható, a feladatok megoldására különböző programok 6. Soros utasítás-végrehajtás 7. A gépnek öt alapvető funkcionális egységből kell állnia: a) bemeneti egység, b) memória, c) aritmetikai és logikai egység, d) vezérlőegység, e) kimeneti egység, 5
I.1.3 Korszerű számítógép p1 p2 p3 p4 a1 a2 a3 a4 Processzor Memória I.1.4 Hardver működés I.1.4.1 Kapcsolat a Busz Cím Adat Vezérlő Busz I.1.5 Processzor ALU Vezérlő egység Speciális funkciókkal I/O egységek Akkumulátor-regiszter - a műveletekhez Adatszámláló regiszter - Az adatok olvasás-/íráskor a memóriacím Utasításszámláló regiszter A soron következő utasítás címe Utasításregiszter - A következő programutasítás kódja. Címzést segítő regiszter Bázis(cím)regiszter Az operandusok címzéséhez Indexregiszterek additív cím adatsorok címzését segítik Egyéb Állapotregiszter, vezérlő regiszter Veremmutató regiszter (Stack Pointer) Cím Memória Fizikai cím 6
I.1.6 ADAT+PROGRAM I.1.6.1 Utasítás-végrehajtás Utasításszámláló regiszter Utasításregiszter (aritmetikai-, logikai utasítások) Adatok (regiszterből, memóriából, regiszterbe, memóriába) MOV AX,1234h ;0B8h 34h 12h - szám (1234h) az AX reg.-be MUL WORD PTR [5678h] ;0F7h 26h 78h 56h - szor a cím adatával (extra szegmensen) MOV [5678h],AX ;0A3h 78h 56h - AX a címre I.1.6.2 Címzési módszerek Direkt címzés Virtuális címzés Szegmens szegmens + offset Lapozás laptábla dir + laptábla + offset Cím Memória Fizikai cím I/O port címek 7
I.2. Adatkezelés I.2.1 Adattárolási elvek Információtárolás = adat, mértékegységek 1 byte = 8 bit 1 kbyte = 1024 byte 1 Mbyte = 1024 kbyte 1 Gbyte = 1024 Mbyte 1 Tbyte = 1024 Gbyte I.2.1.1 Elemi adatok I.2.1.1.1 Számok Adattárolás kettes számrendszerben (Neumann) Egész számok (fixpontos) bináris ábrázolás (hexadecimális leírás) byte (char) sbyte (signed char), előjelbit, negatív számok komplemens ábrázolása int, long (long int)(2, 4, ) 2 10 = 0000010 2 az egyes komplemens 11111101 2 kettes komplemens = egyes komplemens + 1 11111110 2 = 2 10 0 10 = 2 10 + 2 10 = 11111110 2 + 0000010 2 = 0000000 2 8 elég csak összeadni
Hexadecimális számok 0 10 15 10 0 16 F 16 0000 2 1111 2 0 10 255 10 0 16 FF 16 00000000 2 11111111 2 Valós számok lebegőpontos X = E M*A K M Mantissza E Előjel K Karakterisztika I.2.1.1.2 Karakterek a szám tört része a mantissza előjele az A alapszám előjeles kitevője EeKKKKKKMMMMMMMMMMMMMMMMMMMMMMM ASCII - American Standard Code for Information Interchange karakterkészlet és karakterkódolási szabvány, a latin abc (angol, és sok nyugat-európai nyelv) UCS - Universal Character Set ISO, Unicode Consortium. Unicode Standard I.2.1.1.3 String karaktersorozat Szövegek Vége jel C ALMA - Pascal 65 76 77 65 0 4 65 76 77 65 Hossz 9
I.2.2 Összetett adatok I.2.2.1 Rekord logikailag összefüggő (nem azonos típusú) elemi adatok halmaza egyszerű mező+egyszerű mező+ I.2.2.2 File pl. logikailag összefüggő rekordok halmaza I.2.2.3 Adatbázis (pl. relációs) file-ok halmaza Adatok valódi kétdimenziós táblázatokban Az oszlopok az attribútumok (oszlophalmaz - reláció) az elemi (atomi) adattípusok az értékek A sorok a reláció előfordulások halmazát alkotják, nincs két azonos sor A sorok és oszlopok felcserélhetők A táblázatok között is lehet kapcsolat A relációt névvel azonosítjuk 10
I.2.3 Grafikus adatok I.2.3.1 Vektoros grafika CDR I.2.3.2 Raszteres grafika BMP DIB JPG I.2.3.3 Meta grafika Pl. a True Type WYSWYG WMF, EMF 11
I.2.4 Geometriai modell adatok I.2.4.1 Pont 8 5 6 3 1 2 I.2.4.2 Él I.2.4.3 Felület 7 Sorszám x-koordináta y-koordináta z-koordináta Következő csúcs 1 0.0 0.0 0.0 2 2 40.0 0.0 0.0 3 3 40.0 20.0 0.0 4 4 0.0 20.0 0.0 5 5 0.0 0.0 20.0 6 Sorszám Él egyenlete 6 kezdőpont 40.0 végpont 0.0 Következő 20.0 él 7 1 7 L1 40.01 220.0 20.0 2 8 2 8 L2 0.02 320.0 20.0 3 0 // nincs 3 L3 3 4 4 Sorszám Felület 4 egyenlete Határélek L4 Következő 4 felület 1 5 1 5 F1 L5 1,2,3,4 1 2 5 6 2 6 F2 L6 9,10,11,12 2 3 6 7 3 Sorszám 7 Felület F3 egyenlete L74,5,8,12 Határélek 3 4 7 n x n x 2 n x Következő felület 4 8 1 F4 L8 8,9,10,11 F1 41,2,3,4 5 8 1,23 12,3 3 123 2 5 9 2 F5 L92,6,7,10 F2 9,10,11,12 5 6 6 4,56 45,6 4 456 3 6 10 3 F6 L10 3,7, 8,11 F3 4,5,8,12 6 0 // nincs 7 7,89 78,9 5 789 4 11 4 L11 F4 8,9,10,11 7 8 9,87 98,7 6 987 5 12 5 L12 F5 2,6,7,10 8 5 6,54 65,4 0 // nincs 654 6 I.2.4.4 Boundary REPresentation 6 F6 3,7, 8,11 3,21 32,1 321 0 // nincs 12
I.2.4.5 CSG Név X1 Y1 Z1 X2 Y2 Z2 T1-25 -5-5 25 5 5 Név X1 Y1 Z1 X2 Y2 Z2 T2-3 -25-3 3 25 3 Név C1 Jellemzés T1 T2 \ Név X1 Y1 Z1 X2 Y2 Z2 R H1 0 0-15 0 0 15 2 Név C2 Jellemzés C1\H1 Mindegyik bitsor! Hogyan értelmezzük 13
I.3. Algoritmus és program Algoritmus olyan tevékenységsorozatot, részletes útmutatást, receptet, értünk, amely valamely felmerült probléma megoldását célozza. I.3.1 Algoritmuselemek és program Böhm Jacopini tétele Minden algoritmus leírható az alábbi logikai struktúrákkal I.3.1.1 Rákövetkezés (konkatenáció) I.3.1.2 Választás (alternáció) i p h I.3.1.3 Ciklus (iteráció) i/h i/h p h/i p h/i 14
I.4. Objektum Program (1) Adat (2) Objektum Kiadványszerkesztés Word -,DOC Táblázatkezelés Excel -.XLS CAD AutoCad-.DXF Adatbáziskezelés Access -.MDB I.4.1. Computer Integrated Manufacturing Windows társítás CAD ADATOK CAQ CAPP CAP CAM CAE Computer Aided Design Computer Aided Manufacturing Computer Aided Engineering Computer Aided Processing Computer Aided Process Planning Computer Aided Quality Control CIM=ΣCAxx 15
I.4.2. Industry 4.0 16
II. Programozási technológiák 17
II.1 A gépi kódú program Az algoritmuslépések kódja + memória címek. II.2 Programkészítő programok MOV AX,1234h ;0B8h 34h 12h - szám (1234h) az AX reg.-be MUL WORD PTR [5678h] ;0F7h 26h 78h 56h - szor a cím adatával (extra szegmensen) MOV [5678h],AX ;0A3h 78h 56h - AX a címre Forrásnyelvű program Fordító/Interpreter Futtatható program Programozási nyelv generációk Generation of Language 1GL: gépi kód 2GL: assembly (mnemonic) 3GL: magas-szintű procedurális FORTRAN, PASCAL, C 4GL: probléma orientált Funkcionális: LISP (LISt Processing), Logikai: PROLOG (PROgraming LOGics), Adatbázis kezelés: SQL, Objektum-orientált: C++, JAVA. C#, Komponens alapú fejlesztők. 5GL: természetes nyelvek??? 18
II.3.1 Adatok kezelése Változók deklarációja [const volatile] [auto register static extern ] típus_név nev [,nev ] bool - Logikai típus (1 byte) true (!=0) false(==0) char signed char unsigned char - karakter (1 byte) A 65, \n, \t int (4 byte) signed int unsigned int short int (2 byte) long int - egész (4 byte) 2, 0x2, 3U, 6L float (4 byte) double (8 byte) long double - valós (8 byte) 1.3, 2.1e6, 3.4F, 4.2L void - néma enum - felsorolt típus enum szam {egy, ketto, harom}; //0,1,2 enum ez {a=6,b=11} ; //0..15 - karekterfüzér alma [const volatile] [auto register static extern ] típus_név nev [,nev ] 19? Case sensitive
II.3.2 Alap algoritmus elemek II.3.2.1 Rákövetkezés (konkatenáció) int i = 3; int j = 4; int k = i + j; II.3.2.2 Választás (alternáció) if (i > j) { k = i - j; } else { k = j - i; } II.3.2.3 Ciklus (iteráció) i = 0; k = 0; while (i < 10) { k += i++; } p i h p i/h h/i 20
II.4. Alprogramok, függvények típus nev ([paraméterek]) { // függvénytörzs [lokális definíciók, deklarációk] [utasítások] [return [érték]; // ha van] } call fv call fv fv return SP nev([param1, param2, ]); i = nev([param1, param2, ]); int main () { } 21
II.5. Objektum-osztály adatok+programok Rejtett adatok a középpont koordinátáinak Program Adat Objektum Konstruktor Property - Metódusok a középpont adatainak írására, olvasására Virtuális kerületszámítás Virtuális területszámítás 22
Rejtett adat a sugárra Property - Metódus a sugár írására, olvasására A kör kerületszámítása A kör területszámítása Rejtett adatok az oldalakra Property-k - Metódusok az oldalak írására, olvasására A téglalap kerületszámítása A téglalap területszámítása 23
II.8. Rapid Application Development Environment Komponensalapú fejlesztés: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace WindowsFormsApplication1 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } } } private void button1_click(object sender, EventArgs e) { button1.text = "alma"; BackColor = System.Drawing.Color.Red; } 24