Softverski alati su. Softver za alate. Primjeri programa. Zadaci i funkcije softvera alata

apstraktno

SOFTVER - skup programa sistema za obradu informacija i dokumenta politike potrebno za rad ovih programa (GOST 19781-90). Takođe – skup programa, procedura i pravila, kao i dokumentacija vezana za rad sistema za obradu podataka (ST ISO 2382/1-84).

INSTRUMENTALNI SOFTVER - softver namenjen za korišćenje u projektovanju, razvoju i održavanju programa. Obično se ovaj izraz koristi da se naglasi razlika između ove klase softvera i aplikativnog i sistemskog softvera. softver.

COMPILER je kompajler koji pretvara program napisan na izvornom jeziku u objektni modul.

Interpreter - program (ponekad hardverski) koji analizira komande ili naredbe programa i odmah ih izvršava.

OPERATIVNI SISTEM - skup programa kontrole i obrade koji, s jedne strane, djeluju kao sučelje između uređaja računarskog sistema i aplikativnih programa, as druge strane, dizajnirani su za upravljanje uređajima, upravljanje računarskim procesima, efikasnu distribuciju računarskih resursa između računarske procese i organizovati pouzdano računarstvo.

PRIMIJENJENI PROGRAM - program dizajniran za obavljanje određenih korisničkih zadataka i namijenjen je direktnoj interakciji sa korisnikom.

VISUALBASIC je alat za razvoj softvera koji je razvio Microsoft i uključuje programski jezik i razvojno okruženje.

VISUALBASICFORAPPLICATION - malo pojednostavljena implementacija Visual Basic programskog jezika ugrađenog u liniju proizvoda microsoft office(uključujući verzije za Mac OS) kao i mnoge druge softverske pakete kao što su AutoCAD, SolidWorks, CorelDRAW, WordPerfect i ESRI ArcGIS.

Svrha rada je proučavanje tipova i funkcija softvera, posebno instrumentalnog.

Klasifikacija softvera:

Vrste softvera alata:

1) Urednici teksta

4) Prevodioci

5) Prevodioci

6) Linkeri

8) Asembleri

9) Debuggers

10) Profileri

11) Generatori dokumenata

Da biste kreirali program na odabranom programskom jeziku, potrebno je da imate sljedeće komponente:

2. Kompajler ili interpreter. Izvorni tekst se prevodi u srednji objektni kod pomoću programa kompajlera.

Rezultat rada: Razmatra se softver, njegove funkcije i vrste, posebno instrumentalni softver, njegova suština, zadaci. Treće poglavlje govori o Microsoft Visual Basicu kao alatu za razvoj softvera i njegovom dijalektu - Microsoft Visual Basic forApplication. AT seminarski rad implementiran je algoritam za rješavanje finansijskog i ekonomskog problema pomoću programskog jezika Pascal.

Uvod

AT savremeni svet više od jedne osobe koja je isprobala blagodeti civilizacije ne može zamisliti svoj život bez upotrebe kompjuterska tehnologija. Njegova upotreba se javlja u bilo kojoj sferi ljudske aktivnosti: proizvodnji, trgovini, obrazovanju, zabavi i komunikaciji ljudi, njihovim naučnim i kulturnim aktivnostima. Sve je to zbog mogućnosti odabira računalne opreme za rješavanje bilo kojeg, pa i najsloženijeg zadatka.

Međutim, univerzalnost i specijalizacija računalne tehnologije osigurava se korištenjem na bazi gotovo svakog računala različitog skupa softvera koji pruža rješenja za sve zadatke.

Svi vidimo ogromnu raznolikost kompjuterskih programa i zapanjujući tempo njihovog rasta i usavršavanja, a samo mali dio nas predstavlja nevidljivu stranu u njihovom dizajnu, razvoju i stvaranju. Međutim, ova oblast računarske tehnologije je, po našem mišljenju, najvažnija, jer će od njenog razvoja zavisiti budućnost računarske tehnologije.

I od razvoja bilo kojeg kompjuterski program se dešava uz korištenje alata softvera, onda bismo se u našem seminarskom radu na njemu željeli detaljnije zadržati, izdvajajući ga od svih softvera i otkrivajući njegovu suštinu i karakteristike.

Radi jasnoće, razmotrit ćemo softver alata (predmet proučavanja) na primjeru softverskog paketa VisualBasicforApplication (predmet proučavanja) koji se koristi za programiranje u Microsoft Office okruženju, najčešćem i popularnom uredskom paketu.

1. Softver

1.1 Koncept i suština softvera

Softver (SW) je sastavni dio kompjuterskog sistema. To je logičan nastavak tehničkih sredstava svakog računara. Opseg određenog računara je određen softverom kreiranim za njega. Računar sam po sebi nema znanja ni u jednoj oblasti primjene. Sva ova znanja su koncentrisana u programima koji se pokreću na računarima koji imaju skup specifičnih funkcionalnosti i koji su dizajnirani da obavljaju specifične, u većini slučajeva, visoko specijalizovane funkcije, kao što su kreiranje i obrada grafičke slike ili zvučne datoteke.

Softver se trenutno sastoji od stotina hiljada programa koji su dizajnirani da obrađuju širok spektar informacija u različite svrhe.

Softver (SW) također uključuje cjelokupno područje djelovanja u dizajnu i razvoju softvera:

1) tehnologija projektovanja softvera (na primer, top-down dizajn, strukturno i objektno orijentisano projektovanje);

2) metode za testiranje programa;

3) metode za dokazivanje ispravnosti programa;

4) analizu kvaliteta programa;

5) dokumentaciju programa;

6) razvoj i korišćenje softverskih alata koji olakšavaju proces projektovanja softvera i još mnogo toga.

Postoji mnogo različitih definicija softvera. Općenito, softver je skup programa sistema za obradu informacija i programskih dokumenata neophodnih za rad ovih programa (GOST 19781-90). Takođe – skup programa, procedura i pravila, kao i dokumentacija vezana za rad sistema za obradu podataka (ST ISO 2382/1-84).

Softver je jedan od vidova podrške računarskom sistemu, uz tehničku (hardversku), matematičku, informatičku, jezičku, organizacionu i metodološku podršku.

Kompjuterski sleng često koristi riječ softver od engleske riječi software, koja je prvi put upotrijebljena u ovom smislu u članku u American Mathematical Monthly od strane matematičara sa Univerziteta Princeton John W. Tukeyja 1958. godine.

Ostale definicije:

1) SOFTVER je skup programa koji omogućavaju automatsku obradu informacija na računaru.

2) SOFTVER (softver elektronskog računara), skup programa sistema za obradu podataka i programskih dokumenata neophodnih za realizaciju programa na elektronskom računaru.

3) SOFTVER - skup programa za upravljanje procesom rada računara, automatizacija programiranja.

4) SOFTVER - skup kompjuterskih programa koji obezbeđuju obradu ili prenos podataka.

Sve su definicije slične i odražavaju suštinu softvera - organizaciju interakcije hardverskog (tehničkog) dijela, u obliku različitih ugrađenih čvorova i perifernih uređaja, njihovu kontrolu i koordinaciju ukupne interakcije računarskog sistema. međusobno i sa korisnikom.

1.2 Funkcije softvera

Navedeni koncepti softvera određuju funkcije koje softver obavlja u procesu funkcionisanja računarske opreme. Lista ovih funkcija je vrlo raznolika, ali se uslovno mogu podijeliti u sljedećih pet tipova:

1. Hardversko-mehanički. Oni povezuju različite računarske komponente, osiguravaju prijenos hardverskog signala s jedne komponente na drugu.

2. Machine-Logic. Obradi i interpretira skup elektromagnetnih impulsa hardver u logički svjesni programski kod sa određenom strukturom i svojstvima.

3. Informacije i komandovanje. Provjeravaju usklađenost programskog koda sa principima sistema i kreiraju logička struktura informacije i implementirati ih.

4. Interfejs. Oni omogućavaju obradu i interpretaciju programskog koda u format prikaza dostupan korisniku. Stvara povoljno okruženje za interakciju "Kompjuter-Čovek, Čovek-Računar".

5. Primijenjeno. Izvodi matematičke, logičke, fizičke i druge radnje sa skupom dostupnih podataka, drugim riječima, obrađuje dostupne informacije za rješavanje određenih problema.

Ova lista je daleko od iscrpne, što ukazuje na raznolikost i dvosmislenost funkcija koje softver obavlja.

1.3 Vrste softvera

U zavisnosti od funkcija koje pruža određena računarska komponenta, postaje neophodno kreirati sopstveni specijalizovani softver za nju, što je osnovni motiv za kreiranje softvera različitih tipova prikazanih na (Sl. 1):

a) Aplikacioni programi koji direktno obezbeđuju obavljanje poslova koje zahtevaju korisnici;

b) sistemski programi dizajnirani da kontrolišu rad računarskog sistema, obavljaju različite pomoćne funkcije, na primer:

1) upravljanje računarskim resursima;

2) kreiranje kopija korišćenih informacija;

3) proveru ispravnosti računarskih uređaja;

4) izdavanje referentnih podataka o računaru i dr.;

c) instrumentalni softverski sistemi, koji olakšavaju proces kreiranja novih programa za računar.

Sistemski softver osigurava funkcionisanje i održavanje računara, kao i automatizaciju procesa kreiranja novih programa. Sistemski softver uključuje: OS i njihov korisnički interfejs; Softver za alate; sistemi održavanja.

Operativni sistem je obavezan deo specijalnog softvera koji obezbeđuje efikasno funkcionisanje personalnog računara u različitim režimima, organizuje izvršavanje programa i interakciju korisnika i eksternih uređaja sa kompjuterom.

Korisnički interfejs (uslužni programi) su softverski dodaci operativnog sistema (ljuske i okruženja) dizajnirani da pojednostave komunikaciju korisnika sa operativnim sistemom.

Programi koji obezbeđuju interfejs zadržavaju oblik komunikacije (dijaloga) između korisnika i operativnog sistema, ali menjaju jezik komunikacije (obično se komandni jezik konvertuje u jezik menija). Servisni sistemi se mogu uslovno podeliti na sisteme interfejsa, ljuske operativnih sistema i uslužne programe.

Sistemi interfejsa su moćni uslužni sistemi, najčešće grafičkog tipa, koji unapređuju ne samo korisnički interfejs, već i programski interfejs operativnih sistema, posebno implementacijom nekih dodatnih procedura za podelu dodatnih resursa.

Školjke operativnih sistema pružaju korisniku kvalitativno novo sučelje u poređenju sa onim koje implementira operativni sistem i čine znanje o potonjem opcionim.

Uslužni programi automatizuju izvršavanje određenih tipičnih, često korišćenih procedura, čija bi implementacija zahtevala od korisnika da razvije posebne programe. Mnogi uslužni programi imaju razvijeno interaktivno sučelje s korisnikom i bliski su u smislu komunikacije školjkama.

Softverski alati (programski sistemi) - obavezni dio softvera pomoću kojeg se kreiraju programi. Softver alata uključuje alate za pisanje programa (uređivači teksta); alati za pretvaranje programa u formu pogodnu za izvršavanje na računaru (sastavljači, kompajleri, interpreteri, učitavači i linkeri), alati za praćenje i otklanjanje grešaka u programima.

Uređivači teksta omogućavaju vam da jednostavno uređujete, formirate i kombinujete tekstove programa, a neke - i kontrolišete sintaksu kreiranih programa.

Program napisan na algoritamskom jeziku mora biti konvertovan u objektni modul napisan u mašinskom jeziku (u binarnim kodovima). Takvu transformaciju izvode prevodioci (assembler - iz jezika Assembler i kompajler - iz jezika visokog nivoa). Za neke algoritamske jezike koriste se interpretatori koji ne kreiraju objektni modul, već pri svakom sljedećem izvršavanju programa, prevodeći svaki njegov pojedinačni red ili izraz u strojni jezik. Objektni modul obrađuje loader - linker, koji ga pretvara u izvršni strojni program.

Alati za otklanjanje grešaka omogućavaju vam praćenje programa (izvršenje korak po korak uz izdavanje informacija o rezultatima izvršenja), provjeravanje sintakse programa i međurezultata na prijelomnim točkama i modificiranje vrijednosti varijabli u tim točkama.

Tehnički i uslugu nakon prodaje su softverski alati za praćenje, dijagnosticiranje i vraćanje zdravlja računara, diskova itd.

Aplikacijski softver pruža rješenje za korisničke zadatke. Ključni koncept ovdje je paket. aplikativni programi.

Aplikacijski softverski paket je skup programa za rješavanje niza problema na određenu temu ili predmet. Postoje sljedeće vrste paketa aplikacija:

1) opće namjene- fokusiran na automatizaciju širokog spektra korisničkih zadataka (procesori teksta, uređivači tabela, sistemi za upravljanje bazama podataka, grafički procesori, sistemi za izdavaštvo, sistemi za automatizaciju dizajna, itd.);

2) metodski orijentisan - implementacija različitih ekonomskih i matematičkih metoda za rešavanje problema (matematičko programiranje, planiranje i upravljanje mrežama, teorija redova čekanja, matematička statistika itd.);

3) problemski - usmereni na rešavanje konkretnog zadatka (problema) u određenoj predmetnoj oblasti (bankarski paketi, računovodstveni paketi, finansijski menadžment, pravni referentni sistemi itd.).

Aplikacioni softver obuhvata servisne softverske alate koji služe za organizovanje pogodnog radnog okruženja za korisnika, kao i za obavljanje pomoćnih funkcija (menadžeri informacija, prevodioci, itd.).

Prilikom konstruisanja softverske klasifikacije mora se uzeti u obzir činjenica da su brzi razvoj računarske tehnologije i širenje opsega računarskih aplikacija naglo ubrzali proces evolucije softvera. Ako je ranije bilo lako navesti glavne kategorije softvera - operativni sistemi, prevodioci, aplikativni softverski paketi, sada se situacija radikalno promijenila. Razvoj softvera je išao i u dubinu (novi pristupi izgradnji operativnih sistema, programskih jezika itd.) i u širinu (aplikativni programi su prestali da se primenjuju i dobili su samostalnu vrednost). Ravnoteža između potrebnih softverskih proizvoda i onih dostupnih na tržištu brzo se mijenja. Čak se i klasični softverski proizvodi, kao što su operativni sistemi, neprestano razvijaju i obdaruju intelektualnim funkcijama, od kojih su mnoge ranije pripadale samo ljudskim intelektualnim sposobnostima.

2. Softver alata

2.1 Suština i koncept instrumentalnog softvera

Softver alata (IPO) - softver namijenjen upotrebi u dizajniranju, razvoju i održavanju programa.

Primijenjeni alati u fazi razvoja. Softver alata je skup programa koji se koristi za pomoć programerima u njihovom radu, za pomoć menadžerima razvoja softvera u njihovoj želji da kontrolišu razvojni proces i rezultirajuće proizvode. Najpoznatiji predstavnici ovog softvera su programi prevodilaca sa programskih jezika koji pomažu programerima da pišu mašinske instrukcije. Programi alata su prevodioci sa Fortrana, Cobol, Jovial, BASIC, APL i Pascal. Oni olakšavaju proces kreiranja novih programa rada. Međutim, prevodioci sa jezika samo su najpoznatiji dio programa alata; ima ih jako puno.

Upotreba kompjutera za pomoć pri kreiranju novih programa je daleko od očigledne ljudima koji nisu profesionalni programeri. Često se dešava da profesionalci u jednom dahu pričaju o softveru alata (faza razvoja) i sistem (faza upotrebe) pod pretpostavkom da su neupućeni u tajne svoje vještine svjesni ove uloge softvera alata. Kao iu fazi upotrebe (za aplikativne programe), sistemski softver radi iu fazi razvoja, ali samo u sprezi sa softverom alata. Softver alata ili sistemi za programiranje su sistemi za automatizaciju razvoja novih programa u programskom jeziku.

U najopćenitijem slučaju, da biste kreirali program u odabranom programskom jeziku (sistemski programski jezik), trebate imati sljedeće komponente:

1. Uređivač teksta da kreirate datoteku sa izvornim kodom programa.

2. Kompajler ili interpreter. Izvorni tekst se prevodi u srednji objektni kod pomoću programa kompajlera. Izvorni tekst velikog programa sastoji se od nekoliko modula (fajlova sa izvornim tekstovima). Svaki modul se kompajlira u zasebnu datoteku sa objektnim kodom, koji se zatim mora kombinovati u jednu celinu.

3. Linker ili asembler koji povezuje objektne module i generira izvodljivu aplikaciju - izvršni kod.

Izvršni kod je kompletan program koji se može pokrenuti na bilo kojem računaru koji ima operativni sistem za koji je program kreiran. Po pravilu, rezultirajući fajl ima ekstenziju .EXE ili .COM.

Nedavno su metode vizuelnog programiranja (koristeći skriptne jezike) postale široko rasprostranjene, fokusirane na kreiranje Windows aplikacija. Ovaj proces je automatizovan u okruženjima brzog dizajna. U ovom slučaju koriste se gotove vizualne komponente koje se konfiguriraju pomoću posebnih uređivača.

Najpopularniji uređivači (programski sistemi koji koriste vizuelne alate) za vizuelni dizajn:

1) Borland Delphi - dizajniran za rješavanje gotovo svih problema programiranja aplikacija.

2) Borland C++ Builder je odličan alat za razvoj DOS i Windows aplikacija.

3) Microsoft Visual Basic je popularan alat za kreiranje Windows programa.

4) Microsoft Visual C ++ - ovaj alat vam omogućava da razvijete sve aplikacije koje rade u OS okruženju kao što je Microsoft Windows

Dakle, suština instrumentalnog softvera je kreiranje bilo kojeg izvršnog programa pretvaranjem formalno logičkih izraza u izvršni mašinski kod, kao i njegova kontrola i korekcija.

2.2 Zadaci i funkcije softvera alata

Softver za alate, kao posebnu vrstu softvera, karakteriše opšte i posebno

funkcije, kao i za sav softver općenito. Gore smo raspravljali o općim funkcijama, a specijalizirane funkcije koje su svojstvene samo ovoj vrsti programa su:

1. Kreiranje teksta razvijenog programa pomoću posebno utvrđenih kodnih riječi (programski jezik), kao i određenog skupa znakova i njihove lokacije u kreiranoj datoteci – sintaksi programa.

2. Prevod teksta kreiran program u mašinski orijentisan kod dostupan za kompjutersko prepoznavanje. U slučaju značajnog obima kreiranog programa, on se dijeli na zasebne module i svaki od modula se prevodi zasebno.

3. Povezivanje pojedinačnih modula u jedan izvršni kod, u skladu sa potrebnom strukturom, obezbeđujući koordinaciju međusobne interakcije pojedinih delova.

4. Testiranje i kontrola kreiranog programa, otkrivanje i otklanjanje formalnih, logičkih i sintaksičkih grešaka, provera programa na zabranjene kodove, kao i procena performansi i potencijala kreiranog programa.

2.3 Vrste softvera alata

Na osnovu zadataka dodijeljenih instrumentalnom softveru možemo razlikovati veliki broj razne vrste instrumentalnog softvera:

1) Urednici teksta

2) Integrisana razvojna okruženja

4) Prevodioci

5) Prevodioci

6) Linkeri

7) Parseri i generatori parsera (pogledajte Javacc)

8) Asembleri

9) Debuggers

10) Profileri

11) Generatori dokumenata

12) Alati za analizu pokrivenosti koda

13) Alati za kontinuiranu integraciju

14) Automatski alati za testiranje

15) Sistemi kontrole verzija itd.

Treba napomenuti da se ljuske za kreiranje aplikativnih programa također kreiraju programima alata i stoga se mogu nazvati aplikativnim programima. Razmotrite ukratko svrhu nekih instrumentalnih programa.

Urednici teksta.

Uređivač teksta je kompjuterski program dizajniran za obradu tekstualnih datoteka, kao što je kreiranje i unošenje izmjena.

Vrste uređivača teksta.

Konvencionalno se razlikuju dvije vrste uređivača: uređivači teksta za strujanje i interaktivni.

Strim uređivači teksta su kompjuterski programi koji su dizajnirani da automatski obrađuju ulazne tekstualne podatke primljene iz tekstualne datoteke u skladu s pravilima koja su unaprijed definirali korisnici. Najčešće su pravila regularni izrazi, na dijalektu specifičnom za ovaj uređivač teksta. Primjer takvog uređivača teksta je Sed editor.

Interaktivni uređivači teksta su porodica kompjuterskih programa dizajniranih da unesu promene tekstualnu datoteku interaktivno. Takvi programi vam omogućavaju da prikažete trenutno stanje tekstualnih podataka u datoteci i izvršite različite radnje na njima.

Često interaktivni uređivači teksta sadrže značajnu dodatnu funkcionalnost dizajniranu za automatizaciju nekih radnji uređivanja ili za promjenu prikaza tekstualnih podataka, ovisno o njihovoj semantici. Isticanje sintakse je primjer ove druge vrste funkcionalnosti.

Uređivači teksta su dizajnirani za kreiranje i uređivanje tekstualnih dokumenata. Najčešći su MS WORD, Leksikon. Glavne funkcije uređivača teksta su:

1) rad sa fragmentima dokumenata,

2) ubacivanje objekata kreiranih u drugim programima

3) paginaciju teksta dokumenta

4) unos i uređivanje tabela

5) unos i uređivanje formula

6) formatiranje pasusa

7) automatsko kreiranje lista

8) automatsko kreiranje tabele sadržaja.

Poznato je na desetine uređivača teksta. Najpristupačniji su BILJEŠKA (bilježnica), WORDPAD, WORD. Rad određenog uređivača teksta obično je određen funkcijama čija se svrha odražava u stavkama menija i u sistemu pomoći.

Integrirano razvojno okruženje

Integrisano razvojno okruženje (ISD) je softverski sistem koji programeri koriste za razvoj softvera (SW). Razvojno okruženje obično uključuje:

1) uređivač teksta

2) kompajler i/ili interpretator

3) alati za automatizaciju montaže

4) debuger.

Ponekad sadrži i alate za integraciju sa sistemima kontrole verzija i razne alate za pojednostavljenje konstrukcije grafičkog korisničkog interfejsa. Mnoga moderna razvojna okruženja takođe uključuju pretraživač klasa, inspektor objekata i dijagram hijerarhije klasa za upotrebu u objektno orijentisanom razvoju softvera. Iako postoje razvojna okruženja dizajnirana za nekoliko programskih jezika - kao što su Eclipse, NetBeans, Embarcadero RAD Studio, Qt Creator ili Microsoft Visual Studio, obično je razvojno okruženje namenjeno jednom specifičnom programskom jeziku - kao što je Visual Basic, Delphi, Dev-C++.

Poseban slučaj ISR-a su vizuelna razvojna okruženja, koja uključuju mogućnost vizuelnog uređivanja programskog interfejsa.

SDK.

SDK (od engleskog SoftwareDevelopmentKit) ili "devkit" je razvojni komplet koji omogućava softverskim stručnjacima da kreiraju aplikacije za određeni softverski paket, alate za razvoj softvera, hardversku platformu, računarski sistem, konzole za video igre, operativne sisteme i druge platforme.

Programer obično dobija SDK direktno od programera ciljne tehnologije ili sistema. Često se SDK distribuira preko Interneta. Mnogi SDK-ovi se distribuiraju besplatno kako bi se programeri ohrabrili da koriste ovu tehnologiju ili platforma.

Prodavci SDK-a ponekad zamjenjuju termin softver u kompletu za razvoj softvera preciznijom riječju. Na primjer, Microsoft i Apple obezbjeđuju komplete za razvoj drajvera (DDK) za razvoj drajvera uređaja, dok PalmSource svoj razvojni komplet naziva "PalmOS Development Kit (PDK)".

SDK primjeri :

5) Java Development Kit

6) Opera Devices SDK

Kompajleri.

kompajler -

1) Program ili tehnička sredstva Ono koje obavlja kompilaciju.

2) Mašinski program koji se koristi za kompilaciju.

3) Prevodilac koji pretvara program napisan na izvornom jeziku u objektni modul.

4) Program koji prevodi tekst programa na jeziku visokog nivoa u ekvivalentan program u mašinskom jeziku.

5) Program dizajniran da prevede jezik visokog nivoa u apsolutni kod ili, ponekad, u asemblerski jezik. Ulazne informacije za kompajler ( izvor) je opis algoritma ili programa na jeziku specifičnom za domenu, a izlaz kompajlera je ekvivalentan opis algoritma u mašinski orijentisanom jeziku (objektni kod).

Kompilacija -

1) Prevod programa na jezik blizak mašini.

2) Prevod programa napisanog na izvornom jeziku u objektni modul. Implementirano od strane kompajlera.

Kompajliranje - prevedite mašinski program sa jezika specifičnog za domenu u mašinski orijentisan jezik.

Vrste kompajlera :

1) Vektorizacija. Prevodi izvorni kod u mašinski kod računara opremljenih vektorskim procesorom.

2) Fleksibilan. Sastavljen na modularan način, vođen tabelama i programiran na jeziku visokog nivoa ili implementiran sa kompajlerom kompajlera.

3) Dijalog.

4) Inkrementalni. Ponovno prevodi fragmente programa i ekstenzije bez ponovnog kompajliranja cijelog programa.

5) Interpretativno (korak po korak). Sekvencijalno obavlja nezavisnu kompilaciju svake pojedinačne naredbe (naredbe) izvornog programa.

6) Kompajler kompajlera. Prevodilac koji uzima formalni opis programskog jezika i generiše kompajler za taj jezik.

7) Otklanjanje grešaka. Eliminira određene vrste sintaktičkih grešaka.

8) Rezident. Trajno se nalazi u glavnoj memoriji i dostupan je za ponovo koristiti mnogo zadataka.

9) Sastavljen sam. Napisano na istom jeziku sa kojeg se emitira emitovanje.

10) Univerzalni. Zasnovano na formalnom opisu sintakse i semantike jezika unosa. Komponente takvog kompajlera su: kernel, sintaktički i semantički učitavači.

Vrste kompilacije :

1) Batch. Kompajliranje više izvornih modula u jednoj radnoj stavci.

2) Red po red.

3) Uslovno. Kompilacija u kojoj prevedeni tekst zavisi od uslova navedenih u izvornom programu. Dakle, ovisno o vrijednosti neke konstante, možete uključiti ili isključiti prijevod dijela teksta programa.

Struktura kompajlera.

Proces kompilacije sastoji se od sljedećih koraka:

1) Leksička analiza. U ovoj fazi, niz znakova u izvornoj datoteci se pretvara u niz tokena.

2) Sintaktička (gramatička) analiza. Niz tokena se pretvara u stablo raščlanjivanja.

3) Semantička analiza. Stablo raščlanjivanja se obrađuje kako bi se uspostavila njegova semantika (značenje) - na primjer, vezivanje identifikatora za njihove deklaracije, tipove, provjere kompatibilnosti, određivanje tipova izraza, itd. Rezultat se obično naziva "srednja reprezentacija/kod" i može biti proširen stablom za raščlanjivanje, novim stablom, apstraktnim skupom instrukcija ili nečim drugim pogodnim za dalju obradu.

4) Optimizacija. Suvišne konstrukcije su uklonjene i kod je pojednostavljen uz zadržavanje njegovog značenja. Optimizacija može biti na različitim nivoima i fazama - na primjer, preko međukoda ili preko konačnog mašinskog koda.

5) Generisanje koda. Iz srednjeg prikaza generiše se kod na ciljnom jeziku.

U specifičnim implementacijama kompajlera, ove faze mogu biti odvojene ili kombinovane u jednom ili drugom obliku.

Emitovanje i povezivanje.

Važna istorijska karakteristika kompajlera, koja se ogleda u njegovom nazivu (eng. compile - sastaviti, sastaviti), bila je da je mogao da vrši i povezivanje (odnosno, sadržao je dva dela - prevodilac i linker). To je zbog činjenice da su se odvojena kompilacija i povezivanje kao posebna faza sklapanja pojavili mnogo kasnije od pojave kompajlera. S tim u vezi, umjesto termina "prevodilac", termin "prevodilac" se ponekad koristi kao sinonim: bilo u staroj literaturi, ili kada se želi naglasiti njegova sposobnost prevođenja programa u mašinski kod (i obrnuto, oni koriste izraz "kompajler" da bi naglasili sposobnost sastavljanja jednog iz više fajlova).

Tumači.

Prevoditelj (programski jezik) -

1) Program ili tehničko sredstvo koje izvodi interpretaciju.

2) Tip prevodioca koji obavlja obradu operator-by-operator (command-by-command) i izvršavanje izvornog programa ili upita (za razliku od kompajlera koji prevodi ceo program bez njegovog izvršavanja).

3) Program (ponekad hardverski) koji analizira komande ili naredbe programa i odmah ih izvršava.

4) Jezički procesor koji analizira izvorni program red po red i istovremeno izvršava propisane radnje, a ne formira kompajlirani program na mašinskom jeziku koji se naknadno izvršava.

Vrste tumača.

Jednostavan interpreter analizira i odmah izvršava (samu interpretaciju) program naredbu po naredbu (ili red po red), kako njegov izvorni kod stigne na ulaz interpretatora. Prednost ovog pristupa je trenutni odgovor. Nedostatak je što takav interpreter detektuje greške u tekstu programa samo kada pokuša da izvrši naredbu (ili liniju) sa greškom.

Interpretator tipa kompajlera je sistem kompajlera koji prevodi izvorni kod programa u međureprezentaciju, na primer, bajtkod ili p-kod, i sam interpreter, koji izvršava rezultujući međukod (tzv. virtuelna mašina). Prednost ovakvih sistema je veća brzina izvršavanja programa (zbog uklanjanja analize izvornog koda u poseban, jednokratni prolaz i minimiziranja ove analize u interpretatoru). Nedostaci - veći zahtjevi resursa i zahtjev za ispravnost izvornog koda. Koristi se u jezicima kao što su Java, PHP, Python, Perl (koristi se bajt kod), REXX (snima se rezultat parsiranja izvornog koda), kao i u raznim DBMS (koristi se p-kod).

Ako se interpreter kompajlacijskog tipa podijeli na komponente, dobijaju se prevodilac jezika i jednostavan interpreter sa minimiziranom analizom izvornog koda. Štaviše, izvorni kod za takav interpreter ne mora imati tekstualni format ili biti bajtkod koji samo ovaj tumač razumije, može biti strojni kod neke postojeće hardverske platforme. Na primjer, virtuelne mašine poput QEMU, Bochs, VMware uključuju tumače mašinskog koda za procesore porodice x86.

Neki tumači (na primjer, za Lisp, Scheme, Python, BASIC i drugi) mogu raditi u dijaloškom načinu ili u takozvanoj petlji čitaj-računaj-štampaj (read-eval-printloop, REPL). U ovom načinu, tumač čita kompletnu jezičku konstrukciju (na primjer, s-izraz u Lisp-u), izvršava je, ispisuje rezultate, a zatim nastavlja čekati da korisnik uđe u sljedeću konstrukciju.

Forth jezik je jedinstven, koji može da radi i u režimima interpretacije ulaznih podataka i kompilacije, omogućavajući vam da se prebacite između ovih režima u bilo kom trenutku, kako tokom prevoda izvornog koda, tako i tokom izvođenja programa.

Također treba napomenuti da se načini interpretacije mogu naći ne samo u softveru, već iu hardveru. Dakle, mnogi mikroprocesori tumače mašinski kod koristeći ugrađene mikroprograme, a procesori porodice x86, počevši od Pentiuma (na primer, na arhitekturi Intel P6), tokom izvršavanja mašinskog koda, prethodno ga prevode u interni format (u niz mikro-operacije).

Algoritam jednostavnog tumača :

2. analizirati uputstvo i odrediti odgovarajuće radnje;

3. poduzeti odgovarajuće mjere;

4. ako nije postignut uslov završetka programa, pročitajte sljedeću instrukciju i prijeđite na tačku 2.

Prednosti i mane tumača.

1) Veća prenosivost interpretiranih programa - program će raditi na bilo kojoj platformi koja ima odgovarajući interpreter.

2) Po pravilu, naprednija i vizuelna sredstva za dijagnosticiranje grešaka u izvornim kodovima.

3) Pojednostavljenje otklanjanja grešaka u izvornim kodovima programa.

4) Manje veličine koda u poređenju sa mašinskim kodom dobijenim nakon konvencionalnih kompajlera.

1) Interpretirani program ne može se izvršiti zasebno bez programa interpretatora. Sam tumač može biti veoma kompaktan.

2) Interpretirani program radi sporije jer srednja analiza izvornog koda i zakazivanje njegovog izvršenja zahtijeva dodatno vrijeme u odnosu na direktno izvršavanje mašinskog koda u koji bi se izvorni kod mogao prevesti.

3) Optimizacija koda praktički ne postoji, što dovodi do dodatnih gubitaka u brzini interpretiranih programa.

Linker.

Linker (također linker, linker) je program koji vrši povezivanje - uzima jedan ili više objektnih modula kao ulaz i sastavlja iz njih izvršni modul.

Za povezivanje modula, linker koristi tabele imena koje je kreirao kompajler u svakom od modula objekata. Takva imena mogu biti dva tipa:

1) Definisana ili izvezena imena - funkcije i varijable definisane u ovom modulu i predviđene za upotrebu drugim modulima.

2) Nedefinisani ili uvezeni nazivi - funkcije i varijable na koje se modul poziva, ali ih ne definira unutar sebe.

Posao povezivača je da razriješi reference na nedefinirana imena u svakom modulu. Za svako uvezeno ime, njegova definicija se nalazi u drugim modulima, spominjanje imena zamjenjuje se njegovom adresom.

Linker normalno ne vrši provjeru tipa ili brojanja procedura i parametara funkcije. Ako je potrebno kombinovati objektne module programa napisanih na jezicima jakog tipa, onda potrebne provjere moraju izvršiti dodatni uslužni program prije pokretanja povezivača.

asembler.

Asembler (od engleskog asembler - asembler) - kompjuterski program, kompajler izvornog koda programa napisanog u asemblerskom jeziku u program na mašinskom jeziku.

Kao i sam (assembler) jezik, asembleri imaju tendenciju da budu specifični za određenu arhitekturu, operativni sistem i varijantu sintakse jezika. Istovremeno, postoje multiplatformski ili potpuno univerzalni (tačnije, ograničeno-univerzalni, jer je nemoguće pisati hardverski nezavisne programe na jeziku niskog nivoa) asembleri koji mogu raditi na različitim platformama i operativnim sistemima. Među potonjima se takođe može izdvojiti grupa unakrsnih asemblera sposobnih za asembleriranje mašinskog koda i izvršnih modula (fajlova) za druge arhitekture i operativne sisteme.

Sklapanje možda nije prvi ili posljednji korak na putu do dobivanja izvršnog programskog modula. Dakle, mnogi prevodioci iz programskih jezika visokog nivoa proizvode rezultat u obliku programa asemblerskog jezika, koji asembler dalje obrađuje. Također, rezultat asemblera možda neće biti izvršni, već objektni modul koji sadrži odvojene i nevezane dijelove strojnog koda i programskih podataka, iz kojih (ili iz više objektnih modula) u budućnosti uz pomoć programa za povezivanje (" linker") izvršna datoteka.

Debugger ili debugger je modul razvojnog okruženja ili zasebna aplikacija dizajnirana da pronađe greške u programu. Debager vam omogućava da koračate kroz praćenje, nadgledate, postavljate ili mijenjate vrijednosti varijabli tokom izvršavanja programa, postavljate i uklanjate tačke prekida ili uslove prekida, itd.

Lista debuggera.

1) AQtime je komercijalni program za otklanjanje grešaka za aplikacije napravljene za .NET Framework verziju 1.0, 1.1, 2.0, 3.0, 3.5 (uključujući ASP.NET aplikacije), kao i za Windows 32-bitne i 64-bitne aplikacije.

2) DTrace je dinamički okvir za praćenje za Solaris, OpenSolaris, FreeBSD, Mac OS X i QNX.

3) Električna ograda - debuger memorije.

4) GNU Debugger (GDB) je programski debugger iz GNU projekta.

5) IDA je moćan disassembler i debager niskog nivoa za Windows i Linux operativne sisteme.

6) Microsoft Visual Studio je okruženje za razvoj softvera koje uključuje alate za otklanjanje grešaka iz Microsoft Corporation.

7) OllyDbg je besplatni program za otklanjanje grešaka niskog nivoa za operativne sisteme Windows porodice.

8) SoftICE je debager niskog nivoa za operativne sisteme Windows porodice.

9) Sun Studio je okruženje za razvoj softvera uključujući dbx debugger za Solaris i Linux operativne sisteme kompanije Sun Microsystems Corporation.

10) Dr. Watson je standardni Windows program za otklanjanje grešaka koji vam omogućava da kreirate memorijske dumpove.

11) TotalView je jedan od komercijalnih debagera za UNIX.

12) WinDbg je besplatni program za otklanjanje grešaka iz Microsoft Corporation.

Generator dokumentacije - program ili softverski paket koji vam omogućava da dobijete dokumentaciju namenjenu programerima (API dokumentacija) i/ili krajnjim korisnicima sistema, prema posebno komentarisanom izvornom kodu i, u nekim slučajevima, izvršnim modulima (dobijenim od izlaz kompajlera).

Obično generator analizira izvorni kod programa, naglašavajući sintaktičke konstrukcije koje odgovaraju značajnim objektima programa (tipovi, klase i njihovi članovi/svojstva/metode, procedure/funkcije, itd.). Analiza takođe koristi meta-informacije o programskim objektima, predstavljene u obliku dokumentujućih komentara. Na osnovu svih prikupljenih informacija formira se gotova dokumentacija, najčešće u nekom od opšteprihvaćenih formata - HTML, HTMLHelp, PDF, RTF i drugi.

Dokumentovanje komentara.

Komentar dokumenta je posebno oblikovan komentar na programskom objektu koji koristi određeni generator dokumentacije. Sintaksa konstrukcija korištenih u dokumentacijskim komentarima ovisi o tome koji se generator dokumentacije koristi.

Komentari u dokumentaciji mogu sadržavati informacije o autoru koda, opisati svrhu programskog objekta, značenje ulaznih i izlaznih parametara – za funkciju/proceduru, primjere korištenja, moguće izuzetke, karakteristike implementacije.

Komentari u dokumentaciji obično su formatirani kao komentari u više redova u C stilu. U svakom slučaju, komentar mora biti ispred dokumentiranog elementa. Prvi znak u komentaru (i na početku redova komentara) mora biti *. Blokovi su odvojeni praznim linijama.

3. Visual Basic za aplikacije

softverski operativni sistem

3.1 Suština VisualBasica i njegova kratka istorija

Microsoft Visual Basic (VB) je alat za razvoj softvera koji je razvio Microsoft i uključuje programski jezik i razvojno okruženje. Visual Basic jezik je naslijedio duh, stil i dijelom sintaksu svog pretka, BASIC jezika, koji ima mnogo dijalekata. Istovremeno, Visual Basic kombinuje procedure i elemente objektno orijentisanih i komponentno orijentisanih programskih jezika. VB razvojno okruženje uključuje alate za vizuelno dizajniranje korisničkog interfejsa. (vidi tabelu).

Visual Basic (ključne karakteristike)

Visual Basic se smatra dobrim alatom za brzi razvoj prototipova programa, za razvoj aplikacija baza podataka i uopšte za komponentni način kreiranja programa koji rade pod operativnim sistemima porodice Microsoft Windows.

U procesu evolucije, Visual Basic je prošao kroz niz uzastopnih faza koje su mu omogućile da postane jedan od najpopularnijih programskih jezika danas. Dakle evolucija VisualBasic je išao na sljedeći način:

1. Maj 1991. - Objavljen Visual Basic 1.0 za Microsoft Windows. Sintaksa QBasic uzeta je kao osnova jezika, a inovacija, koja je tada donijela veliku popularnost jeziku, bila je princip komunikacije između jezika i grafičkog interfejsa.

2. Septembar 1992. - Objavljen je Visual Basic 1.0 za DOS. Nije bio u potpunosti kompatibilan sa Windows verzijom VB-a, jer je bila sljedeća verzija QuickBASIC-a i radila je u tekstualnom modu na ekranu.

3. Novembar 1992. - Objavljen Visual Basic 2.0. Razvojno okruženje postalo je lakše za korištenje i radilo je brže.

4. ljeto 1993. - Visual Basic 3.0 je objavljen u Standardnom i Professional izdanju. Dodatno, paketu je dodat mehanizam za rad sa Access bazama podataka.

5. Avgust 1995. - Visual Basic 4.0 - verzija koja je mogla kreirati i 32-bitne i 16-bitne Windows programe.

6. Februar 1997. - Visual Basic 5.0 - počevši od ove verzije, postalo je moguće, zajedno sa konvencionalnim aplikacijama, razvijati COM komponente.

7. Sredinom 1998. izašao je Visual Basic 6.0. Od tada, Microsoft je drastično promijenio svoju politiku osnovnog jezika. Umjesto razvoja Visual Basica, kreiran je potpuno novi Visual Basic .NET jezik.

8. Godine 2005. objavljena je nova verzija Visual Basica, u paketu sa Visual Studio-om. Bila je zadovoljna novim interfejsom i funkcijama. Jezik je baziran na Visual Basic.NET-u.

9. Krajem 2007 Microsoft je izašao nova verzija Visual Basic - Visual Basic 2008, koji je takođe bio zasnovan na Visual Basic.NET-u.

Na osnovu funkcionalnosti i specifičnosti aplikacije, mogu se razlikovati sljedeće varijante ovog programa:

1. Klasični Visual Basic (verzije 5-6) Ovaj jezik je jako vezan za svoje razvojno okruženje i za Windows operativni sistem, budući da je isključivo alat za pisanje Windows aplikacija

2. VisualBasicforApplications (VBA) Ovo je programski alat koji se gotovo ne razlikuje od klasičnog Visual Basica, koji je dizajniran za pisanje makroa i drugih aplikacija za specifične aplikacije. Najpopularniji zbog svoje upotrebe u Microsoft paket ured. Široka upotreba Visual Basica za aplikacije, zajedno sa početnim nedostatkom pažnje na sigurnosna pitanja, dovela je do široko rasprostranjenih makro virusa.

3. VisualBasicScriptingEdition (VBScript) Skriptni jezik, koji je donekle skraćena verzija običnog Visual Basica. Uglavnom se koristi za automatizaciju administracije Windows sistema, kao i za kreiranje ASP stranica i skripti za Internet Explorer.

3.2 VisualBasicforApplication interfejs, glavne funkcije i karakteristike

Prilikom kreiranja VisualBasicforApplication-a, Microsoft je kao svoj glavni zadatak postavio kreiranje alata koji je dostupan korisnicima koji nisu profesionalni programeri, ali su istovremeno dovoljno kvalifikovani da razvijaju i dizajniraju aplikativne programe i aplikacije zasnovane na MicrosoftOfficeu. Upravo u rješavanju ovog problema programeri su kreirali VBA, dajući mu niz jedinstvenih karakteristika. Jedna od najvrednijih za korisnika je mogućnost kreiranja i korišćenja nestandardnih (prilagođenih) dijaloških okvira u programima dodavanjem objekta UserForm projektu, kao i zgodnog korisničkog interfejsa.

Interfejs programa VisualBasicforApplication sastoji se od kompleksa različitih prozora i kartica koji se koriste u dizajnu aplikacije koja se kreira, od kojih su glavni:

1) prozor projekta (slika 2), koji prikazuje strukturu projekta koji se kreira.

2) prozor Programskog koda (slika 3), koji prikazuje programski kod projekta koji se kreira i omogućava pisanje programa na klasičan način korišćenjem ugrađenog uređivača kodnih reči, kojih u VBA ima više od 16 hiljada. Također, ovaj prozor vam omogućava da uredite kod i provjerite ima li grešaka.

3) kartica Svojstva (slika 4), koja prikazuje parametre postavljene za navedeni objekat i omogućava promjenu navedenih postavki.

Krećući se između prozora i kartica, korisnik može lako prilagoditi kreirani projekat.

Koristeći VBA obrasce kreirane od strane korisnika, možete kreirati prilagođene dijaloške okvire za prikaz podataka ili primanje vrijednosti od korisnika programa na način koji najbolje odgovara potrebama programa. Na primjer, možete kreirati kviz, prikazati dijaloški okvir za prikaz pitanja s višestrukim izborom i omogućiti korisniku da odabere jedan od odgovora za koji misli da je tačan.

Nestandardni dijaloški okviri omogućavaju programu da komunicira sa svojim korisnikom na najkompleksniji način i pruža razne ulazne i izlazne podatke.

Prilagođeni dijaloški okvir se kreira u VBA dodavanjem objekta UserForm projektu. Ovaj objekat je prazan dijaloški okvir; ima naslovnu traku i dugme za zatvaranje, ali mu nedostaju druge kontrole. Prilagođeni dijaloški okvir se kreira dodavanjem kontrola objektu UserForm i obično se naziva jednostavno formom (slika 5).

Svaki objekat UserForm ima svojstva, metode i događaje koje nasljeđuje od klase objekta UserForm.

Svaki objekat UserForm također sadrži modul klase u koji korisnik dodaje svoje metode i svojstva ili piše procedure događaja za taj obrazac.

Mogućnost kreiranja sopstvenog interfejsa nezavisno od okruženja aplikacijskog programa, kao što je Excel, koristeći ekranske forme je jedna od najvrednijih karakteristika u VBA.

Ekranski obrasci su prozori različitih namjena i tipova koje korisnik kreira za svoju primjenu. Sadrže kontrole koje omogućavaju korisniku da dijeli informacije s aplikacijom.

VBA koristi generisani grafički dizajn obrasca – sa postavkama za svojstva i kontrole obrasca – da dobije sve informacije potrebne za prikaz dijaloškog okvira: veličinu okvira za dijalog, kontrole u njemu itd. Kao rezultat, VBA vam omogućava da prikažete dijaloški okvir sa jednom naredbom.

Da biste prikazali prilagođeni dijaloški okvir, koristite metodu Show objekta UserForm. Ako obrazac trenutno nije učitan u memoriju, metoda Show učitava obrazac i prikazuje ga. Ako je obrazac već učitan, metoda Show ga jednostavno prikazuje.

Prikazivanje jednog dijaloškog okvira za završetak zadatka obično nije dovoljno. Gotovo je uvijek potrebno odrediti stanje kontrola dijalog box-a kako bi se saznalo koje podatke ili opcije je korisnik odabrao. Na primjer, ako se dijaloški okvir koristi da pita korisnika po kojim stupcima i redovima radni list treba sortirati, morate biti u mogućnosti saznati koje je vrijednosti korisnik unio nakon što se dijaloški okvir zatvori i prije operacije sortiranja zapravo počinje.

U drugim slučajevima, možda ćete htjeti dinamički promijeniti naslove dugmadi (ili drugih kontrola) u dijaloškom okviru, dinamički ažurirati oznaku ili polje povezano sa spinnerom ili dinamički potvrditi podatke unesene u okvir za dijalog.

U VBA je moguće značajno proširiti skup funkcija ugrađenih u standardnu ​​aplikaciju, kao što je Microsoft Excel, kao i kreirati funkcije čije vrijednosti zavise od određenih uslova i događaja.

VBA vam omogućava da programirate funkcije tabele. Da biste kreirali poseban radni list za softverski modul, postoji kartica Insert Module iz Visual menija, komanda Module iz menija Insert Macro. Nakon toga će se pojaviti novi radni list "Model1". U programskom modulu morate opisati funkciju na VBA jeziku. U prozoru programskog modula možete raditi kao u prozoru malog uređivača teksta.

Funkcije se ugrađuju pomoću naredbe Pregledač objekata iz izbornika Pogled. Funkcije koje definira korisnik tretiraju se kao nezavisni objekti u programu. VBA ima značajan skup ugrađenih funkcija, dijeleći ih na tipove.

Visual Basic vam omogućava da rezervišete varijable, sa ili bez veličine, radite sa različitim tipovima podataka, koristite konstante, radite sa matematičkim operatorima i funkcijama i koristite dodatne operatore. Omogućeno je korištenje For Next, Do loop operatora, objekata tipa "tajmer" (nevidljiva štoperica u programu). Preciznost podešavanja vremena u programu je 1 milisekunda, odnosno 1/1000 sek. Tajmer koji radi stalno radi – tj. odgovarajuća rutina prekida se izvršava nakon određenog vremenskog intervala - sve dok korisnik ne zaustavi tajmer ili onemogući program.

U VBA-u možete postaviti bilo koje svojstvo za obrazac, uključujući naslov, veličinu, vrstu okvira, boju pozadine i znakova, font teksta i pozadinsku sliku.

Da sumiramo sve funkcije programa, Visual Basic forApplication vam omogućava da:

1) rad sa kontrolama

Prednosti :

1. Velika brzina kreiranja GUI aplikacija za MS Windows.

2. Jednostavna sintaksa koja vam omogućava da vrlo brzo naučite jezik.

3. Sposobnost kompajliranja i u mašinski i u P-kod (po izboru programera). U modu za otklanjanje grešaka, program se uvijek (bez obzira na izbor) kompajlira u P-kod, koji vam omogućava da pauzirate izvršavanje programa, napravite značajne promjene u izvornom kodu, a zatim nastavite s izvršavanjem: potpuna rekompilacija i ponovno pokretanje program nije potreban.

4. Zaštita od grešaka povezanih s korištenjem pokazivača i pristupom memoriji. Ovaj aspekt čini Visual Basic aplikacije stabilnijim, ali je i predmet kritike.

5. Mogućnost korištenja većine WinAPI funkcija za proširenje funkcionalnosti aplikacije. Ovo pitanje je najpotpunije istražio Dan Appleman, koji je napisao knjigu Visual Basic Programmer's Guide to Win32 API.

Kritika :

1. Često se kritikuju aspekti Visual Basica kao što su mogućnost onemogućavanja sredstava za praćenje deklarisanih varijabli, mogućnost implicitne konverzije varijabli, prisustvo tipa podataka Variant. Prema kritičarima, to omogućava pisanje izuzetno lošeg koda. S druge strane, to se može posmatrati kao plus, jer VB ne nameće „dobar stil“, već daje više slobode programeru.

2. Nedostatak pokazivača, pristup memoriji niskog nivoa, ASM umetci. Iako paradigma Visual Basic-a omogućava prosječnom VB programeru da radi bez svega ovoga, ove stvari su također često kritikovane. I mada, koristeći nedokumentovane karakteristike i određene trikove, sve se to može implementirati u VB (na primer, korišćenjem funkcija za dobijanje VarPtr(), StrPtr() i ObjPtr() pokazivača); korištenje ovih trikova je mnogo teže nego, na primjer, u C++.

Međutim, vrijedno je napomenuti da svi nedostaci jezika proizlaze iz njegove glavne prednosti - jednostavnosti razvoja grafičkog sučelja. Stoga mnogi programeri koriste Visual Basic za razvoj korisničkog interfejsa, a funkcionalnost programa implementirana je kao biblioteke dinamičkih veza (DLL) napisane na drugom jeziku (najčešće C++).

4. Praktični dio

4.1 Izjava o problemu

Nacrtajte blok dijagram i napišite program u Pascalu. Izračunajte intrinzičnu vrijednost vrijednosnih papira. Intrinzična vrijednost imovine određena je budućim tokom prihoda od tog sredstva

pv je trenutna intrinzična vrijednost dionice

c je očekivani prinos od predmetne imovine

r je stopa prinosa koju očekuje investitor za prinos sa odgovarajućim nivoom rizika

n je faktor vremena (u mjesecima).

Izvršite analizu tržišta i sortirajte rezultat uzlaznim redoslijedom primljenih podataka.

4.2 Tekst programa u Pascalu

pv: niz realnih;

writeLn('Unesite očekivani prihod od ',i,' sredstva c:');

writeLn('Unesite stopu prinosa koju očekuje investitor r:');

pv:=c/exp(ln(1+r)*i);

writeLn('trenutna intrinzična vrijednost sredstva je', pv[i]:1:3);

writeLn('Intrinzična vrijednost sredstva je', s);

za j:=1 do 4 do

ako je pv[j] > pv onda

writeLn('Vrijednost imovine sortirana uzlaznim redoslijedom');

za i:=1 do 5 do

writeLn(pv[i]:1:3);

4.3 Testni slučaj

4.4 Rezultat izvršavanja programa na testnom slučaju

Zaključak

Dakle, sumirajući sve gore navedeno, treba napomenuti da je softver alata jedna od vrsta softvera, koja ima svoje općenite zadatke i funkcije.

Međutim, budući da je visoko specijalizirana vrsta softvera, on ima određeni skup jedinstvenih svojstava i funkcija koje pružaju rješenje za njegove inherentne zadatke.

Treba napomenuti trend u nastajanju u pravcu pojednostavljivanja procesa programiranja i stvaranja određene potklase – poluprofesionalnog programiranja za primijenjene svrhe.

To je ono što će omogućiti iskusnom korisniku računara, ali ne profesionalni programer, kreirajte neke aplikacije i male datoteke izvršne u Microsoft Office okruženju, koje se prvenstveno koriste za potrebe računovodstva i upravljanja dokumentima u malim kompanijama.

U tu svrhu je Microsoft razvio softverski paket VisualBasicforApplication, koji olakšava programiranje i omogućava korisnicima da programiraju aplikacije, a ne programerima. Ova prilika implementiran je prvenstveno kreiranjem dijela programa - "Script Editor" i mogućnošću snimanja i izvršavanja "Makroa" kao posebne vrste grafički programabilnih modula. Implementirana mogućnost kreiranja aplikacija sa grafičkim interfejsom za MS Windows. Takođe, prednost ovog tipa softvera alata je jednostavna sintaksa koja vam omogućava da brzo naučite jezik i koristite ga za programiranje u svim standardnim Microsoft Office aplikacijama.

Stoga je teško precijeniti značaj alata općenito, a posebno VisualBasicforApplication, iako se nedostaci, kao što je gore navedeno, također javljaju. Ali to nisu čak ni negativni aspekti proizvoda, već smjernice za dalje unapređenje alata u osobi VisualBasicforApplication.

1. Algoritamski jezici u realnom vremenu / Ed. Yanga S./ 2004

2. PC Magazin Rusko izdanje №2 2008 Računar danas.

3. Računarstvo. / Ed. Mogilev A.V., Pak N.I., Henner E.K. / - M.: ACADEMIA, 2000.

4. Računarstvo i informacione tehnologije: Udžbenik / Ed. Romanova D.Yu. / DOO "Izdavačka kuća" Eksmo", 2007.

5. Najnovija enciklopedija personalnog računara /Ur. Leontieva V. / Moskva, 1999. – 271 str.

6. Novi programski jezici i trendovi u njihovom razvoju / Ed. Uškova V. / 2001

7. Pedagogija / Ed. Pidkasistogo P.I. / - M.: Pedagoško društvo Rusije, 2000.

8. Programiranje za Microsoft Excel 2000 za 21 dan. / Ed. Harisa M./ - M.: Williams, 2000.

9. Simonovich S. Informatika: osnovni kurs. Proc. za univerzitete. Sankt Peterburg, Petar, 2002

10. Sa Excel 2000 nema problema. / Ed. Kowalski / - M.: Binom, 2000.

11. "Efektivan rad u Windows 98" /Ed. Stinson K. / 2000. – 247 str.

12. Programski jezici. knj.5 / Ed. Vaulina A.S. / 2003

13. Programski jezici: razvoj i implementacija / Ed. Terrence P. / 2001

14. Elektronski udžbenik informatike. Aleksejev E.G. http://www.stf.mrsu.ru/economic/lib/Informatics/text/Progr.html\

Pošaljite svoj dobar rad u bazu znanja je jednostavno. Koristite obrazac ispod

Studenti, postdiplomci, mladi naučnici koji koriste bazu znanja u svom studiranju i radu biće vam veoma zahvalni.

Hostirano na http://www.allbest.ru/

Vježba 1

Instrumentalni softver, njegova namjena i sastav

Zadatak 2

Prva faza - postavljanje zadatka

Druga faza je ekonomsko-matematički opis problema i izbor metode za njegovo rješavanje

Treća faza - algoritmizacija

Četvrta faza - programiranje

Peta faza - otklanjanje grešaka

Bibliografija

Vježba 1

Instrumentalni softver, njegova namjena i sastav

Softver

Skup programa dizajniranih za rješavanje problema na PC-u naziva se softver. Sastav PC softvera naziva se softverska konfiguracija.

Softver se može grubo podijeliti u tri kategorije:

sistemski softver (programi opšte upotrebe) koji obavljaju razne pomoćne funkcije, kao što su kreiranje kopija korištenih informacija, izdavanje informacija pomoći o računaru, provjera operativnosti računalnih uređaja itd.

aplikativni softver koji omogućava neophodan rad na računaru: uređivanje tekstualnih dokumenata, kreiranje crteža ili slika, obrada informacionih nizova itd.

softver alata (programski sistemi) koji omogućava razvoj novih programa za računar u programskom jeziku.

Sistemski softver

Ovi programi opšte upotrebe nisu vezani za određenu PC aplikaciju i obavljaju tradicionalne funkcije: zakazivanje i upravljanje zadacima, upravljanje I/O itd.

Drugim riječima, sistemski programi obavljaju razne pomoćne funkcije, na primjer, kreiraju kopije korištenih informacija, izdaju informacije pomoći o računalu, provjeravaju rad računarskih uređaja itd.

Sistemski softver uključuje:

operativni sistemi (ovaj program se učitava u RAM kada je računar uključen) metod koriste aplikativni program

shell programi (obezbeđuju praktičniji i vizuelniji način komunikacije sa računarom od korišćenja komandna linija DOS, kao što je Norton Commander)

operativne ljuske - sistemi interfejsa koji se koriste za kreiranje grafičkih interfejsa, multiprogramiranje itd.

Upravljački programi (obično se učitavaju programi dizajnirani za kontrolu portova perifernih uređaja RAM prilikom pokretanja računara)

uslužni programi (pomoćni ili pomoćni programi koji korisniku predstavljaju niz dodatne usluge)
Komunalne usluge uključuju:

fajl menadžeri ili fajl menadžeri

sredstva za dinamičku kompresiju podataka (omogućavaju vam da povećate količinu informacija na disku zbog njegove dinamičke kompresije)

alati za pregled i reprodukciju

dijagnostički alati; Kontrolni alati vam omogućavaju da provjerite konfiguraciju računala i provjerite rad računarskih uređaja, prvenstveno tvrdih diskova

sredstva komunikacije (komunikacijski programi) su dizajnirani da organizuju razmjenu informacija između računara

kompjuterski sigurnosni alati ( backup, antivirusni softver).

Treba napomenuti da su neki od uslužnih programa dio operativnog sistema, dok drugi dio funkcionira autonomno. Većina uobičajenog (sistemskog) softvera dio je OS-a. Dio opšteg softvera je uključen u sam računar (dio OS programa i kontrolnih testova se snima u ROM ili PROM instaliran na sistemska ploča). Neki od zajedničkih softvera su samostalni softveri i dostupni su zasebno.

Aplikacioni softver

Aplikacioni programi se mogu koristiti samostalno ili kao dio softverski sistemi ili pakovanja. Aplikacioni softver - programi koji direktno pružaju neophodan rad na računaru: uređivanje tekstualnih dokumenata, kreiranje crteža ili slika, kreiranje tabele itd.

Aplikacioni paketi su sistem programa koji se prema svom obimu dijele na problemsko orijentisane, opće namjene i integrirane pakete. Moderni integrirani paketi sadrže do pet funkcionalnih komponenti: procesor za testiranje i proračunske tablice, DBMS, grafički uređivač, telekomunikacionih objekata.

Aplikacioni softver uključuje, na primjer:

MS OFFICE paket

Računovodstveni sistemi

Finansijski analitički sistemi

Integrisani kancelarijski paketi

CAD - sistemi (kompjuterski podržani sistemi projektovanja)

HTML uređivači ili Web uređivači

Preglednici - Web Viewers

Grafički urednik

Softver za alate

Softver alata ili sistemi za programiranje su sistemi za automatizaciju razvoja novih programa u programskom jeziku.

U najopćenitijem slučaju, da biste kreirali program u odabranom programskom jeziku (sistemski programski jezik), trebate imati sljedeće komponente:

1. Text editor za kreiranje datoteke sa izvornim kodom programa.

2. Kompajler ili interpreter. Izvorni tekst se prevodi u srednji objektni kod pomoću programa kompajlera. Izvorni kod velikog programa sastoji se od nekoliko moduli (izvorne datoteke). Svaki modul se kompajlira u zasebnu datoteku sa objektnim kodom, koji se zatim mora kombinovati u jednu celinu.
3. Linker ili asembler koji povezuje objektne module i generira izvodljivu aplikaciju - izvršni kod.

Izvršni kod je kompletan program koji se može pokrenuti na bilo kojem računaru koji ima operativni sistem za koji je program kreiran. Po pravilu, rezultirajući fajl ima ekstenziju .EXE ili .COM.

4. U poslednje vreme, metode vizuelnog programiranja (koristeći skriptne jezike) orijentisane na kreiranje Windows aplikacija postale su široko rasprostranjene. Ovaj proces je automatizovan u okruženjima brzog dizajna. U ovom slučaju koriste se gotove vizualne komponente koje se konfiguriraju pomoću posebnih uređivača.

Najpopularniji uređivači (programski sistemi koji koriste vizuelne alate) za vizuelni dizajn:

Borland Delphi - dizajniran za rješavanje gotovo svih problema programiranja aplikacija

Borland C++ Builder je odličan alat za razvoj DOS i Windows aplikacija

Microsoft Visual Basic je popularan alat za kreiranje Windows programa.

Microsoft Visual C++ - ovaj alat vam omogućava da razvijete sve aplikacije koje rade u OS okruženju kao što je Microsoft Windows.

Zadatak 2

Formirajte i popunite zbirni obračun obračuna uplate za sobe hotela "Start" za mart 2004. godine. Jednokrevetne hotelske sobe koštaju 750 rubalja za svakog klijenta. po danu, 2 sedišta - 650 rubalja. od svakog klijenta. Soba se može rezervisati. Rezervacije u hotelu mogu biti dvije vrste: grupne i individualne i plaćaju se posebno. Prilikom grupne rezervacije uplata za prvi dan boravka uvećava se za 25% cijene sobe, u slučajevima kada nema rezervacije ili je individualna, nema doplate.

Vrsta rezervacije i broj dana boravka u svakoj sobi prikazani su u tabeli.

Izračunajte naknadu za rezervaciju za svaku sobu, ako postoji. Izračunajte uplatu za sve dane boravka za svaku hotelsku sobu. Izračunajte konačne podatke za hotel: uplata za rezervaciju, broj dana boravka u mjesecu, puna uplata za hotel za mjesec. Odredite prosječan broj dana boravka, vrijednost maksimalne i minimalne uplate za dane boravka.

Izvod obračunske uplate za sobe hotela "Start" zamart 2004

Broj sobe

Vrsta zauzete sobe

tip oklopa

Plaćanje rezervacije (rub.)

Broj dana boravka

1-sjed

1-sjed

1-sjed

2-sjed

2-sjed

2-sjed

2-sjed

Ukupno:

Napravite grafikone:

· Tortni grafikon na koloni "Broj dana boravka".

· Histogram na koloni "Plaćanje dana boravka".

Obračun uplata za sobe hotela "Start" za mart 2004

Potrebno je formirati i popuniti obračun obračuna uplata za sobe hotela "Start" za mart 2004. godine.

Razmotrite faze pripreme rješenja problema na PC-u.

Prva faza - postavljanje zadatka

Svrha rješavanja ovog problema je obračun uplate za rezervaciju i dane boravka gostiju hotela "Start" za mart 2004. godine.

Za rješavanje problema koriste se indikatori (ulazne informacije): broj sobe, vrsta zauzete sobe, vrsta rezervacije, cijena sobe po osobi po danu, broj dana boravka. Izlazne informacije: plaćanje rezervacije, plaćanje dana za smještaj.

Druga faza je ekonomsko-matematički opis problema i izbor metode za njegovo rješavanje

Problem koji se razmatra rješava se metodom direktnog brojanja.

Označimo početne podatke:

OB - uplata za rezervaciju;

TB - tip oklopa;

SNCHD - cijena sobe po osobi po danu;

KDP - broj dana boravka;

ODP - plaćanje dana boravka;

Naknada za rezervaciju se obračunava na sljedeći način:

O \u003d 0,25 * SNP,

ako je TB = "grupa", inače 0.

Uplata za dane boravka se obračunava na sljedeći način:

ODP \u003d O + SNCHD * KDP.

Za rješavanje ovog problema koristit ćemo Microsoft Excel.

Treća faza - algoritmizacija

bježimo Excel program. Radićemo na listu 1.

U rasponu ćelija A1:G1 unesite naziv stupca. Da bismo dali estetski izgled zaglavlju tabele imena, postavićemo graf u centar ćelije okomito i horizontalno sa prelamanjem reči. Da biste to učinili, odaberite raspon ćelija A1:G1, pozovite kontekstni meni (na odabranom području kliknite desni klik kliknite), odaberite Format Cells iz izbornika. U dijaloškom okviru koji se pojavi odaberite karticu Alignment, postavite opcije: Horizontalno - centrirano; Vertikalno - u centru; prelom reči i pritisnite OK.

U kolone A, B, C, D i F unesite podatke navedene u zadatku. Zatim ćemo napraviti potrebne proračune koristeći formule. Ispod je tablica proračuna u formuli i numeričkom obliku.

Tabela u formulskom obliku.

Broj sobe

Vrsta zauzete sobe

Cijena sobe po osobi po danu (rub.)

tip oklopa

Plaćanje rezervacije (rub.)

Broj dana boravka

Plaćanje za dane boravka (rub.)

1-sjed

IF(D2="grupa",0.25*C2,0)

1-sjed

IF(D3="grupa";0.25*C3;0)

1-sjed

IF(D4="grupa";0.25*C4;0)

2-sjed

IF(D5="grupa";0.25*C5;0)

2-sjed

IF(D6="grupa";0.25*C6;0)

2-sjed

IF(D7="grupa";0.25*C7;0)

2-sjed

IF(D8="grupa";0.25*C8;0)

Ukupno:

=SUM(E2:E8)

=SUM(F2:F8)

=SUM(G2:G8)

Kao rezultat, dobijamo sljedeće rezultate.

Broj sobe

Vrsta zauzete sobe

Cijena sobe po osobi po danu (rub.)

tip oklopa

Plaćanje rezervacije (rub.)

Broj dana boravka

Plaćanje za dane boravka (rub.)

1-sjed

1-sjed

1-sjed

2-sjed

2-sjed

2-sjed

2-sjed

Ukupno:

537,50 rub.

18.737,50 RUB

Određujemo prosječan broj dana boravka, vrijednost maksimalne i minimalne uplate za dane boravka. Da bismo to učinili, koristimo statističke funkcije AVERAGE(), MAX() i MIN(), respektivno. Ispod je tabela sa dodatnim proračunima u formuli i numeričkom obliku.

U nastavku je prikazana tabela sa dodatnim proračunima u formulskom obliku.

Ispod su tortni grafikon u koloni "Broj dana boravka" i histogram u koloni "Uplata po danima boravka".

Četvrta faza - programiranje

Za ovaj zadatak nije potrebno programiranje.

Peta faza - otklanjanje grešaka

Da biste provjerili ispravnost unesenih formula, morate ručno izračunati kontrolne vrijednosti.

Izračunajte kontrolne vrijednosti za sobu 31.

OB \u003d 0,25 * 750 \u003d 187,5, budući da TB \u003d "grupa".

ODP \u003d 187,5 + 750 * 4 = 3187,5.

Izračunajte kontrolne vrijednosti za sobu 35.

OB = 0, pošto TB nije jednako "grupi".

ODP = 650 * 1 \u003d 650.

Ove kontrolne vrijednosti odgovaraju vrijednostima izračunatim u tabeli, stoga je zadatak ispravno obavljen.

Bibliografija

1. Iljušečkin V., Kostin A. Sistemski softver - M.: Viša škola, 2008. 127 str.

2. Rudenko V.D. Kurs informatike. - K.: Phoenix, 2008. - 368 str.

3. Stepanov A. Informatika: Udžbenik za univerzitete. 3. izdanje. 2003. - 768 str.

Hostirano na Allbest.ru

Slični dokumenti

    Sistemski, primijenjeni i alatni softver. Najčešći paketi aplikacija. Svrha i struktura sistemski programi. Popunjavanje tabele i rad sa ukupnim vrednostima u Excelu, filtriranje podataka i pravljenje grafikona.

    test, dodano 29.01.2014

    Suština koncepta "softvera". Vrste aplikativnih programa. Savremeni sistemi programiranja za personalni računari. Nivoi softvera: osnovni, sistemski, servisni. Klasifikacija uslužnog softvera.

    sažetak, dodan 04.01.2010

    Definicija pojma i suštine softvera. Razmatranje osnova interpretiranih i kompajliranih programa. Karakteristike vlasničkih, otvorenih, besplatnih, sistemskih, aplikacijskih i alatnih programa; osnovni principi njihove primjene.

    sažetak, dodan 11.06.2014

    Suština i svrha softvera - skup programa koji kontrolišu rad računara ili automatizovanog sistema. Funkcije operativnog sistema - skup programa u interakciji koji osiguravaju rad (funkcionisanje) računara.

    kontrolni rad, dodano 18.01.2011

    Razvoj integrisanih aplikativnih paketa, mehanizama kao što su OLE i OpenDoc, obezbeđujući njihov zajednički rad. Analiza najpoznatijih kompleksa koji se sastoje od aplikativnih programa koji rade nezavisno i integrisano.

    sažetak, dodan 03.03.2012

    Skup programa koji se koriste za rad na računaru. Funkcionalna namjena softvera, pravne norme za njegovu upotrebu. Operativni sistem i servisni programi. Razvoj kompjuterskih programa u programskom jeziku.

    prezentacija, dodano 10.10.2016

    Ciljevi i zadaci softverskog inženjerstva. Koncept softvera. Šest principa za efikasno korišćenje softvera. Vrste softvera: sistemski, mrežni i primijenjeni. Principi izgradnje softvera.

    seminarski rad, dodan 29.06.2010

    Pregled i karakteristike računarskog softvera kao skupa programa sistema za obradu informacija. Karakteristike hardvera kao kompleksa električnih i mehaničkih uređaja koji su dio računara. Interakcija sistema.

    prezentacija, dodano 23.12.2010

    Glavne vrste softvera. Karakteristike paketa aplikacija. Vrste i grupe brojevnih sistema. Prevođenje cijelih i razlomaka brojeva iz jednog brojevnog sistema u drugi. Aritmetičke operacije u binarnom sistemu. Kompjuterski zločini.

    cheat sheet, dodano 19.01.2014

    Klasifikacija softvera, njegove karakteristike, namena. Softver za rad sa tekstom, slikama, primenjenim, kancelarijskim, za rad na internetu. Programski sistemi, specifičnosti softvera, šta su virusi.

Softver za alate - softver namijenjen upotrebi u dizajniranju, razvoju i održavanju programa, za razliku od aplikativnog i sistemskog softvera.

Instrumentalni nivo (prevodioci i kompajleri programskih jezika, programski sistemi) omogućava kreiranje novih programa za personalni računar.

Programski jezik- formalni sistem znakova dizajniran da opiše algoritme u obliku koji je pogodan za izvođača (na primjer, kompjuter). Programski jezik definiše skup leksičkih, sintaksičkih i semantičkih pravila koja se koriste u kompajliranju kompjuterskog programa. Omogućava programeru da tačno odredi na koje će događaje računar reagovati, kako će podaci biti pohranjeni i prenošeni, i koje tačno radnje treba izvršiti na tim podacima u različitim okolnostima.

Programski jezici se dijele na nizak nivo i visoki nivo jezicima.

Programski jezik niskog nivoa- programski jezik blizak programiranju direktno u mašinskim kodovima.

Po pravilu koristi karakteristike određene porodice procesora. Dobro poznati primjer jezika niskog nivoa je jezik asembler.

Programski jezik visokog nivoa- programski jezik dizajniran za brzinu i jednostavnost korištenja od strane programera. Riječ “visoki nivo” ovdje znači da je jezik dizajniran za rješavanje apstraktnih problema visokog nivoa i ne radi s instrukcijama za opremu, već sa logičkim konceptima i apstrakcijom podataka. Ovo vam omogućava brže programiranje složenih zadataka i pruža relativnu nezavisnost od hardvera. Upotreba raznih prevodilaca i tumača osigurava da programi napisani na jezicima visokog nivoa mogu komunicirati s različitim operativnim sistemima i hardverom, dok njihov izvorni kod ostaje uglavnom nepromijenjen.

Ovakvo odvajanje jezika visokog nivoa od hardverske implementacije računara, pored mnogih prednosti, ima i nedostatke. Konkretno, ne dozvoljava kreiranje jednostavnih i preciznih uputstava za opremu koja se koristi. Programi napisani na jezicima visokog nivoa su lakši za razumevanje programera, ali su mnogo manje efikasni od njihovih kolega napisanih na jezicima niskog nivoa. Jedna od posljedica ovoga je bilo dodavanje podrške za jedan ili drugi jezik niskog nivoa (jezik za sklapanje) većini modernih profesionalnih programskih jezika visokog nivoa.

Najčešći jezici ovog tipa su C++, Visual basic, Java, Python, ruby, Perl, Delphi, PHP.


Programski jezici se takođe mogu podeliti na kompajlirano i interpretirano.

Preveden jezički program pomoću posebnog programa kompajler se pretvara (kompajlira) u skup instrukcija za ovog tipa procesor (mašinski kod), a zatim upisan u izvršnu datoteku koja se može pokrenuti kao poseban program. Drugim riječima, kompajler prevodi program sa jezika visokog nivoa u jezik niskog nivoa koji procesor razumije.

Ako je program napisan na interpretiranom jeziku, onda tumač direktno izvodi (tumači) svoj tekst bez prethodnog prijevoda. Program ostaje na svom originalnom jeziku i ne može se pokrenuti bez tumača. Možemo reći da je računarski procesor tumač mašinskog koda.

Ukratko, kompajler prevodi program na mašinski jezik odmah i u potpunosti, dok kreira poseban program, i tumač prevodi na mašinski jezik direktno tokom izvršavanja programa.

Podjela na kompajlirane i interpretirane jezike je donekle proizvoljna. Dakle, za bilo koji tradicionalno kompajlirani jezik, kao što je Pascal, možete napisati prevodioca. Osim toga, većina modernih "čistih" interpretatora ne izvršavaju jezičke konstrukcije direktno, već ih kompajliraju u neku srednju reprezentaciju visokog nivoa (na primjer, s promjenljivom dereferenciranjem i makro ekspanzijom).

Za bilo koji interpretirani jezik možete kreirati kompajler - na primjer, jezik Lisp, izvorno interpretiran, može se sastaviti bez ikakvih ograničenja. Kod generiran u vrijeme izvođenja također se može dinamički kompajlirati u vrijeme izvođenja.

U pravilu, kompajlirani programi rade brže i ne zahtijevaju dodatni programi, pošto su već prevedeni na mašinski jezik. Istovremeno, svaka promjena u tekstu programa zahtijeva njegovu ponovnu kompilaciju, što stvara poteškoće u razvoju. Osim toga, kompajlirani program može raditi samo na istom tipu računara, i obično pod istim operativnim sistemom, za koji je kompajler i dizajniran. Da biste kreirali izvršni fajl za drugu vrstu mašine, potrebna je nova kompilacija.

Interpretirani jezici imaju neke specifične dodatne karakteristike, a programi u njima se mogu pokrenuti odmah nakon modifikacije, što olakšava razvoj. Program interpretiranog jezika se često može pokrenuti na mnogo različitih tipova mašina i operativnih sistema bez dodatnog napora. Međutim, interpretirani programi rade znatno sporije od kompajliranih programa i ne mogu se izvoditi bez dodatnog programa tumača.

Neki jezici, npr. Java i C#, nalaze se između kompajlirane i interpretirane. Naime, program se ne kompajlira u mašinski jezik, već u mašinski nezavisan kod niskog nivoa, bytecode. Zatim se izvršava bajtkod virtuelna mašina. Za izvršavanje bajtkoda obično se koristi interpretacija, iako se neki od njegovih dijelova mogu prevesti u mašinski kod direktno tokom izvršavanja programa koristeći tehnologiju kompilacije u letu kako bi se program ubrzao ( Tačno na vrijeme kompilacija). Za Java bajt kod se izvršava od strane virtuelne mašine Java (Java virtuelna mašina), za C# - Common Language Runtime.

Klase programskih jezika. Uobičajeno, programski jezici se mogu podijeliti u sljedeće klase (slika 2.).

AT funkcionalnih programskih jezika funkcije su glavni gradivni blokovi. Programski tekstovi u funkcionalnim programskim jezicima opisuju „kako riješiti problem“, ali ne propisuju slijed radnji za rješavanje.

Sljedeće se obično smatra glavnim svojstvima funkcionalnih programskih jezika:

kratkoća i jednostavnost;

jako kucanje;

modularnost;

· funkcije - proračunski objekti;

čistoća (bez nuspojava);

odgođena (lijena) evaluacija.


Rice. 2. Klase programskih jezika

Primjeri funkcionalnih programskih jezika: Lisp, Haskell, Clean, ML, itd.

proceduralno programiranje je programska paradigma zasnovana na konceptu poziv procedure. Procedure, poznate i kao potprogrami, metode ili funkcije (ovo nisu matematičke funkcije, ali funkcije poput onih koje se koriste u funkcionalnom programiranju). Procedure jednostavno sadrže niz koraka koje treba izvršiti. Tokom izvršavanja programa, bilo koja procedura se može pozvati s bilo kojeg mjesta, uključujući i samu proceduru.

Primeri proceduralnih programskih jezika: Ada, BASIC, C, C++, Pascal, Visual Basic, Dilphi, itd.

Jezik opisa interfejsa ili IDL(engleski) Interfejs Opis Jezik) je čisto deskriptivni kompjuterski jezik koji je sintaktički sličan C++.

Primjeri jezika za opis interfejsa: CORBA IDL (razvijen O moj Bože za opisivanje interfejsa distribuiranih objekata – imena metoda i tipova varijabilnih argumenata), COM IDL (slično Microsoftovom CORBA IDL-u, kreiranom da opiše interfejse između COM modula).

Objektno orijentisani programski jezik(OO jezik) - jezik koji favorizuje objektno orijentisano programiranje. U savremenim OO jezicima koriste se metode:

Nasljedstvo. Kreiranje nove klase objekata dodavanjem novih elemenata (metoda). Trenutno, OO jezici dozvoljavaju višestruko nasljeđivanje, tj. kombinuju mogućnosti nekoliko drugih klasa u jednoj klasi.

Enkapsulacija. Skrivanje podataka, koje (kada se pravilno implementira) omogućava bezbolno mijenjanje dijelova programa za ostale dijelove programa. Ovo uvelike pojednostavljuje održavanje i nadogradnju softvera.

Polimorfizam. Tokom nasljeđivanja, neki dijelovi (metode) roditeljske klase se zamjenjuju novim koji implementiraju akcije specifične za ovo dijete. Dakle, interfejs klase ostaje isti, ali je implementacija metoda sa istim imenom i skupom parametara drugačija.

Tipkanje. Omogućava vam da uklonite mnoge greške u vrijeme kompilacije, operacije se izvode samo na objektima odgovarajućeg tipa.

Primjeri OO programskih jezika: C++, Delphi (Object Pascal), C#, Java, itd.

Logičko programiranje- programska paradigma, kao i dio diskretne matematike koji proučava metode i mogućnosti ove paradigme, na osnovu izvođenja novih činjenica iz ovih činjenica prema datim logičkim pravilima. Logičko programiranje zasniva se na teoriji matematičke logike. Najpoznatiji logički programski jezik je Prolog, koja je u svojoj suštini univerzalna mašina za zaključivanje koja radi pod pretpostavkom da je svijet činjenica zatvoren.

Jezik skripte(engleski) skriptni jezik, također se zove skriptni jezik) je programski jezik dizajniran da piše "skripte", sekvence operacija koje korisnik može izvršiti na računaru. Jednostavni skriptni jezici su se često nazivali jezici za grupnu obradu (batch jezici). Skripte se uvijek tumače, a ne kompajliraju.

U aplikacijskom programu scenario (script) je program koji automatizuje neki zadatak koji bi, bez skripte, korisnik uradio ručno koristeći interfejs programa.

Primjeri programskih jezika za skriptiranje: VBA (Visual Basic aplikacija), AutoLISP, 3DMAX Script, JCL, JavaScript, itd.

Trenutno široko rasprostranjena upotreba kompjuterski sistemi sa klaster i GRID arhitekturom postavljaju zadatak stvaranja visokorazvijenih, moćnih i lakih za korištenje programskih jezika koji bi vam omogućili stvaranje složenih, ali u isto vrijeme brze aplikacije, efikasno korišćenje paralelno računanje. Jedan od takvih jezika je trenutno MC# (programski jezik visokog nivoa za .NET platformu koji podržava kreiranje programa koji rade u distribuiranom okruženju sa asinhronim pozivima).

Pitanja za samoispitivanje:

1. Softver.

2. Osnovni nivo.

3. Nivo softverskog sistema.

4. Nivo usluge softvera.

5. Nivo aplikacije softvera.

6. Šta se nazivaju drajveri uređaja?

7. Šta se naziva komunalnim uslugama?

8. Definirajte programski jezik.

9. Šta je tumač?

10. Šta je kompajler?

11. Navedite primjere programskih jezika niskog i visokog nivoa, koja je njihova razlika?

12. Koje se klase programskih jezika mogu razlikovati? Navedite primjere za svaki razred.

13. Navedite glavna svojstva funkcionalnih programskih jezika

14. Navedite koje metode se koriste u modernim objektno orijentisanim programskim jezicima.

15. Šta je skripta (skripta)?

Instrumentalni sistem je softverski sistem (bolje je govoriti o softverskom okruženju u koje uključujemo korisnika, jer je korisnik, njegova znanja, veštine i sposobnosti ono što ovaj sistem čini manje ili efikasnijim) za ubrzane i niske -resursni razvoj nekih drugih programa (ili obrade podataka), kako sistemskih ili primijenjenih, tako i novih instrumentalnih.

Primjer. Razmotrimo okruženje alata - grafički uređivač koji vam omogućava da vizualizirate grafičke objekte na dva glavna načina: vektorski ili rasterski. Vektorski pristup na ekranu (koji se smatra nekim koordinatnim prostorom) dinamički postupno formira objekat prema svojoj reprezentaciji, sastavljen od grafičkih primitiva. Rasterski pristup formira ceo objekat na ekranu na osnovu njegovog rasporeda (šablon, grafički primitivi u video memoriji), koji se sastoji od pojedinačnih klastera piksela u nekoj dvodimenzionalnoj matrici piksela (analogno crtežu sa kartezijanskim koordinatnim sistemom) . Ova matrica sadrži informacije o svjetlini i boji klastera slika (ponekad 1-2 bajta ili više po pikselu), a sama matrica može imati dimenziju od 1024x1024 piksela ili više. Slika formirana u matrici piksela pohranjuje se u video memoriju ekrana i prikazuje na ekranu u režimu regeneracije okvira. Slika u boji (slikanje u boji) je manipulacija pikselima ove matrice. Grafički uređivači 3D slika omogućavaju ne samo dizajniranje 3D objekata, već i njihovo pomicanje duž zadane putanje, odnosno izvođenje animacije. Jedno moćno grafičko okruženje je Autodeskov 3D-Studio Max. Pored ovog paketa, naširoko se koriste grafički paketi:

GRAFLotus Freelance - za rad sa poslovnom i kompjuterskom grafikom;

Splash i Fanta - za rad u oblasti dizajna i kompjuterskih filmova;

AutoCAD - za automatizaciju projektovanja;

CorelDraw, PaintBrush, AdobeIllustrator - za razne aplikacije.

O prevodiocima se detaljno govori u nastavku.

Razmotrite sisteme interfejsa za pružanje prijateljskog interfejsa između korisnika i programa).

Primjer. Najraniji sistem interfejsa je Norton Commander (Norton Commander od Petera Nortona). Sistemi kao što je Norton Commander (NC) nazivaju se operativnim školjkama i mogu se klasifikovati kao okruženja alata (alati za praktičniji, udobniji interfejs sa OS-om, sa sistem podataka, zaobilazeći dosadan komandni jezik OS). Takav sistem vam omogućava vizuelno i praktično kopiranje, kreiranje, brisanje, preimenovanje, premještanje, pregled i pretraživanje datoteka itd. NC koristi kontrolne i funkcijske tipke, koji odgovaraju određenim operacijama i odgovorima sistema:

Esc – otkazivanje izvršene funkcije;

Enter – izvršavanje funkcije;

Tab - promijenite trenutni (aktivni) panel u drugi (prethodno pasivan);

PgUp (PgDn) - idite na stranicu naprijed (nazad);

Početna (Kraj) - postavlja se na početak (kraj) imenika;

, , , – tasteri za pomeranje kursora levo, gore, desno, dole;

Ctrl-S (istovremeno pritiskanje tipki Ctrl i S) - jedan znak lijevo;

Ctr-D (Ctr-A, Strl-F) – jedan znak desno (jedna riječ lijevo, jedna riječ desno);

F1 – tipka za pomoć, nagoveštaji aktivnog stanja (taster za pomoć);

F2 - upisivanje aktivne datoteke na disk;

F3 - pregled sadržaja aktivne datoteke;

F4 - uređivanje aktivne datoteke;

F5 - kopirajte aktivnu datoteku u aktivni direktorij na drugom panelu;

F6 - preimenujte (prenesite) aktivnu datoteku;

F7 - kreiranje novog direktorija (poddirektorijuma);

F8 - brisanje aktivne datoteke;

F9 - aktiviranje komandi panela (sistemski meni) NC;

F10 - izlaz iz NC.

Razvijeniji domaći analog NC-a za Windows sisteme je, na primjer, ljuska FAR menadžera.

Problemski orijentisani instrumentalni sistemi služe za rešavanje prilično široke klase zadataka neke profesionalne, problemsko orijentisane orijentacije: CAD - sistemi za automatizaciju projektovanja, automatizovani sistemi upravljanja - automatizovani kontrolni sistemi, radne stanice - automatizovane radne stanice, DBMS - sistem koji obezbeđuje interfejs za korisničke programe i podatke iz baze podataka, ES - ekspertski sistemi, sistemi akumulacije, skladištenja i ažuriranja iskustva, znanja, vještina, vještina (stručnih sudova) stručnjaka itd.

Samostalni programi su oni programi koji se svakodnevno razvijaju u velikom broju i koriste se u različite primijenjene svrhe (nastava, računarstvo, modeliranje itd.).

Biblioteke programa - skup programa za rješavanje problema određenog smjera (npr. rješavanje sistema algebarskih jednačina), sa opisom, katalogom, uputama i postavljenih na vanjski medij na način da se mogu lako povezati sa problem koji se rješava (programu koji se izvršava) u toku njegovog rješavanja .

Aplikacijski softverski paket (APP) sastoji se od sljedećih obaveznih dijelova:

opis, prikaz klase zadataka riješenih uz pomoć PPP;

skup programa koji omogućavaju izgradnju aplikativnih programa za JPP (tehnološki lanac);

skup primijenjenih programa koji omogućavaju rješavanje problema iz predmetne oblasti JPP;

jezik unosa (jezik upita) PPP;

baza podataka za pohranjivanje podataka, njihovo prenošenje u PPP module;

monitor (kontrolni program) PPP, koji obezbeđuje unos zadatka (zahteva), njegovo dekodiranje i izgradnju tehnološkog lanca od PPP modula za traženje odgovora.

Primjer. Jednostavan i svestran paket statističke analize podataka za studente je SPSS paket. Korisnički interfejs sa SPSS-om za Windows implementiran je pomoću jednostavnih menija i dijaloških okvira, što znači da je SPSS oslobođen upotrebe posebno naučenog komandnog jezika paketa. Postoji uređivač podataka za vizualnu kontrolu unesenih podataka, funkcionalno sličan uređivačima proračunskih tablica, na primjer Excel. Promenljive varijable se prikazuju u kolonama, a skupovi njihovih varijacija u redovima, a svaka od varijabli se može pronaći pozivanjem njenog imena. Unos podataka - sličan unosu podataka u tabeli (na primjer, u Excelu). AT dijaloški okviri možete definirati (unijeti ili izračunati) složene izraze koji će se kasnije koristiti u proračunima. Moguće je primijeniti različite zakone slučajne distribucije. Moćniji (ali i teži za učenje i korištenje) je MathCAD matematički paket.

Funkcionalni sistem integrisanog softverskog paketa ne sastoji se od modula (kao u PPP), već od PPP.

Primjer. Najčešći integrisani aplikativni softverski paket je MS Office (paket za automatizaciju ureda). Njegovo jezgro obuhvata sledeće pakete: Word – uređivač teksta, Excel – tabela, Access – DBMS, PowerPoint – sistem za prezentacije, itd.

Specijalni (ili jedinstveni) softver je razvijen za rješavanje vrlo važnih, jedinstvenih problema.

Primjer. Ova klasa softvera uključuje softverski kontrolni sistem za letjelicu Buran.

Čak i sa stotinama hiljada dostupnih PC programa, korisnicima će možda trebati nešto što postojeći programi nemaju (ili rade, ali ne). U tim slučajevima, softver alata se koristi za kreiranje novih programa, omogućavajući razvoj i sistemskog i aplikativnog softvera. Shodno tome, igra ulogu sredstava za proizvodnju u programiranju.

Sistemi za programiranje- to su kompleksi programa i drugih alata namijenjenih razvoju i radu programa na određenom programskom jeziku za određenu PC arhitekturu (platformu).

Sistem programiranja obično uključuje uređivač teksta programi, prevodilac programi, biblioteke rutine i uređivači linkova, debuggers, sisteme pomoći, a ponekad i razne pomoćne programe.

Programski jezik je veštački jezik uz pomoć kojeg se algoritam za rešavanje problema piše u formi razumljivom računaru.

Postoji mnogo programskih jezika, a svaki može imati na desetine verzija. Svaki programer piše programe na jeziku koji mu odgovara, a ne postoji programski jezik koji se smatra opšteprihvaćenim.

Ali svi programski jezici imaju jednu zajedničku stvar. Programerima su razumljivi, ali procesoru nerazumljivi, jer procesor može raditi samo sa binarnim brojevima i stoga razumije programe napisane samo u mašinski kod. Stoga se programi napisani bilo kojim programskim jezikom prvo „prevode“ u jezik procesora, tj. pretvoren u mašinski kod. Ovaj prevod se obavlja posebnim prevodilačkim programima. Na engleskom se "prevod" zove emitovanje (prevod), pa se pozivaju programi koji prevode programe u mašinski kod prevodioci.

Na pozornici emisije postoji transformacija izvorni kod programi u šifra objekta, koji se dalje obrađuje urednik linkova. Uređivač linkova je poseban program koji obezbeđuje konstrukciju boot modul, pogodan za izvođenje (sl. 6.2).

Rice. 6.2. Šema procesa kreiranja modula za učitavanje programa

Postoje sljedeće vrste prevoditelja: interpretator, kompajler.

Tumač uzima sljedeći jezički operator iz teksta programa, analizira njegovu strukturu i odmah ga izvršava. Zatim se prelazi na sljedećeg operatera. Kompajler prevodi ceo program u mašinske instrukcije.

Od univerzalnih programskih jezika danas, najpopularniji su: BASIC (Basic), Pascal (Pascal), C ++ (C ++), Java (Java).

Za svaki od ovih programskih jezika danas postoji mnogo programskih sistema koje proizvode različite kompanije i fokusiraju se na različite modele računara i operativne sisteme. Sljedeća vizualna okruženja za brzo dizajniranje programa za Windows su najpopularnija: Microsoft Visual Basic; Borland Delphi; Borland C++Builder Microsoft Visual Studio (Visual Basic.net, C++, C#, J#).

Savremeni sistemi programiranja omogućavaju vam da kreirate programe koji se pozivaju prilikom pregleda web stranica na globalnoj elektronskoj mreži Internet.

Posebna klasa programskih sistema su sistemi za kreiranje klijent-server aplikacija. Ovi sistemi vam omogućavaju da brzo kreirate informacioni sistemi za divizije, pa čak i velika preduzeća. Sadrže alate za kreiranje korisničkog interfejsa, opise postupaka obrade podataka, pripreme za izvođenje tipičnih radnji obrade podataka itd. Ovi sistemi vam, po pravilu, omogućavaju rad sa raznim DBMS - Oracle, Sybase, Microsoft SQL Server, itd. Među najpopularnijim sistemima ove vrste su PowerBuilder iz Sybasea, Delphi iz Borlanda, Visual Basic iz Microsofta. Naravno, alati za kreiranje klijent-server aplikacija su takođe uključeni u klijent-server DBMS (Oracle, Sybase, itd.), ali su fokusirani samo na ovaj DBMS.