Šį failą jau perskaitė: 14955. Atsisiųsti.

Programavimas pradedantiesiems (III-ias leidimas)

Šis įvadas yra skirtas žmonėms, kurie nėra susidūrę su programavimu, tačiau norėtų pradėti. Jis taip pat tinka ir tiems, kurie jau yra pradėję programuoti, tačiau dar neturi teorinių, o tuo labiau praktinių žinių. Čia trumpai pateikiama informacija apie programavimą bendrai ir nesigilinant į konkrečias kalbas.

Įvado autorius: Armandas Jarušauskas. Dokumentas platinamas tokiomis pačiomis sąlygomis, kaip ir kitas P4I.lt turinys.

Keitimų istorija

Paskutinis atnaujinimas: 2009-01-29. Dėkui rtfb už pastabas.
Įvadas parašytas: 2008-01-10.

Turinys

1. Sąvokos

Programavimas – procesas, kurio metu rašomas, testuojamas, taisomas programinis kodas.

Programinis kodas – taisyklių, nurodančių ką turi daryti kompiuteris, rinkinys, parašytas kokia nors programavimo kalba. Dažnai – išeities kodas (source code).

Programavimo kalba – dirbtinė kalba, sukurta (palengvinti) žmogaus ir kompiuterio bendravimui.

Kintamasis – nuoroda į atminties vietą su tam tikra informacija. Kartais keletas kintamųjų gali rodyti į tą pačia atminties vietą.

Konstanta – kaip ir kintamasis, konstanta yra vieta atmintyje. Skirtumas yra tas, jog kai konstanta yra aprašoma, jos pakeisti nebegalima.

Operatorius – kalbos dalis, atliekanti tam tikras aritmetines, lyginamąsias ar logines funkcijas.

Ciklas – kalbos dalis skirta atlikti tam tikrų veiksmų pakartojimus.

Masyvas – dar vienas informacijos laikymo būdas. Nuo kintamųjų skiriasi tuo, jog gali laikyti daug reikšmių vienu metu.

Funkcija – kodo dalis, atliekanti aprašytus veiksmus ir turinti adresą/vardą, kas leidžia ją naudoti daug kartų, neperrašant kodo.

2. Programavimo kalbos

Žmonės yra sukūrę galybę programavimo kalbų, kurios naudojamos skirtingose situacijose. Peržvelkime keletą savybių, kurias gali turėti kalba.

Kartais, norint pagreitinti programų darbą ar sutaupyti resursų, yra kompiliuojamos ir tos kalbos, kurios paprastai būna tik interpretuojamos.

Kalbos lygiai yra reliatyvūs, pvz.: C yra žemo lygio kalba, lyginant su PHP, bet aukšto lygio, lyginant su Assembly.

Priešingai, nei mano daugelis pradedančiųjų, JavaScript nėra niekaip susijusi su Java. Tai dvi skirtingos, nepriklausomos kalbos.

3. Kalbos dalys

3.1. Pradžia

Pradedant programą, kartais reikia pranešti kompiuteriui, kur prasideda kodas.
Pavyzdžiai:

Kartais vykdoma viskas, kas yra faile, o programa atskiriama pagal plėtinį.

3.2. Kintamieji

Ko gero svarbiausia kiekvienos kalbos dalis. Kintamuosius galima įsivaizduoti kaip vietą atmintyje. Galite į juos įrašyti informaciją, o reikalui esant ją keisti/trinti. Priklausomai nuo kalbos savybių, kintamųjų sukūrimui/naudojimui gali būti taikomos tam tikros taisyklės. Pavyzdžiui su C++ sukuriant kintamąjį būtina nurodyti duomenų tipą int i = 3 šiuo atveju duomenų tipas yra "int". Tuo tarpu PHP kalboje, tipas nustatomas automatiškai. Plačiau duomenų tipus apžvelgsime kitame skyriuje.

Dar vienas dalykas, kuris skiriasi – duomenų tipo keitimas. PHP kalboje galima laisvai keisti duomenų tipą, pvz.: sudedant du skaičius, kurių vienas yra int tipo, o kitas str, gausime jų sumą, kurios tipas bus int. C++ kalboje toks veiksmas reikštų klaidą.

3.3. Konstantos

Konstantos, panašiai kaip ir kintamieji yra atminties vieta, tačiau konstantų reikšmės programoje keisti negalima. Konstantos dažniausiai naudojamos įvairiems nustatymams saugoti, jos išsiskiria iš bendro kodo, todėl gali palengvinti skaitomumą.

3.4. Masyvai

Masyvus galite prilyginti kintamiesiems, tik skirtumas tas, kad masyvai savyje laiko kitus kintamuosius, o šie gali laikyti dar kitus ir t.t. Kintamieji, laikomi masyve, vadinami masyvo elementais. Paprastą masyvą galite įsivaizduoti kaip lentelę – a:

Masyvo elementas 0 1 2 3
Reikšmė a b c d

Naudojimas:

Dvimatis masyvas gaunamas, jei masyvo elementas yra kitas masyvas (kaip gaunamas trimatis masyvas turbūt pasakoti nereikia). Pavyzdys – lentelė b:

Pirmas elementas 0 1
Antras elementas 0 1 2 0 1 2
Reikšmė a b c d e f

Naudojimas:

Turbūt, pastebėjote, jog pirmas numeruoto masyvo narys - nulis. Dauguma programavimo kalbų naudoja zero-based masyvus.

Skirtingos kalbos gali naudoti skirtingus terminus apibūdinti tas pačias duomenų struktūras. Haskell, Python kalbose masyvus atitinka sąrašai (lists). Daugiau apie šias ir panašias struktūras sužinosite jau programuodami.

3.5. Operatoriai

Operatoriai gali būti loginiai, aritmetiniai, lyginamieji. Jie dažniausiai (tiesiogiai arba ne) naudojami sąlygos sakiniuose. Loginiai operatoriai (Boolean) yra skirti atlikti loginius veiksmus. Dažniausiai pasitaikantys yra šie:

Teisingumo lentelės:

Pirma reikšmė Operatorius Antra reikšmė Rezultatas
0 AND 0 0
0 AND 1 0
1 AND 0 0
1 AND 1 1

Pirma reikšmė Operatorius Antra reikšmė Rezultatas
0 OR 0 0
0 OR 1 1
1 OR 0 1
1 OR 1 1

Reikšmė Operatorius Rezultatas
1 NOT 0
0 NOT 1

Daugelyje kalbų, false laikoma viskas, kas neturi reikšmės, arba nėra nustatyta. Taigi, galime rašyti if (vardas), kad patikrintumėm ar kintamasis vardas turi reikšmę.

Aritmetiniai operatoriai yra skirti matematiniams veiksmams.

Lyginamieji operatoriai yra skirti reikšmėms sulyginti.

3.6. Sąlygos sakiniai

Tai taip pat labai svarbi kalbos konstrukcija. Pavadinimas turėtų kalbėti už save, todėl labai neišsiplėsime. Trys pagrindinės sąlygos sakinio dalys:

• Sąlyginei konstrukcijai reikalingas bent vienas if blokas.
• Sąlyginė konstrukcija gali turėti bet kiek elseif blokų (taip pat nulį).
else blokas gali būti vienas, arba gali jo nebūti išvis.
• jei konstrukcija sudaryta iš kelių paeiliui einančių if sakinių (žr. kodą žemiau.) – jie yra vienas nuo kito nepriklausomi. Tai gali atrodyti savaime suprantama, bet pradedantieji, šioje vietoje, yra linkę daryti, nors ir ne kritines, bet logines klaidas. Todėl, jei tikitės, kad bus patenkinta sąlyga1 arba sąlyga2, bet ne abi, naudokite if..elseif konstrukciją.

if (salyga1) { veiksmas }
if (salyga2) { veiksmas }

3.7. Ciklai

Ciklai (iterations, loops) yra naudojami veiksmų kartojimui atlikti. Ciklai gali būti žinomo arba nežinomo kartojimų skaičiaus. Pagrindiniai du ciklai:

3.8. Funkcijos

Funkcijos programavime naudojamos, kai reikia išskirti tam tikrus kodo gabalus, kurie gali būti dažniau naudojami programoje. Jos ne tik sutrumpina kodą, bet ir padaro jį suprantamesnį.

Funkcijos pavyzdys PHP kalba:

function pasisveikinam($vardas)
{
    $val = date("H");

    if ($val < 12)
        echo "Labas rytas, $vardas!";
    elseif ($val < 18)
        echo "Laba diena, $vardas!";
    else
        echo "Labas vakaras, $vardas!";
}

Dabar šią funkciją galima naudoti įvairiose programos vietose, neperrašinėjant kodo:

$draugas = 'Jonas';

pasisveikinam($draugas); // pasisveikinsim su Jonu
pasisveikinam('Petras'); // pasisveikinsim su Petru

4. Duomenų tipai

Duomenų tipai yra labai svarbūs programavime, kadangi yra taisyklės, kurios apsprendžia kokius veiksmus galima atlikti su kiekvienu duomenų tipu. Čia pateikiami keletas dažniausiai pasitaikančių duomenų tipų. Priklausomai nuo kalbos, gali skirtis jų pavadinimai, bet esmė dažniausiai ta pati. Su duomenų tipais, kurie čia neaprašyti, susipažinsite jau programuodami savo pasirinkta kalba.

Pradedantiesiems svarbu žinoti, kad su kiekvienu duomenų tipu galima atlikti įvairiausius veiksmus (trumpą sąrašą rasite prie duomenų tipų aprašymų) ir tam nereikia ypatingų žinių. Dažnai programavimo kalbos tam turi iš anksto aprašytas funkcijas. Viskas ko jums reikia – žinoti ko norite ir mokėti naudotis paieškos sistemomis.

Pavyzdys: žodis prasideda mažąja raide, o mes norime padaryti, kad prasidėtų didžiąja. Programuojame Java kalba. Atsidarome naršyklę, surenkame paieškos sistemos adresą (pvz.: google.lt) ir į laukelį įvedame string upper case java. Atsakymo nereikėjo ieškoti ilgai. Antras rezultatas siūlo naudoti metodą toUpperCase(). Štai jums ir atsakymas.

Dabar apie duomenų tipus:

Duomenų tipus dažnai galima konvertuoti į kitus, pvz.: integer į string ir atvirkščiai, array į string ir atvirkščiai ir taip toliau.

5. Kultūra

Programavime yra nerašytos taisyklės, kurios nusako kaip derėtų rašyti programinį kodą, kad jį suprastų ir kolegos programuotojai.

Dažnai rašymo stilių lemia ir pati programavimo kalba. Paimkime funkcijų pavadinimus, kaip pavizdį:

Nors pavadinimų išvaizdą gali įtakoti kalba, tačiau pačius pavadinimus turi kurti žmonės. Jau nuo pat pradžių reikia mokytis prasmingai įvardinti funkcijas ir kintamuosius, naudoti atitraukimus, tarpus, naujas eilutes.

Geras pavyzdys:

function kelimas_kvadratu(skaicius)
{
    return skaicius * skaicius;
}

Blogas pavyzdys:

function k(s){return s*s;}

Kol kodas yra nesudėtingas, tai neatrodo baisiai, tačiau kai programos išauga, susigaudyti tampa labai sunku. Kartais gali nepadėti ir prasmingi vardai, todėl reikia stengtis komentuoti kodą. Komentarai, kas be ko, turėtų būti prasmingi.

Geras pavyzdys:

// si skaiciu kelsime kvadratu
skaicius = 3;

Blogas pavyzdys:

// skaicius
s = 3;

Verta paskaityti: Kodo standartai.

6. Baigiamasis žodis

Daugumą čia neaprašytų dalykų sužinosite jau programuodami savo pasirinkta kalba. Nebūtinai viskas, ką čia radote, tiks jūsų atvejui, tačiau bendros žinios – naudingos. Dabar jūsų eilė. Skaitykite knygas, dalyvaukite forumuose ir svarbiausia praktikuokitės.