Sunteți pe pagina 1din 6

++Seminar PCLP 2 C NOIUNI INTRODUCTIVE PRIVIND PROGRAMAREA CALCULATOARELOR 1.

Scopul lucrrii nsuirea cunotinelor de baz privind realizarea unui program de calculator 2. Consideraii teoretice 2.1. Programarea i re o!"area #ro$!eme!or Matematica lucreaz cu secvene logice de pai pentru rezolvarea problemelor i demonstrarea teoremelor. Atunci cnd ordonm un proces, l programm. Calculatorul este un dispozitiv programabil care poate pstra, regsi i procesa date. Astfel un program descrie aciunile care trebuie executate pentru a atinge un scop, un program de calculator descrie paii pe care trebuie s i execute calculatorul pentru a rezolva o problem. eci, un program de calculator este o list de instruciuni care trebuie urmate de calculator. Cum scriem un program? !entru a scrie un program trebuie s parcurgem dou faze" # rezolvarea problemei # realizarea sc$emei logice %algoritmul& de parcurgere al pailor de rezolvare a problemei # scrierea n limba'ul de programare a pailor de rezolvare. Faza de rezolvare a problemei (. Analiza nseamn nelegerea, definirea problemei) *. Algoritmul presupune stabilirea pailor care trebuie urmai pentru rezolvarea problemei) +. Scrierea programului este parcurgerea pailor algoritmului prin instruciuni sau comenzi ce s execute paii de rezolvare a problemei. ,alculatorul nu este inteligent. -l nu poate analiza problema i nu poate s dea o soluie. !rogramatorul trebuie s analizeze problema, s dea soluia i apoi s o comunice calculatorului. Avanta'ul folosirii calculatorului este c el rezolv problemele rapid eliberndu#ne de operaii repetitive i plictisitoare. !rogramatorul ncepe prin a analiza problema i a dezvolta o soluie general numit algoritm. .n exemplu de algoritm este calculul sumei care trebuie pltit unui salariat ntr#o sptmn. (. /tabilirea sumei pltite pe or de lucru *. eterminarea numrului de ore lucrate n timpul sptmnii +. ac numrul de ore este mai mic sau egal cu 01, se nmulete numrul de ore cu suma pltit pe or 0. ac numrul de ore depete 01, atunci se scade 01 din numrul de ore lucrate, iar diferena de ore se nmulete cu (,2 ori suma pltit pe or 2. Adun sumele de la punctele + i 0 i stabilete suma final. ,nd programatorul este satisfcut de algoritm, poate s l translateze ntr#un program scris ntr#un limbaj de programare. 3imba'ul de programare este un set de reguli, simboluri i cuvinte speciale folosite pentru a construi un program. 3imba'ul ,44 folosete cuvinte din limba englez i are un set strict de reguli de scriere i formulare a comenzilor. -xecuia programului este rularea programului pe calculator %5.6&. epanarea este faza de determinare i corectare a erorilor %,7M!83-&. 7 parte important a programrii este scrierea indicaiilor pentru utilizarea programului creat. Acesta este un text scris %instruciuni& destinat nelegerii de ctre utilizatorul programului scris de noi.

2.2 Ce e%&e 'n !im$a( )e #rogramare* !rogramatorii scriu instruciuni n diverse limba'e de programare, unele care sunt nelese n mod direct de calculator, altele care necesit mai muli pai de translatare. n prezent exist sute de limba'e de programare care pot fi mprite n trei tipuri generale" (. 3imba'e main *. 3imba'e de asamblare +. 3imba'e de nivel nalt

/ingura limb pe care calculatorul o poate nelege este un set primitiv de instruciuni numite limbaj main sau cod main. 2.+ Te,ni-i )e re o!"are a #ro$!eme!or n faza de rezolvare a unei probleme de programare va trebui s proiectm algoritmi. -ste important s ne punem ct mai multe ntrebri pn cnd nelegem exact ce avem de fcut. 5escriei problema cu propriile voastre cuvinte. ncercai s o descompunei n subprobleme individuale. Acest lucru v va a'uta s extragei componente mai uor de rezolvat. e asemenea, acest lucru v va a'uta s sintetizai mai uor algoritmul de rezolvare a problemei. E.er-i/ii0 (. /untei vizitat de un robot extraterestru si trebuie sa l nvai prin pai simpli cum s se prezinte n mod prietenos pmntenilor. escriei algoritmul prin pai simpli i secveniali, utiliznd pentru scrierea algoritmului expresii ct mai simple din limba romn %maxim 2 cuvinte9comand&. *. ezvoltai un algoritm ce calculeaz cat costa o anumita cantitate de bomboane comandate de la un automat de vnzare stradal. ,lientul trebuie sa aleag din urmtoarele categorii" # tipul de bomboane" A, :, , # cantitatea dorita n grame !reul tipurilor de bomboane difer astfel" A; * lei) :; + lei) ,; 0 lei. 3a o comand se poate cumpra un singur tip de bomboane. !57!.6-5- - 5-<73=A5!57>5AM Salutare /?A5? CB A@8/-A<A ACum te numesti M-M75-A<A numele transmis C A@8/-A<A Ancntat, eu m numesc 5* /?7!

!57>5AM Automat_Bomboane /?A5? A@8/-A<A ABomboanele disponibile sunt A=2lei B= lei C=!lei C"Alege tipul dorit M-M75-A<A in D C A@8/-A<A A"ntroduceti cantitatea dorita M-M75-A<A in E ,A3,.3-A<A ,7/?;DFE C A@8/-A<A A ,,7/?, "ntroduceti suma de bani #i$a =-58@8,A 7<-A<A A38M-6?-A<A /?7! 2.1. Structura unui program C++ !entru realizarea unui program n ,44 programatorul trebuie sa utilizeze comenzi recunoscute de ctre calculator utiliznd fiiere %denumite biblioteci& ce conin aceste comenzi ct i aciunile pe care le va executa calculatorul pentru fiecare comand. Exemple de fiiere tip bibliotec utilizate de ctre C++ iostream.h biblioteca generala de instruciuni pentru date de intrare/ieire; cmath.h biblioteca de instruciuni privind funcii matematice etc. mai multe detalii http://www.cplusplus.com/reference/clibrary/cmath/ @iecare program ,44 trebuie s conin o funcie principal care se numete main. Aceasta poate fi privit ca fiind corpul de instruciuni ce va conine toate celelalte funcii din program i va oferii soluia final. n limba'ul de programare ,44, toate programele sunt compuse din subprograme sau funcii. /ubprogramele se numesc #unc%ii, iar un program ,44 este o colecie de clase i funcii. Exemplu de program simplu n C++: #include <iostream.h main !" # cout<<$program e%emplu$; & Sintax i semantic de programare n C++ .n limba' de programare este un set de reguli, simboluri i cuvinte speciale folosite pentru a scrie un program. 5egulile sunt valabile att pentru sinta$ %gramatic&, ct i pentru semantic %semnificaie&. nclcarea oricrei reguli a limba'ului, de exemplu scrierea incorect a unui cuvnt sau uitarea unei virgule, pot genera erori de sinta$ %sGntax errors& i programul nu poate fi HnelesC pn nu vor fi corectate. 5ealizarea unui program scris n ,44 necesit parcurgerea a trei etape"

e)i&are I scrierea programului surs, cu a'utorul unui utilitar) -om#i!are I se aduce n memorie i se execut compilatorul ,44. Acesta determin calculatorul s citesc programul surs, s verifice existena posibilelor erori i s realizeze conversia acestui program n program obiect. e.e-'/ie I programul obiect este adus n memorie i lansat n execuie" se efectueaz citirea intrrilor, calculele i scrierea iesirilor. .n program are o parte declarativ ce descrie datele programului i o parte executabil care descrie aciunile executate asupra datelor. Mo)e!e )e #rogram n acest curs vom folosi abloane ca i exemple de construcii n limba'ul ,44. ,el mai frecvent vom folosi abloane asemntoare celui pentru funcia main"

Acest ablon arat c funcia main ncepe cu un cuvntul int urmat de cuvntul main i o perec$e de paranteze rotunde. !rima linie a oricrei funcii numete &eading sau antetul de descriere al funciei. Acest $eading este urmat de o acolad care marc$eaz nceputul unei liste de instruciuni %comenzi& # corpul #unc%iei. n final, acolada nc$is indic sfritul funciei. /fritul instruciunilor se face prin simbolul %)&. Prime!e -omen i 2n C++" COMANDA DE A3I4ARE PE ECRAN A UNUI MESA5. Are forma general"

coutJJ Ate$tul ce se dorete a #i a#iatC)


Aceast comand va afia mesa'ul folosind un format standard de scriere a cuvintelor i de poziionare pe ecran. ,uvntul c$eie cout este urmat de ctre simbolurile << iar ntre g$ilimele se va scrie mesa'ul pe care dorete programatorul s l afieze pe ecran. Exemple: cout << " ncepe programul "! cout <<" de c++"! cout <<" la laborator"! cout <<"#$! cout <<x! %ceste comenzi &or afia pe ecran urmtorul mesa':
ncepe programul de c++ la laborator "#$ x (&aloarea din memorie a lui x) poate fi orice*

O$%er"a/i -6 &e.&'! e%&e a7ia& #e 'n %ing'r r8n) i n' #e r8n)'ri )i7eri&e9 7peratori pentru editarea textului afiat pe ecran" n ,44 pentru trecerea la o nou linie de scriere pe ecran vom folosii Kn "

Ex: cout << "+rima propozitie.,n "! cout << "% doua propozitie.,n% treia propozitie."! +e ecran &a aprea scris sub forma: +rima propozitie. % doua propozitie. % treia propozitie. -ot pentru a scrie pe o nou linie pe ecran se poate folosii endl la sf.ritul comenzii. Ex: cout << "+rima propozitie./<< endl! cout << " % doua propozitie./<< endl! cout << " % treia propozitie./<< endl! 0ezultatul &a fi acelai. COMANDA DE INTRODUCERE DE DATE DE LA TASTATUR: Are forma general"

int D) cinLLD)

definim tipul de dat ce se introduce de la tastatur calculatorul va atepta date de la tastatur i le va memora n D

unde D este numele variabilei n care dorim s se memoreze ce introduce utilizatorul de la tastatur. Acest comand va memora datele de la tastatur numai dup ce s#a apasat pe tasta -nter. Exemplu: 11 program ce exemplific comenzile de intrare sau ieire de date 2include <iostream.h3 int main (* 4 int i! cout << " ntroduceti un numar intreg:1n "! cin 33 i! cout << "&aloarea introdusa de la tastatura este : 1n" << i! cout << " iar patratul acesteia este " << i5# << ".,n"! cin 33! 6 Comen&arii a('&6&oare e7e-&'a&e )e -6&re #rograma&or ,ompilatorul ,44 suport dou variante de a insera comentarii n program"

;; ;< =. <;

comentariu pentru o linie de program comentariu pentru un grup de linii de program

!rima variant este valabil pentru tot rndul n faa cruia apar acestea. A doua variant este activ ncepnd 9F i sfrind cu F9, astfel avem posibilitatea de a scrie comentarii mai lungi de o singura linie. E.er-i&ii0 (. /criei un program care s afieze pe ecran un mesa' ctre utilizator" Salut, 'rimul program in C((. ?extul va aprea pe linii diferite. Adugai comentarii n programul scris, explicnd fiecare linie de program. *. /criei un program in ,44 care sa converteasc n lei consumul de gaz din metrii cubi consumai. +. /criei un program care s converteasc o anumit sum de bani romneti n -.57 pentru un curs de referin de 0 576 pentru un -uro. +roblema ": 2include <iostream.h3 int main (* 4 cout << " /alut M/<< endl! cout << " !rimul program in ,44./<< endl! 6 +roblema #: 2include <iostream.h3 main (* 4 int i)s! cout << " ntroduceti metrii cubi de gaz consumat:1n "! cin 33 i! s7"58! cout << " suma de plata este de " <<s << " 09: ,n"! 6 +roblema ;: 2include <iostream.h3 int main (* 4 int i! cout << " ntroduceti suma pe care doriti sa o calculati:1n "! cin 33 i! cout << " echi&alentul sumei in E<09 este " << i58 << ".,n"! cin 33! 6

S-ar putea să vă placă și