Ikomeza rya Menya programmation muri C++ - Résumé des forces du C++
Page 2 of 2
Résumé des forces du C++- Ninziza nkuko twabibonye,iri muri langage zikoreshwa cyane kuri iyi si.dushobora kubona documentation zihagije kuri internet kandi tukaba twabona ubufasha bworoshye kuri za forums.hari n’abantu beza bandika za tutos kubantangira.
- Irihuta kandi cyane rwose niyo langage iba ikenewe kugirango amaprograme akozwe abe afire kwihuta kwiza kandi akora neza.nkurugero nka Jeux video,cyangwa mubyuma bajya bakoresha Abasikikare mugihe cy’intambara.
- Ninziza kubera ushobora kuyijyana aho ushaka kuko nka code zayo ushobora kuzihinduramo programme wakoresha muri windows,Mac OSet Linux muburyo buri theorique nta kindi kibazo ntabindi bigoranye ukoresheje!
- Hari Amashakiro menshi ya C++ etc.
- Ni multi-paradigme (ehee!).iryo jambo rivuga ko ushobora gu programa uburyo bwinshi butandukanye muri C++.ariko muracyari gutangira kugirango mpite mbabwira tekinike za programation ariko imwe murizo niyo bita « Programmation Orientée Objet(POO)”ni tekinike idufasha kugabanya uko ama code ateye kandi ikabyoroshya ikanoroshya ama code amwe namwe yongeye gukoreshwa !
Ndacyeka twabyumvishe twese,C++ ntabwo ari langage izetazenguruka ,nayo ifite intege nke nkizindi langage,dushobora kuvuga zimwe murizo :mugomba kugira contrôle kuri mudasobwa yanyu no kuri mémoire yanyu ya mudasobwa,nicyo gikomeye mushobora kwica byoroshye programme yanyu muburyo bworoshye.ariko nti mugire ubwoba tuzabibona uko tuzagenda tubyiga muriri somo…..
Petit aperçu du C++
Kugirango mbahe igitekerezo kubyo tugiye gukora,reba programme yoroshye izagaragaza buno butumwa » Amakuru yanyu»muri ecran yanyu.Izo nizimwe mu ma code source tuziga mw’isomo rikurikira
Code : C++ - Sélectionner
1 2 3 4 5 6 7 8 9 | #include <iostream> using namespace std; int main() { cout << "Amakuru yanyu!" << endl; return 0; } |
La petite histoire du C++
Programation ifite amateka maremare ,mbere nta clavier zabagaho kugirango ba programme bakoreshaga cartes perforees nkiyi ikurikira kugirango batange amategeko(Instruction).Nkaba nababwira ko byari birebire rwose !
De l'Algol au C++
Ariko ibintu byatangi kujya bigenda bizamuka .Clavier na langage ya programation byaje kuboneka :
- 1958 :hashize igihe mubihe bya kera za Mudasobwa zapimaga ama toni zishobora kuba zanga n’amazu yanyu batangiye gukora langage de programation appele l’Algol.
- 1960-1970 :Ibintu byatangiye kugenda bizamuka batangira gukora ndindi langage nshya yitwa CPL nayo izo kongerwa iba BCPL,maze iza kwitwa Langage B(Ariko ntabwo mutegetswe gufata ibi mu mutwe sibyo !!!).
- 1970 : Nuko rero iminsi yaje kuza mza hakorwa langege yitwa C yitwaga Langage C.Iyo langage yako mbaga guhindirwa gakeya ariko nanubu iracyakoreshwa cyane kandi.
- 1983 : Mugihe cyakurikiye batekereje kongera ibintu muri langage C kugirango ibashe kuba kurwego ruhambaye iyo langage yaje kwita C++ KUKO yari ifite ibyo ihuriyeho na C nka POO ,Polymorphisme,flux nibindi…
- Muri make ibintu bikomeye ubu ariko tugiye kurebera hamwe mu bikurikira !
Akabazo ese niba C++ yaravuye kuri C kuki hari abantu bagikoresha C langage ??
Ntabwo abantu bose bakeneye ibyiyongereye kugirango haboneke C++.Ckugirango ubashe kuba wamenyaa byinshi kuri Linux,Mac OS na Windows.
Ariko abadasha ibigezweho cg ibikomeye byazamye na C++baba bishimiye C+,bitewe n’imyaka yabo bibaza ukuntu langage ishobora gusaza !!!!
Partie ya kabili !!!!!!!!!!!!!!!!!!!!!
Les logiciels nécessaires pour programmer
Kugeza ubu noneho twese byinshi kuri C++,ese dushobora gutangira gukora pratique????Yego nibyo rwose :rero ntabwo dushobora gu programa tutigeze twe installa amaprograme meza yo gukoreramo !!muri makeya ama programme meza mugukora programme ukoresheje C++.
Muriri somo tura installa turebere nibindi kuzizo
Maintenant que l'on en sait un peu plus sur le C++, si on commençait à pratiquer ?
mwihangane :mu masomo ataha dushobora gutangira gu programmer !!
Les outils nécessaires au programmeur
None kugitekerezo cyanyu nibihe twakwifashisha mugu programmer ???
Niba mwakurikiye neza Amasomo yabanje mwagombye kuba mwamenya imwe nibura!!!
Murabona ibyo mvuga se??
Rwose ndacyeka oyaaa!!!!
Yego hari icyo bita Compilateur(Compile),izajya idufasha kuba twahindura langage za C++ muri langage binaire !!
Nkuko nigeze kubibabwira mu masomo yabanjije hari compilateur(compile)nyinsi kuri langage C++.tugiye kureba iyo twahitamo gukoresha kandi idakomeye ku kigero cyacu.
Nibihe bindi tuzakenera ??
Ntabwo natuma mutekereza igihe kirekire ngibi ibyangombwa bikenewe kugirango ube programmeur :
Un éditeur de texte(Edit)yo kugirango wandikemo ama code source ya programmmer muri C++
- Un compilateur ihindura (« compiler « )kode source zawe muri binaire
- Un débugger igufasha gukura amakosa aba yabonetse muri porogaramu yawe(ariko nyine kugeza ubu ntabwo turabasha kuba twakora icyo twakwita « correcteur »,yazajya idufasha ikuramo ayo makosa
A priori, si vous êtes un casse-cou de l'extrême, vous pourriez vous passer de débugger. Mais bon, je sais pertinemment que dans moins de 5 minutes vous reviendrez en pleurnichant me demander où on peut trouver un débugger qui marche bien.
Guhera ubu dufite uburyo bubiri :
A partir de maintenant on a 2 possibilités :
- Soit on récupère chacun de ces 3 programmes séparément. C'est la méthode la plus compliquée, mais elle fonctionne. Sous Linux en particulier, bon nombre de programmeurs préfèrent utiliser ces 3 programmes séparément. Je ne détaillerai pas cette méthode ici, je vais plutôt vous parler de la méthode simple.
- Soit on utilise un programme "3-en-1" (comme les liquides vaisselle, oui oui) qui combine éditeur de texte, compilateur et débugger. Ces programmes "3-en-1" sont appelés IDE (ou en français "EDI" pour "Environnement de développement intégré").
Il existe plusieurs environnements de développement. Vous aurez peut-être un peu de mal à choisir celui qui vous plaît au début. Une chose est sûre en tout cas: vous pouvez faire n'importe quel type de programme, quel que soit l'IDE que vous choisissez.
IBINDI BIRACYAZA BRO…..
Code::Blocks (Windows, Mac OS, Linux)
Code::Blocks NI IDE libre kandi y’ubuntu,ishobora kuboneka ku ma Windows,Mac na Linux.
Code::Blocks ubu ishobora kuba yaboneka mu rulimi rw’icyongereza gusa.ariko ntabwo byababuza kuyikoresha.tuzakoresha Menu cyane
Mu menye cyane ko mugihe mukora porogarame yanyu muzahura cyane n’ibitabo byanditse mu rulimi rw’icyongereza niyo mpamvu twagombye gutangira kwitoza uru rulimi.
Télécharger Code::Blocks
Duhurire ku rubuga dukuraho amacode yacu hano sur la page de téléchargements de Code::Blocks.- Niba mufite windows mu manuke hasi mu teresharije logisiyele(logiciel)mufata porogaramu ifite mingw mwizina(urugero : codeblocks-10.05mingw-setup.exe).izindi verisiyo(version ntabwo muzabona neza uko mwa kompayira(compile) porogaramu yanyu).
- Niba mufite LINUX,ibyiza nuko mwa kwenstara Code::Blocks
- Niba dukoresha nbyiza ko twakoresha Code::Blocks (hamwe na commande apt-get dukoresheje Ubuntu). Bizagusaba ku installa compilateur kuruhande hamw e na IDE yaweIl vous faudra aussi installer le compilateur à part : c'est le paquet build-essential.
apt-get install build-essential codeblocks - Niba mukoresha Mc,muhitemo fichier yambere kuri liste (urugero : : codeblocks-10.05-p2-mac.zip )
- Ndacyavuga hejuru ko niba mukoresha windows mugomba guteresharija version ifite mingw mwizina rya porogaramu ya instalation.ni mufata version itari nziza ntabwo muzabasha gu kompayira porogaramu yanyu ….
Dufite ama section mw’idirishya dufite hejuru agiye ariho imibare ku ifoto iri hejuru :
- La barre d'outils :ifite buto nyinshi ariko ninkeya tuzabasha kujya dukoresha ,tuzabigarukaho mu bice bikurikira.
- La liste des fichiers du projet :Ni iruhande w’iburyo hagaragara ama fishiye yose ya porogaramu.Impamvu twe ntacyo tubonamo nuko nta poroje twari twakora.muraza kuboba hariya harimo ikintu nko mu minota 5 nidukomeza gusoma ibikurikira muriri somo.
- principale :Aha niho mushobora kwandika code zanyu muri langage C++ !
- La zone de notification : Yitwa nanone « Zone de la mort »,aha niho muzabona amakosa ari muri porogaramu yanyu igihe mumaze gu kompayira(compile) akerekana aho amakosa ari….ibyo bikunda kuza ariko ntibyabatera ubwoba !!!!
Noneho ubu tugiye kwita kuyo bita barre d’outils.Muzahabona ama buto akurikira gutya akurikirana”compile”,Execute”,”Compiler & Executer” et “Tout recompiler”.mubifate tuzabikoresha cyane kandi kenshi.- Compiler :amafishiye yose ya projet yawe yoherezwa kuri kommpirateri(compilateur)izayahindura executable.niba harimo amakosa ntabwo izakomeza gukora ahubwo izakwereka hasi muri Code::Blocks amakosa arimo maze ubashe kuyahindura
- Exécuter :aka kabuto ko kerekana executable yanyuma mugomba gu kompayira(compile).iyi izabafasha kugerageza kureba porogaramu yanyu niba ikora neza ,ariko niba mwakurikiye neza tugomba kubanza gu kompayira(compile) maze tu executants kugirango turebe niba bikunze dushobora gukoresha na buto ya 3.
- Compiler & Exécuter : Ntabwo bisaba ubuhanga bwinshi kugirango umenye impamvu buto ibyeri zabanjije zifatanye.ahubwo niyi buto muzakoresha igihe kirekire kandi kenshi.ikabereka niba hari amakosa muri porogaramu yanyu igihe mumaze gu kompayira(compile)kugira ngo murebe uko muyakosora
- Tout reconstruire :iyi buto tuyikoresha mugi mumaze gu kompayira ,ariko ntabwo ikompayira ibyo wahinduye gusa ahubwo ikora byose,turaza kubona impamvu dukenera iriya buto ,kuriyi saha reka twige bie bikenewe kugirango tutaza kubivanga .iyi buto ntacyo iri budufashe muri aka kanya.
- Ndabagira inama yo gukoresha uburyo bwahafi bwo gukanda kuri buto kuko nibyo dukunda gukoresha kenshi.Mufate ko ushobora gukanda kuri F9 ushaka " Compiler & Exécuter ".
- Gukora projet Nshyashya
Gukora projet nshyashya biroroshye :jya kuri menu File/New/Project.Mu idirishya rirafunguka toranya "Console application" :
Nkuko mubibona Code::Blocks irabasaba ingero za bibiotheque mushaka gukoresha nkizi SDL(2D),OpenGL(3D),Qt hamwe na wxWidgets (Fenêtres) nibindi……kuri ubu ayo ma dirishya nayo kuyigira nziza kuko bibiotheques ntabwo ziri installe kuri mudasombwa yanyu rero ntabwo byabasha kugenda neza.
Tuzabasha gukoresha ayo ma type yanyu mubihe biri imbere..mbere yaho rero tugendere kuri "Console", kuko ntabwo mwari mwagera ku rwego rwo kuba mwakoresha ayo ma type yandi ya porogarame.
Kanda kuri "Go" kugirango utangire poroje yawe…mukanya irahita ifunguka Maze ukore "Next",urupapuro rwa mbere ntacyo rudufasha.
Barababaza niba mugiye gukora C cyangwa C++ :usubize C+++.
Barahita bababaza izina rya poroje yanyu mugiye gutangira kandi no muyihe dosiye mushaka kuyishyiramo :
Mukurangiza,urupapuro rwa mbere rurabafasha guhitamo uburyo porogaramu yanyu izaba kompayire(compile).muzareka iryo hitamo murirekere uko bimeze(par defaut) ntangaruka mbi bizagira kubyo tugiye gukora ubu ngubu (reba niba "Debug" ou "Release"niba zihiro akantu kereka ko ziri gukora)
Kanda kuri "Finish", nibyiza !!!!
Code::Blocks izagukorera poroje yawe yambere hamwe nudu code dutoya mo imbere
Muruhande rw’ibumoso "Projects",tangira ukanda kuri ka + kugirango yerekane dosiye zose zihari.mugomba kugira nibura main.cpp yo mushobora gukandaho nibura inshuro ebyi igahita ifunguka .
Nibyo !!!!!
Le monde merveilleux de la console
Nintangira kubabwira ko tugiye gutangira gu programma,murishima cyane !!!!,ese nshobora kubikora koko ????nabirose inshuro nyinshi nange kuba nabikora » .nahange ho kuba nabikwereka kuburyo tuzajya tubikora.
Tugiye gutangira gahoro gahoro.Ntabwo turahitamo kuko programme zikomeye 3D(Troi dimension)nkuko mwabitekereza
Ningombwa kumenya ko hari ibice bibiri bya programme :hari programme graphiques hamwe na programme console.
Les programmes graphiques
Ni ama programme yerekana neza uburyo umuntu akora hagafunguka amadirishya menshi yo gukoreramo.niyo mushobora kuba muzi cyane.ifungura amadirishya ushobora kuba wagabanya,wagira manini,wafunga,….
Ama programme avuga kuri GUI(Graphical User Interface - Interface Utilisateur Graphique)
Iyi ni programme ya GUI (graphique) : Word
Les programmes console
Les programmes en ziboneka cyane kuri LINUX kurusha kuri Windows hamwe na Mac OS X.zigizwe n’agambo makeya agaragara muri ecran,rimwe na rimwe mu ikureri ry’umukara.
Iyi ni programme iri console
Iyi programme ikora kuri clavier.Imbeba nto ikoreshwa.
Yigaragaza neza :ubutumwa bukiyerekana buhereye hejuru bujya hasi.
Intego yacu yambere: les programmes console
Yego rwose natekerezagako ibi bishobora kugera ano !!!!
Nagirango mbabwire ko tugiye gutangira gukora programme console.Muri make rwose izo programme ziroroshye kuzikora nk’abatangizi ba programation nibngombwa ko dutangirira hariya.
Twabyumvishe neza twese,nziko mudashaka kuguma hano.ize yi ngingo,ndumva nshaka kurekeraho gukora programme console kuko nziko mwese mushobora kuba mwikundira programme graphiques.bije neza ..igice kinini cyiri somo cyaraba ari ugukora GUI hamwe na extension ya C++ idufasha gukora programme !!!
Ariko mbere yaha tugomba gutangi akazi rero…..Areeee akazi keza rero !
Gukora no gutangira Poroje yawe nshyanshya
Mw’isomo ryabanjije ,mwa instaye IDE,ni porogarame ifite byose turi buze gukenera
Mu gukora programme zacu.
Twabonyeko hari IDE nyinshi(Code::Blocks, Visual C++, Xcode...)Nabashije kubabwire izizwi cyane ariko bitavuzeko hari n’izindi nyinshi…..
Nkuko nabibabwiye nkoresha Code::Blocks.Ibisobanuro byange biraza bigendeye kuri iyo IDE,ariko nshobora kuzagaruka kuzindi IDE nibiba ngombwa,,nubwo byose ari kimwe kuko bikoresha indimi zimwe ,vacabulaire zimwe,mbese muzasanga mutatakaye rwose.
Gutangira projet yawe
Kugirango dutangire programation,ingingo yambere ni ugusaba IDE yacu Projet nshya.ni nkuko musanzwe mubikora muri Word mukora document nshya.
Kuri ibyo murajya kuri Menu File/New/Projet : Mugihe gitoya gishoboka iraba ifungutse nkuko twabibonye mungingo zabanjirije.Gkora programme console nshya C++ nkuko twagiye tubibona.
Nyuma yibyo ,proje yawe irahita yifungura.
Birakomeza nurangiza ukande ibumoso urebe fichier yitwa main.cpp ihari maze uyikandeho inshuro ebyi(double-click) hejuru kugirango uyifungure.iyo fchier niyo source code yacu yambere
Code::Blocks yabakoreye programme ntoya yoroshye yerekana message « Hello world ! » kuri ecran yacu(Bishatse kuvuga ngo Mwaramutse mwese!)
Hari imirongo myinshi y’ama code source C++ ariko ntabwo mbyumva neza !!!
Yego rwose bishobora kugukomerera ari ubwa mbere ariko turaza kubona icyo iyo code ivuga mubihe biza gukurikira.
Gutangira Programme
Kuri ubu ndashaka ko muhitamo ibyoroshye :gerageza gu kompayira(Compile) maze utangire yawe yambere.ndu mwibuka ukuntu babikora ??Hari bouto »Compile na Executer »(Build and run).Iyo buto iherereye kuri barre d’outils muri yi section
Compile tugiye kiyitangira.muraza kubona ubutumwa bwiyandika hasi kuri IDE yacu kuri section Build log).
Niba compilation idakora neza nuko mushobora kuba ufitemo ikosa rimeze gutya
Code :code Selectionner
"My-program - Release" uses an invalid compiler. Skipping...
Nothing to be done.
Ibi bivuze ko mwa telecharge version ya code::Blocks nta mingw(Le compilateur)garuka kuri site y’ama code Blocks kugirango u telecharger indi iri kumwe na mingw.
niba byose twabikoze neza programme console iraza gutya..
Murabona ko programme igaragara ari “Hello world !” muri console!
Sibyiza se?ubu murangije gu Compile programme yanyu yambere!!!???
Fishiye yawe iri executable ubu iri kuri disk dur yawe.kuri Windows,ni fichier iriho .exe. ushobora kuyibona muri sous dossier release(cyangwa debug)iri muri dossir ya projet yawe.
Ese ubutumwa mu mpera ya console :
Process returnned 0(0x0) execution time :0.004 s Press any key to continue.?
Aha ikibazo kiza cyane !!!
Ubwo butumwa ntabwo buba bwanditswe na programme yawe cyangwa IDE .ahubwo ni Code::Blocks yerekana ubwo butumwa ishaka kwerekana ko programme yagenze neza kandi ikige cyayo cyo kurangira cyagenze neza.
Intego ya Code::Blocks niyo kugumisha console ifunguye.ariko nyine kuri Windows mugihe rero programme console irangiye ninabwo idirishya rya console ryifunga.Ariko programme mugihe ifunguwe mu ma segonda 0.004 ntabwo mushobora kubona igihe cyo kubona ubwo butumwa kuri mudasobwa yanyu.
Code::Blocks ibabwira kuba mwa kora kuri buto iyo ariyo yose musha kugirango mukomeze »,nicyo gituma console ibasha kuba yafunga.
Igihe mu compile hamwe no ku executer programme”console” hamwe na Visual C++,console iba isha kugufuka ariko mugihe gito igahita yongera igahita ifunga.Visual C++ ntabwo yo iba ishaka ko console iba burigihe ifunguye nka Code::Blocks.
Igisubizo nukongeraho imirongo ya systeme(“PAUSE”);mbere yuko haba return 0;ya programme yanyu nimukoresha Visual C++.
Ibisobanuro bya code source yawe yambere
Igihe Code::Blocks yakoze projet nshyashya ikora fishiye main.cpp ifite izo code :
Code : C++ - Sélectionner
1
2
3
4
5
6
7
8
9#include <iostream>
using namespace std;
int main()
{
cout << "Hello world!" << endl;
return 0;
}
Ama IDE yose asaba gutangirira kuri code zisa.ibyo bidufasha gutangira programme muburyo bwihuse.
Muzasanga imirongo yanyu yambere isa (include, using namespace et int main) muri C++.muzabona ko programme zose zanyu zizaba zitangirwa niyo mirongo.
Tutinjiye mu bintu byinshi(bishobora kutuvuna cyane mugihe cyo gutangira !!!)ngiye kubereka akamaro ka buri kimenyetso cya buri murongo.muzabibona cyane cyane muri programme zanyu.
include
Umurongo wambere uba ari :
Code : C++ - Sélectionner
1 #include <iostream>
Nibyo twita directive de prepocesseur.Umumaro wayo ni ugu chargant fonctionalites za C++ kugirango tubashe kuba twakora ibikorw bimwe na bimwe.
Muri make C++ ni language iri modulaire.ariko ntakintu ubwayo iba izi gukora gihambaye(ndetse no kuba ya kwerekana ubutumwa kuri mudasobwa yanyu !!)tugomba gukoresha ama extension twita bibliotheques ziduha uburyo bwinshi butandukanye.
Aha dukoresha fichier yitwa iostream,niyo idufasha gukoresha bibliotheque…kuba yakwerekana ubutumwa kuri mudasbwa yacu kuri console !nkuko mubibona biroroshye kuba twakoresha bibliotheques.
Uhamagara iostream idufasha kuba twaza kuba twakwerekana ubutumwa kuri mudasobwa yacu(fait de faire un peu plus que d'afficher des messages à l'écran).
Iostream ivuga « Input Output Stream »,ivuga « Flux yo kwinjira no gusohoka ».kuri mudasobwa kwinjiza bivuze muri rusange clavier cyangwa souris, naho gusohoka bishatse kuvuga kubyerekana muri ecran.Include iostream muri make idufasha kuba twahinduranya ibisabwa hamwe nukoresha mudasobwa.
Mugihe gito tuzabona izindi bibliotheques zizadufasha.
Icyitonderwa tumenyeko ushobora guhindura bibliotheques igihe ushakiye
using namespace
Umurongo :
Code : C++ - Sélectionner
1 using namespace std;
…idufasha kuba twamenya aho fichier yacu iri bujye.
Iyo mukoresheje bibliotheques nyinshi,burimwe izaba isaba ama fonctionlite menshi.rimwe na rimwe rero fonctionalite nazo ziba zifite amazina.mwibaze namwe commande “AfficheMessage” yitwa iostre.Rero nimukoresha bibliotheques ebyiri mugihe kimwe maze mwarangiza mugahamagara “Affiche Message” mudasobwa ntabwo izamenya niba izabyerekana muri console cyangwa iostream cyangwa nanone muri idirishya(fenetre)rya Qt!
Kugirango tubashe kuba twakemura icyi kibazo ,twabashije gukora namespaces(Umwanya w’amazina).umurongo namespaces std ; ivugako mugiye gukoresha umwanya w’amazina std ;muri fichier ya code yawe.Uwo mwanya w’amazina urazwi cyane umeze nka bibliotheques standard(std),bibliotheques izana na language C++.
int main()
Aha rero niho hatangirira neza nk’umutima wa programme.Ama programme muraza kuyabona aba afite ibyo bita fonctions.buri fonctios iba ifite umumro wayo ashobora kujya ahamagara ayandi kugirango akore ibyo ashimwe.
Ama programme yose aba afite fonction yitwa «main »(bavuga mu cyongereza « meine »,bishatse kuvuga « principale ».mbese ni fonction iri principale.
Fonction iba imeze gutya :
Code : C++ - Sélectionner
1
2
3
4int main()
{
}
Bishatse kuvugako twandika programe yacu muri function main?
Oya! Nkuko byashoboka,bizagorana kuba yabasha.