Professional Documents
Culture Documents
Programozási Alapismeretek
Programozási Alapismeretek
Programozsialapismeretek
Tanulsitmutat
sszefoglals
Code::Blocks letltsi s teleptsi tudnivalk els tapasztalatok szerzse a
Code::Blockskrnyezetrlforrsfjl,futtathatkd
Kvetelmny
nllanmegoldhatfeladatok
{essz}
Aprogramksztsifolyamatlpseikzlsoroljonfllegalbbtt!
{/essz}
{essz}
Azalgoritmusfogalmt5fontoskijelentsselhatroztukmeg.Mikezek?
{/essz}
{essz}
Azalgoritmusmely3sszelltsimdjtemltettkazelzleckben?
{/essz}
Tartalomjegyzk
Fel
alap
AzelsCode::Blocksostapasztalatok
tetejre
ACode::Blocksmegszerzse
Afejlesztikrnyezetrlnhnyalapvettudnival
Telepts
Tapasztalatszerzs
Azelselindtskor
Atovbbilpsek
1.feladat
2.feladat
3.feladat
4.feladat
5.feladat
Tovbbihasznoskdolsiszoksok
data:text/htmlcharset=utf8,%3Cdiv%20class%3D%22utmutato%22%20style%3D%22padding%3A%200px%3B%20margin%3A%2030px%205px%200p
1/11
2015.03.16.
Programozsialapismeretek
Minimlisprograminformcikaforrskdban
6.feladat
Aprogramfejlesztskvetsnek
adminisztrlsa
7.feladat
AzelsCode::Blocksostapasztalatok
ACode::Blocksmegszerzse
Afejlesztikrnyezetrlnhnyalapvettudnival
neve:Code::Blocks
letlthelye:http://www.codeblocks.org
hasznlatijog:nyltforrskd,szabadonfelhasznlhat
lnyege:keretrendszer,amelysokfleplatformon(Windows,Mac,
Linux),elssorbanC++programozsinyelvhezbiztostknyelmes
programfejlesztsikrnyezetettbbflefordtprogramotkpesmagba
integrlni(javasolt:GNUGCC)lehetvteszinyomkvetrendszer
beplstsknyelmeshasznlatt(javasolt:GNUGDB)
szolgltatsai(tbbekkzt):tbbprogramegyidejszerkesztse
rugalmasanmdosthatszintaxiskiemels(syntaxhighlighting)
interaktvkdsgs(codecompletion)
Telepts
Windows krnyezetben (ez az ajnlott) a letlt anyag eleve tartalmazza az
ajnlottfordtprogramotsanyomkvetrendszert.Ateleptstermszetesen
rendszergazdai jogokat ignyel, de a sgja vgig vezeti a teleptt. Kb. 100
MB(megabjt)lemezterletetignyel.
Az elkvetkezkben a Windows krnyezetben fut Code::Blocks keretrendszerrl
leszsz.
Visszaatartalomjegyzkhez
Tapasztalatszerzs
Azelselindtskor
data:text/htmlcharset=utf8,%3Cdiv%20class%3D%22utmutato%22%20style%3D%22padding%3A%200px%3B%20margin%3A%2030px%205px%200p
2/11
2015.03.16.
Programozsialapismeretek
ACode::Blockselselindtsakortrtnikafordtprogramhozzrendelse.Ekkor
jelzi ki, hogy mely szmra felismerhet C vagy C++ fordtprogramok
tallhatkalemezen,svlasztsraknlja,hogymelyiklegyenafelttelezett.
ACode::Blockselsindtsakorfeltrkpezi,hogymilyenfordtprogramok
tallhatkaszmtgpen.
Atovbbilpsek
Projektltrehozsaazrtlnyeges,mertaltrehozandprogramtbbfjlblll
rendszert alkot. Pldul lehet tbbforrsfjl (C++ nyelv programot tartalmaz
fjl)is(legalbbegy,ltalbanmain.cppnevvan),amelyekblafordtprogram
kszt n. flig lefordtott, o kiterjeszts (n. object) fjl(okat), majd
a futathat kdot (teht a processzor szmra rthet gpi utastsokat)
tartalmaz, exe kiterjeszts fjlt. Hogy ez a sok fjl ne keveredjen se
egymssal, se ms programok fjljaival, kln, sajtos knyvtrrendszerbe
csoportostja a Code::Blocks. Tbbek kzt ennek lerst jelenti a projekt,
amelyetegyklnfjlban(cbpCodeBlocksProject)trol.
ACode::Blocksnyitkpernyje.
data:text/htmlcharset=utf8,%3Cdiv%20class%3D%22utmutato%22%20style%3D%22padding%3A%200px%3B%20margin%3A%2030px%205px%200p
3/11
2015.03.16.
Programozsialapismeretek
A Create a new project linkre kattintva, megjelenik egy vlasztk arrl, hogy
milyen alkalmazs elksztshez kell a projektet ltrehozni. A mi esetnkben ez
egyn.konzolalkalmazs(ConsoleApplication)lesz.
ACode::Blocksprojektflkvlasztka.
ACode::Blockskonzolalkalmazsprojektelsparamterezablaka.
data:text/htmlcharset=utf8,%3Cdiv%20class%3D%22utmutato%22%20style%3D%22padding%3A%200px%3B%20margin%3A%2030px%205px%200p
4/11
2015.03.16.
Programozsialapismeretek
ACode::Blockskonzolalkalmazsprojektelsparamterezablaka,kitltve.
ACode::Blockskonzolalkalmazsprojektmsodikparamterezablaka.
Az bra elrulja azt az rdekessget is, hogy md van ktfle clra fejleszteni a
programot. Fejleszts alatt j, ha a kd tartalmaz olyan informcikat is, amely
tmogatja a nyomkvet programot (debugger). Ennek a kdjai (futtathat s
data:text/htmlcharset=utf8,%3Cdiv%20class%3D%22utmutato%22%20style%3D%22padding%3A%200px%3B%20margin%3A%2030px%205px%200p
5/11
2015.03.16.
Programozsialapismeretek
ACode::Blockskonzolalkalmazsprojektablaka,aforrsprogramszerkesztskezdetn.
ACode::Blockskonzolalkalmazsprojektablaka,aforrsprogramszerkesztskezdetn.A
forrsablakkinyitsautn.
data:text/htmlcharset=utf8,%3Cdiv%20class%3D%22utmutato%22%20style%3D%22padding%3A%200px%3B%20margin%3A%2030px%205px%200p
6/11
2015.03.16.
Programozsialapismeretek
1.feladat
Nzzk meg, hogy ekkorra a munkaknyvtrunk szerkezete elvrsunknak
megfelelenalakulte,valaminthogymilyenfjlokattartalmaznak!Rajzoljukfela
kialakult knyvtrszerkezetet! rdemes az egyes fjlok tartalmt, valamilyen
egyszer szvegszerkesztvel (pl. jegyzettmb) bellrl is megnzni. Mit
tapasztalt, melyek tartalmaztak olvashat informcikat, melyek voltak
megfejthetetlenek?
Az ismerkeds utols lpseknt, nzzk meg, mit is csinl a gyri program!
A futtats kvetkezik: rkattintva a Build men Run menpontjra (vagy a zld
hromszgre)azalbbiablaknylikki.
ACode::Blocksindulsakor"felknltmintaprogram"fordtssfutsutn
(konzolalkalmazsvlasztsaesetn).
2.feladat
A bin/Debug knyvtrban keletkezett futtathat kdot (elsoprogram.exe)
kzvetlenl,azopercisrendszerbenisindtsukel!Mitapasztalhat?
3.feladat
A munkaknyvtron bell hny olyan fjlt tallt, amely nevben felismerhet a
projektneve(mostazelsoprogram)?
4.feladat
Keresse meg azt a menpontot, amellyel vlasztani tud az n. debug (azaz
fejlesztsalattll)sazn.release(vgleges)vltozatkztt!
Ugyemegtallta:Build+Select?
data:text/htmlcharset=utf8,%3Cdiv%20class%3D%22utmutato%22%20style%3D%22padding%3A%200px%3B%20margin%3A%2030px%205px%200p
7/11
2015.03.16.
Programozsialapismeretek
5.feladat
Trgykdknt(azaz futtathat kdknt) a vglegeset kivlasztva vgezze el az
jrafordtst! Ehhez hasznlja a Build+Rebuild menpontot! Ezutn vesse ssze a
kt(bin/Debugsbin/Release)knyvtrbeliexekmrett!
Tovbbihasznoskdolsiszoksok
A tovbbiak nem nlklzhetetlen tudni valkat jelentenek, de igen hasznos lesz
a ksbbi programfejlesztsi munklatok sorn. Az egyik ilyen kialaktand
szoks a program ksr informciinak elhelyezsre, a msik a tbb
lpcsbentrtnfejlesztsegyfajtatmogatsilehetsgrevonatkozik.
Minimlisprograminformcikaforrskdban
A programba clszer elhelyezni a szerzrl s a feladatrl nhny ismeretet. A
szerznevemellettEHAkdjt,emailcmt.Afeladatrlazinformlisszvegt,
snagyonjszolglatottehetaspecifikcija.
Mindezeket,
termszetesen,
a
forrsprogramba
n.kommentknt,
megjegyzsknt (azaz a fordtprogram szmra kihagyand informciknt)
illesszkbeaprogramnyitsoraigyannt.Pldulgy:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
//Nv:SzlviPter
//ETRAZONOST:SZPKAFT.ELTE
//MAIL:szlavip@elte.hu
//Feladat:ittaszveg
//ittaszvegfolytatsa,akrtbbsoronkeresztl
//Specifikci:
//Bemenet:ittaspecifikcibemenetirsze
//Kimenet:ittaspecifikcikimenetirsze
//Elfelttel:ittaspecifikcielfelttelirsze
//Utfelttel:ittaspecifikciutfelttellirsze
//Definci:ittaspecifikcidefincirsze
//
#include<iostream>
data:text/htmlcharset=utf8,%3Cdiv%20class%3D%22utmutato%22%20style%3D%22padding%3A%200px%3B%20margin%3A%2030px%205px%200p
8/11
2015.03.16.
Programozsialapismeretek
ACode::Blockssablonmentse.
data:text/htmlcharset=utf8,%3Cdiv%20class%3D%22utmutato%22%20style%3D%22padding%3A%200px%3B%20margin%3A%2030px%205px%200p
9/11
2015.03.16.
Programozsialapismeretek
ACode::Blockssablonbetltse.
6.feladat
Dertse ki, hova s milyen fjlok kerltek a sablon gyannt kimentsre!
Segtsgknt: az n szemlyhez ktd informcik kzt kell keresnie a
rendszerterleten!
Aprogramfejlesztskvetsnekadminisztrlsa
A programfejleszts, ha csak a kdolssal sszefgg rsztevkenysgre
gondolunk, akkor is tbb fordult ignyl tevkenysg. Annak rdekben, hogy
egyegy flbe hagyott fejlesztsi lps torz ne maradjon, rdemes
emlkeztetket elhelyezni magban a kdba. Ehhez az hajunkhoz is nyjt
segdkezet a keretrendszer az n. TODOkkal. A TODO, azaz to do (magyarul
teend, megcsinland) nem ms, mint egy specilis kommentfajta a
forrskdban. Alakja: {forraskodbe}//TODO az emlkeztet szveg
{/forraskodbe}
Egy tipikus programdarab, amelyet az elbbi sablon bvtsvel nyertnk (s
sablonkntmentettnkki),azalbbi:
data:text/htmlcharset=utf8,%3Cdiv%20class%3D%22utmutato%22%20style%3D%22padding%3A%200px%3B%20margin%3A%2030px%205px%200
10/11
2015.03.16.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Programozsialapismeretek
//Nv:SzlviPter
//ETRAZONOST:SZPKAFT.ELTE
//MAIL:szlavip@elte.hu
//Feladat:ittaszveg
//ittaszvegfolytatsa,akrtbbsoronkeresztl
//Specifikci:
//Bemenet:ittaspecifikcibemenetirsze
//Kimenet:ittaspecifikcikimenetirsze
//Elfelttel:ittaspecifikcielfelttelirsze
//Utfelttel:ittaspecifikciutfelttellirsze
//Definci:ittaspecifikcidefincirsze
//
//TODOafeladatszvegkitltse
//TODOaspecifikcimegalkotsa
//TODO
//
#include<iostream>
cout<<"N:";cin>>N;//TODOellenrzsselbvtendabeolvass
for(inti=0;i<N;++i)//TODOaciklusszervezsmgmeggondoland
{
data:text/htmlcharset=utf8,%3Cdiv%20class%3D%22utmutato%22%20style%3D%22padding%3A%200px%3B%20margin%3A%2030px%205px%200
11/11