Programavimas

Straipsnis iš Vikipedijos, laisvosios enciklopedijos.
Peršokti į: navigaciją, paiešką

Programavimas bendrąja prasme gali būti apibrėžiamas ir kaip veiksmų, kuriuos norima atlikti, apibrėžimas (panašiai kaip Planavimas).

Jeigu norima, kad veiksmus atliktų kompiuteris tuomet Programavimaskompiuterių programų kūrimo proceso dalis, kai algoritmas užrašomas kuria nors programavimo kalba. Programavimas apima meno, mokslo, matematikos bei inžinerijos elementus.

Programavimo kalbos[taisyti | redaguoti kodą]

if bReikia then
begin
   vykdyti()
end.</CODEL>

Pagrindinis straipsnis: Programavimo kalba

Kiekviena programa rašoma viena ar kita programavimo kalba, kuri vėliau verčiama mašininiu kodu, suprantamu kompiuteriui. Nors įmanoma tiesiogiai programuoti mašininiu kodu, aukšto lygio programavimo kalbos žymiai supaprastina kūrimo procesą.

Programavimo kalbų yra daug skirtingų tipų bei skirtingų sudėtingumo lygių, todėl kiekviena kalba labiau tinka tam tikros paskirties uždaviniams spręsti.

Programų kūrimas[taisyti | redaguoti kodą]

Pagrindinis straipsnis: Programų kūrimas

Programų kūrimas – sudėtingas procesas ir programavimas tėra nedidelė šio proceso dalis. Pagrindinės ir dažniausiai pasitaikančios kūrimo dalys:

  1. Reikalavimų surinkimas bei analizė
  2. Projektavimas ir įrankių (programavimo kalbos, platformos, duomenų lapu ir pan.), tinkamiausių problemai spręsti, parinkimas.
  3. Programos rašymas pasirinkta programavimo kalba.
  4. Testavimas. Jei testavimo metu paaiškėja, kad nepasiektas norimas kokybės lygis, taisomos problemos (grįžti į 1 žingsnį)
  5. Dokumentavimas, jei reikia – vertimas į kitas kalbas
  6. Palaikymas
  7. Diegimas

Programavimo stilius[taisyti | redaguoti kodą]

Pagal tai, kokiais principais remiantis kuriamos programos, skiriami programavimo stiliai:

Imperatyvusis programavimas[taisyti | redaguoti kodą]

Pagrindinis šio stiliaus principas: programa – tai komandų, kurias reikia vykdyti, rinkinys. Komandos keičia programos būseną. Kadangi beveik visa aparatinė įranga dirba šiuo principu, tai didžioji dalis programų yra parašyta būtent šiuo stiliumi. Skiriamos tokios šio stiliaus atšakos:

nuoseklusis programavimas
Tai programavimas be jokių taisyklių. Priimtinas nedidelėse programose. Jei intensyviai naudojamos goto komandos, gaunamas sunkiai valdomas kodas, dar vadinamas spaghetti kodu. Realizuojančios kalbos: Basic (pradinė versija), Assembler (jei nesilaikoma disciplinos), kitos pirmosios programavimo kalbos.
struktūrinis (procedūrinis) programavimas
Struktūrinis programavimas uždeda apribojimus, kad visa programa turi būti suskaidyta į kaip įmanoma mažiau viena nuo kitos priklausomus modulius (gali būti kelių lygių: procedūros, modulio, bibliotekos). Kiekviena tokia dalis gali turėti tik joje matomus kintamuosius. Realizuojančios kalbos: Algol ir iš jo išsivysčiusios, Pascal, C.
objektinis programavimas
objektiškai kuriamos programos struktūra suskirstoma į klases, kurios aprašo duomenis ir su jais susijusį funkcionalumą.

Deklaratyvusis programavimas[taisyti | redaguoti kodą]

Deklaratyviojo programavimo principas: programa aprašo kokias sąlygas sprendinys turi tenkinti, tačiau neapibrėžia sprendinio ieškojimo algoritmo. Šį algoritmą kiekviena realizacija gali turėti savo. Skiriamos tokios deklaratyviojo programavimo stiliaus atšakos:

Funkcinis programavimas
Funkciniame programavime sprendinio sąlygoms aprašyti naudojamos funkcijos, neturinčios vidinių būsenų. Dėl šios savybės jos negalinti turėti šalutinių poveikių. Realizuojančios kalbos: Lisp.
Loginis programavimas
Loginiame programavime sprendinio sąlygas aprašo duomenys, su kuriais reikia dirbti ir taisyklės, kaip tie duomenys yra vieni su kitais susįję. Realizuojančios kalbos: Prolog, SQL.

Istorija[taisyti | redaguoti kodą]

Programavimo uždaviniai[taisyti | redaguoti kodą]

Programavimo uždaviniai sprendžiami naudojant šiuos algoritmus:

  1. Grafų teorija
  2. Dinaminis programavimas