Programski sistemi: primeri, opisi, značilnosti

12. 3. 2019

Sistemi za programiranje zagotavljajo platformo za razvoj aplikacijske programske opreme in neposredno vplivajo na računalniško opremo za doseganje potrebne zmogljivosti pri izvajanju uporabniških nalog. Platformo lahko uporabite za programiranje aplikacij iPhone, iPad in operacijskih sistemov Android s programskim jezikom Java. Android Studio in vmesnik Oracle Java SDK, skupaj s potrebnim osnovnim znanjem, vam omogoča ustvarjanje najrazličnejših aplikacij.

Elementi programskih sistemov

Naj začnemo razkriti koncept programskih sistemov. Tisti, ki jih zdaj uporabljamo, spadajo v obdobje 3. generacije računalnikov. Sistemsko programiranje je programska oprema. Lahko opravlja veliko različnih nalog. Brez tega večina strojne opreme ne bi izvajala svojih funkcij. Za njihovo uporabo uporabite programsko opremo. Uporabnik mora izbrati želeni program za vsako nalogo.

Elementi klasičnega programskega sistema:

  1. Operacijski sistem je vmesnik med aplikacijsko programsko opremo in računalnikom.
  2. Pripomočki so majhni, a zmogljivi programi z omejenimi zmogljivostmi za posebne naloge. Ponavadi ga uporabljajo uporabniki, da zagotovijo nemoteno delovanje računalniškega sistema.
  3. Knjižnični programi so sestavljen nabor rutin, na primer knjižnice. Pri pisanju programa zagotovite številne funkcije in postopke.
  4. Programska oprema za prevajanje: sestavljalec, prevajalnik, prevajalec.
  5. Interpreter analizira in izvaja jezikovni program na visoki ravni ene vrstice naenkrat.
  6. Aplikacijska programska oprema, ki uporabniku pomaga pri izvajanju določenih nalog, kot je GIMP - za urejanje fotografij.

Primer sodobnega programskega sistema je servisna in osnovna programska oprema.

Koncept programskega sistema

Struktura programa

Splošna oblika programa namenja posebno pozornost posameznim komponentam in odnosu med njimi. Programi so dobri ali slabo strukturirani. Z dobro strukturiranim programom delitev komponent sledi načelom, kot je na primer skrivanje informacij, vmesniki med komponentami pa so jasni in preprosti. Na bolj subtilni ravni uporablja ustrezne podatkovne strukture in programske enote z eno vstopno točko in eno izhodno točko.

S slabo strukturiranim programom je razdelitev na komponente v veliki meri arbitrarna, vmesniki pa so implicitni in kompleksni. Poleg tega ima takšen program poljubne podatkovne strukture in pretok nadzora. Skoraj vsi strukturirani programi imajo splošen značaj ukrepov:

  1. Vloga za začetek programa.
  2. Deklaracija spremenljivk
  3. Programske stavke (kodni bloki).

Pozdravljeni svetovni pozdravi

Sistemi za programiranje in pozdrav Hello World v različnih programskih jezikih jasno prikazujejo osnovne razlike.

Pozdravljeni

Če želite uporabiti spremenljivko znotraj programa, mora prevajalnik vnaprej vedeti vrsto podatkov, ki bodo shranjeni v njem. Zaradi tega so spremenljivke deklarirane na začetku programa.

Deklaracija spremenljivke je sestavljena iz podajanja novega imena in tipa podatkov za spremenljivko. To se običajno opravi na samem začetku.

Deklaracija spremenljivk

Naslednja slika prikazuje primer programskega sistema za strukturo zanke, ki sproži niz stavkov, dokler pogoj ni resničen.

Skupina operaterjev

Neskončna zanka

To je tisti, ki nima delujočega postopka izstopa. Posledično se cikel neprestano ponavlja, dokler ga operacijski sistem ne zazna in zaustavi program z napako ali dokler se ne pojavi kakšen drug dogodek, na primer program se po določenem času samodejno ustavi.

V nadaljevanju so predstavljeni programski sistemi in primeri programov C za program sortiranja nizov v slovarju. Ta program od uporabnika vzame 10 besed (vrstic) in jih razvrsti v leksikografski vrstni red. Na primer 10 programskih jezikov:

  1. C.
  2. C ++.
  3. Java
  4. PHP
  5. Python.
  6. Perl.
  7. Cobol.
  8. Ruby
  9. R.
  10. Javascript
Primeri programov C

Rezultat:

  1. C.
  2. C ++.
  3. Cobol.
  4. Java
  5. Javascript
  6. PHP
  7. Perl.
  8. Python.
  9. R.
  10. Ruby

Osnovna orodja

Osnovna orodja

Za programiranje potrebujete nekaj orodij. Shema klasičnega programskega sistema:

  1. Urejevalnik besedil - orodja za urejanje. To orodje vam omogoča pisanje izvorne kode. To je običajno orodje za programiranje v katerem koli jeziku. Dejansko pri programiranju cenijo prisotnost takšnih funkcij, kot so: samodokončanje, poudarjanje skladenj, iskanje, urejanje, zamenjava dela kode in urejevalnik zamikov.
  2. Prevajalnik ali tolmač. To orodje je neposredno povezano s programskim jezikom.
  3. Debugger Razvijalci, kot vsi ljudje, so lahko napačni. Iskanje in popravljanje napak zahteva čas. Razhroščevalnik je orodje, ki jim pomaga slediti. Omogoča vam, da program zaženete korak za korakom, da si ga kadarkoli ogledate in preverite, ali se del kode izvaja ali ne.
  4. Knjižnične rutine
  5. Spremna dokumentacija.

Oblikovanje vzorcev

Z uporabo predloge za oblikovanje je treba strukturirati program ali uporabiti jezikovna orodja in čim bolj jasno zagotoviti sistematičen pristop k programiranju, kot tudi povezavo s podatkovno zbirko predlog, ustvariti stran, ki bo prikazala videz po meri. Bolj splošno, vzorčni vzorec je večopravilnost in napredna rešitev.

Struktura programske opreme (ali okvir) je posebna vrsta programske opreme. Njegov prvi cilj je povezati programiranje in zagotoviti čim več orodij, ki jih potrebujete. Na primer, Django 2 je struktura v Python, ki je zasnovana tako, da omogoča ustvarjanje reaktivnih spletnih mest. Ustvarja strukturo in ponuja skupna orodja, ki jih potrebujejo vsa spletna mesta (administracijski vmesnik, storitve za preverjanje pristnosti, način prevajanja strani v več jezikov itd.).

Drug primer je prisotnost več okvirov v JavaScriptu (jQuery ali angular.js) z enim ciljem - iste akcije bi morale biti napisane drugače, odvisno od vrste brskalnika, ki ga obiskovalec uporablja na spletni strani. Imajo edinstven vmesnik, ki ga spremeni v kodo, ki jo razume vsak brskalnik. Na fotografiji je primer programskega sistema v JavaScriptu za nalogo odpiranja novega okna po kliku na gumb.

Primer programskega sistema v JavaScriptu

Zbrani jeziki

Programski jezik je niz sporazumov in abstrakcij, ki vam omogočajo, da napišete, kaj potrebuje uporabnik, tako da računalnik proizvede rezultat v bolj razumljivi obliki. Kompilacija je pretvorba izvorne kode v izvršljivo datoteko. To pretvorbo izvede prevajalnik. Razlika v hitrosti izvedbe je ogromna. Na splošno velja, da bo program na sestavljenem jeziku deloval približno desetkrat hitreje od interpretiranega. Spodaj je primer sistema za programiranje C. Prikazuje program, ki uporablja tako imenovane funkcije višjega reda in čiste funkcije.

Funkcije višjega reda

Pri interpretiranih jezikih se izvorna koda posreduje tolmaču, ki program izvede neposredno. Ni potrebno skrbeti za operacijski sistem ali vrsto procesorja, saj mora biti nameščen na uporabnikovem računalniku. Poleg tega, ker mora biti izvorna koda "prevedena" v strojno kodo z vsakim izvajanjem, so interpretirani jeziki pogosto počasni v primerjavi z enakovrednimi prevedenimi jeziki. Hkrati pa tolmači ne optimizirajo generirane strojne kode, zaradi česar delajo počasneje, vendar je proces generiranja strojne kode hitrejši od postopka za prevajalnike.

Jeziki virtualne naprave

Pogosto se skrajšajo, imenujejo se "jeziki VM" (v skladu z analogijami angleškega imena virtualnega stroja). Načelo delovanja in namen programskega sistema je, da izvorna koda ni prevedena v strojno kodo, razumljivo specifičnemu procesorju, temveč v »dummy« (bajtno kodo), ki jo bo sam interpretiral v navideznem strojnem jeziku. Takšen jezik ima prednosti in slabosti.

Tako kot pri interpretiranih jezikih se lahko program, ki ga sestavi bajtna koda, izvaja v katerem koli operacijskem sistemu in procesorju, pod pogojem, da je virtualna naprava na voljo za to kombinacijo. Po drugi strani pa, ker je bila kompilacija navzgor, program teče hitreje kot ekvivalenten interpretirani jezik. Pogosto doseže hitrost, ki je podobna hitrosti "pravega" jezika strojne kode. Vendar pa je to izravnano z dejstvom, da je lahko virtualni stroj precej intenziven, zlasti v pomnilniku.

Končno lahko ustvarite nove jezike, ki bodo prevedeni v isto bajtno kodo kot drugi obstoječi jezik, kar poenostavi njihovo interakcijo. To je ena od nalog programskega sistema. Primer je jezik Clojure in Frege, ki sta prevedena za bajtno kodo Java. Funkcionalne in radikalno se razlikujejo od Jave v svojem oblikovanju. V tem primeru lahko napišete različne dele programa z enim od najustreznejših jezikov in jih navežete, da delajo skupaj na navideznem računalniku. Java je jezik, ki ga je najbolje združiti v virtualni stroj. Vendar potrebujete aplikacijo, ki je sestavljena iz niza razredov Java. Na začetku kateregakoli razreda obstaja posebna struktura, kot je JavaClassFileFormat.

Programski sistemi, Java Primer

Primeri jezikov in programskih sistemov

Predstavljamo najbolj znane programske jezike:

  • Asembler. To ni novo, vendar bo uporabnike naučilo veliko stvari, ki so skrite v drugih jezikih.
  • C. Ena najbolj uporabljena na svetu. Ta jezik daje najbolj popoln nadzor nad strojem. Uporablja se za kodiranje operacijskih sistemov. Njena dostojna starost skoraj pol stoletja in veliko število knjižnic, ki so primerne za vse, postanejo nepogrešljive tako za začetnike kot za napredne uporabnike.
  • Cobol. To je stari jezik. Ponavadi je težje uporabljati kot druge. Vendar se zaradi zgodovinskih razlogov še vedno pogosto uporablja v bančništvu, financah in zavarovalništvu.
  • Fortran. Še vedno je povpraševanje na področju znanstvenega računalništva, za katerega je bil razvit. Čeprav se sintaksa tega jezika redno posodablja, se čuti njena starost. Poleg tega nekatere knjižnice programske opreme v Fortranu niso bile nikoli primerjane glede učinkovitosti.
  • Java Ima funkcijo prevajanja v bajtno kodo, ki jo nato interpretira virtualni stroj. To močno poenostavi ustvarjanje programov za uporabo na več platformah operacijskih sistemov. Java je na primer prehod za kodiranje aplikacije za Android.
  • Perl. Je jezik, ki je večinoma cenjen v svetu Linuxa in Unixoidov. Učinkovita je za ustvarjanje majhnih, a zelo zmogljivih aplikacij ukazne vrstice. Vendar Perl ni zelo primeren za ustvarjanje grafičnih vmesnikov.
  • PHP Prevladuje v svetu spletnega programiranja.
  • Python. Ta jezik je priporočljiv za začetnike.
  • Ruby V povezavi s Pythonom redno izposoja inovacije. Na splošno so zelo podobni. Lahko rečemo, da Ruby ponuja več sintaktične svobode in bolj vztraja pri svojem objektno usmerjenem značaju, Python pa je lažji in ga podpira večja skupnost.
  • Swift. Je precej mlad jezik, ki je podvržen spremembam in prilagoditvam, primernim za izdelke Apple. V prihodnjih letih bo morda postal glavni produkt programskih aplikacij za iOS in OSX.

Uporaba

Predstavljamo primer strojne kode:

110101010010001000111001001 010101001000100001011101001 000111001101110001101101010 001111010010010101011001010 001010101111110100101010001.

Kot lahko vidite, je v tej vrsti kode zelo malo razločevalne strukture. V programskih jezikih je semantična vrzel razlika med jezikom, ki se uporablja za programiranje strojne opreme (strojna koda), in jezikom, ki ga je treba uporabiti za programiranje računalnika kot sistema. Primer sistema programiranja: stran odjemalca JavaScript bo zahtevala uporabo dveh jezikov, razen tistega, ki ustvarja JavaScript (CoffeScript ali Elm).

Za strežniško stran ima PHP najvišje položaje, vendar se aktivno uporabljajo tudi Python in Ruby. JavaScript se uporablja tudi na strani strežnika, zahvaljujoč NodeJS. Za video igre na Windows, se uporabljajo C ++, Python in C #. Vendar pa niso edini. Vsak jezik, ki omogoča enostavno ustvarjanje grafičnega vmesnika, je lahko primeren (C, Java, Ruby ali Tcl / Tk).

Za velike aplikacije C ++ in Java prevladujeta na trgu, čeprav se C # prav tako krepi. Za majhne utilitarne aplikacije, zlasti v ukazni vrstici, je enostavno najti C, Perl, Python ali Ruby. Na področju znanstvenega računalništva Fortran ostaja kralj. Vse bolj konkurira C ++, Python ali specializiranim jezikom, kot sta Matlab in R.

Programiranje PASCAL

Skozi zgodovino računalništva je bilo narejenih na stotine poskusov, da bi bili računalniški programski jeziki, kot je pisana angleščina, lahko berljivi in ​​razumljivi. PASCAL je rezultat enega takšnega napora. Ustvarjalec PASCAL-a, Nicholas Wirth, je želel HLL, ki bi ga lahko učili, brali in pisali. Razvil je PASCAL na podlagi naslednjih konceptov:

  1. PASCAL bi moral zapreti ali znatno zmanjšati pomensko vrzel.
  2. Vsaka izjava PASCAL mora biti kot stavek v angleškem besedilu.
  3. Program PASCAL se lahko obravnava kot ponudba v angleškem jeziku.
  4. Imena postopkov, podatkovnih struktur in spremenljivk v sistemu PASCAL morajo biti lahko prepoznavna.

Primer programskega sistema v sistemu PASCAL

Spodaj je primer za določitev števila črk v besedi.

Primer pascalskega programskega sistema

PASCAL omogoča modularno kodiranje z:

  1. Uporaba kode za zapiranje v postopkih in funkcijah.
  2. Uporaba operaterjev BEGIN in END za definiranje funkcijskega bloka kode.
  3. Stroga spremenljivka (na primer, dodeljevanje podatkovnih tipov, kot je celo število, realno ali niz) za podporo posredovanju parametrov med postopki.
  4. Prijazna sintaksa, ki zožuje semantično vrzel.
Pascalovi programski sistemi

V danem primeru Pascalovega programskega sistema program prikazuje binarno izbiro (obstajata samo dva primera: ActualMark> = 50 ali ActualMark <50).

Pogoste napake pri programiranju

Treba se je izogibati skupnim napakam pri kodiranju. Tako bo uporabnik prihranil čas in se izognil težavam. Vrste napak:

  1. Napačno oblikovanje kode. Moralo bi biti jasno. Vsebovati mora komentarje na vrhu programa.
  2. Slabo preverjanje in preverjanje napak. Obdelava napak ima dve obliki: ravnanje s strukturiranimi izjemami in preverjanje funkcionalnih napak.
  3. Slaba praksa komentiranja.
  4. Navedite nezanesljive spremenljivke. Zelo težko je delati na kodi, kadar so številna imena spremenljivk kratka, ne opisna.
  5. Izbira napačne strukture podatkov.

Sintaksni poudarki in slogi zamika se pogosto uporabljajo za pomoč programerjem pri prepoznavanju elementov izvorne kode.

Barvno kodiranje

Hkrati je pomembno, da je barvno kodiranje poudarjeno v fragmentu kode kot primer programskega sistema, napisanega v Pythonu.