Előadást letölteni
Az előadás letöltése folymat van. Kérjük, várjon
1
0971-06 modul Szövegfeldolgozás
Speciális informatikai feladatok
2
Információtartalom vázlata:
A szoftver fogalma A szoftverek csoportjai: gépi kódra fordított szoftverek (előnyök, hátrányok) A szoftverek csoportjai: interpretert igénylő szoftverek (előnyök, hátrányok) Alkalmazási példák a kiadványszerkesztésben A szoftverek csoportjai: gépközeli szoftverek A szoftverek csoportjai: felhasználói szoftverek A szoftverek csoportjai: operációs rendszerek Felhasználói szoftverek csoportjai
3
Software fogalma: Minden olyan program, amely a számítógépen fut, valamint a hozzátartozó dokumentációk .
4
Szoftvernek nevezzük a számítógépre írt programokat (operációs rendszer, szövegszerkesztő, böngésző, stb.) és az ezekhez mellékelt írásos dokumentációkat. A szoftvereket programozók készítik, szellemi termékek, kézzel nem megfoghatóak (csupán a szoftvereket hordozó eszközöket – CD, DVD tudjuk megfogni). A szoftver a számítógépen futó programok összefoglaló neve, a hardver egységeket működtető-, és vezérlő programok összessége.
5
Programozási nyelvek generációi:
Első generáció, vagy 1GL: - a processzorgépi kódja Kettes számrendszerben. Előnye: nagyon hatékony, hátránya: rendkívül nehéz programot írni. Pl.: – az összeadás gépi kódja, , – a két összeadandó szám. Ekkor ennek a két számnak az összeadását gépi kódban pl. a köv. képpen fejezhetjük ki:
6
Második generáció vagy 2GL:
Alacsony szintű nyelvek, assembly [eszembly] nyelvek. A műveletek kettes számrendszerben kifejezett gépi kódját a műveletekre emlékeztető un. (mnemonic) megnevezésekkel helyettesítjük. PL: ADD ADD AX BX
7
Harmadik generáció vagy 3GL
Magas szintű nyelvek: Az emberi nyelvhez, az ember gondolkodásmódjához közelebb állnak mint a gép logikájához. Utasítás készletük független a gépi kódtól. Nem kell ismerni a gépi kódot! Pl.: BASIC Pascal C Algol Fortran – műszaki tudományos feladatok megoldására. Cobol – ügyviteli feladatok megoldására. C++ Java
8
Negyedik generáció, vagy 4GL:.
Nem önállóprogramozási nyelvek, hanem fejlesztő eszközök: programozási nyelv + program fejlesztését segítő eszközök. Részben automatikusan állítják elő a program kódját. (A program 90%-át elő tudják állítani.) Pl.: Delphi, Kylix, Visual Studio programozási nyelvei, Visual FoxPro, Visual Basic,Visual Prolog stb.
9
1 Az alkalmazások gépi kódban töltõdnek be és értelmezõdnek. Roppant kellemetlen lenne azonban direkt gépi kódban programot írni és még kellemetlenebb karbantartani, tehát javítani, bõvíteni. Gondold meg: fejben kell tartani minden utasításhoz tartozó kódot és megérteni pedig a számokból kell a programot. Ugyancsak nem elõnyös, hogy a gépi kódú utasítások nagyon alacsony szintûek, egy betû képernyõre írása több száz sor is lehet. Dacára tehát annak, hogy a programunk mindig (még a Jávában is) a processzor saját nyelvén, tehát gépi kódban fut le, szinte sohase ebben írják, hanem valamilyen, ember számára jobban emészthetõ formában.
10
legegyszerûbb ilyen forma az a kódolás, amikor a gépi kód minden egyes utasításának egy szöveges utasítást feleltetnek meg, ez a nyelv az assembly. Az assembly-ben könnyebbség, hogy nem kell számokra emlékezni, de továbbra is adott az utasítások egyszerûsége, assembly-ben nagyon munkaigényes programot írni. Az assembly programot a processzor természetesen nem képes végrehajtani (hiszen az csak ember számára olvasható (olvasható?) szöveg), elõbb kell egy program, az assembler, ami gépi kódú programot csinál belõle
11
A fenti trükköt, miszerint a programot valamilyen ember által könnyebben érthetõ formában írjuk, amit aztán egy másik program segítségével etetünk meg a számítógéppel, széles körben használják és nem csak olyan egyszerû nyelvekkel, mint az assembly. Ha az általunk írt förmedvényt (avagy zseniális programot) amúgy is el kell olvasnia egy másik programnak, hogy a géppel megetesse, akkor nem kell a gépi utasítások alacsony szintjéhez kötõdnünk, kényelmesebb nyelveket is létrehozhatunk ízlésünk szerint.
12
Így jöttek létre a számítógépes nyelvek tucatjai, a LISP, a FORTRAN, a C, a BASIC, a Pascal, a C++ és a Jáva, hogy a többiekrõl ne is beszéljünk. Ezek a nyelvek elsõ pillantásra nagyon különböznek, de igazából csak néhány alapkoncepció variálására épülnek. Ahogy az egyik kalapács lehet jó és a másik rossz, úgy vannak jó és rossz nyelvek is. Sõt, ahogy az egyik kalapács jó lehet kõtörésre, a másik cipészkedésre, feladathoz is érdemes nyelvet választani. Az eddig legsikeresebbnek bizonyult programozási nyelv a C ill. az objektumorientált bõvítése a C++, ezt a két nyelvet a rendszerprogramozástól csillagászati programok készítéséig mindenre fel lehet használni.
13
Mint megállapítottuk, minden programnál, ami nem gépi kódban íródott, kell egy másik program, ami a gép szájába rágja, mit is akartunk mondani.
14
Az emberi fordításoknál, itt is sokféle felállás lehetséges
Az emberi fordításoknál, itt is sokféle felállás lehetséges. Például leírhatjuk az instrukcióinkat, azt egy tolmács lefordíthatja eszperantóra és odaadhatja a munkásnak, aki ezek után elvégzi a feladatot. Világos, hogy a munkásnak ez jó, hiszen amikor dolgozik, már nem kell a fordítással törõdnie, ugyanakkor az instrukciók korrekt lefordítása munkaigényes feladat és meg se változtathatjuk õket menet közben.
15
A fenti példához teljesen hasonló módon és ugyanazokkal az elõnyökkel-hátrányokkal mûködnek a compiler-ek vagy magyarul a fordítóprogramok
16
Ezek a programok megeszik az általunk írt programot és közvetlenül végrehajtható gépi kódot generálnak belõle. A legfõbb elõny a gépi kódra fordított program gyors futási sebessége és a jó minõségû fordítás, hiszen a fordítóprogramnak egy csomó ideje van gondolkodni a legjobb variáción. Példának okáért a C, C++ és a FORTRAN nyelvek leggyakoribb implementációi fordítóprogramot alkalmaznak.
17
2 Másik lehetõség, hogy szinkrontolmácsot alkalmazunk és miközben mi elõadjuk a mondókánkat, õ menetközben fordítja le eszperantóra. Hátrány persze, hogy a fordítás ideje hozzáadódik a munkavégzés idejéhez, hiszen amíg a munkás a tolmácsot hallgatja, nem dolgozik.
18
fenti séma az interpreter-ek vagyis az értelmezőprogramok megoldása.
Itt a programunkat az értelmezõprogram futásidõben fordítja le
19
Elõnye: a rendkívül gyors fejlesztési idõ (nincsenek lassú fordítási menetek) és elvileg lehet olyan programot is írni, ami újraírja önmagát, és menetközben is megváltoztathatjuk az instrukciókat Hátrány: a végrehajtási sebesség lassúbb. A LISP és a BASIC legtöbbször értelmezõprogramos megvalósításban szokott rendelkezésre állni.
20
3 Tegyük fel, hogy eszperantó anyanyelvû alkalmazottunk mellett van olyan is, aki csak belgául tud. Akár a fordítóprogramos, akár az értelmezõprogramos megoldást választjuk, mindenképpen meg kell duplázni a fordítók számát. Pontosan ugyanez a probléma akkor is, ha szempont az, hogy minnél többfajta gépen menjen a programunk. Mindegyikben más processzor lenne, ami más gépi kódot ért, más fordító fog kelleni. Áthidaló megoldásként kitalálhatjuk, hogy soknyelvû alkalmazottainkkal piktogrammokkal fogunk kommunikálni. Tolmácsunk az instrukciókat piktogrammnyelvre fordítja, amit kitûnõ munkásaink sokkal gyorsabban fognak fel,
21
Gépközeli szoftverek:
megkönnyítik az operációs rendszerek használatát pl: Norton total Commander filekezelők Rendszerkarbantartó segédszoftverek Scandisk format Eszköz illesztő, kezelő szoftverek segítik a programkészítést (pl: Turbo Pascal programozási nyelv)
22
Alkalmazói és felhasználói szoftverek:
Valamilyen konkrét feladat megoldására kifejlesztett szoftver. A fontosabb területek: szövegszerkesztés, adatbázis-kezelés, táblázatkezelés, az információ grafikus megjelenítése, számítógéppel támogatott tervezés, szimuláció, játék, szórakozás.
23
operációs rendszerek:
Olyan szoftverek, amelyek a számítógép működtetéséhez szükséges parancsokat értelmezni tudják és azokat végre is hajtják. Feladatai: a hardver kezelése, a programok betöltése az operatív tárba és azok futtatása, kapcsolattartás a futó programokkal és a felhasználóval, a háttértárak tartalmának kezelése, adatok kezelése és átvitele, megszakítás- és hibakezelés.
24
VÉGE
Hasonló előadás
© 2024 SlidePlayer.hu Inc.
All rights reserved.