PCLP1_Laboratorul4

5
Laboratorul 4 1. Exemplu de programare. Problema Scrieţi un program care calculează consumul unui autoturism la 100 km, dându- se cantităţile de combustibil introduse în rezervor şi kilometrajul de la bord la plecare şi la sosire. Autoturismul a plecat având la bord 22451 km şi a sosit cu 23544 km. Au fost introduse următoarele cantităţi de combustibil: 23,2 l, 17,4 l, 19,8 l şi 16,7 l. Presupuneţi că rezervorul a fost plin şi că ultima alimentare a fost făcută la sosire, prilej cu care rezervorul a fost umplut din nou. Ce trebuie să afişeze programul Valorile pe care se bazează calculul final şi consumul la 100 km, cu comentariile necesare. Discuţie Trebuie să adunăm cantităţile de combustibil, facem diferenţa dintre indicaţiile de la bord şi, folosind regula de trei simplă, calculăm consumul de conbustibil la suta de kilometri. Soluţia algoritmică este următoarea: CANT1 = 23.2 CANT2 = 17.4 CANT3 = 19.8 CANT4 = 16.7 INDICATIE_PLECARE = 22451 INDICATIE_SOSIRE = 23544 litriPerKm = (CANT1 + CANT2 + CANT3 + CANT4)*100/(INDICATIE_SOSIRE- INDICATIE_PLECARE) Afişează cantităţile de combustibil Afişează indicaţia iniţială Afişează indicaţia finală Afişează consumul la 100 km Pornind de la algoritm, creăm o listă de constante şi variabile utile pentru scrierea programului. Constante Nume Valoare Descriere CANT1 23.2 Cantitatea de combustibil de la prima alimentare CANT2 17.4 Cantitatea de combustibil de la a doua alimentare CANT3 19.8 Cantitatea de combustibil de la a treia alimentare CANT4 16.7 Cantitatea de combustibil de la a patra alimentare INDICATIE_PLECARE 22451 Indicaţia bordului la plecare 1

description

fizica

Transcript of PCLP1_Laboratorul4

  • Laboratorul 4 1. Exemplu de programare.

    Problema Scriei un program care calculeaz consumul unui autoturism la 100 km, dndu-

    se cantitile de combustibil introduse n rezervor i kilometrajul de la bord la plecare i la sosire. Autoturismul a plecat avnd la bord 22451 km i a sosit cu 23544 km. Au fost introduse urmtoarele cantiti de combustibil: 23,2 l, 17,4 l, 19,8 l i 16,7 l. Presupunei c rezervorul a fost plin i c ultima alimentare a fost fcut la sosire, prilej cu care rezervorul a fost umplut din nou.

    Ce trebuie s afieze programul Valorile pe care se bazeaz calculul final i consumul la 100 km, cu

    comentariile necesare.

    Discuie Trebuie s adunm cantitile de combustibil, facem diferena dintre indicaiile

    de la bord i, folosind regula de trei simpl, calculm consumul de conbustibil la suta de kilometri. Soluia algoritmic este urmtoarea:

    CANT1 = 23.2 CANT2 = 17.4 CANT3 = 19.8 CANT4 = 16.7 INDICATIE_PLECARE = 22451 INDICATIE_SOSIRE = 23544 litriPerKm = (CANT1 + CANT2 + CANT3 + CANT4)*100/(INDICATIE_SOSIRE-

    INDICATIE_PLECARE) Afieaz cantitile de combustibil Afieaz indicaia iniial Afieaz indicaia final Afieaz consumul la 100 km

    Pornind de la algoritm, crem o list de constante i variabile utile pentru

    scrierea programului.

    Constante Nume Valoare Descriere CANT1 23.2 Cantitatea de combustibil de la

    prima alimentare CANT2 17.4 Cantitatea de combustibil de la a

    doua alimentare CANT3 19.8 Cantitatea de combustibil de la a

    treia alimentare CANT4 16.7 Cantitatea de combustibil de la a

    patra alimentare INDICATIE_PLECARE 22451 Indicaia bordului la plecare

    1

  • Programarea calculatoarelor i limbaje de programare I

    INDICATIE_SOSIRE 23544 Indicaia bordului la sosire

    Variabile Nume Tip Descriere litriPerKm float Consumul la 100 km

    Programul #include using namespace std; const float CANT1 = 23.2; const float CANT2 = 17.4; const float CANT3 = 19.8; const float CANT4 = 16.7; const float INDICATIE_PLECARE = 22451; const float INDICATIE_SOSIRE = 23544; int main() { float litriPerKm; litriPerKm = (CANT1 + CANT2 + CANT3 + CANT4)*100.0/(INDICATIE_SOSIRE-INDICATIE_PLECARE); cout

  • Programarea calculatoarelor i limbaje de programare I

    n mediul Dev-C++ programele se pot rula n modul debug prin apelarea meniului Debug->Debug (tasta F8). Pentru ca rularea programului s se opreasc temporar la linia dorit, trebuie activat un breakpoint. Pentru aceasta plasm cursorul pe instruciunea respectiv i apelm meniul Debug->Toggle Breakpoint (combinaia de taste Ctrl-F5). Prin aceeai combinaie de taste putem dezactiva un breakpoint. n continuare putem folosi comenzile Debug->Next Step (F7) pentru a trece la intruciunea urmtoare, Debug->Step Into (Shift-F7) pentru a intra n corpul funciei apelat n linia curent sau Debug->Continue (Ctrl-F7) pentru a rula programul pn la urmtorul breakpoint. nainte de a ncepe rularea programului n modul Debug, facei urmtorul parametraj al compilatorului C++: Selectai meniul Tools->Compiler Options, selectai tab-ul Compiler, activai opiunea Add the following commands when calling compiler: i adugai urmtorul parametru de compilare n cmpul de sub text: -g3 Wall.

    Rulai programul de mai sus in modul Debug, activnd un breakpoint pe prima instruciune executabil din funcia main.

    Sugestii pentru testare i debugging - Fiecare identificator care nu este cuvnt rezervat C++ trebuie declarat. - C++ este un limbaj case sensitive. Aceasta nseamn c face diferena ntre

    literele mici i cele mari. Doi identificatori, unul scris cu iniial mare i cellalt cu iniial mic sunt considerai diferii. Cuvntul main i toate cuvintele rezervate C++ folosesc numai litere mici.

    - constant de tip int care ncepe cu un 0 este interpretat ca numr scris n baza 8.

    - Atenie la mprirea ntreag. Expresia 47/100 are rezultatul 0, care este ctul mpririi. Aceasta este o surs major de erori n C++.

    - Fii ateni la folosirea perechilor de apostroafe ( ) i de ghilimele ( ). Fiecare constant char ncepe i se termin cu apostroafe. Fiecare ir de caractere ncepe i se termin cu ghilimele.

    - Asigurai-v c toate instruciunile se termin cu semnul ; Excepie fac instruciunile compuse care nu au nevoie de ; dup acolada nchis.

    - Dac sursa erorilor dintr-un program nu este evident, studiai o copie tiprit a programului. Modificai programul doar atunci cnd suntei siguri ca ai neles de unde provine eroarea.

    2. Folosii manipulatorii pentru a tipri numerele reale din exempul precedent cu

    dou zecimale. Includei fiierul header iomanip care se gsete ntr-un director standard.

    3. Rulai urmtorul program i studiai structura lui. Intitulai-l Temperaturi.cpp. Folosii n programele voastre modelul comentariului explicativ de la nceput. //**************************************** //Temperaturi.cpp //Acest program calculeaza temperatura de //la jumatatea dintre punctul de inghet si //cel de fierbere a apei //**************************************** #include using namespace std;

    3

  • Programarea calculatoarelor i limbaje de programare I

    const float INGHET = 0.0; //Punctul de inghet al apei const float FIERBERE = 100.0; //Punctul de fierbere int main() { float temperaturaMedie; //Pastreaza rezultatul medierii //dintre INGHET si FIERBERE cout

  • Programarea calculatoarelor i limbaje de programare I

    x * y = c; _____ _____ y = con; _____ _____ const int x : 10; _____ _____ int x; _____ _____ a = b % c; _____ _____

    8. Scriei trei instruciuni consecutive care afieaz urmtoarele trei linii: Luna este rotund.

    9. Modificai programul de la punctul 1 introducnd o nou alimentare cu 5.2 litri. Celelalte date rmn aceleai.

    10. Scriei un program care tiprete iniialele voastre cu litere mari, fiecare liter fiind format din caracterele care o reprezint. Literele trebuie s aib cel puin apte linii. De exemplu, dac iniialele voastre sunt AC, programul va tipari:

    A CCCCC A A C C A A C A A C AAAAAAA C A A C C A A CCCCC

    11. Multe sisteme C++ ofer un fiier header numit limits.h. Acesta conine declaraiile constantelor legate de specificul compilatorului i al mainii pe care lucrai. Dou dintre aceste constante sunt INT_MAX i INT_MIN, cel mai mare i cel mai mic numr de tip int cu care poate lucra calculatorul vostru. Scriei un program pentru a afia aceste dou valori. Avei grij s tiprii mesaje explicative pe ecran, n aa fel nct s putem ti care este valoarea lui INT_MAX i care este valoarea lui INT_MIN. Adugai comentarii programului vostru i aliniai instruciunile.

    12. Scriei un program care afieaz urmtoarele trei linii:

    7 / 4 folosind impartirea intreaga este 7 / 4 folosind impartirea reala este 7 modulo 4 este

    unde este calculat n fiecare caz de programul vostru. Folosii constante simbolice pentru 7 si 4 peste tot unde va apar in program, inclusiv in instruciunile de afiare. Folosii comentarii n program, identificatori cu nume semnificative i aliniai instruciunile ca in programele de la punctele 1 i 2.

    5

    Laboratorul 4ProblemaCe trebuie s afieze programulDiscuieConstanteVariabileProgramulCe afieaz programulDebuggingSugestii pentru testare i debugging