1

++Seminar PCLP 2 C NOŢIUNI INTRODUCTIVE PRIVIND PROGRAMAREA CALCULATOARELOR 1.

Scopul lucrării Însuşirea cunoştinţelor de bază privind realizarea unui program de calculator 2. Consideraţii teoretice 2.1. Programarea şi re o!"area #ro$!eme!or Matematica lucrează cu secvenţe logice de paşi pentru rezolvarea problemelor şi demonstrarea teoremelor. Atunci când ordonăm un proces, îl programăm. Calculatorul este un dispozitiv programabil care poate păstra, regăsi şi procesa date. Astfel un program descrie acţiunile care trebuie executate pentru a atinge un scop, un program de calculator descrie paşii pe care trebuie să îi execute calculatorul pentru a rezolva o problemă. eci, un program de calculator este o listă de instrucţiuni 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 paşilor de rezolvare a problemei # scrierea în limba'ul de programare a paşilor de rezolvare. Faza de rezolvare a problemei (. Analiza înseamnă înţelegerea, definirea problemei) *. Algoritmul presupune stabilirea paşilor care trebuie urmaţi pentru rezolvarea problemei) +. Scrierea programului este parcurgerea paşilor algoritmului prin instrucţiuni sau comenzi ce să execute paşii de rezolvare a problemei. ,alculatorul nu este inteligent. -l nu poate analiza problema şi nu poate să dea o soluţie. !rogramatorul trebuie să analizeze problema, să dea soluţia şi apoi să o comunice calculatorului. Avanta'ul folosirii calculatorului este că el rezolvă problemele rapid eliberându#ne de operaţii repetitive şi plictisitoare. !rogramatorul începe prin a analiza problema şi a dezvolta o soluţie generală numită algoritm. .n exemplu de algoritm este calculul sumei care trebuie plătită unui salariat într#o săptămână. (. /tabilirea sumei plătite pe oră de lucru *. eterminarea numărului de ore lucrate în timpul săptămânii +. acă numărul de ore este mai mic sau egal cu 01, se înmulţeşte numărul de ore cu suma plătită pe oră 0. acă numărul de ore depăşeşte 01, atunci se scade 01 din numărul de ore lucrate, iar diferenţa de ore se înmulţeşte cu (,2 ori suma plătită pe oră 2. Adună sumele de la punctele + şi 0 şi stabileşte suma finală. ,ând programatorul este satisfăcut 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 foloseşte cuvinte din limba engleză şi are un set strict de reguli de scriere şi formulare a comenzilor. -xecuţia programului este rularea programului pe calculator %5.6&. epanarea este faza de determinare şi corectare a erorilor %,7M!83-&. 7 parte importantă a programării este scrierea indicaţiilor pentru utilizarea programului creat. Acesta este un text scris %instrucţiuni& destinat înţelegerii de către utilizatorul programului scris de noi.

/unteţi vizitat de un robot extraterestru si trebuie sa îl învăţaţi prin paşi simpli cum să se prezinte în mod prietenos pământenilor. eu mă numesc 5* /?7! . 3imba'e maşină *. !57!. 3imba'e de asamblare +.2 Ce e%&e 'n !im$a( )e #rogramare* !rogramatorii scriu instrucţiuni în diverse limba'e de programare. escrieţi algoritmul prin paşi simpli şi secvenţiali. ezvoltaţi un algoritm ce calculează cat costa o anumita cantitate de bomboane comandate de la un automat de vânzare stradal.. * lei) :. Acest lucru vă va a'uta să extrageţi componente mai uşor de rezolvat.6-5. e asemenea.er-i/ii0 (. :. 2. 3imba'e de nivel înalt /ingura limbă pe care calculatorul o poate înţelege este un set primitiv de instrucţiuni numite limbaj maşină sau cod maşină. 5escrieţi problema cu propriile voastre cuvinte. *. # cantitatea dorita în grame !reţul tipurilor de bomboane diferă astfel" A.. . unele care sunt înţelese în mod direct de calculator.2.lientul trebuie sa aleagă din următoarele categorii" # tipul de bomboane" A. -ste important să ne punem cât mai multe întrebări până când înţelegem exact ce avem de făcut. Încercaţi să o descompuneţi în subprobleme individuale. altele care necesită mai mulţi paşi de translatare.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 AÎncântat. În prezent există sute de limba'e de programare care pot fi împărţite în trei tipuri generale" (.+ Te. acest lucru vă va a'uta să sintetizaţi mai uşor algoritmul de rezolvare a problemei. 0 lei. 3a o comandă se poate cumpăra un singur tip de bomboane. utilizând pentru scrierea algoritmului expresii cât mai simple din limba română %maxim 2 cuvinte9comandă&. E. + lei) . .ni-i )e re o!"are a #ro$!eme!or În faza de rezolvare a unei probleme de programare va trebui să proiectăm algoritmi.

pot genera erori de sinta$ă %sGntax errors& şi programul nu poate fi HînţelesC până nu vor fi corectate. iar un program .44 trebuie să conţină o funcţie principală care se numeşte main.7/?. Structura unui program C++ !entru realizarea unui program în . cât şi pentru semantică %semnificaţie&. mai multe detalii http://www.7/?.44 programatorul trebuie sa utilizeze comenzi recunoscute de către calculator utilizând fişiere %denumite biblioteci& ce conţin aceste comenzi cât şi acţiunile pe care le va executa calculatorul pentru fiecare comandă.!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 .h – biblioteca generala de instrucţiuni pentru date de intrare/ieşire. toate programele sunt compuse din subprograme sau funcţii. & Sintaxă şi semantică de programare n C++ .A3. 5egulile sunt valabile atât pentru sinta$ă %gramatică&.h – biblioteca de instrucţiuni privind funcţii matematice etc. /ubprogramele se numesc #unc%ii. 5ealizarea unui program scris în . Aceasta poate fi privită ca fiind corpul de instrucţiuni ce va conţine toate celelalte funcţii din program şi va oferii soluţia finală. În limba'ul de programare . de exemplu scrierea incorectă a unui cuvânt sau uitarea unei virgule. • cmath.44 este o colecţie de clase şi funcţii.1. simboluri şi cuvinte speciale folosite pentru a scrie un program.DFE C A@8/-A<A A .44 necesită parcurgerea a trei etape" .cplusplus. Încălcarea oricărei reguli a limba'ului.com/reference/clibrary/cmath/ @iecare program . "ntroduceti suma de bani #i$a =-58@8.. Exemplu de program simplu în C++: #include <iostream. Exemple de fişiere tip bibliotecă utilizate de către C++ • iostream..h main !" # cout<<$program e%emplu$.n limba' de programare este un set de reguli.3-A<A .A 7<-A<A A38M-6?-A<A /?7! 2.44.

acolada înc$isă indică sfârşitul funcţiei. .n program are o parte declarativă ce descrie datele programului şi o parte executabilă care descrie acţiunile executate asupra datelor.&'! e%&e a7işa& #e 'n %ing'r r8n) şi n' #e r8n)'ri )i7eri&e9 7peratori pentru editarea textului afişat pe ecran" În . . !rima linie a oricărei funcţii numeşte &eading sau antetul de descriere al funcţiei.• e)i&are I scrierea programului sursă. să verifice existenţa posibilelor erori şi să realizeze conversia acestui program în program obiect. Acest $eading este urmat de o acoladă care marc$ează începutul unei liste de instrucţiuni %comenzi& # corpul #unc%iei. Exemple: cout << " ncepe programul "! cout <<" de c++"! cout <<" la laborator"! cout <<"#$! cout <<x! %ceste comenzi &or afişa pe ecran următorul mesa': ncepe programul de c++ la laborator "#$ x (&aloarea din memorie a lui x) poate fi orice* O$%er"a/i -6 &e.uvântul c$eie cout este urmat de către simbolurile << iar între g$ilimele se va scrie mesa'ul pe care doreşte programatorul să îl afişeze pe ecran. /fârşitul instrucţiunilor se face prin simbolul %)&.44.44. . Acesta determină calculatorul să citescă programul sursă.e-'/ie I programul obiect este adus în memorie şi lansat în execuţie" se efectuează citirea intrărilor.44 pentru trecerea la o nouă linie de scriere pe ecran vom folosii Kn " . Are forma generală" coutJJ Ate$tul ce se doreşte a #i a#işatC) Această comandă va afişa mesa'ul folosind un format standard de scriere a cuvintelor şi de poziţionare pe ecran. În final. • e.el mai frecvent vom folosi şabloane asemănătoare celui pentru funcţia main" Acest şablon arată că funcţia main începe cu un cuvântul int urmat de cuvântul main şi o perec$e de paranteze rotunde. calculele şi scrierea iesirilor. cu a'utorul unui utilitar) • -om#i!are I se aduce în memorie şi se execută compilatorul . Prime!e -omen i 2n C++" COMANDA DE A3I4ARE PE ECRAN A UNUI MESA5. Mo)e!e )e #rogram În acest curs vom folosi şabloane ca şi exemple de construcţii în limba'ul .

"! +e ecran &a apărea scris sub forma: +rima propozitie. % doua propozitie... 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 aştepta 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ă.44 suportă două variante de a insera comentarii în program" . -ot pentru a scrie pe o nouă linie pe ecran se poate folosii endl la sf. Ex: cout << "+rima propozitie.ompilatorul ./<< endl! cout << " % doua propozitie. % treia propozitie./<< endl! 0ezultatul &a fi acelaşi.. Acestă comandă va memora datele de la tastatură numai după ce s#a apasat pe tasta -nter.n"! cin 33! 6 Comen&arii a('&6&oare e7e-&'a&e )e -6&re #rograma&or .Ex: cout << "+rima propozitie.rşitul comenzii./<< endl! cout << " % treia propozitie.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# << ". Exemplu: 11 program ce exemplifică comenzile de intrare sau ieşire de date 2include <iostream.n% treia propozitie.n "! cout << "% doua propozitie.

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 << ". E. *. +.h3 int main (* 4 cout << " /alut M/<< endl! cout << " !rimul program in . explicând fiecare linie de program.44. /crieţi un program care să convertească o anumită sumă de bani româneşti în -.. +roblema ": 2include <iostream.. comentariu pentru o linie de program comentariu pentru un grup de linii de program !rima variantă este valabilă pentru tot rândul în faţa căruia apar acestea. <. /crieţi un program in .n"! 6 +roblema . astfel avem posibilitatea de a scrie comentarii mai lungi de o singura linie. .n"! cin 33! 6 .57 pentru un curs de referinţă de 0 576 pentru un -uro. ?extul va apărea pe linii diferite./<< endl! 6 +roblema #: 2include <iostream.< =. 'rimul program in C((.er-i&ii0 (..: 2include <iostream. A doua variantă este activă începând 9F şi sfârşind cu F9.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: .44 care sa convertească în lei consumul de gaz din metrii cubi consumaţi. /crieţi un program care să afişeze pe ecran un mesa' către utilizator" Salut. Adăugaţi comentarii în programul scris.

Sign up to vote on this title
UsefulNot useful