labs_2007.pdf

52
Universitatea Tehnica a Moldovei Catedra Sisteme Optoelectronice PROGRAMARE Lucrari de laborator pentru studentii grupelor IMT-071.., SOE-071.. sectia de zi. a/u. 2007-2008 Elaborat lector superior Sergiu G. Istrati Semestrul I 1. Programe liniare in C++ (indrumar N1216, pagi.5) 2. 2.1 Programe ramificate in C++ (indrumar N1216, pagi.6) 2.2 Programe ramificate in C++ (indrumar N892, pagi.18) 3. 3.1 Prelucrarea masivelor unidimensionale in C++ (indrumar N1216, pagi.9) 3.2 Prelucrarea masivelor unidimensionale in C++ (indrumar N1216, pagi.12) 4. 4.1 Prelucrarea masivelor bidimensionale in C++ (indrumar N1216, pagi.15) 4.2 Prelucrarea masivelor bidimensionale in C++ (indrumar N1216, pagi.17) 5. 5.1 Prelucrarea caracterelor in C++ ((indrumar N1216, pagi.25) 5.2 Prelucrarea sirurilor de caractere in C++ (indrumar N1216, pagi.27) Semestrul II 6. Structuri in C++ (indrumar N1216, pagi.30) 7. Functii in C++ (indrumar N1216, pagi.37) 8. Fisiere in C++ (indrumar N1216, pagi.42) 9. Meniuri in C++ (indrumar N1219, pagi.5) 10. Programe liniare si ramificate in C++Builder 11.Componente VCL. C++Builder Indrumarele metodice in biblioteca facultatii: N 891 - Ciclu de prelegeri la disciplina Programare. Limbajul Pascal. N 1244 - Ciclu de prelegeri la disciplina Programare. Limbajul C. N 1216 - Îndrumar metodic privind îndeplinirea lucrărilor de laborator. N 892 - Îndrumar metodic privind îndeplinirea lucrărilor individuale. N 1219 - Îndrumar metodic privind îndeplinirea lucrării de curs. Chisinau 2006 PDF created with pdfFactory Pro trial version www.pdffactory.com

Upload: kiddu21

Post on 26-Sep-2015

20 views

Category:

Documents


5 download

TRANSCRIPT

  • Universitatea Tehnica a Moldovei Catedra Sisteme Optoelectronice

    PROGRAMARE

    Lucrari de laborator

    pentru studentii grupelor IMT-071.., SOE-071.. sectia de zi. a/u. 2007-2008

    Elaborat lector superior Sergiu G. Istrati Semestrul I 1. Programe liniare in C++ (indrumar N1216, pagi.5) 2. 2.1 Programe ramificate in C++ (indrumar N1216, pagi.6) 2.2 Programe ramificate in C++ (indrumar N892, pagi.18) 3. 3.1 Prelucrarea masivelor unidimensionale in C++ (indrumar N1216, pagi.9) 3.2 Prelucrarea masivelor unidimensionale in C++ (indrumar N1216, pagi.12) 4. 4.1 Prelucrarea masivelor bidimensionale in C++ (indrumar N1216, pagi.15) 4.2 Prelucrarea masivelor bidimensionale in C++ (indrumar N1216, pagi.17) 5. 5.1 Prelucrarea caracterelor in C++ ((indrumar N1216, pagi.25) 5.2 Prelucrarea sirurilor de caractere in C++ (indrumar N1216, pagi.27) Semestrul II 6. Structuri in C++ (indrumar N1216, pagi.30) 7. Functii in C++ (indrumar N1216, pagi.37) 8. Fisiere in C++ (indrumar N1216, pagi.42) 9. Meniuri in C++ (indrumar N1219, pagi.5) 10. Programe liniare si ramificate in C++Builder 11.Componente VCL. C++Builder Indrumarele metodice in biblioteca facultatii: N 891 - Ciclu de prelegeri la disciplina Programare. Limbajul Pascal. N 1244 - Ciclu de prelegeri la disciplina Programare. Limbajul C. N 1216 - ndrumar metodic privind ndeplinirea lucrrilor de laborator. N 892 - ndrumar metodic privind ndeplinirea lucrrilor individuale. N 1219 - ndrumar metodic privind ndeplinirea lucrrii de curs.

    Chisinau 2006

    PDF created with pdfFactory Pro trial version www.pdffactory.com

  • Lucrarea de laborator nr. 1.

    Tema: Programe liniare in C++

    De calculat valoarea expresiei:

    Nr. var

    Formula de calcul

    1 A= y

    pix2sin2/1

    )6/cos(2+

    - ; B=1+5/3 2

    2

    zz

    +

    2 A=|x

    3/ / xyxy - | ; f=(y-x) 2)(1)/(

    xyxyzy

    -+--

    3 S=1+x+ 432

    432 xxx++ ; e=x(sinx y23 cos+ )

    4

    Y=e ||)sin( abtbatbt +-+- ; s=bsin(at 1)2cos2 -t

    5

    W= xaxbbx /)(sin 322 +-+ ; y=cos 2232 / baxx +-

    6 S=x bxabxtg +++ /)(

    223 ; Q=1

    2

    --

    axeabx ;

    7

    R=x )(sin/)1( 22 axbx +-+ ; s= 32 )(cos/ bxaxb ++

    8 Y=sin bxax /)(

    223 -+ ; z= 32

    )cos( bxax

    ++

    9

    F= 3 |)sin(*|)(* tcttgm + ; z=m cos( bt*sin(t) )+c

    10 Y=b tg )/(sin 2

    2

    axax - ; d=a e )/cos( abxa-

    11 F=ln(a+x )/(sin)

    22 bx ; z=e|| bxx

    axxcx--++-

    12 Y= 1

    )cos(2

    +++ -

    xxbaba xx ; r= xaxbbx /)(sin 322 +-+

    13

    Z= )(2sin 2 bxexax x ++ - ; w=cos 2232 / baxx +-

    14 U= 1sin

    cos2

    +-+

    -

    -

    bxebxbxexa

    x

    x

    ; f=e )ln()ln( 32 xbbxa xx --+

    15 Z= mxcmxm

    x lnsin1

    sin22

    -+

    ; s=e 5.11 +++ -- xex bxax

    16 C=ln (x+7 )||

    ||bxax

    ++ ; D=

    tgxx

    3cos5.1 2

    Exemplu de program:

    De calculat valoarea expresiei: C=ln (x+7 )||||

    bxax

    ++ ; D=

    tgxx

    3cos5.1 2 ;

    #include

    #include

    PDF created with pdfFactory Pro trial version www.pdffactory.com

  • #include

    void main (void) {

    int x,a,b; float c,d;

    clrscr();

    printf("Culegeti valorile x,a,b:\n");

    scanf("%d%d%d",&x,&a,&b);

    c=log(x+7*sqrt(abs(x+a)/abs(x+b)));

    d=1.5*pow(cos(x),2)/3*tan(x);

    printf("Rezultatul: c=%f d=%f",c,d);

    getch();}

    Lucrarea de laborator nr. 2 Tema: Programe ramificate

    Problema 1.

    De calculat valoarea funciei, n dependen de condiie:

    Nr. var.

    Funcia Condiia

    1 Y=

    bte

    tat

    at cos1

    ln2

    1 2 t t2

    2

    Y=

    +

    +

    -

    )7ln(

    7

    73

    22

    xx

    xax

    xxp

    x

  • 7 Q=

    +

    -

    )ln(1

    )ln(

    bxbx

    bxbx

    b*x1

    8 Y=

    xxx

    2coslnsin

    x>3.5

    x 5.3

    9 F=

    +

    ||sin

    )1ln(2 ax

    x

    x>1 x 1

    10

    Z=

    +

    ++

    ++

    xtxxtx

    txxx

    2

    23

    sincos/1

    /)(ln

    x0.5

    11

    S=

    +

    +++

    +

    xexbaxe

    ba

    x

    x

    sin)1/()(

    cos

    x0

    n*(i+1)

  • Y=

    ++

    - -

    10

    23

    )2

    (

    24 xxx

    eexxx

    x1.5

    #include

    #include

    #include

    void main (void) {

    float x,Y;

    const float z=1.5;

    clrscr();

    printf("Culegeti valoarea x:\n");

    scanf("%f",&x);

    if (x

  • 8

    Determinai paritatea prii ntregi de la mprirea (diferenei dintre cifra utilizatorului i 9),

    i rezultatul expresiei Q=1

    2

    --

    axeabx +

    432

    432 xxx++ ;

    9

    Determinai paritatea valorii rotungite a ctului dintre cifra utilizatorului i rezultatul expresiei

    s= 32 )(cos/ bxaxb ++ + e ||)sin( abtbatbt +-+- ;

    10 Determinai paritatea diferenei dintre cifra propus de utilizator si partea ntreag

    de la rezultatul expresiei f=(y-x) 2)(1)/(

    xyxyzy

    -+-- + xaxbbx /)(sin 322 +-+ ;

    11

    Determinai paritatea restului de la mprirea cifrei utilizatorului cu rezultatul expresiei

    e=x(sinx y23 cos+ )+ x bxabxtg +++ /)( 223 ; 12 Determinai paritatea prii intregi de la mprirea cifrei utilizatorului cu rezultatul

    expresiei K=b sin(at 1)2cos2 -t + x )(sin/)1( 22 axbx +-+ ;

    13

    Determinai paritatea valorii rotungite de la diferena dintre cifra ntrodus de

    utilizator i rezultatul expresiei z= 32

    )cos( bxax

    ++ +y

    pix2sin2/1

    )6/cos(2+

    - ;

    14

    Determinai paritatea ctului dintre partea ntreag a cifrei propuse de utilizator(tip

    real) i rezultatul expresiei a=tgx

    x3cos5.1 2 +

    5/3 22

    zz

    +;

    15

    Determinai paritatea restului de la mprirea (produsului dintre cifra utilizatorului i 7), i rezultatul expresiei Y=sin bxax /)( 223 -+ + ln(a+x )/(sin) 22 bx ;

    16

    Determinai paritatea prii ntregi de la mprirea (sumei dintre cifra utilizatorului

    si 6), si rezultatul expresiei F= 3 |)sin(*|)(* tcttgm + +1

    )cos(2

    +++ -

    xxbaba xx ;

    Exemplu de program. Determinai paritatea prii intregi de la impartirea (sumei dintre cifra utilizatorului si 6), si rezultatul

    expresiei F= 3 |)sin(*|)(* tcttgm + +1

    )cos(2

    +++ -

    xxbaba xx ;

    #include #include #include #include void main(void) { int m,t,c,x,a,b,u,s,p; float f,k; printf("\nCulege valorile pentru m,t,c,x,a,b\n"); scanf("%d%d%d%d%d%d",&m,&t,&c,&x,&a,&b); f=pow((m*tan(t)+abs(c*sin(t))),1/3)+( pow(a,2*x)+pow(b,(-1)*x)*cos(a+b)* *x )/(x+1); printf("\nCulege o cifr ntreag\n"); scanf("%d",&u); k=(6+u)/f; p=floor(k); printf("\nf=%f ctul este=%f i partea ntreag=%d",f,k,p); if (fmod(p,2)==0) printf("\nPartea ntreag este par\n"); else printf("\nPartea ntreag este impar\n"); getch(); }

    PDF created with pdfFactory Pro trial version www.pdffactory.com

  • Lucrarea de laborator nr.3 Tema: Prelucrarea masivelor unidimensionale

    Problema 1

    Este dat un masiv unidimensional cu n elemente

    Nr. var.

    C o n d i i a

    1 De aflat suma i cantitatea elementelor pare din masiv.

    2 De calculat media aritmetica i produsul elementelor cu poziii impare.

    3 De comparat produsul elementelor pozitive cu suma elementelor pare.

    4 De determinat elementul maximal al masivului

    i de aflat dac el este pozitiv sau negativ.

    5 De calculat diferena dintre produsul elementelor i media lor aritmetic. De determinat paritatea

    diferenei.

    6 De calculat produsul i cantitatea elementelor pozitive din masiv.

    7 De aflat cantitatea i media aritmetic

    a elementelor divizibile la trei.

    8 De calculat produsul sumelor elementelor pare

    i celor impare din masiv.

    9 De aflat produsul dintre cantitatea elementelor divizibile la doi

    i suma lor.

    10 De calculat media aritmetica a elementelor impare

    din prima 3/4 din masiv.

    11 De calculat suma dintre primul element al masivului i ultimul element impar al masivului.

    12 De aflat suma i cantitatea elementelor negative din prima jumtate a masivului.

    13 De aflat cantitatea elementelor impare printre elementele pozitive ale masivului.

    14 De comparat suma elementelor din prima jumtate a masivului cu media aritmetic a elementelor

    din a doua jumtate a masivului.

    15 Determinai elementul minimal printre elementele cu poziii pare ale masivului.

    16 De comparat suma elementelor pare cu produsul elementelor negative, n afar de primul i

    ultimul element.

    Exemplu de program:

    Este dat un masiv unidimensional X(N). De comparat suma elementelor pare cu produsul elementelor

    negative n afar de primul i ultimul element.

    #include

    #include

    #include

    void main (void) {

    int x[50],I,n,s=0,p=1;

    PDF created with pdfFactory Pro trial version www.pdffactory.com

  • clrscr();

    printf("Culegeti marimea masivului x\n");

    scanf("%d",&n); }

    printf("Culegeti masivul x\n");

    for(i=0;i

  • 7 Este dat masivul unidimensional Y[n]. De calculat suma rdcinilor ptrate ale elementelor

    impare .

    8 Este dat masivul unidimensional D[n]. De determinat valorile i poziiile

    ultimelor dou elemente pare.

    9 Este dat masivul unidimensional A[n]. De creat masivele unidimensionale B i C. Masivul B va

    conine elementele divizibile la trei ale masivului A, iar masivul C - elementele nedivizibile la

    trei.

    10 Snt date dou masive unidimensionale F[n] i G[n].

    De calculat valoarea expresiei T= KS

    e +(S*K),

    unde: S este suma elementelor pare de pe poziii impare din masivul F,

    iar K cantitatea elementelor pare de pe poziii impare din masivul G.

    11 Este dat masivul unidimensional P[n]. De determinat valoarea i poziia

    primului element pozitiv din masiv.

    12 Este dat masivul unidimensional Q[n]. De aflat valoarea i poziia elementului cu valoarea

    maximal printre elementele impare.

    13 Este dat masivul unidimensional R[n]. De creat masivele unidimensionale T i U. Masivul T va

    conine elementele cu poziii pare din masivul R, iar masivul U - elementele cu poziii impare.

    14 Snt date dou masive unidimensionale X[n] i Y[n].

    De calculat S=cos(P+M) - MP * , unde: P este produsul elementelor impare din masivul X, iar

    M - media aritmetic a elementelor impare din masivul Y.

    15 Este dat masivul unidimensional M[n]. De determinat poziia i valoarea

    ultimului element impar din masiv.

    16 Este dat masivul unidimensional W[n]. De aflat poziia i valoarea elementului cu valoarea

    minimal printre elementele pare.

    Exemplu de program:

    Este dat masivul unidimensional W[n]. Aflai poziia i valoarea elementului cu valoarea minimal printre

    elementele pare.

    #include

    #include

    #include

    void main (void) {

    int w[50],n,i,min,z; clrscr();

    printf("Culege marimea masivului n

  • printf("w[%d] = ",i); scanf("%d",&w[i]);

    if (fmod(w[i],2)==0) {min=w[i]; z=i;} }

    printf("\nMasivul initial:\n\n");

    for(i=0;i

  • 16 De calculat cantitatea elementelor divizibile la trei

    din ultimele dou coloane.

    Exemplu de program:

    Este dat masivul bidimensional Y[N][M]. De calculat cantitatea elementelor divizibile la trei din ultimele

    dou coloane.

    #include

    #include

    #include

    void main(void) {

    int y[10][10],i,j,k,n,m; clrscr();

    printf("\nCulegeti cantitatea de linii ale masivului y\n"); scanf("%d",&n);

    printf("\nCulegeti cantitatea de coloane ale masivului y\n");

    scanf("%d",&m); printf("\nCulegeti masivul y\n\n");

    for(i=0;i

  • 3. De schimbat cu locul elementele ariei I cu elementele ariei IV.

    4. De schimbat cu locul elementul maximal al masivului

    cu elementul minimal al masivului.

    5. De schimbat cu locul elementele penultimului rnd

    cu elementele rndului indicat de utilizator.

    6. De aranjat n ordine cresctoare elementele fiecrei coloane.

    7. De schimbat cu locul elementele ariei II cu elementele ariei III.

    8. De schimbat cu locul elementul maximal al rndului unu

    cu elementul minimal al ultimei coloane.

    9. De schimbat cu locul elementele coloanei doi

    cu elementele coloanei indicate de utilizator.

    10. De aranjat n ordine descresctoare elementele fiecrui rnd.

    11. De schimbat cu locul elementele ariei III cu elementele ariei IV.

    12. De schimbat cu locul elementul minimal al ultimei coloane

    cu elementul maximal de pe rndul indicat de utilizator.

    13. De schimbat cu locul elementele primei coloane

    Cu elementele ultimului rnd.

    14. De aranjat n ordine descresctoare elementele fiecrei coloane.

    15. De schimbat cu locul elementele ariei II cu elementele ariei IV.

    16. De schimbat cu locul elementul maximal al coloanei indicate de utilizator

    cu elementul minimal de pe rndul trei.

    Exemplu de program:

    Este dat un masiv bidimensional X[n][n]. Dup dorina utilizatorului,

    de completat masivul:

    a) cu ajutorul generatorului de numere aleatoare;

    b) manual.

    De schimbat cu locul elementul maximal al coloanei indicate de utilizator cu elementul minimal de pe

    rndul trei.

    #include

    #include

    #include

    void main(void) {

    int x[20][20],n,i,j,min,minj,max,maxi,maxj,aux;

    PDF created with pdfFactory Pro trial version www.pdffactory.com

  • char z; clrscr();

    printf("\nCulegeti marimea masivului 3

  • x[3][minj]=x[maxi][maxj];

    x[maxi][maxj]=aux;

    printf("\nMasivul x[%d][%d] final:\n\n",n,n);

    for(i=0;i

  • Exemplu de program:

    Este dat un ir de caractere. De ters din ir caracterele minuscule de pe poziii impare.

    #include

    #include

    #include

    #include

    void main (void) {

    char s[256],g[256]; int i,n,z,k;

    clrscr(); puts("Culege un sir de caractere\n");

    gets(s); n=strlen(s); z=0;

    for(i=0;i=97)&&(k

  • 12. Este dat un ir normal. De aranjat cuvintele irului n ordine descresctoare dup cantitatea de

    vocale din cuvinte.

    13. Este dat un ir normal. De determinat cuvintele ce se ntlnesc n ir de k ori. Numrul k va fi

    indicat de utilizator.

    14. Este dat un ir normal. De gsit cuvintele simetrice de lungime par.

    15. Este dat un ir normal. De ters din ir cuvintele simetrice.

    16. Este dat un ir normal. De inversat cuvintele de lungime par ce se afl pe poziii impare.

    Exemplu de program:

    Este dat un ir normal. De inversat cuvintele de lungime par ce se afl pe poziii impare.

    #include

    #include

    #include

    #include

    void main (void) {

    char s[250],G[250]="",x[250][250],SP[2]=" ",PK[2]="."; int n,i,r,k;

    clrscr(); puts("Culege un sir de caractere\n");

    gets(s); n=strlen(s); r=0; k=0;

    for(i=0;i

  • 2. De alctuit un articol cu N nscrieri, care conine informaia despre

    emisiunile difuzate de ctre un post TV.

    a) De realizat cutarea emisiunilor dup denumire.

    b) De schimbat cu locul nscrierile emisiunilor cu durata minim

    i maxim.

    Denumirea emisiunii

    Ora nceperii emisiunii

    Durata emisiunii

    3. De alctuit un articol cu N nscrieri, care conine informaia despre

    amplasarea crilor pe rafturile unei biblioteci.

    a) De realizat cutarea crilor dup numrul raftului.

    b) De aranjat nscrierile n ordine descresctoare dup numrul

    raftului.

    Denumirea crii

    Secia bibliografic

    Numrul raftului

    4. De alctuit un articol cu N nscrieri, care conine informaia despre

    mrimea datoriei beneficiarilor centralei telefonice.

    a) De realizat cutarea beneficiarilor dup numele de familie.

    b) De aranjat nscrierile n ordine cresctoare dup mrimea

    datoriei de abonat.

    Numele de familie

    beneficiarului

    Numrul de telefon

    Mrimea datoriei

    5. De alctuit un articol cu N nscrieri, care conine informaia despre

    studenii unei faculti.

    a) De realizat cutarea studenilor dup denumirea grupei.

    b) De aranjat nscrierile n ordine invers.

    Familia studentului

    Grupa academic

    Catedra

    6. De alctuit un articol cu N nscrieri, care conine informaia despre

    un grup de angajati.

    a) De realizat cutarea angajailor dup postul ocupat.

    b) De aranjat nscrierile n ordine cresctoare dup vechimea n

    munc.

    Numele de familie a

    muncitorului

    Postul ocupat

    Vechimea n munc

    7. De alctuit un articol cu N nscrieri, care conine informaia despre

    abonaii unei biblioteci.

    a) De realizat cutarea abonailor dup numele de familie.

    b) De ters din articol nscrierile abonailor cu cantitile minim

    i maxim de cri mprumutate.

    Numele de familie a

    abonatului

    Cantitatea de cri

    mprumutate

    Anul naterii al

    abonatului

    8. De alctuit un articol cu N nscrieri, care conine informaia despre

    un grup de studeni.

    Numele de familie a

    PDF created with pdfFactory Pro trial version www.pdffactory.com

  • a) De realizat cutarea studenilor dup vrsta lor.

    b) De schimbat cu locul nscrierile pentru studenii cu cea mai

    mic i cea mai mare vrst.

    studentului

    Anul naterii

    Grupa academic

    9. De alctuit un articol cu N nscrieri, care conine informaia despre

    cursul valutar la o cas de schimb.

    a) De realizat cutarea valutei dup denumirea sa.

    b) De aranjat nscrierile n ordine cresctoare dup cursul de

    schimb.

    Denumirea valutei

    Cursul de schimb

    10. De alctuit un articol cu N nscrieri, care conine informaia despre

    un grup de automobile.

    a) De realizat cutarea automobilelor dup numrul de

    nregistrare a lor.

    b) De aranjat nscrierile n ordine alfabetic dup marca

    automobilelor.

    Marca automobilului

    Numrul de nregistrare

    11. De alctuit un articol cu N nscrieri, care conine informaia despre

    numerele de telefoane a unui grup de persoane.

    a) De realizat cutarea unei persoane dup numrul de telefon.

    b) De aranjat nscrierile n ordine descresctoare dup numrul

    de telefon.

    Numele de familie a

    persoanei

    Numrul de telefon

    12. De alctuit un articol cu N nscrieri, care conine informaia despre

    studenii unei grupe.

    a) De calculat balul mediu pentru fiecare student reieind din

    rezultatele la trei examene.

    b) De aranjat nscrierile n ordine descresctoare dup balul

    mediu

    Numele de familie a

    studentului

    Notele la trei examene

    Balul mediu

    13. De alctuit un articol cu N nscrieri, care conine informaia despre

    orarul leciilor unui student ntr-o zi a sptmnii.

    a) De realizat cutarea leciei dup ora curent.

    b) De schimbat cu locul prima i ultima nscriere

    Denumirea leciei

    nceputul leciei

    Sfritul leciei

    14. De alctuit un articol cu N nscrieri, care conine informaia despre

    paapoartele unui grup de persoane.

    a) De realizat cutarea persoanei dup numrul paaportului.

    b) De aranjat nscrierile n ordine invers.

    Numele de familie a

    personei

    Anul naterii

    Numrul paaportului.

    15. De alctuit un articol cu N nscrieri, care conine informaia despre

    meniul ntr-un restaurant.

    a) De aflat preul celor trei bucate alese de client.

    Denumirea bucatelor

    PDF created with pdfFactory Pro trial version www.pdffactory.com

  • b) De aranjat nscrierile n ordine descresctoare dup preul

    bucatelor.

    Preul bucatelor

    16. De alctuit un articol cu N nscrieri, care conine informaia despre

    angajaii unei ntreprinderi.

    a) De realizat cutarea angajailor dup numele de

    familie

    b) De aranjat nscrierile n ordine descresctoare

    dup mrimea salariului.

    Numele de familie a

    angajatului

    Postul ocupat

    Mrimea salariului

    Exemplu de program:

    Condiia Cmpuri necesare

    De alctuit un articol cu N nscrieri, care conine informaia despre

    angajaii unei ntreprinderi.

    a) De realizat cutarea angajailor dup numele de

    familie

    c) De aranjat nscrierile n ordine descresctoare

    dup mrimea salariului.

    Numele de familie a

    angajatului

    Postul ocupat

    Mrimea salariului

    #include

    #include

    #include

    struct angajat {

    char nume[30];

    char post[20];

    float salar; };

    void main (void) {

    struct angajat x[50],art;

    int i,n,k,z,d; float aux,max;

    char caut[30],r; clrscr();

    printf(Culege numarul de angajati\n);

    scanf(%d,&n);

    for(i=0;i

  • printf(\nCulege postul angajatului %d : ,i);

    scanf(%s,x[i].post);

    printf(\nCulege salariul angajatului %d : ,i);

    scanf(%f,&aux); x[i].salar=aux;}

    printf(\n\n\t ***** Baza initiala este *****\n\n);

    printf(\t--------------------------------------------\n);

    printf(\t| Numele | Postul | Salariul |\n);

    printf(\t|------------------------------------------|\n);

    for(i=0;i

  • for(i=0;i
  • 9. Snt date dou masive bidimensionale A[N,M] i B[K,L]. De

    aflat valorile i poziiile elementelor minimale de pe fiecare

    rnd al ambelor masive.

    Aflarea valorilor i poziiilor

    elementelor minimale de pe

    fiecare rnd al ambelor masive.

    10. Snt date dou masive bidimensionale X[N,M] i Y[K,L].

    De calculat valoarea expresiei Z=(Sx+Sy) (Kx*Ky), unde

    Sx i Kx snt respectiv suma i cantitatea elementelor

    pozitive de pe coloanele pare ale masivului X, iar Sy i Ky

    suma i cantitatea elementelor pozitive de pe coloanele pare

    ale masivului Y.

    Calcularea sumelor i cantitilor

    elementelor pozitive de pe

    coloanele pare ale ambelor

    masive.

    11. Snt date dou masive bidimensionale B[N,N] i C[M,M].

    De calculat suma dintre elementul maximal deasupra

    diagonalei principale a masivului B i elementul maximal

    deasupra diagonalei principale a masivului C.

    Determinarea valorilor

    elementelor maximale deasupra

    diagonalelor principale n ambele

    masive.

    12. Snt date masivele unidimensionale X[N] i Y[M]. De aflat

    valorile i poziiile elementelor minimale din ambele

    masive.

    Determinarea valorilor i

    poziiilor elementelor minimale n

    ambele masive.

    13. Snt date masivele bidimensionale A[N,M] i B[K,L]. De

    calculat sumele elementelor pozitive de pe fiecare coloan

    n ambele masive.

    Calcularea sumelor elementelor

    pozitive de pe fiecare coloan n

    ambele masive.

    14. Sunt date dou masive unidimensionale X(K) i Y(M). De

    aranjat n ordine invers elementele ambelor masive.

    Aranjarea elementelor ambelor

    masive n ordine invers.

    15. Snt date dou masive bidimensionale X[N,M] i Y[K,L].

    De calculat suma elementelor maximale de pe fiecare

    coloan a masivului X i suma elementelor maximale de pe

    fiecare coloan a masivului Y.

    Calcularea sumelor elementelor

    maximale de pe fiecare coloan n

    ambele masive.

    16. Snt date dou masive bidimensionale X[N,N] i Y[M,M].

    De calculat produsul dintre elementul minimal de sub

    diagonala principal a masivului X i elementul minimal de

    sub diagonala principal a masivului Y.

    Determinarea elementelor

    minimale de sub diagonalele

    principale n ambele masive.

    PDF created with pdfFactory Pro trial version www.pdffactory.com

  • Exemplu de program:

    Condiia Folosirea subprogramelor pentru:

    Snt date dou masive bidimensionale X[N,N] i Y[M,M]. De

    calculat produsul dintre elementul minimal de sub diagonala

    principal a masivului X i elementul minimal de sub diagonala

    principal a masivului Y.

    Determinarea elementelor minimale

    de sub diagonalele principale n

    ambele masive.

    #include

    #include

    #include

    int masiv (int z[50][50], int k) {

    int r,c,mini,minj,min;

    min=z[1][0]; mini=1; minj=0;

    for(r=1;r

  • printf(\nMasivul initial Y este: \n);

    for(i=0;i

  • abonaii unei biblioteci.

    a) De realizat cutarea abonailor dup familie.

    b) De ters din articol nscrierile abonailor cu cantitile minim i

    maxim de cri mprumutate.

    abonatului

    Anul naterii

    Cantitatea de cri

    mprumutate

    4. De alctuit un articol cu N nscrieri, care conine informaia despre un

    grup de studeni.

    a) De realizat cutarea studenilor dup vrsta lor.

    b) De schimbat cu locul nscrierile pentru studenii cu cea mai mic

    i cea mai mare vrst.

    Numele de familie A

    studentului

    Anul naterii

    Grupa academic

    5. De alctuit un articol cu N nscrieri, care conine informaia despre

    studenii unei grupe.

    a) De calculat balul mediu pentru fiecare student reieind din

    rezultatele la trei examene.

    b) De aranjat nscrierile n ordine descresctoare dup balul mediu.

    Numele de familie a

    studentului

    Notele la trei examene

    Balul mediu

    6. De alctuit un articol cu N nscrieri, care conine informaia despre

    numerele de telefoane la un grup de persoane.

    a) De realizat cutarea unei persoane dup numrul de telefon.

    b) De aranjat nscrierile n ordine descresctoare dup numrul de

    telefon.

    Numele de familie a

    persoanei

    Numarul de telefon.

    7. De alctuit un articol cu N nscrieri, care conine informaia despre

    paapoartele unui grup de persoane.

    a) De realizat cutarea persoanei dup numrul paaportului.

    b) De aranjat nscrierile n ordine invers.

    Numele de familie a

    personei

    Anul naterii

    Numrul paaportului.

    8. De alctuit un articol cu N nscrieri, care conine informaia despre

    orarul leciilor unui student ntr-o zi a sptmnii.

    a) De realizat cutarea leciei dup ora curent.

    b) De schimbat cu locul prima i ultima nscriere.

    Denumirea leciei

    nceputul leciei

    Sfritul leciei

    9. De alctuit un articol cu N nscrieri care conine informaia despre

    orarul primirii pacienilor de catre medic.

    a) De realizat cutarea pacienilor dup familie.

    b) De aranjat nscrierile n ordine cresctoare dup ora primirii

    pacientului.

    Numele de familie a

    pacientului

    Ora primirii

    10. De alctuit un articol cu N nscrieri, care conine informaia despre

    meniul ntr-un restaurant.

    a) De aflat preul celor trei bucate alese de client.

    b) De aranjat nscrierile n ordine descresctoare dup preul

    bucatelor.

    Denumirea bucatelor

    Preul bucatelor

    PDF created with pdfFactory Pro trial version www.pdffactory.com

  • 11. De alctuit un articol cu N nscrieri, care conine informaia despre

    amplasarea crilor pe rafturile unei biblioteci.

    a) De realizat cutarea crilor dup numrul raftului.

    b) De aranjat nscrierile n ordine descrescatoare dup numarul

    raftului.

    Denumirea crii

    Secia bibliografic

    Numrul raftului

    12. De alctuit un articol cu N nscrieri, care conine informaia despre

    emisiunile difuzate de ctre un post TV.

    a) De realizat cutarea emisiunilor dup denumire.

    b) De schimbat cu locul nscrierile emisiunilor cu durata minim i

    maxim.

    Denumirea emisiunii

    Ora nceperii emisiunii.

    Durata emisiunii

    13. De alctuit un articol cu N nscrieri, care conine informaia despre

    studenii unei faculti.

    a) De realizat cutarea studenilor dup denumirea grupei.

    b) De aranjat nscrierile n ordine inversa.

    Numele de familie a

    studentului

    Grupa academic

    Catedra

    14. De alctuit un articol cu N nscrieri, care conine informaia despre

    mrimea datoriei beneficiarilor centralei telefonice.

    a) De realizat cutarea beneficiarilor dup numele de familie.

    b) De aranjat nscrierile n ordine crescatoare dup mrimea

    datoriei de abonat.

    Numele de familie a

    beneficiarului

    Numarul de telefon

    Mrimea datoriei de

    abonat

    15. De alctuit un articol cu N nscrieri, care conine informaia despre un

    grup de angajati.

    a) De realizat cutarea angajailor dup postul ocupat.

    b) De aranjat nscrierile n ordine crescatoare dup vechimea n

    munc.

    Numele de familie a

    muncitorului

    Postul ocupat

    Vechimea n munc

    16. De alctuit un articol cu N nscrieri, care conine informaia despre

    calculatoarele unui laborator de programare.

    a) De realizat cutarea staiilor dup denumirea lor.

    b) De aranjat nscrierile n ordine descrescatoare dup memoria

    RAM.

    Denumirea staiei

    Memoria RAM

    PDF created with pdfFactory Pro trial version www.pdffactory.com

  • Exemplu de program:

    Condiia Cmpuri necesare

    De alctuit un articol cu N nscrieri, care conine informaia despre

    calculatoarele unui laborator de programare.

    a) De realizat cutarea staiilor dup denumirea lor.

    b) De aranjat nscrierile n ordine descrescatoare dup

    memoria RAM.

    Denumirea staiei

    Memoria RAM

    #include

    #include

    #include

    struct laborator {

    char nume[30];

    int ram; };

    void main (void) {

    struct laborator x[50],art,aux;

    int i,n,k,z,d,max,q;

    char caut[30],r,w;

    FILE *f1;

    // Afisarea meniului

    m0: clrscr();

    printf("\n\n\t * * * M E N I U * * *\n\n");

    printf("\t1: Completarea bazei de date.\n");

    printf("\t2: Citirea bazei de date din fisier.\n");

    printf("\t3: Introducerea unei noi inscrieri.\n");

    printf("\t4: Cautarea statiilor dupa denumire.\n");

    printf("\t5: Aranjarea inscrierilor in descrestere.\n");

    printf("\t6: Iesire.\n\t");

    scanf("%d",&q);

    switch(q) {

    case 1: goto m1;

    case 2: goto m2;

    case 3: goto m3;

    case 4: goto m4;

    case 5: goto m5;

    case 6: goto m6;

    default:goto m0;}

    PDF created with pdfFactory Pro trial version www.pdffactory.com

  • // 1: Completarea bazei de date

    m1: clrscr();

    printf("\n\nCulege numarul de calculatoare\n");

    scanf("%d",&n);

    for(i=0;i

  • if((w=='y')||(w=='Y')) {

    printf("\nCulege numele statiei ");

    scanf("%s",aux.nume);

    printf("\nCulege volumul memoriei RAM ");

    scanf("%d",&aux.ram);

    f1=fopen("baza.txt","a");

    fwrite(&aux,sizeof(aux),1,f1);

    fclose(f1);

    printf("\nInscrierea a fost adaogata la sfirsitul fisierului\n");

    printf("\nPentru iesire in meniu culegeti ENTER\n");

    getch(); goto m0;}

    // 4: Cautarea statiilor dupa nume

    m4: clrscr();

    f1=fopen("baza.txt","r");i=0;

    while ( fread(&x[i],sizeof(x[i]),1,f1)==1){i++;};

    n=i; fclose(f1);

    printf("\n Cautarea calculatorului dupa nume.\n Culegeti numele cautat: ");

    scanf("%s",caut);

    printf("\n\n\t ***** Rezultatul cautarii *****\n\n");

    printf("\t----------------------------------------\n");

    printf("\t| N U M E L E | R A M (Mb) |\n");

    printf("\t|---------------------|----------------|\n");

    k=0;

    for(i=0;i

  • for(d=i;d
  • 2) completarea masivului n mod manual; 3) completarea masivului n mod automat;

    4) afiarea masivului (n 2 culori); 5) rezolvarea punctului a) din condiie; 6) rezolvarea punctului b) din condiie;

    7) rezolvarea punctului c) din condiie; 8) afiarea masivului final (n 2 culori); 9) ieire.

    Dup rezolvarea fiecrui punct din cele trei existente, rezultatul corespunztor va fi afiat la monitor.

    Punctele din meniu 5,6,7 ce corespund rezolvrii punctelor a,b,c din condiie pot fi unite ntr-un numr

    mai mic sau desprite ntr-un numr mai mare de puncte de meniu, n dependen de condiiile problemei

    i dorina executorului.

    Variante

    Nr. var.

    Condiia Masivul

    1. Este dat masivul x[n][n].

    a)De aflat media aritmetic a elementelor impare din aria haurat.

    b)De aflat poziia i cantitatea elementelor din masiv egale cu cifra

    propus de utilizator.

    c)Daca element egal cu cifra data nu exist n masiv, de nscris ntr-

    un fiier un comentariu respectiv i de generat un semnal audio.

    2. Este dat masivul x[n][n]. a) De aflat elementele maximale din fiecare poriune a ariei

    haurate cu vecinii lor.

    b) De calculat media aritmetic a elementelor pare din toat aria

    haurat.

    c) De nlocuit toate elementele din aria nehaurat cu zero.

    3. Este dat masivul x[n][n].

    a) De aflat suma primului i ultimului element par din aria haurat

    i pozitia lor.

    b) Da aflat cte elemente cu valoarea acestei sume snt n aria

    nehaurat.

    c) De scris n fiier valorile i poziiile tuturor vecinilor celui mai

    mic element pozitiv din aria haurat.

    PDF created with pdfFactory Pro trial version www.pdffactory.com

  • 4. Este dat masivul x[n][n].

    a) De aflat media aritmetic a elementelor divizibile la patru din

    aria hasurat.

    b) De egalat toate elementele din aria nehasurat cu zero de culoare

    galben.

    c) De aflat valoarea i locul elementelor maximale din fiecare rnd

    din aria haurat.

    5. Este dat masivul x[n][n].

    a) De prezentat elementele pare cu vecinii lor din aria haurat

    (n valori i poziii).

    b) Elementele negative din aria nehaurat de nlocuit cu "8".

    c) De scris n fiier numrul elementelor impare din aria haurat.

    6. Este dat masivul x[n][n].

    a) Aflai media aritmetic a elementelor >5 din aria haurat.

    b) Scriei n fiier cantitatea elmentelor din aria haurat egale cu

    cifra utilizatorului.

    c) Aflai suma elementelor de pe perimetrul ariei nehaurate.

    7. Este dat masivul x[n][n].

    a) Aflai media aritmetic a elementelor pare din aria haurat i o

    nscriei n fiier.

    b) Aflai elementul maximal de pe fiecare coloan par din aria

    haurat.

    c) Aflai cte elemente n aria haurat snt egale cu cifra user-ului.

    8. Este dat masivul x[n][n].

    a) Aflai media aritmetic a elementelor de pe perimetrul ariei

    haurate.

    b) Aflai numrul elementelor pare din fiecare coloan impar din

    aria haurat.

    c) Aflai cel mai mare element din fiecare poriune nehaurat i

    nscriei-le n fiier.

    9. Este dat masivul x[n][n].

    a) De aflat valoarea i poziia fiecrui element par din aria haurat.

    b) Aranjai n ordine descresctoare elementele din fiecare coloan

    din aria haurat.

    PDF created with pdfFactory Pro trial version www.pdffactory.com

  • c) De aflat numrul elementelor pare din aria " * ".

    10. Este dat masivul x[n][n].

    a) Aranjai n ordine cresctoare elementele fiecrui rnd din aria

    haurat.

    b) Aflai elementele maximale de pe fiecare coloan din aria

    haurat.

    c) Aflai cantitatea elementelor din aria nehaurat egale cu cifra

    utilizatorului i scriei-o ntr-un fiier.

    11. Este dat masivul x[n][n].

    a) De aflat poziia i cantitatea elementelor egale cu cifra propus de

    utilizator.

    b) Aflai elementul maximal de pe fiecare coloan impara din

    aria haurat.

    c) nscriei ntr-un fiier suma elementelor negative din masiv.

    12. Este dat masivul x[n][n].

    a) De calculat produsul elementelor impare din aria haurat.

    b) Determinai elementul maximal de pe perimetrul ariei haurate.

    c) nscriei ntr-un fiier valorile i poziiile elementelor din fiecare

    col al ariei haurate.

    13. Este dat masivul x[n][n].

    a) De aflat media aritmetic a elementelor divizibile la trei din aria

    haurat.

    b) Aflai cantitatea elementelor impare din fiecare coloan par din

    aria haurat.

    c) nscriei n fiier cantitatea zerourilor din aria nehaurat.

    14. Este dat masivul x[n][n].

    a) De aflat cte elemente n aria haurat snt egale cu cifra user-ului.

    b) De aflat valoarea i poziia elementelor minimale din fiecare rnd

    din aria haurat.

    c) nscriei n fiier suma elementelor pare din aria nehaurat.

    15. Este dat masivul x[n][n].

    a) Aranjati n ordine cresctoare elementele din fiecare coloan din

    aria haurat.

    b) Aflai cantitatea elementelor din aria nehaurat egale cu cifra

    utilizatorului.

    c) nscriei n fiier produsul elementelor impare din aria nehaurat.

    PDF created with pdfFactory Pro trial version www.pdffactory.com

  • 16. Este dat masivul x[n][n].

    a) De aflat media aritmetic a elementelor pare din aria haurat.

    b) De prezentat elementele pare cu vecinii lor din aria haurat

    (n valori i poziii).

    c) De comparat sumele elementelor din ariile haurat i nehaurat.

    17. Este dat masivul x[n][n].

    a)De aflat suma primului i ultimului element par din aria haurat

    i poziia lor.

    b) Aflai suma elementelor de pe perimetrul ariei nehaurate.

    c) Comparai produsele elementelor impare din ariile haurat i

    nehaurat.

    18. Este dat masivul x[n][n].

    a) De aflat suma primului i ultimului element impar din aria

    haurat i poziia lor.

    b) Aflai suma elementelor de pe perimetrul ariei nehaurate.

    c) Comparai produsele elementelor impare din ariile haurat i

    nehaurat

    19. Este dat masivul x[n][n].

    a) De scris n fiier valorile i poziiile tuturor vecinilor celui mai

    mare element pozitiv din aria haurat.

    b) Aflai media aritmetic a elementelor de pe perimetrul ariei

    haurate.

    c) Comparai mediile aritmetice ale elementelor pozitive din ariile

    haurat i nehaurat

    20. Este dat masivul x[n][n].

    a) Aranjai n ordine descresctoare elementele fiecrui rnd din aria

    haurat.

    b) De egalat toate elementele din aria nehaurat cu zero de culoare

    galben.

    c) Comparai mediile aritmetice ale elementelor pozitive din ariile

    haurat i nehaurat

    PDF created with pdfFactory Pro trial version www.pdffactory.com

  • Exemplu de rezolvare a unei sarcini

    Este dat masivul bidimensional x[n][n] cu aria haurat

    a) De aflat valorile i poziiile elementelor maximale din cele 2 poriuni ale ariei haurate.

    b) De nscris ntr-un fiier suma elementelor pare din aria haurat.

    c) De aranjat elementele fiecrui rnd din aria haurat n ordine cresctoare.

    Listingul programului:

    #include #include

    #include #include //afisarea conditiilor problemei la monitor

    void conditii (void) { int i,j,n=10,k; clrscr(); gotoxy(20,2);textcolor(11);

    cprintf("\n"); gotoxy(29,4);textcolor(15); cprintf("Conditiile problemei:"); gotoxy(10,5);textcolor(11);

    cprintf("Este dat masivul bidimensional x[N][N] cu aria hasurata (rosie)"); gotoxy(5,6); cprintf("a) De aflat valorile si pozitiile elementelor maximale"); gotoxy(5,7); cprintf(" din cele 2 portiuni ale ariei hasurate"); gotoxy(5,8);

    cprintf("b) De inscris intr-un fisier suma elementelor pare din aria hasurata"); gotoxy(5,9); cprintf("c) De aranjat fiecare rind din aria hasurata in ordine crescatoare");

    k=floor(float(n)/float(2)); for(i=0;i

  • cprintf("Masivul x[%d][%d] este:\n",m,m); k=floor(float(m)/float(2)); for(i=0;i
  • gotoxy(10,wherey()+1); cprintf("Elementul Maximal din portiunea hasurata de jos este x[%d][%d] =

    %d",rmax2,cmax2,y[rmax2][cmax2]); gotoxy(10,wherey()+2); cprintf("Pentru iesire in meniu culegeti ");

    getch(); } //calcularea sumei elementelor pare si inscrierea ei in fisier void fisier (int y[50][50],int m) {

    int i,j,k,s=0; FILE *f; k=floor(float(m)/float(2)); //portiunea de sus a ariei hasurate

    for(i=0;i

  • //aranjare in ordine crescatoare portiunea de jos for(i=w;i
  • switch (w) { case '1': goto m1;

    case '2': goto m2; case '3': goto m3; case '4': goto m4;

    case '5': goto m5; case '6': goto m6; case '7': goto m7;

    case '8': goto m8; case '9': goto m9; default : goto m0;}

    m1: conditii(); goto m0; m2: //completare manuala a masivului clrscr(); z=1; gotoxy(15,2); textcolor(15);

    cprintf("Culege marimea masivului x N="); scanf("%d",&n); gotoxy(15,3); cprintf("Culege elementele masivului x[%d][%d]\n",n,n);

    for(i=0;i

  • getch(); goto m0; m4: if (z==1) {afisare(x,n); goto m0;};

    gresala(z); goto m0; m5: if (z==1) {maxim(x,n); goto m0;}; gresala(z); goto m0;

    m6: if (z==1) {fisier(x,n); goto m0;}; gresala(z); goto m0; m7: if (z==1) { for(i=0;i=Text); b=StrToFloat(Edit2->Text); x=StrToFloat(Edit3->Text); c=log(x+7*sqrt(abs(x+a)/abs(x+b))); d=1.5*pow(cos(x),2)/3*tan(x); Panel3->Caption="C="+FloatToStr(c); Panel4->Caption="D="+FloatToStr(d); Pentru a doua problem float a,b,c,x,W; a=StrToFloat(Edit4->Text); b=StrToFloat(Edit5->Text); c=StrToFloat(Edit6->Text); x=StrToFloat(Edit7->Text); if(xCaption="W="+FloatToStr(W); Dup compilare (tasta F9) iniial va aprea forma din fig.4, trecerea de la o problem la alta se va

    efectua din meniul File fig.5.

    Fig.4 Fereastra iniial

    PDF created with pdfFactory Pro trial version www.pdffactory.com

  • Fig.5

    Fig.6 Rezultatele problemei 1.

    PDF created with pdfFactory Pro trial version www.pdffactory.com

  • Fig.7 Rezultatele problemei 2.

    Listingul Programului //--------------------------------------------------------------------------- #include #pragma hdrstop #include #include "Unit1.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TForm1 *Form1; //--------------------------------------------------------------------------- __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { //initial facem invizibile componentele Panel1, Panel2 Panel1->Visible=false; Panel2->Visible=false; } //--------------------------------------------------------------------------- void __fastcall TForm1::Problema11Click(TObject *Sender) { //in momentul cind vom tasta din meniu Problema1, Panel1 va deveni vizibil Panel1->Visible=true; Panel2->Visible=false; } //--------------------------------------------------------------------------- void __fastcall TForm1::Problema21Click(TObject *Sender) { //in momentul cind vom tasta din meniu Problema2, Panel2 va deveni vizibil Panel1->Visible=false; Panel2->Visible=true; }

    PDF created with pdfFactory Pro trial version www.pdffactory.com

  • //--------------------------------------------------------------------------- void __fastcall TForm1::Button1Click(TObject *Sender) { float a,b,x,c,d; //convertam din text in float a=StrToFloat(Edit1->Text); b=StrToFloat(Edit2->Text); x=StrToFloat(Edit3->Text); c=log(x+7*sqrt(abs(x+a)/abs(x+b))); d=1.5*pow(cos(x),2)/3*tan(x); //afisarea rezultatelor Panel3->Caption="C="+FloatToStr(c); Panel4->Caption="D="+FloatToStr(d); } //--------------------------------------------------------------------------- void __fastcall TForm1::Button2Click(TObject *Sender) { float a,b,c,x,W; //convertam din text in float a=StrToFloat(Edit4->Text); b=StrToFloat(Edit5->Text); c=StrToFloat(Edit6->Text); x=StrToFloat(Edit7->Text); if(xCaption="W="+FloatToStr(W); } //---------------------------------------------------------------------------

    Variantele lucrarilor de laborator. a) De calculat valoarea expresiei: Var Formula de calcul Nota

    1

    Y=sin bxax /)( 223 -+ ; z= 32

    )cos( bxax

    ++

    2

    F= 3 |)sin(*|)(* tcttgm + ; z=m cos( bt*sin(t) )+c

    3 Z= mxcmxm

    x lnsin1

    sin22

    -+

    ; s=e 5.11 +++ -- xex bxax

    4 F=ln(a+x )/(sin)

    22 bx ; z=e|| bxx

    axxcx--++-

    5 Y= 1

    )cos(2

    +++ -

    xxbaba xx ; r= xaxbbx /)(sin 322 +-+

    6

    Z= )(2sin 2 bxexax x ++ - ; w=cos 2232 / baxx +-

    7

    U=1sin

    cos2

    +-+

    -

    -

    bxebxbxexa

    x

    x

    ; f=e )ln()ln( 32 xbbxa xx --+

    8 A= y

    pix2sin2/1

    )6/cos(2+

    - ; B=1+5/3 2

    2

    zz

    +

    PDF created with pdfFactory Pro trial version www.pdffactory.com

  • 9 A=|x

    3/ / xyxy - | ; f=(y-x) 2)(1)/(

    xyxyzy

    -+--

    10 S=1+x+ 432

    432 xxx++ ; e=x(sinx y23 cos+ )

    11

    Y=e ||)sin( abtbatbt +-+- ; s=bsin(at 1)2cos2 -t

    12

    W= xaxbbx /)(sin 322 +-+ ; y=cos 2232 / baxx +-

    13 S=x bxabxtg +++ /)(

    223 ; Q=1

    2

    --

    axeabx ;

    14

    R=x )(sin/)1( 22 axbx +-+ ; s= 32 )(cos/ bxaxb ++

    15 Y=b tg

    )/(sin 22

    axax - ; d=a e )/cos( abxa-

    16 C=ln (x+7 )||

    ||bxax

    ++ ; a=

    tgxx

    3cos5.1 2

    b) De calculat valoarea functiei in dependenta de conditie: var

    Functia Conditia var Functia Conditia

    1 W=

    -

    - axeaxx

    axx

    ax cossin

    3

    x>a

    x=a

    x

  • 6 Y=

    +

    +2

    3

    3cos2

    ||ln

    xxa

    xxa

    x>1

    x 1

    14

    W=

    ++

    ++

    ++

    1/)(

    1/2

    2

    2

    xbxa

    xxa

    cbxax

    X1.2 7

    W=

    +

    ++

    3

    2

    biaii

    cbiia

    I6

    15

    S=

    +

    +++

    +

    xexbaxe

    ba

    x

    x

    sin)1/()(

    cos

    X

  • 13 MainMenu, ColorBox, Memo

    14 MainMenu, TabControl

    15 MainMenu, TrackBar

    16 MainMenu, ProgressBar

    17 MainMenu, Animate, Button

    18 MainMenu, DateTimePicker

    19 MainMenu, StatusBar

    20 MainMenu, OpenDialog

    21 MainMenu, SaveDialog

    22 MainMenu, OpenPictureDialog

    23 MainMenu, SavePictureDialog

    Exemplu

    n acest exemplu sunt prezentate careva funii i proprieti a urmtoarelor componente: MainMenu Memo Panel RadioButton ColorBox ComboBox OpenDialog

    Fig.1 Compenentele

    PDF created with pdfFactory Pro trial version www.pdffactory.com

  • Listingul Programului //--------------------------------------------------------------------------- #include #pragma hdrstop #include "Unit1.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma link "CGRID" #pragma resource "*.dfm" TForm1 *Form1; //--------------------------------------------------------------------------- __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { } //--------------------------------------------------------------------------- void __fastcall TForm1::ColorBox1Change(TObject *Sender) { if(RadioButton1->Checked==true)Panel1->Color=ColorBox1->Selected; if(RadioButton2->Checked==true)Panel2->Color=ColorBox1->Selected; if(RadioButton3->Checked==true)Panel3->Color=ColorBox1->Selected; if(RadioButton4->Checked==true)Panel4->Color=ColorBox1->Selected; if(RadioButton5->Checked==true)Panel5->Color=ColorBox1->Selected; if(RadioButton6->Checked==true)Panel6->Color=ColorBox1->Selected; } //--------------------------------------------------------------------------- void __fastcall TForm1::ComboBox1Change(TObject *Sender) { if(RadioButton1->Checked==true)Panel1->Caption=ComboBox1->Text; if(RadioButton2->Checked==true)Panel2->Caption=ComboBox1->Text; if(RadioButton3->Checked==true)Panel3->Caption=ComboBox1->Text; if(RadioButton4->Checked==true)Panel4->Caption=ComboBox1->Text; if(RadioButton5->Checked==true)Panel5->Caption=ComboBox1->Text; if(RadioButton6->Checked==true)Panel6->Caption=ComboBox1->Text; } //--------------------------------------------------------------------------- void __fastcall TForm1::Open1Click(TObject *Sender) { if (OpenDialog1->Execute()) Memo1->Lines->LoadFromFile(OpenDialog1->FileName); else Memo1->Clear(); Memo1->Alignment=taCenter; } //--------------------------------------------------------------------------- void __fastcall TForm1::Exit1Click(TObject *Sender) { Close(); } //---------------------------------------------------------------------------

    PDF created with pdfFactory Pro trial version www.pdffactory.com

  • Fig.2 Rezultatul

    PDF created with pdfFactory Pro trial version www.pdffactory.com

  • Cerine privind coninutul raportului

    n timpul perfectrii raportului pentru lucrrile de laborator e necesar de inut cont

    de urmtoarele cerine.

    a) Foaia de titlu

    Ministerul Educaiei al Republicii Moldova

    Universitatea Tehnic a Moldovei

    Catedra Sisteme Optoelectronice

    R E F E R A T

    La disciplina Programare

    Lucrarea de laborator nr. __

    Tema: _______________

    A efectuat studentul grupei ___ __ _______

    A verificat profesorul S. Istrati

    Chisinu ___

    b) Coninutul raportului:

    1) Varianta

    2) Condiiile problemei

    3) Schema logic a algoritmului

    4) Listingul programului

    5) Descrierea programului (algoritm, variabile, instruciuni, funcii etc.)

    6) Descrierea i analiza rezultatelor

    7) Concluzii.

    PDF created with pdfFactory Pro trial version www.pdffactory.com