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 rezolvarea problemelor 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. Deci, un program de calculator este o list de instruciuni care trebuie urmate de calculator. Cum scriem un program? Pentru a scrie un program trebuie s parcurgem dou faze: - rezolvarea problemei - realizarea schemei logice (algoritmul) de parcurgere al pailor de rezolvare a problemei - scrierea n limbajul de programare a pailor de rezolvare. Faza de rezolvare a problemei 1. Analiza nseamn nelegerea, definirea problemei; 2. Algoritmul presupune stabilirea pailor care trebuie urmai pentru rezolvarea problemei; 3. Scrierea programului este parcurgerea pailor algoritmului prin instruciuni sau comenzi ce s execute paii de rezolvare a problemei. Calculatorul nu este inteligent. El nu poate analiza problema i nu poate s dea o soluie. Programatorul trebuie s analizeze problema, s dea soluia i apoi s o comunice calculatorului. Avantajul folosirii calculatorului este c el rezolv problemele rapid eliberndu-ne de operaii repetitive i plictisitoare. Programatorul ncepe prin a analiza problema i a dezvolta o soluie general numit algoritm. Un exemplu de algoritm este calculul sumei care trebuie pltit unui salariat ntr-o sptmn. 1. Stabilirea sumei pltite pe or de lucru 2. Determinarea numrului de ore lucrate n timpul sptmnii 3. Dac numrul de ore este mai mic sau egal cu 40, se nmulete numrul de ore cu suma pltit pe or 4. Dac numrul de ore depete 40, atunci se scade 40 din numrul de ore lucrate, iar diferena de ore se nmulete cu 1,5 ori suma pltit pe or 5. Adun sumele de la punctele 3 i 4 i stabilete suma final. Cnd programatorul este satisfcut de algoritm, poate s l translateze ntr-un program scris ntr-un limbaj de programare. Limbajul de programare este un set de reguli, simboluri i cuvinte speciale folosite pentru a construi un program. Limbajul C++ folosete cuvinte din limba englez i are un set strict de reguli de scriere i formulare a comenzilor. Execuia programului este rularea programului pe calculator (RUN). Depanarea este faza de determinare i corectare a erorilor (COMPILE). O 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 este un limbaj de programare? Programatorii scriu instruciuni n diverse limbaje de programare, unele care sunt nelese n mod direct de calculator, altele care necesit mai muli pai de translatare. n prezent exist sute de limbaje de programare care pot fi mprite n trei tipuri generale: 1. Limbaje main 2. Limbaje de asamblare 3. Limbaje de nivel nalt

Singura limb pe care calculatorul o poate nelege este un set primitiv de instruciuni numite limbaj main sau cod main. 2.3 Tehnici de rezolvare a problemelor n faza de rezolvare a unei probleme de programare va trebui s proiectm algoritmi. Este important s ne punem ct mai multe ntrebri pn cnd nelegem exact ce avem de fcut. Rescriei problema cu propriile voastre cuvinte. ncercai s o descompunei n subprobleme individuale. Acest lucru v va ajuta s extragei componente mai uor de rezolvat. De asemenea, acest lucru v va ajuta s sintetizai mai uor algoritmul de rezolvare a problemei. Exerciii: 1. Suntei vizitat de un robot extraterestru si trebuie sa l nvai prin pai simpli cum s se prezinte n mod prietenos pmntenilor. Descriei algoritmul prin pai simpli i secveniali, utiliznd pentru scrierea algoritmului expresii ct mai simple din limba romn (maxim 5 cuvinte/comand). 2. Dezvoltai un algoritm ce calculeaz cat costa o anumita cantitate de bomboane comandate de la un automat de vnzare stradal. Clientul trebuie sa aleag din urmtoarele categorii: - tipul de bomboane: A, B, C - cantitatea dorita n grame Preul tipurilor de bomboane difer astfel: A= 2 lei; B= 3 lei; C= 4 lei. La o comand se poate cumpra un singur tip de bomboane. PROPUNERE DE REZOLVARE PROGRAM Salutare START ? AFISEAZA Cum te numesti MEMOREAZA numele transmis AFISEAZA ncntat, eu m numesc R2 STOP

PROGRAM Automat_Bomboane START AFISEAZA Bomboanele disponibile sunt A=2lei B=3lei C=4lei :Alege tipul dorit MEMOREAZA in X AFISEAZA Introduceti cantitatea dorita MEMOREAZA in Y CALCULEAZA COST=X*Y AFISEAZA ,COST, Introduceti suma de bani fixa VERIFICA DOZEAZA ALIMENTEAZA STOP 2.4. Structura unui program C++ Pentru realizarea unui program n C++ 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/ Fiecare program C++ 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 limbajul de programare C++, toate programele sunt compuse din subprograme sau funcii. Subprogramele se numesc funcii, iar un program C++ este o colecie de clase i funcii. Exemplu de program simplu n C++: #include <iostream.h> main () { cout<<program exemplu; } Sintax i semantic de programare n C++ Un limbaj de programare este un set de reguli, simboluri i cuvinte speciale folosite pentru a scrie un program. Regulile sunt valabile att pentru sintax (gramatic), ct i pentru semantic (semnificaie). nclcarea oricrei reguli a limbajului, de exemplu scrierea incorect a unui cuvnt sau uitarea unei virgule, pot genera erori de sintax (syntax errors) i programul nu poate fi neles pn nu vor fi corectate. Realizarea unui program scris n C++ necesit parcurgerea a trei etape:

editare scrierea programului surs, cu ajutorul unui utilitar; compilare se aduce n memorie i se execut compilatorul C++. Acesta determin calculatorul s citesc programul surs, s verifice existena posibilelor erori i s realizeze conversia acestui program n program obiect. execuie programul obiect este adus n memorie i lansat n execuie: se efectueaz citirea intrrilor, calculele i scrierea iesirilor. Un program are o parte declarativ ce descrie datele programului i o parte executabil care descrie aciunile executate asupra datelor. Modele de program n acest curs vom folosi abloane ca i exemple de construcii n limbajul C++. Cel 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 pereche de paranteze rotunde. Prima linie a oricrei funcii numete heading sau antetul de descriere al funciei. Acest heading este urmat de o acolad care marcheaz nceputul unei liste de instruciuni (comenzi) corpul funciei. n final, acolada nchis indic sfritul funciei. Sfritul instruciunilor se face prin simbolul (;). Primele comenzi n C++: COMANDA DE AFIARE PE ECRAN A UNUI MESAJ. Are forma general:

cout<< textul ce se dorete a fi afiat;


Aceast comand va afia mesajul folosind un format standard de scriere a cuvintelor i de poziionare pe ecran. Cuvntul cheie cout este urmat de ctre simbolurile << iar ntre ghilimele se va scrie mesajul pe care dorete programatorul s l afieze pe ecran. Exemple: cout << "Incepe programul "; cout <<" de c++"; cout <<" la laborator"; cout <<120; cout <<x; Aceste comenzi vor afia pe ecran urmtorul mesaj:
Incepe programul de c++ la laborator 120 x (valoarea din memorie a lui x, poate fi orice)

Observai c textul este afiat pe un singur rnd i nu pe rnduri diferite! Operatori pentru editarea textului afiat pe ecran: n C++ pentru trecerea la o nou linie de scriere pe ecran vom folosii \n :

Ex: cout << "Prima propozitie.\n "; cout << "A doua propozitie.\nA treia propozitie."; Pe ecran va aprea scris sub forma: Prima propozitie. A doua propozitie. A treia propozitie. Tot pentru a scrie pe o nou linie pe ecran se poate folosii endl la sfritul comenzii. Ex: cout << "Prima propozitie.<< endl; cout << " A doua propozitie.<< endl; cout << " A treia propozitie.<< endl; Rezultatul va fi acelai. COMANDA DE INTRODUCERE DE DATE DE LA TASTATUR Are forma general:

int X; cin>>X;

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

unde X 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 Enter. Exemplu: // program ce exemplific comenzile de intrare sau ieire de date #include <iostream.h> int main () { int i; cout << "Introduceti un numar intreg:/n "; cin >> i; cout << "valoarea introdusa de la tastatura este : /n" << i; cout << " iar patratul acesteia este " << i*2 << ".\n"; cin >>; } Comentarii ajuttoare efectuate de ctre programator Compilatorul C++ suport dou variante de a insera comentarii n program:

// /* . */

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

Prima variant este valabil pentru tot rndul n faa cruia apar acestea. A doua variant este activ ncepnd /* i sfrind cu */, astfel avem posibilitatea de a scrie comentarii mai lungi de o singura linie. Exercitii: 1. Scriei un program care s afieze pe ecran un mesaj ctre utilizator: Salut, Primul program in C++. Textul va aprea pe linii diferite. Adugai comentarii n programul scris, explicnd fiecare linie de program. 2. Scriei un program in C++ care sa converteasc n lei consumul de gaz din metrii cubi consumai. 3. Scriei un program care s converteasc o anumit sum de bani romneti n EURO pentru un curs de referin de 4 RON pentru un Euro. Problema 1: #include <iostream.h> int main () { cout << " Salut !<< endl; cout << " Primul program in C++.<< endl; } Problema 2: #include <iostream.h> main () { int i,s; cout << "Introduceti metrii cubi de gaz consumat:/n "; cin >> i; s=1*4; cout << " suma de plata este de " <<s << " RON \n"; } Problema 3: #include <iostream.h> int main () { int i; cout << "Introduceti suma pe care doriti sa o calculati:/n "; cin >> i; cout << " echivalentul sumei in EURO este " << i*4 << ".\n"; cin >>; }

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