12.07.2015 Views

Cursul POO - Informatica aplicata si programare - Universitatea ...

Cursul POO - Informatica aplicata si programare - Universitatea ...

Cursul POO - Informatica aplicata si programare - Universitatea ...

SHOW MORE
SHOW LESS
  • No tags were found...

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

6Curs 1-2. Să ne reamintim …1.2 Să revenim la oile noastre... adică, <strong>POO</strong>!De ce <strong>programare</strong> obiectuală şi nu <strong>programare</strong> structurată? Să încercăm săînŃelegem dintr-un exemplu <strong>si</strong>mplu.Să presupunem că într-un program, avem de manipulat ca informaŃie puncte înplan. Ar trebui deci să declarăm o structură de forma:struct punct_plan {int coordx;int coordy;};punct_plan punct1;Să presupunem că logica programului cere ca toate punctele utilizate să fie deordonată pozitivă, deci deasupra axei reale (fig. 1.12).yZona de existenŃă apunctelorxCu alte cuvinte, pentru orice punct introdus în program, ordonata va trebuiînlocuită cu valoarea ei absolută. Va trebui să scriem de fiecare dată, o secvenŃă deforma (evident, fără să uităm să includem bibliotecile iostream.h şi math.h)cin >> punct1.coordx >>punct1.coordy;punct1.coordy= abs(punct1.coordy);Dar cine garantează că a doua linie de program este introdusă întotdeauna? Poatecă o soluŃie mai bună ar fi citirea ordonatei prin intermediul unei funcŃii, care săreturneze întotdeauna valoarea ei absolută. Vom putea avea spre exemplu în programdeclarată funcŃiaint citescoordy (){int inputy;cin >> inputy;return (abs(inputy));}iar secvenŃa de program de citire a punctului ar putea ficin >> punct1.coordx ;punct1.coordy=citescoordy();Dar, din nou, cine garantează că undeva în program nu se strecoară şi una dinliniilecin >> punct1.coordy;sauFig. 1.12. Aici avem puncte...

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!