Instrumental na primjerima. Sistemi alata za programiranje. Suština VisualBasica i njegova kratka istorija

Č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 prelazi na sljedeći operater. 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 informacione sisteme za odeljenja, pa čak i za 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.

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.

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

INTERPRETATOR - program (ponekad hardver), 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.

A budući da se razvoj bilo kojeg kompjuterskog programa odvija uz pomoć alata, u našem seminarskom radu želio bih se detaljnije zadržati na njemu, 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 kompjuterski sistem. 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. Skup elektromagnetnih hardverskih impulsa se obrađuje i interpretira 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, dizajniran da kontroliše rad računarskog sistema, obavlja 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) softverski sistemi alata 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: operativne sisteme i njihov korisnički interfejs; instrumental softver; sistemi održavanja.

Operativni sistem je obavezan deo specijalnog softvera koji obezbeđuje efikasno funkcionisanje PC na različite načine, organiziranje izvršavanja 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 uslovno mogu podeliti na sisteme interfejsa, ljuske operativni sistemi i komunalije.

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 aplikativni softverski paket.

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. 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 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. Opće funkcije smo razmatrali gore, a specijalizirane funkcije samo inherentne ovaj tip programi 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 - 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či 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 potaknuli programeri da koriste datu tehnologiju ili platformu.

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 hardverski alat koji izvodi 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 kao 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 hardver. 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 razmatra dobar lek brzi razvoj prototipova programa, za razvoj aplikacija baza podataka i uopšte za komponentni metod kreiranja programa koji rade pod operativnim sistemima iz 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 sistemi, i za kreiranje ASP stranica i skripti za Internet Explorer.

3.2 VisualBasicforApplication interfejs, glavne funkcije i karakteristike

Prilikom kreiranja VisualBasicforApplication, Microsoft Corporation je kao svoj glavni zadatak postavila kreiranje instrumentalna podrška, dostupan korisnicima koji nisu profesionalni programeri, ali su istovremeno dovoljno kvalifikovani da razvijaju i dizajniraju aplikacije i aplikacije zasnovane na Microsoft Office-u. Upravo u rješavanju ovog problema programeri su kreirali VBA, dajući mu niz jedinstvenih karakteristika. Jedna od njih, najvrednijih za korisnika, je mogućnost kreiranja i korištenja nestandardnih (prilagodljivih) dijaloški okviri, dodavanje objekta UserForm projektu, kao i pogodan korisnički interfejs.

Programski interfejs VisualBasicforApplication sastoji se od kompleksa razni prozori i kartice koje se koriste prilikom dizajniranja aplikacije koja se kreira, od kojih su glavne:

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 programski modul, postoji kartica Insert Module iz Vizuelnog menija, komanda Modul 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\

Softver za alate je namenjen za upotrebu u projektovanju, razvoju i održavanju računarskih programa. Softverski alati uključuju sljedeće vrste programa:

Kompajleri

Prevodioci

Asembleri

Tumači

Linkeri

Debuggers

Alati za automatsko testiranje programa

Generatori dokumentacije

Razvojni komplet (SDK)

Sistemi kontrole verzija

Programski sistemi i integrisana razvojna okruženja za programe

Sistemi za automatizaciju programiranja (CASE)

Kompajler je softverski alat za prevođenje programa napisanih u programskom jeziku u programe predstavljene u binarnim mašinskim kodovima. Kompajleri su podeljeni u tri tipa - kompajleri, asembleri i interpretatori.

Prevodilac je kompajler u potpunosti prevodi programe na bilo kojem programskom jeziku u mašinske kodove ili u takozvani objektni kod. Rezultirajući program u mašinskim kodovima može se kasnije pretvoriti u izvršni modul, u koji se učitava RAM i pokreće ga procesor. Tip prevodioca je asembler - program koji prevodi programski tekst napisan u mašinski orijentisanom jeziku ("mnemocode" ili "assembly language") u binarni kod. Koncept asemblera se često povezuje direktno sa mašinski orijentisanim jezikom. Stoga se ovaj termin ponekad koristi u smislu programskog jezika na nivou mašine.

Tumač- ovo je kompajler koji red po red (ili jednu naredbu) prevodi izvorni program u programskom jeziku u binarne kodove i odmah prenosi ovaj binarni kod procesoru na izvršenje.

Linker- program koji proizvodi raspored izvršni ili boot kod - uzima jedan ili više objektnih modula kao ulaz i na osnovu njih sastavlja jedan izvršni modul, koji se može učitati u memoriju i pokrenuti za izvršenje od strane procesora.

Debugger- u pravilu je dio okruženja za razvoj softvera ili posebna aplikacija dizajnirana da pronađe greške u programu. Debugger vam omogućava da koračate kroz program, nadgledate, postavljate ili mijenjate vrijednosti varijabli tokom izvršavanja programa, postavljate i uklanjate tačke prekida ili uslove prekida, itd.

Alati za automatsko testiranje programasoftverski moduli, koji vam omogućava da kreirate automatizovane testove uz minimalno ljudsko učešće i automatski izdajete test sekvence na ulaz, pratite reakciju programa koji se testira. U pravilu, takvi alati testiraju programe na brzinu, pouzdanost s velikim tokovima podataka - to je takozvano "testiranje opterećenja". Na primjer, provjeravanje programa s velikim mrežnim prometom itd. Međutim, postoje alati za testiranje funkcionalnosti, kao što su alati dizajnirani da provjere da li aplikacija ispunjava poslovne zahtjeve.

Generator dokumentacije- program ili softverski paket koji vam omogućava da dobijete dokumentaciju namenjenu programerima (API dokumentacija) i/ili krajnjim korisnicima sistema, o posebno komentarisanom izvornom kodu i, u nekim slučajevima, o izvršnim modulima (dobijenim na izlazu kompajler). 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 formi dokumentarni komentari. Na osnovu svih prikupljenih informacija formira se gotova dokumentacija, po pravilu, u jednom od opšteprihvaćenih formata - HTML, HTMLHelp, PDF, RTF i drugi.

Razvojni komplet (SDK, Komplet za razvoj softvera) ili "devkit" - skup programa i biblioteka potprograma koji omogućava softverskim profesionalcima da kreiraju aplikacije za određeni softverski paket, softver alata za razvoj, 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 potaknuli programeri da koriste datu tehnologiju ili platformu.

Sistem kontrole verzija (Sistem kontrole verzija, VCS ili Sistem kontrole revizije) - softver za olakšavanje rada sa promjenjivim informacijama. Sustav kontrole verzija vam omogućava da pohranite nekoliko verzija istog dokumenta, ako je potrebno, vratite se na ranije verzije, odredite ko je i kada napravio ovu ili onu promjenu i još mnogo toga. Ovakvi sistemi se najčešće koriste u razvoju softvera, za skladištenje izvornih kodova programa koji se razvija. Međutim, mogu se uspješno primijeniti iu drugim oblastima gdje se obrađuje veliki broj elektronskih dokumenata koji se kontinuirano mijenjaju.

Integrisano razvojno okruženje (IDE) (Integrirano razvojno okruženje, IDE) je softverski sistem koji se koristi za razvoj softvera. Obično razvojno okruženje uključuje uređivač teksta, kompajler i/ili tumač, alate za automatizaciju izgradnje i program za otklanjanje grešaka. 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đer uključuju class browser, inspektor objekata i dijagram hijerarhije klasa- za korištenje u objektno orijentiranom razvoju softvera. Iako postoje razvojna okruženja dizajnirana za više jezika - kao što su Eclipse, NetBeans, Embarcadero RAD Studio ili Microsoft Visual Studio - obično je razvojno okruženje namijenjeno jednom specifičnom programskom jeziku - kao što su 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. Ponekad se zove ISR "sistem za programiranje" , iako u većini slučajeva WBS pokriva prošireni raspon karakteristika i mogućnosti.

Sistemi za automatizaciju programiranja(Računarski sistemski inženjering, CASE ) je softverski paket koji automatizuje kompletan tehnološki proces analize, projektovanja, razvoja, kodiranja, otklanjanja grešaka i održavanja složenih softverskih sistema. Glavna prednost CASE-tehnologije je podrška kolektivnom radu na projektu zbog mogućnosti rada u lokalnoj i globalnoj mreži programera, izvoza (uvoza) bilo kojih fragmenata projekta, organizovanog upravljanja programom. Po pravilu, CASE-sistemi podržavaju automatsko generisanje koda programa - kreiranje okvira sistemskim programom i kreiranje kompletnog proizvoda sa sistemskom dokumentacijom.

Aplikacioni softver

Ova kategorija uključuje programe softverski kompleksi i softverski sistemi uz pomoć kojih se rješavaju specifični zadaci korisnika u produkcijske, kreativne, zabavne, obrazovne ili bilo koje druge svrhe. Aplikacijski softver se dijeli na sljedeće vrste:

Problemski orijentisani programi

Sistemi kompjuterski potpomognuto projektovanje(CAD)

Softver za automatizovane sisteme upravljanja

Programi opšte namene

kancelarijski sistemi

Inteligentni sistemi

Softverski sistemi multimedija

Sistemi za stono izdavaštvo

Problemski orijentisani programi dizajniran za rješavanje primijenjenih problema vezanih za ljudske proizvodne aktivnosti, na primjer:

Računovodstveni programi;

Programi finansijskih aktivnosti;

programi upravljanja osobljem;

Programi upravljanja poduzećima;

Bankarske informacije i automatizovani sistemi;

Automatizirana radna mjesta u poduzeću;

Računarski sistemi projektovanja (CAD sistem - Računarski sistem za projektovanje ) su dizajnirani da podrže rad dizajnera, tehnologa, električara i elektronskih inženjera, arhitekata i drugih profesionalaca koji se bave razvojem crteža, dijagrama, modela, grafičkim modeliranjem, dizajnom. Sistemi ove klase su veoma zahtevni u pogledu hardvera računara, brzine, memorije. Neophodno je imati biblioteke ugrađenih funkcija, objekata, interfejsa sa grafičkim sistemima i bazama podataka.

U CAD-u je uobičajeno razlikovati sedam vrsta sigurnosti:

Technical(TO), uključujući razni hardver (računala, periferne uređaje, mrežnu komutatorsku opremu, komunikacijske linije, mjerne alate);

Matematički(MO), kombinovanje matematičkih metoda, modela i algoritama za izvođenje dizajna;

Softver(softver) predstavljen CAD kompjuterskim programima;

informativni(IO), koji se sastoji od baza podataka (DB), sistema za upravljanje bazama podataka (DBMS), kao i drugih podataka koji se koriste u dizajnu. Čitav skup podataka koji se koristi u dizajnu naziva se CAD informacijski fond, a baza podataka zajedno sa DBMS-om naziva se banka podataka (BnD);

Lingvistički(LO), izraženo jezicima komunikacije između dizajnera i računara, programskim jezicima i jezicima razmjene podataka između tehničkih sredstava CAD-a;

metodički(MetO), koji uključuje različite tehnike dizajna, ponekad se softver naziva i MetO;

Organizacijski(OO), predstavljen kadrovskim tabelama, opisi poslova i druga dokumenta koja regulišu rad projektantskog preduzeća.

Po obimu se mogu razlikovati sljedeće CAD grupe:

CAD za upotrebu u opštoj industriji inženjeringa. Često se nazivaju mehanički CAD ili MCAD (Mechanical CAD) sistemi;

CAD za radio elektroniku. Njihova imena su ECAD (Electronic CAD) ili EDA (Electronic Design Automation) sistemi.

CAD u oblasti arhitekture i građevinarstva.

Osim toga, poznat je veliki broj specijalizovanijih CAD sistema, koji su ili raspoređeni u naznačene grupe, ili predstavljaju samostalnu granu u klasifikaciji. Primeri takvih sistema su CAD za velika integrisana kola (LSI); CAD aviona; CAD za električne mašine itd.

By predviđenu namenu razlikovati CAD ili CAD podsisteme koji pružaju različite aspekte dizajna. Dakle, CAE/CAD/CAM sistemi se pojavljuju kao dio MCAD-a:

CAD funkcionalni dizajn, inače CAD-F ili CAE (Computer Aided Engineering) sistemi.

Dizajnirajte CAD za opšte inženjerstvo - CAD-K, koji se često naziva jednostavno CAD sistemi;

Tehnološki CAD sistemi za opšte mašinstvo - CAD-T, inače zvani automatizovani sistemi za tehnološku pripremu proizvodnje ASTPP ili CAM sistemi (Computer Aided Manufacturing).

Automatizovani kontrolni sistem (ACS)- kompleks hardvera i softvera dizajniran za upravljanje različitim procesima unutar tehnološkog procesa, proizvodnje, preduzeća. ACS se koriste u raznim industrijama, energetici, transportu itd. Termin automatizovan, za razliku od pojma automatik, naglašava zadržavanje od strane ljudskog operatera nekih funkcija vezanih za postavljanje cilja, donošenje odluke ili obavljanje nekih funkcija koje ne mogu biti automatizovan.

Sljedeće klase ACS-a su najpoznatije:

Automatizovani sistem upravljanja procesima (APCS) - rešava probleme operativnog upravljanja i upravljanja tehničkim objektima u industriji, energetici, transportu;

Automatizovani sistem za tehničku (tehnološku) pripremu proizvodnje (ASTPP) - sistem vezan za organizaciju tehničkih procesa koji postoje ili se tek pojavljuju u proizvodnji, zasnovan na programiranju alatnih mašina sa numeričkim upravljanjem, izradi i montaži programske opreme. kontrolisanih robota itd.

Automatizovani sistem upravljanja proizvodnjom (APCS) - rešava probleme organizacije proizvodnje, uključujući glavne proizvodne procese, ulaznu i izlaznu logistiku. Vrši kratkoročno planiranje proizvodnje uzimajući u obzir proizvodne kapacitete, analizu kvaliteta proizvoda, modeliranje proizvodnog procesa. Za rješavanje ovih problema koriste se MIS i MES sistemi, kao i LIMS sistemi.

Automatizovani sistem upravljanja preduzećima (APCS) - MRP, MRP II i ERP sistemi se koriste za rešavanje ovih problema. Na primjer, ako je preduzeće visokoškolska ustanova, postoji ACS univerzitet.

As primjer Najpoznatiji ACS se mogu identifikovati:

Automatizovani sistem kontrole saobraćaja ili ASUD - dizajniran za kontrolu tokova vozila i pešaka na putnoj mreži grada ili autoputa;

Automatizovani sistem upravljanja uličnom rasvetom ("ASU UO") - dizajniran da organizuje automatizaciju centralizovanog upravljanja uličnom rasvetom;

"Automatizovani kontrolni sistem" za hotele;

Automatizovani sistem kontrole putovanja (ASKP) u javnom prevozu u Moskvi itd.

U posljednje vrijeme se široko koristi i implementira automatizovani sistemi za obradu i kontrolu informacija (ASOIU) - ovo je široka klasa automatizovanih kontrolnih sistema povezanih sa automatizacijom u oblasti obrade, skladištenja i prenosa informacija. ASOIU, za razliku od ACS-a, može se koristiti gotovo svuda, u obliku informacioni sistemi, sistemi upravljanja, sistemi automatizacije u gotovo svim oblastima ljudske djelatnosti. Moderni ASOIU zasnovani su na upotrebi kompjuterske mreže, fokusirani na obradu grafičkih, video i zvučnih informacija, koriste multimedijalne tehnologije, elemente sistema vještačke inteligencije. Bez ovakvog softvera trenutno je teško zamisliti moderno preduzeće, bez obzira na veličinu i pravac aktivnosti. Ovo objašnjava brzi rast upotrebe ASOIU-a u svim sektorima privrede.

Za grupu programi opšte namene može se pripisati:

Sistemi za upravljanje bazama podataka (DBMS)

Serveri baza podataka

Generatori izvještaja

Procesori teksta

Tablični procesori

Prezentacijski grafički alati

Integrisani paketi

Programi orijentirani na metode

Sistemi za upravljanje bazama podataka (DBMS)- obezbjeđuje organizaciju i skladištenje lokalnih baza podataka na samostalnim računarima ili centralizovano skladištenje baza podataka na fajl serveru i mrežni pristup njima. Moderni DBMS sadrže elemente CASE tehnologije procesa projektovanja, a posebno:

Vizualizacija shema baze podataka;

Automatsko održavanje integriteta baze podataka za različite vrste obrade (uključivanje, brisanje, modifikacija);

Prisustvo takozvanih čarobnjaka koji pružaju podršku procesu dizajna;

Predlošci i prototipovi struktura baza podataka, izvještaji obrazaca itd.

Serveri baza podataka je softver dizajniran za kreiranje i korištenje integriranih baza podataka u klijent-server arhitekturi pri radu na mreži.

Višekorisnički DBMS u mrežnoj verziji obrade informacija pohranjuju podatke na fajl server, posebno namjenski računar, ali se sama obrada vrši na radnim stanicama.

Zajedničko za različite tipove baza podataka je upotreba relacionog SQL-a (Structured Query Language) za implementaciju upita na podatke.

Generatori izvještaja(serveri izveštaja) obezbeđuju implementaciju upita i formiranje izveštaja u štampanoj ili ekranskoj formi u mreži sa klijent-server arhitekturom. Server izvještaja se povezuje sa serverom baze podataka koristeći drajvere usluge baze podataka (Crystal Reports, Profit za windows).

Procesori teksta dizajniran za rad sa tekstualnim dokumentima. Razvoj ovom pravcu su Microsoft Word sistemi za izdavanje).

Tablični procesori su pogodno okruženje za računarstvo, koje sadrži alate za poslovnu grafiku, specijalizovane alate za obradu (Microsoft Excel).

Prezentacijski grafički alati- ovo su specijalizirani programi dizajnirani za kreiranje slika i njihovo prikazivanje na ekranu, pripremanje slajd filmova, crtanih filmova i njihovo dizajniranje (Microsoft PowerPoint, Flash).

Integrisani paketi je skup od nekoliko softverskih proizvoda koji se funkcionalno dopunjuju, podržavaju objedinjene informacione tehnologije implementirane na jednoj operativnoj računarskoj platformi (Microsoft Office).

Komponente integrisanih paketa mogu raditi izolovano jedna od druge, imaju zajednički interfejsšto ih čini lakšim za učenje.

Metodski orijentisan RFP obezbeđuju, bez obzira na oblast i funkciju informacionih sistema, matematičke, statističke i druge metode za rešavanje problema. Najčešće metode su matematičko programiranje, rješavanje diferencijalnih jednačina, simulacijsko modeliranje, istraživanje operacija (Storm, SYSTAT, SAS, itd.)

Kancelarijska JPP obezbjeđuju organizaciono upravljanje kancelarijskim aktivnostima.

Kancelarijska JPP uključuje:

Organizatori (rasporedi) - softver za planiranje radnog vremena, pravljenje zapisnika sastanaka, rasporeda, vođenje evidencije i telefonskog imenika (kalkulator, Notebook, sat, kalendar, itd.)

Programi za prevođenje, provere pravopisa, prepoznavanje teksta (Tiger - sistem za prepoznavanje ruskog jezika, Stylus Lingvo Office koji sadrži Fine Reader, Stylus za Windows - prevodilac za navedeni jezik, korektor pravopisa Lingvo Corrector i rezidentni rječnik Lingvo)

Komunikacijski paketi dizajnirani da organiziraju interakciju korisnika sa udaljenim pretplatnicima ili mrežnim informacijskim resursima (ICQ, itd.)

Pretraživači, alati za kreiranje WWW stranica

Mogućnosti e-pošte (Pegasys Mail)

Sistemi za stono izdavaštvo- Ovo je široka klasa softvera koji implementira glavne komponente izdavaštva.

Ova klasa softvera uključuje programe koji pružaju:

Formatiranje i uređivanje tekstova

Automatsko paginiranje teksta

Računarski izgled odštampane stranice

Montažna grafika

Priprema ilustracije

Priprema originalnog izgleda

Sistemi za stono izdavaštvo uključuju:

Photoshop za Windows

Medijski softver. Glavno značenje ovih softverskih alata je stvaranje i korištenje audio i video informacija za proširenje informacioni prostor korisnik (razne baze podataka kompjuterskih umetničkih dela, videoteke, medijateke, biblioteke tonskih snimaka itd.)

Sistemi veštačke inteligencije:

Shell programi za kreiranje ekspertnih sistema popunjavanjem baza znanja i pravila zaključivanja

Gotovi ekspertni sistemi za donošenje odluka u okviru pojedinih predmetnih oblasti

Sistemi za analizu i prepoznavanje govora, teksta itd.

Inteligentni sistemi (IS) se mogu shvatiti kao automatski i automatizovani sistemi sa elementima veštačke inteligencije (AI).

Glavne oblasti AI su:

Predstavljanje znanja i razvoj sistema zasnovanih na znanju

Kreativnost i igre (šah, dame, go)

Razvoj interfejsa prirodnog jezika i mašinsko prevođenje tekstova

Prepoznavanje uzoraka (svakom objektu je dodijeljena matrica karakteristika, prema kojoj prolazi njegovo prepoznavanje)

Nove arhitekture komponenti (neuroračunari)

Inteligentni roboti

Specijalni softver (jezici Lisp, Prolog)

Obuka i samoučenje (uključuju modele, metode i algoritme fokusirane na automatsku akumulaciju znanja na osnovu analize i generalizacije podataka)

Znanje- ovo je identifikacija obrazaca predmetne oblasti (principi, veze, zakoni), koji omogućavaju rješavanje problema u ovoj oblasti. Znanje su podaci o podacima ili metapodaci.

Modeli predstavljanja znanja:

Modeli proizvodnje

Semantički modeli

Modeli okvira

Formalni logički modeli

Softverski alati su programi koji se koriste u razvoju, modifikaciji ili razvoju drugih aplikacijskih ili sistemskih programa.

Softverski alati mogu pomoći u svim fazama razvoja softvera. Po namjeni su blizu sistemi za programiranje.

Alati uključuju, na primjer:

    urednici;

    Alati za povezivanje programa;

    pomoćni programi koji implementiraju često korištene sistemske radnje;

    grafički softverski paketi itd.

      1. Sistem programiranja

Programski sistem je sistem za razvoj novih programa u određenom programskom jeziku.

Moderni programski sistemi obično pružaju korisnicima moćne i praktične alate za programiranje. Oni uključuju:

    kompajler ili interpreter;

    integrisano razvojno okruženje;

    alati za kreiranje i uređivanje programskih tekstova;

    obimne biblioteke standardnim programima i funkcije;

    programi za otklanjanje grešaka, tj. programi koji pomažu u pronalaženju i ispravljanju grešaka u programu;

    "prijateljski" prema korisničkom okruženju dijaloga;

    višeprozorski način rada;

    moćne grafičke biblioteke; bibliotečke usluge

    ugrađeni asembler;

    ugrađeni help desk;

    druge specifične karakteristike.

Prevodilac (engleski translator - prevodilac) je program za prevođenje. Konvertuje program napisan na jednom od jezika visokog nivoa u program koji se sastoji od mašinskih instrukcija.

Prevodioci su implementirani kao prevodioci ili prevodioci. Što se tiče obavljanja posla, kompajler i interpreter se veoma razlikuju.

Kompajler (engleski compiler - kompajler, sakupljač) čita ceo program, prevodi ga i kreira kompletnu verziju programa na mašinskom jeziku, koja se zatim izvršava.

Tumač prevodi i izvršava program red po red.

Nakon što je program preveden, više nisu potrebni ni izvorni program ni kompajler. Istovremeno, program koji tumači obrađuje mora biti ponovo preveden na mašinski jezik svaki put kada se program pokrene.

Prevedeni programi rade brže, ali interpretirane programe je lakše popraviti i promijeniti.

Popularni programski sistemi - Turbo Basic, Quick Basic, Turbo Pascal, Turbo C, Borland C++, Borland Delphi, itd.

Svaki određeni jezik je fokusiran ili na kompilaciju ili interpretaciju, ovisno o svrsi za koju je stvoren. Na primjer, Pascal obično se koristi za rješavanje prilično složenih problema u kojima je važna brzina programa. Stoga se ovaj jezik obično implementira pomoću kompajlera. Na drugoj strani, Basic je kreiran kao jezik za programere početnike, za koje izvršavanje programa liniju po red ima neosporne prednosti.

Ponekad postoji i kompajler i interpretator za isti jezik. U ovom slučaju, možete koristiti interpreter da razvijete i testirate program, a zatim prevedete otklonjeni program da biste ubrzali njegovo izvršavanje.

      Trendovi razvoja softvera

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 kreiranog programa 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.

Vrste softvera alata

Na osnovu zadataka koji su dodeljeni instrumentalnom softveru, može se razlikovati veliki broj različitih tipova 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.

Uobičajeno, postoje dvije vrste uređivača: uređivači teksta za strujanje i interaktivno.

1) Streaming uređivači teksta

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.

2) Interaktivni uređivači teksta

Interaktivni uređivači teksta su porodica kompjuterskih programa dizajniranih da interaktivno unose promene u tekstualnu datoteku. 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 (IDE) 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 više programskih jezika kao što su Eclipse, NetBeans, Embarcadero RAD Studio, Qt Creator ili Microsoft Visual Studio, razvojno okruženje je obično namijenjeno za jedan određeni programski jezik 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(od engleskog Software Development Kit) ili "devkit" - skup razvojnih alata 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 potaknuli programeri da koriste datu tehnologiju ili platformu.

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 hardverski alat koji izvodi 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 (izvorni kod) su opis algoritma ili programa na jeziku specifičnom za domenu, a izlaz kompajlera je ekvivalentan opis algoritma u mašinski orijentisanom jeziku (objektni kod).

Kompajliranje --

1) Prevod programa na jezik blizak mašini.

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

Prevedite -- prevedite mašinski program sa jezika specifičnog za domenu u jezik specifičan za mašinu.

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 ponovnu upotrebu za mnoge zadatke.

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.

strukturu 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 raščlanjivanja, novim stablom, apstraktnim skupom naredbi 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 komponovanje.

Važna istorijska karakteristika kompajlera, koja se ogleda u njegovom nazivu ( engleski kompajlirati -- sastaviti zajedno, komponovati), bio je u tome što može da izvrši i povezivanje (to jest, 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 tumač analizira i odmah izvršava (samu interpretaciju) program komandu 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 otkriva greške u tekstu programa samo kada se pokuša izvršiti naredba (ili linija) s 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 za resursima i zahtjevi za ispravnim izvornim kodom. 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 biti u tekstualnom formatu ili biti bajt kod koji samo ovaj tumač razumije, to 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 režimu ili u takozvanoj petlji čitanje-računavanje-štampanje (čitaj-eval-ispis petlja, 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.

Prednosti:

1) Veliki 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.

Nedostaci:

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) - 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 datom modulu i date za upotrebu od strane drugih modula.

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 asemblerskim jezikom 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 verzije 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 -- debager 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 namijenjenu programerima (API dokumentacija) i/ili krajnjim korisnicima sistema, iz posebno komentiranog izvornog koda i, u nekim slučajevima, iz izvršnih modula (dobijenih iz izlaza). 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.

Komentari na dokumentaciju.

Dokumentarni komentar je posebno dizajniran