2 dalykas, kurį vertą žinoti: informacijos išvedimas
„Kaip išvesti informaciją į ekraną?“ – tai turbūt pats pirmas klausimas, kuris ateina į galvą tik pradėjus rašyti savo pirmąją programą. Rekomenduojama pradėti mokytis tai nuo kažkokio teksto išvedimo į ekraną. Daugumoje programavimo kalbų tai galima atlikti su Write, echo, print komanda (priklausomai nuo programavimo kalbos). Jei ne viena iš šių komandų neveikia, tuomet galima atlikti paiešką programavimo kalbos žinyne pagal prieš tai minėtus komandų pavadinimus. Dažniausiai komandos skirtingos programavimo kalbose panašiai vadinasi. O kai kuriuose yra net keli to variantai. Kurį variantą naudoti, priklauso nuo situacijos. Bet, visgi, dažniausiai pradedančiajam nėra didelio skirtumo.
Kai kuriose kalbose neužtenka parašyti reikalingą komandą teksto išvedimui. Privalu dar taip pat nurodyti, kad vykdant programą į atmintį būtų įkrauta reikalinga duomenų išvedimui biblioteka. Dažniausiai šis nurodymas – tai speciali komanda programos viršuje. Tai, žinoma, gąsdina ir gadina nervus pradedantiesiems, nes dažniausiai jie pradeda ieškoti klaidų ne ten kur reikėtų. Dėl šios priežasties verta visokias C, C++, Java ir panašias kalbas palikti ateičiai, prieš tai gerai susipažinus su kitais 6 šiame straipsnyje išvardintais programavimo punktais.
Išmokus išvesti paprastą tekstą į ekraną, verta pabandyti išmokti jį nuspalvinti, pastumti, pašalinti iš ekrano. Kiekvienam šiam veiksmui daugumoje kalbų yra tam skirtos komandos. Reikiamas komandas pagal angliškus žodžius nesunkiai galima susirasti žodyne. Visgi, kad jomis būtų galima pasinaudoti, reikia turėti šiek tiek žinių apie tai kaip kompiuterio ekrane vaizduojama informacija.
Kiekvieno kompiuterio ekranas gali dirbti tiek grafiniame tiek tekstiniame režime. Tekstiniame režime galima ekrane vaizduoti tik raides bei tam tikrus simbolius. Grafiniame režime – bet ką. Ekranas gali dirbti taip pat skirtingomis gebomis (kokios jos – priklauso nuo naudojamos vaizdo plokštės). Ekranas pagal tos gebos aukštį ir plotį yra padalinamas į tam tikrus plotelius, į kuriuos galima išvesti informaciją. Dėl šios priežasties kuo ekranas didesnis, o geba mažesnė tuo labiau išvedant informaciją matomi kvadratėliai. Kiekvienas toks plotelis iš programavimo kalbos pasiekiamas su tam tikra komanda, kuri nurodo plotelio koordinates ir ką su juo reikėtų daryti (pvz. padėti geltoną tašką).
Kokią spalvą matome ekrane priklauso nuo to koks jos numeris buvo nurodytas. Spalvų kodai sudaromi tam tikra tvarka dauginant raudonos, žalios ir mėlynos spalvos komponentes. Kadangi dauginimo tvarką ne taip lengva visiems programuotojams atsiminti, daugumoje kalbų yra naudojamos specialios konstantos, 16-os arba daugiau populiariausių spalvų numeriai ir/arba funkcija RGB, kuri pagal duotas spalvų komponentes gražina reikiamą spalvos kodą.
Išmokus išvesti skirtingais būdais informacija tekstu, galima toliau mokytis informacijos atvaizdavimo ekrane grafiniais objektais, jos rašymo į failus ar kitur (pvz. siųsti į serverius).
3 dalykas, kurį vertą žinoti: kintamieji
Parašius pirmą programėlę, kuri išveda kažkokią informaciją į ekraną, dauguma užplūsta jausmas „Geras!“. Bet po kurio laiko jis išnyksta – tampa akivaizdu, kad vien išvedant informaciją į ekraną nieko doro nepadarysi. Tuomet ateina laikas išmokti naudotis kintamaisiais.
Kintamasis – tai tam tikras programos elementas, kuris turi tam tikrą reikšmę, kurią jis gali keisti, gražinti kaip parametrą, programos veikimo metu. Kad ir kaip baisiai toks apibrėžimas gali skambėti, bijoti nėra ko – viskas čia gana paprasta!
Ko gero, geriausiai kintamojo veikimą iliustruotų koks nors pavyzdys. Sakykime, kad yra programa, kurioje yra kintamasis, kuris vadinasi k. Kintamojo reikšmė tik paleidus programą yra lygi „5“. Tolimesnio programos veikimo metu šio kintamojo reikšmė yra pakeičiama į „2“ ir išvedama į ekraną. Kas bus išvedama? Žinoma – „2“! Keičiant kintamojo reikšmę, senosios vietoje kompiuterio atmintyje buvo įrašyti nauja.
Su kintamaisiais galima atlikti tas pačias operacijas kaip ir su skaičiais ar tekstu (pvz. sudėti dviejų kintamųjų reikšmes ir priskirti trečiajam arba sujungti du tekstus ir priskirti kintamajam).
Skirtingos programavimo kalbos naudoja skirtas kintamųjų sistemas. Vienose privaloma aprašyti kintamąjį prieš pradedant naudoti (Pascal, Delphi, C++…). Kitose kintamasis automatiškai yra aprašomas, jam priskiriant programos veikimo metu pirmą kartą reikšmę (PHP, JavaScript…).
Vienose tam pačiam kintamajam negalima priskirti skirtingų tipų duomenų (pvz. jei prieš tai buvo priskirtas tekstas, negalima priskirti skaičiaus). Kitose – galima.
Kaip galima pastebėti iš kintamųjų panaudojimo skirtingos kalbose pavyzdžių, kintamųjų užrašymas priklausomai nuo pačios kalbos šiek tiek skiriasi. Kartais prieš kintamojo vardą yra dedamas specialus simbolis, o kartais – ne. Kai kuriose kitose kalbose toks simbolis yra dedamas po kintamojo pavadinimo (pvz. BASICA kalboje A$ reiškia tekstinio tipo kintamąjį, kuris vadinasi „A“). Koks ir kur tas simbolis dedamas (prieš ar po kintamojo), taip pat priklauso nuo programavimo kalbos.
Kaip turėtų būti aprašomi kintamieji ir kaip naudojami galima sužinoti iš tam tikrų žinynų, bei žiūrint į ta kalba parašytos programos išeities kodus… Nors, visgi, aš asmeniškai rekomenduočiau pasinaudoti pirmuoju variantu – antrasis variantas tinkamas labiau tiems, kurie žino bent jau kelias kitas skirtingas programavimo kalbas.
Kiekvienoje programavimo kalboje dažnai būna dar skirtingų kintamųjų variantų (pvz. lokalūs ir globalūs). Jų mokytis, tik pradėjus kurti pirmą savo žaidimą, nėra būtina. Galima išsiversti su tiek informacijos. Bet visgi, ateityje verta daugiau pasidomėti kur ir kaip tie kintamieji yra naudojami.
4 dalykas, kurį vertą žinoti: informacijos gavimas
Žinant, kas yra kintamieji, ir juos naudojant programoje atsiranda daugiau interaktyvumo, tačiau iš to naudos mažai. Rezultatai paleidžiant programas bus visada tie patys. Vis dar trūks šiek tiek interaktyvumo. Vadinasi, ateis metas sužinoti, kas per dalykas yra informacijos gavimas.
Informaciją, reikalingą programos darbui, galima gauti iš skirtingų šaltinių (interneto, pelės, klaviatūros, skenerio, planšetės…). Kokiu informacijos šaltiniu naudotis, priklauso nuo konkretaus atvejo – t.y. kokį rezultatą norima pasiekti. Bet, visgi, pradedant kurti savo pirmą projektą verta apsiriboti tik klaviatūra ir/arba pele.
Daugumoje programavimo kalbų komandos, skirtos įvesti/perskaityti duomenis iš pasirinktų šaltinių vadinamos read, get, input arba labai panašiai. Kaip tiksliai jos vadinamos pasirinktoje programavimo kalboje, galima sužinoti žvilgtelėjus į tos programavimo kalbos žinyną ir atlikus jame paiešką pagal prieš tai išvardintas komandas. Labai dažnai duomenims įvesti iš tų pačių įrenginių gali būti naudojamos net kelios skirtingos komandos. Pradedančiajam, kurią naudoti iš jų, dažniausiai nėra labai didelio skirtumo. Skirtumas pasijaučia tik tada, kai būna pasiektas tam tikras patirties lygis.
Prieš tai buvusi dalis: programavimo pagrindai (1 dalis)
Kita dalis: programavimo pagrindai (3 dalis)
21 Komentarai
T_N_Z
Idomu :O
Scout
Naudinga inforimacija
kritikas1
visai neblogas dalykas tokios programos ypač kaip nori pradėti kurti žaidimus bet nežinai kaip ta padaryti
R0y4L
Geriausia tj nuo Pascal pradet. Ismokti sintakse ir tada i VB persikelti…mum koledze deste tai labai lengva buvo…
Arvydas_D
koledze 😀 😀 nejuokink vaikeli
gor
nu man atrodo cia tik amerikiecei taip vadina mokyklas jis gal turejo omeni gimnazijoje:-]
unNamed
Arba jis Amerikos lietuvis…. c`mon…
Jei į temą tai…. pradedantiesiems gal ir nebloga info.
ProzacR
Mek tik tu galutinai pasirink viena kalba! Nes kai dabar kelias is karto tai kas nemoka nieko tiem viskas susimals i viena ir nezinos kur kuri. (!)
p.s. visvien dedu pliusiuka uz grazias pastangas ko nors kitus ismokyt. 😉
Mek
ProzacR taip tai gali nutikti… bet kita vertus, šiais rašiniais nebandau žmonių išmokyti programuoti viena kažkokia konkrečia kalba. Tiesiog bandau informaciją pateikti taip, kad ji tiktų betkokia kalbą besimokinant. Kad besimokantis žinotų, pagal kokius raktinius žodžius informacijos pasirinktos kalbos programavimo žinyne. O programuojančiam naudotis žinynu juk yra labai svarbu – tiek geriau pačiam sekasi tada programuoti kažką, tiek kitų akyse žmogus atrodo protingesnis ir savarankiškesnis, nelaksto po įvairius forumus ar pažįstamų neklausinėja kaip padaryti vieną ar kitą smulkmenėlę… Skirtingomis kalbomis pavyzdžiai reikalingi tam, kad žmogus sugebėtų atrasti skirtumus. O tai labai svarbu programavime, nes padeda geriau pastebėti savo padarytas klaidas.
Žinoma, realiai reikėtų apie kiekvieną kalbą panašius straipsnius parašyti ir tada gale kažkokį išvadų straipsnį padaryti… bet, deja, aš neturiu tiek daug laisvo laiko šiuo metu, kad galėčiau taip plėstis… Na, bet galbūt ateity atsiras žmonių, kurie apie savo mylimas kalbas parašys ką nors panašaus čia… 🙂
Šiaip ar taip, jei kas nori vienos kalbos ir nenori maišytis – gali žiūrėti tik į FreeBasic pavyzdžius – atrodo, kad jų beveik prie kiekvienos dalies yra… 🙂
ProzacR
Ziuriu tau prie sidies *Basic. 😀
Bet kad ir tu Basic pilna visokiu.
Siap tai pakisai minti as gal irgi parasysiu toki straipsneli. 😉
Crusaider
aha galetum su c++ tik pamokyti 🙂 nes dazniausia turbut naudojama.
g0tic
Nuostabi apzvalaga, bet visa tai(na netaip placia) mokina ir aiskina mokykloje per informatikos pamoka, nors irs viena pusmeti, tai nelabai matau isju tisklo 😐
priklausomai nuo ta ka reik padaryti atrodo.
seip reiktu lb didelio gido kad ismokinti kaska bent minimalei su viena ar kita klaba daryti. o apzvalaga apie programavimo kalba butu visai malonu isvisti, zmogaus kuriam tenko ju dauk ismeginti 🙂
pats dirbus su c++ nors pradejau nuo pasklio. bet vistiek manau kad geriause ismti jauti uz ragu ir iskarto pradeti mokintis nuo C++. galima rasti geru manulu ir lt kalba kur viskas paiskinama labai iskei ir nesudetingai.
ULUMULU
Biski noriu pridurti. Aisku visi sie straipsniai liux norint zmones apsviesti kas ir kaip mazdaug. Bet tai tik lasas vandenyne. Toliau uzstriko vienas dalykas. bet autoriui nereiktu taip tiesmukiskai kodo kopyti ir saitu, nes anas klaidingas. Pvz
Kodas
#include
int main(int argc, char *argv[]) {
int i = 5;
printf….
return 0;
}
O turetu buti:
#include return 0;
int main(int argc, char *argv[]) {
int i = 5;
std::cout<
}
1) stdio tai C kalbos seniena kuri nenaudojama.
2) Sisteminiai include rasosi be h raidziu kaip antai iostream o ne iostream.h
3) printf yra taip pat C seniena kuria pakeite std bibliotekos cout.
Vienzo kodas kaip kose. Bet siaip Autorius maladec kad sviecia zmones kas ir kaip 🙂
}(smart)
PS: Nereikia jokiu paskaliu. o po to c++. Jami ir eini tiesiai kur reikia. Griebi jauti uz ragu. Plius C++ kalba buvo kurta greicio sumetimais, kuri yra palyginus sunki ir labai neportatyvi. Bet norint vieno tenka aukoti kita. Sekmes kodinant .
Mek
(u) čia ne copy-paste šiaip 🙂 šiaip pats straipsnio autorius tai naudoja (jo supratimu tai patogiau už cout, cin… beto vis dar c++ kalboje veikia, nepaisant jog tai ištiesų seniena…) 🙂
g0tic
jo psvizdys yra c o tavo c++ . taigi sitas teksta ne profesionalams skitas o pradentiesems supazindinti su kalbom, koks skirtumas naudojama seniena ar ne.
beto jei jau toks gudrus kodel nedadejai use namespace std? tada prie cout nereiktu std rasyti.
ULUMULU
Mek viskas ore cia tik buvo pastebejimas. O tie patys „autoriai“ caro copy paste is niekam tikusiu knygu 🙂
To g0thic. O todel kad kad sitas namespacas cout yra naudojamas tik 1 ir dar karta 1 karta. todel nera reikalo kompyleri gruzinti visu std bloku. Ir siaip jai buciau kelis kartus naudoj cout, tai buciau virsuj programos parases tik usa namespase std::cout; o ne visa bloka kises 🙂
Nes gali iskilti problema. nes kai viskas sukisama i namespace gali netycia kuriant kokia funkcija ar metoda uzsirauti ant namespace esancio pavadinimo 🙂 Kad ir pvz atol ir pan. Ypac blogai yra naudoti „use namespase std“ dideliuose projektuose.
ProzacR
g0tic jei mokesi „Hello world“ parasyti visom pagrindinem kalbom ir dar + Microsofto kurtais muziejiniais eksponatais tai is to deja jokios naudos.
Pazindinimasis tai zinojimas kam kokios kalbos naudojamos.
Zhaltees
O jau iki „hello world“ daėjom 😀
Tolimas dar kelias iki žaidimo. Spėju sekančiam straipsnį jei mestels kokių algoritmų bus daug komentarų stiliuje „:-/“
ULUMULU
template
T GetMaxOfTwo (T a, T b) {
T result;
result = (a>b)? a : b;
return (result);
}
😕
Duanis
gal kas zino kada programavimo pagrindai (3 dalis) isvis dienos sviesa? 😀