Top Banner
Programarea calculatoarelor Universitatea Constantin Brâncuşi” din Târgu-Jiu Facultatea de Inginerie Departamentul de Automatică, Energie şi Mediu Lector dr. Adrian Runceanu
64

Programarea şi utilizarea calculatoarelor...Probleme recapitulative Subiect I - Grile cu alegere multiplă. Identificați litera care corespunde răspunsului corect. 02.06.2013 Programarea

Feb 26, 2021

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Programarea şi utilizarea calculatoarelor...Probleme recapitulative Subiect I - Grile cu alegere multiplă. Identificați litera care corespunde răspunsului corect. 02.06.2013 Programarea

Programarea calculatoarelor

Universitatea “Constantin Brâncuşi” din Târgu-Jiu

Facultatea de Inginerie

Departamentul de Automatică, Energie şi Mediu

Lector dr. Adrian Runceanu

Page 2: Programarea şi utilizarea calculatoarelor...Probleme recapitulative Subiect I - Grile cu alegere multiplă. Identificați litera care corespunde răspunsului corect. 02.06.2013 Programarea

Curs recapitulativ

Structura biletelor de examen

02.06.2013 Programarea calculatoarelor 2

Page 3: Programarea şi utilizarea calculatoarelor...Probleme recapitulative Subiect I - Grile cu alegere multiplă. Identificați litera care corespunde răspunsului corect. 02.06.2013 Programarea

Structura biletelor de examen

02.06.2013 Programarea calculatoarelor 3

Specializarea INGINERIA MEDIULUI:

Subiect I - Grile cu alegere multiplă. Identificați litera

care corespunde răspunsului corect.

Subiect II - Algoritm în pseudocod.

Subiect III – Enunțul unei probleme cu vectori sau

matrici, având un exemplu specificat.

Page 4: Programarea şi utilizarea calculatoarelor...Probleme recapitulative Subiect I - Grile cu alegere multiplă. Identificați litera care corespunde răspunsului corect. 02.06.2013 Programarea

Probleme recapitulative

Subiect I - Grile cu alegere multiplă. Identificați litera care corespunde răspunsului corect.

02.06.2013 Programarea calculatoarelor 4

Page 5: Programarea şi utilizarea calculatoarelor...Probleme recapitulative Subiect I - Grile cu alegere multiplă. Identificați litera care corespunde răspunsului corect. 02.06.2013 Programarea

Grila 1

Considerăm următoarea secvenţă de program în care v este un vector format din n numere întregi, iar n, i şi aux sunt trei variabile de tip întreg:

for(i=1; i<=n/2; i++) { aux = v[i]; v[i] = v[n/2 + n%2 + i]; v[n/2 + n%2 + i] = aux; }

02.06.2013 Programarea calculatoarelor 5

Page 6: Programarea şi utilizarea calculatoarelor...Probleme recapitulative Subiect I - Grile cu alegere multiplă. Identificați litera care corespunde răspunsului corect. 02.06.2013 Programarea

Grila 1 (continuare)

Dacă n=7 şi v=(10, 20, 30, 40, 50, 60, 70) atunci după executarea secvenţei de mai sus vectorul v va avea următorul conţinut:

a) v=(40, 50, 60, 70, 10, 20, 30) b) v=(40, 50, 60, 10, 20, 30, 70) c) v=(50, 60, 70, 40, 10, 20, 30) d) v=(10, 20, 30, 70, 60, 50, 40)

02.06.2013 Programarea calculatoarelor 6

Solutie: c)

Page 7: Programarea şi utilizarea calculatoarelor...Probleme recapitulative Subiect I - Grile cu alegere multiplă. Identificați litera care corespunde răspunsului corect. 02.06.2013 Programarea

Grila 2

Fie vectorul v=(-1, 2, 3, -2, 4, 6, -3, 4) cu n=8 elemente.

Care din secvenţele următoare transformă vectorul v astfel:

v=(-1, 4, 3, 6, 4, -2, -3, 2), ştiind că primul element din tablou se află pe poziţia 0?

02.06.2013 Programarea calculatoarelor 7

Page 8: Programarea şi utilizarea calculatoarelor...Probleme recapitulative Subiect I - Grile cu alegere multiplă. Identificați litera care corespunde răspunsului corect. 02.06.2013 Programarea

Grila 2 (continuare)

a) for(k=0; k<n/2; k++) { aux=a[k]; a[k]=a[n-1-k]; a[n-1-k]=aux; }

02.06.2013 Programarea calculatoarelor 8

b) for(k=n-1; k>=0; k--) if(k%2==0)

{

aux=a[k]; a[k]=a[n-k];

a[n-k]=aux;

}

Page 9: Programarea şi utilizarea calculatoarelor...Probleme recapitulative Subiect I - Grile cu alegere multiplă. Identificați litera care corespunde răspunsului corect. 02.06.2013 Programarea

Grila 2 (continuare)

c) for(k=n-1; k>=n/2; k--)

if(k%2!=0) { aux=a[k];

a[k]=a[n-k]; a[n-k]=aux; }

02.06.2013 Programarea calculatoarelor 9

d)

for(k=n-1; k>=n/2; k--) if(k%2!=0)

{

aux=a[k]; a[k]=a[n-k-1]; a[n-k-1]=aux;

}

Solutie: c)

Page 10: Programarea şi utilizarea calculatoarelor...Probleme recapitulative Subiect I - Grile cu alegere multiplă. Identificați litera care corespunde răspunsului corect. 02.06.2013 Programarea

Grila 3

Fie v un tablou unidimensional format din n numere întregi (n>=2).

Ştiind că primul element din tablou se află pe poziţia 1, indicaţi care dintre următoarele secvenţe atribuie variabilei întregi max cea mai mare valoare din tabloul v:

02.06.2013 Programarea calculatoarelor 10

Page 11: Programarea şi utilizarea calculatoarelor...Probleme recapitulative Subiect I - Grile cu alegere multiplă. Identificați litera care corespunde răspunsului corect. 02.06.2013 Programarea

Grila 3 (continuare)

a) for(i=2;i<=n;i++) if(v[i-1]<=v[i]) v[i-1]=v[i]; max=v[1];

b) for(i=1;i<=n-1;i++) if(v[i+1]>v[i]) v[i]=v[i+1];

max=v[1]; c) for(i=2;i<=n;i++) if(v[i-1]>v[i]) v[i]=v[i-1];

max=v[n]; d) for(i=n;i>=2;i--) if(v[i]>v[i-1]) v[i]=v[i-1];

max=v[n];

02.06.2013 Programarea calculatoarelor 11

Solutie: c)

Page 12: Programarea şi utilizarea calculatoarelor...Probleme recapitulative Subiect I - Grile cu alegere multiplă. Identificați litera care corespunde răspunsului corect. 02.06.2013 Programarea

Grila 4

Fie următoarea secvenţă de program în care a, b sunt doi vectori formaţi din câte n numere întregi, iar i şi n sunt două variabile de tip întreg:

for(i=1;i<=n;i++) a[i]=i; for(i=1;i<=n;i++) b[i]=i+a[n-i+1]; for(i=1;i<=n;i++) {a[i]=a[i]+b[i]; b[i]=a[i]-b[i];}

02.06.2013 Programarea calculatoarelor 12

Page 13: Programarea şi utilizarea calculatoarelor...Probleme recapitulative Subiect I - Grile cu alegere multiplă. Identificați litera care corespunde răspunsului corect. 02.06.2013 Programarea

Grila 4 (continuare)

După execuţia secvenţei de mai sus, vectorii a şi b vor fi:

a) a=(n+1, n,…,2) si b=(1,2,…,n) b) a=(1,2,…,n) si b=(0,0,…,0) c) a=(n+2, n+3,…, 2n+1) si b=(1,2,…,n) d) a=(1,2,…,n) si b=(1,2,…,n)

02.06.2013 Programarea calculatoarelor 13

Solutie: c)

Page 14: Programarea şi utilizarea calculatoarelor...Probleme recapitulative Subiect I - Grile cu alegere multiplă. Identificați litera care corespunde răspunsului corect. 02.06.2013 Programarea

Grila 5

Fie vectorul a=(10,8,3,9,6,1) cu n=6 elemente. Ce se va afişa în urma executării următorului program?

#include<iostream.h> int a[20], n,k,aux; int main(void) { cin>>n ; for(k=1; k<=n; k++) cin>>a[k]; for(k=1; k<=n/2; k++) if( (k%2 == 0) && (a[k]%2 == 0 )) { aux=a[k]; a[k]=a[n-k-1]; a[n-k-1]=aux; } for(k=1; k<=n; k++) cout<<a[k]<<’ ‘; }

02.06.2013 Programarea calculatoarelor 14

a) 10 6 9 3 8 1 b) 1 8 9 3 6 10 c) 1 6 9 3 8 10 d) 10 6 3 9 8 1

Solutie: d)

Page 15: Programarea şi utilizarea calculatoarelor...Probleme recapitulative Subiect I - Grile cu alegere multiplă. Identificați litera care corespunde răspunsului corect. 02.06.2013 Programarea

Grila 6

Considerăm următoarea secvenţă de program în care v este un vector format din n numere întregi, iar i, j şi n sunt trei variabile de tip întreg:

v[1]=1; for(i=2; i<=n; i++) for(j=1; j<=i; j++) v[i]=v[i-1]+1;

02.06.2013 Programarea calculatoarelor 15

a) v=(1, 2, 2, 3, 3, 3) b) v=(1, 2, 3, 4, 5, 6) c) v=(5, 5, 5, 5, 5, 6) d) v=(1,1, 1, 1, 1, 2)

Solutie: b)

Page 16: Programarea şi utilizarea calculatoarelor...Probleme recapitulative Subiect I - Grile cu alegere multiplă. Identificați litera care corespunde răspunsului corect. 02.06.2013 Programarea

Probleme recapitulative

Subiect II - Algoritm în pseudocod

02.06.2013 Programarea calculatoarelor 16

Page 17: Programarea şi utilizarea calculatoarelor...Probleme recapitulative Subiect I - Grile cu alegere multiplă. Identificați litera care corespunde răspunsului corect. 02.06.2013 Programarea

Algoritm 1

Se consideră următorul algoritm pseudocod:

citeste n (numar natural cu cel mult 9 cifre) cat timp n>=10 executa | s=0 | cat timp n≠0 executa | | s=s+n%10 | | n=[n/10] | |sfarsit cat timp | n=s |sfarsit cat timp scrie n

02.06.2013 Programarea calculatoarelor 17

Page 18: Programarea şi utilizarea calculatoarelor...Probleme recapitulative Subiect I - Grile cu alegere multiplă. Identificați litera care corespunde răspunsului corect. 02.06.2013 Programarea

Algoritm 1 (continuare)

1. Ce se va afişa dacă valoarea citită pentru n este 989736?

2. Scrieţi programul C++ corespunzător algoritmului

dat. 3. Scrieţi un algoritm echivalent cu algoritmul dat,

dar care să utilizeze un alt tip de structură repetitivă.

02.06.2013 Programarea calculatoarelor 18

Page 19: Programarea şi utilizarea calculatoarelor...Probleme recapitulative Subiect I - Grile cu alegere multiplă. Identificați litera care corespunde răspunsului corect. 02.06.2013 Programarea

Algoritm 1 - solutie

1. 9+8+9+7+3+6=42 4+2 = 6 Rezultat final 6

02.06.2013 Programarea calculatoarelor 19

Page 20: Programarea şi utilizarea calculatoarelor...Probleme recapitulative Subiect I - Grile cu alegere multiplă. Identificați litera care corespunde răspunsului corect. 02.06.2013 Programarea

Algoritm 1 - solutie

2. Programul C++

corespunzător

algoritmului dat este:

#include<iostream.h>

long int n, s;

int main()

{

cout<<"Dati n= ";

cin>>n;

02.06.2013 Programarea calculatoarelor 20

while(n>=10) { s=0; while(n!=0) { s=s+n%10; n=n/10; } n=s; } cout<<n; }

Page 21: Programarea şi utilizarea calculatoarelor...Probleme recapitulative Subiect I - Grile cu alegere multiplă. Identificați litera care corespunde răspunsului corect. 02.06.2013 Programarea

Algoritm 1 - solutie 3. Algoritmul echivalent cu algoritmul dat, dar care să utilizeze un alt tip de

structură repetitivă este:

citeste n (numar natural cu cel mult 9 cifre) repeta | s=0 | repeta | | s=s+n%10 | | n=[n/10] | |pana cand n=0 | n=s |pana cand n<10 scrie n

02.06.2013 Programarea calculatoarelor 21

Page 22: Programarea şi utilizarea calculatoarelor...Probleme recapitulative Subiect I - Grile cu alegere multiplă. Identificați litera care corespunde răspunsului corect. 02.06.2013 Programarea

Algoritm 2

Se consideră următorul algoritm pseudocod: citeste a,b (numere naturale) c=a%10 pentru i=1,b-1 executa | c=c*a | c=c%10 |sfarsit pentru scrie c

02.06.2013 Programarea calculatoarelor 22

Page 23: Programarea şi utilizarea calculatoarelor...Probleme recapitulative Subiect I - Grile cu alegere multiplă. Identificați litera care corespunde răspunsului corect. 02.06.2013 Programarea

Algoritm 2 (continuare)

1. Ce valoare afişează algoritmul pentru a=28 şi b=10?

2. Scrieţi programul C++ corespunzător

algoritmului dat. 3. Scrieţi algoritmul pseudocod care să fie

echivalent cu cel dat şi care să conţină un alt tip de structură repetitivă.

02.06.2013 Programarea calculatoarelor 23

Page 24: Programarea şi utilizarea calculatoarelor...Probleme recapitulative Subiect I - Grile cu alegere multiplă. Identificați litera care corespunde răspunsului corect. 02.06.2013 Programarea

Algoritm 2 - solutie

1. i=1 => c=8*28=224; c=4; i=2 => c=4*28=112; c=2; i=3 => c=2*28=56; c=6; i=4 => c=6*28=168; c=8; i=5 => c=8*28=224; c=4; i=6 => c=4*28=112; c=2; i=7 => c=2*28=56; c=6; i=8 => c=6*28=168; c=8; i=9 => c=8*28=224; c=4; Rezultat: 4

02.06.2013 Programarea calculatoarelor 24

Page 25: Programarea şi utilizarea calculatoarelor...Probleme recapitulative Subiect I - Grile cu alegere multiplă. Identificați litera care corespunde răspunsului corect. 02.06.2013 Programarea

Algoritm 2 - solutie

2. Programul C++

corespunzător

algoritmului dat este:

#include<iostream.h>

int a,b,c,i;

int main()

{

cout<<"a= "; cin>>a;

cout<<"b= "; cin>>b;

02.06.2013 Programarea calculatoarelor 25

c=a%10;

for(i=1;i<=b-1;i++)

{

c=c*a;

c=c%10;

}

cout<<"\nc = "<<c;

}

Page 26: Programarea şi utilizarea calculatoarelor...Probleme recapitulative Subiect I - Grile cu alegere multiplă. Identificați litera care corespunde răspunsului corect. 02.06.2013 Programarea

Algoritm 2 - solutie

3. Algoritmul echivalent cu algoritmul dat, dar care să utilizeze un alt tip de structură repetitivă este:

citeste a,b (numere naturale) c=a%10 i=1 cat timp i<=b-1 executa | c=c*a | c=c%10 | i=i+1 |sfarsit cat timp scrie c

02.06.2013 Programarea calculatoarelor 26

Page 27: Programarea şi utilizarea calculatoarelor...Probleme recapitulative Subiect I - Grile cu alegere multiplă. Identificați litera care corespunde răspunsului corect. 02.06.2013 Programarea

Probleme recapitulative

Subiectul III – Enunțul unei probleme cu vectori sau matrici, având un exemplu specificat.

02.06.2013 Programarea calculatoarelor 27

Page 28: Programarea şi utilizarea calculatoarelor...Probleme recapitulative Subiect I - Grile cu alegere multiplă. Identificați litera care corespunde răspunsului corect. 02.06.2013 Programarea

Probleme rezolvate cu vectori

Problema 1: Enunţ: Se consideră un vector x cu n numere reale. Să se calculeze produsul elementelor.

02.06.2013 Programarea calculatoarelor 28

Page 29: Programarea şi utilizarea calculatoarelor...Probleme recapitulative Subiect I - Grile cu alegere multiplă. Identificați litera care corespunde răspunsului corect. 02.06.2013 Programarea

Probleme rezolvate cu vectori

#include<iostream.h> int main(void) { double x[100], p; int n, i; cout<<"Dati numarul elementele ale tabloului n = "; cin>>n; cout<<"Dati elementele tabloului\n";

02.06.2013 Programarea calculatoarelor 29

Page 30: Programarea şi utilizarea calculatoarelor...Probleme recapitulative Subiect I - Grile cu alegere multiplă. Identificați litera care corespunde răspunsului corect. 02.06.2013 Programarea

Probleme rezolvate cu vectori

for(i = 1; i <= n; i++) { cout<<"x["<<i<<"]="; cin>>x[i]; }

02.06.2013 Programarea calculatoarelor 30

Page 31: Programarea şi utilizarea calculatoarelor...Probleme recapitulative Subiect I - Grile cu alegere multiplă. Identificați litera care corespunde răspunsului corect. 02.06.2013 Programarea

Probleme rezolvate cu vectori

cout<<"Vectorul initial este \n"; for(i = 1; i <= n; i++) { cout.width(6); cout<<x[i]; }

02.06.2013 Programarea calculatoarelor 31

Page 32: Programarea şi utilizarea calculatoarelor...Probleme recapitulative Subiect I - Grile cu alegere multiplă. Identificați litera care corespunde răspunsului corect. 02.06.2013 Programarea

Probleme rezolvate cu vectori

p = 1; // produsul elementelor din vector

for(i = 1; i <= n; i++) p = p * x[i]; cout<<"\nProdusul elementelor este = "

<<p<<endl; }

02.06.2013 Programarea calculatoarelor 32

Page 33: Programarea şi utilizarea calculatoarelor...Probleme recapitulative Subiect I - Grile cu alegere multiplă. Identificați litera care corespunde răspunsului corect. 02.06.2013 Programarea

Probleme rezolvate cu vectori

Problema 2: Enunţ:

Se consideră un vector x cu n numere reale.

Să se calculeze câte elemente sunt pozitive, câte sunt negative şi câte sunt nule.

02.06.2013 Programarea calculatoarelor 33

Page 34: Programarea şi utilizarea calculatoarelor...Probleme recapitulative Subiect I - Grile cu alegere multiplă. Identificați litera care corespunde răspunsului corect. 02.06.2013 Programarea

Probleme rezolvate cu vectori

#include<iostream.h> int main(void) { double x[100]; int n, i, nr_poz, nr_neg, nr_nul; cout<<"Dati numarul elementele ale tabloului n = "; cin>>n; cout<<"Dati elementele tabloului\n";

02.06.2013 Programarea calculatoarelor 34

Page 35: Programarea şi utilizarea calculatoarelor...Probleme recapitulative Subiect I - Grile cu alegere multiplă. Identificați litera care corespunde răspunsului corect. 02.06.2013 Programarea

Probleme rezolvate cu vectori

for(i = 1; i <= n; i++) { cout<<"x["<<i<<"]="; cin>>x[i]; }

02.06.2013 Programarea calculatoarelor 35

Page 36: Programarea şi utilizarea calculatoarelor...Probleme recapitulative Subiect I - Grile cu alegere multiplă. Identificați litera care corespunde răspunsului corect. 02.06.2013 Programarea

Probleme rezolvate cu vectori

cout<<"Vectorul initial este \n"; for(i = 1; i <= n; i++) { cout.width(6); cout<<x[i]; }

02.06.2013 Programarea calculatoarelor 36

Page 37: Programarea şi utilizarea calculatoarelor...Probleme recapitulative Subiect I - Grile cu alegere multiplă. Identificați litera care corespunde răspunsului corect. 02.06.2013 Programarea

Probleme rezolvate cu vectori

nr_poz = nr_neg = nr_nul = 0; for(i = 1; i <= n; i++) if(x[i] > 0) nr_poz++; else if(x[i] < 0) nr_neg++; else nr_nul++;

02.06.2013 Programarea calculatoarelor 37

Page 38: Programarea şi utilizarea calculatoarelor...Probleme recapitulative Subiect I - Grile cu alegere multiplă. Identificați litera care corespunde răspunsului corect. 02.06.2013 Programarea

Probleme rezolvate cu vectori

cout<<"Numarul elementelor pozitive este = "<<nr_poz<<endl;

cout<<"Numarul elementelor negative este = "<<nr_neg<<endl;

cout<<"Numarul elementelor nule este = "<<nr_nul<<endl;

}

02.06.2013 Programarea calculatoarelor 38

Page 39: Programarea şi utilizarea calculatoarelor...Probleme recapitulative Subiect I - Grile cu alegere multiplă. Identificați litera care corespunde răspunsului corect. 02.06.2013 Programarea

Probleme rezolvate cu vectori

Problema 3: Enunţ:

Se consideră un număr natural n. Să cere să se formeze un vector cu

cifrele numărului.

02.06.2013 Programarea calculatoarelor 39

Page 40: Programarea şi utilizarea calculatoarelor...Probleme recapitulative Subiect I - Grile cu alegere multiplă. Identificați litera care corespunde răspunsului corect. 02.06.2013 Programarea

Probleme rezolvate cu vectori

#include<iostream.h> int main(void) { int x[100]; long int n, i, m; cout<<"Dati numarul natural n = "; cin>>n;

02.06.2013 Programarea calculatoarelor 40

Page 41: Programarea şi utilizarea calculatoarelor...Probleme recapitulative Subiect I - Grile cu alegere multiplă. Identificați litera care corespunde răspunsului corect. 02.06.2013 Programarea

Probleme rezolvate cu vectori

i = 1; while(n != 0) { x[i] = n % 10; i++; n = n / 10; }

02.06.2013 Programarea calculatoarelor 41

Page 42: Programarea şi utilizarea calculatoarelor...Probleme recapitulative Subiect I - Grile cu alegere multiplă. Identificați litera care corespunde răspunsului corect. 02.06.2013 Programarea

Probleme rezolvate cu vectori

m = i-1; cout<<"Vectorul cu cifrele numarului este \n"; for(i = 1; i <= m; i++) { cout.width(3); cout<<x[i]; } }

02.06.2013 Programarea calculatoarelor 42

Page 43: Programarea şi utilizarea calculatoarelor...Probleme recapitulative Subiect I - Grile cu alegere multiplă. Identificați litera care corespunde răspunsului corect. 02.06.2013 Programarea

Probleme rezolvate cu vectori

Problema 4: Enunţ:

Reuniunea a două mulţimi Să se scrie un program care să calculeze

reuniunea a două mulţimi de câte n, respectiv m numere întregi memorate cu ajutorul vectorilor.

02.06.2013 Programarea calculatoarelor 43

Page 44: Programarea şi utilizarea calculatoarelor...Probleme recapitulative Subiect I - Grile cu alegere multiplă. Identificați litera care corespunde răspunsului corect. 02.06.2013 Programarea

Probleme rezolvate cu vectori

Exemplu:

02.06.2013 Programarea calculatoarelor 44

Date de intrare: n=5, a={1, 2, 5, 7, 12} si m=2, b={2, 4, 8, 12}

Date de iesire: k = 7 z = {1, 2, 3, 4, 5, 7, 8, 12}

Page 45: Programarea şi utilizarea calculatoarelor...Probleme recapitulative Subiect I - Grile cu alegere multiplă. Identificați litera care corespunde răspunsului corect. 02.06.2013 Programarea

Probleme rezolvate cu vectori

#include<iostream.h> int main(void) { int a[100], b[100], c[100], n, m, i, j, k, ok; cout<<"Dati cardinalul multimii A - n = "; cin>>n; cout<<"Dati elementele multimii A \n";

02.06.2013 Programarea calculatoarelor 45

Page 46: Programarea şi utilizarea calculatoarelor...Probleme recapitulative Subiect I - Grile cu alegere multiplă. Identificați litera care corespunde răspunsului corect. 02.06.2013 Programarea

Probleme rezolvate cu vectori

for(i = 1; i <= n; i++) { cout<<"a["<<i<<"] = "; cin>>a[i]; }

02.06.2013 Programarea calculatoarelor 46

Page 47: Programarea şi utilizarea calculatoarelor...Probleme recapitulative Subiect I - Grile cu alegere multiplă. Identificați litera care corespunde răspunsului corect. 02.06.2013 Programarea

Probleme rezolvate cu vectori

cout<<"Dati cardinalul multimii B - m = "; cin>>m; cout<<"Dati elementele multimii B \n"; for(i = 1; i <= m; i++) { cout<<"b["<<i<<"] = "; cin>>b[i]; }

02.06.2013 Programarea calculatoarelor 47

Page 48: Programarea şi utilizarea calculatoarelor...Probleme recapitulative Subiect I - Grile cu alegere multiplă. Identificați litera care corespunde răspunsului corect. 02.06.2013 Programarea

Probleme rezolvate cu vectori

// copiem elementele din multimea A in multimea C

for(i = 1;i <= n; i++) c[i]=a[i]; k = n;

02.06.2013 Programarea calculatoarelor 48

Page 49: Programarea şi utilizarea calculatoarelor...Probleme recapitulative Subiect I - Grile cu alegere multiplă. Identificați litera care corespunde răspunsului corect. 02.06.2013 Programarea

Probleme rezolvate cu vectori

for(j = 1; j <= m; j++) { ok = 1; // variabila care verifica daca un element apartine sau un unei

multimi

for(i = 1; i <=n ;i++) if(b[j] == a[i]) ok = 0; if(ok == 1) { k++; c[k] = b[j]; } } 02.06.2013 Programarea calculatoarelor 49

Page 50: Programarea şi utilizarea calculatoarelor...Probleme recapitulative Subiect I - Grile cu alegere multiplă. Identificați litera care corespunde răspunsului corect. 02.06.2013 Programarea

Probleme rezolvate cu vectori

cout<<"Elementele multimii reuniune sunt : \n"; for(i = 1; i <= k; i++) { cout.width(9); cout<<c[i]; } }

02.06.2013 Programarea calculatoarelor 50

Page 51: Programarea şi utilizarea calculatoarelor...Probleme recapitulative Subiect I - Grile cu alegere multiplă. Identificați litera care corespunde răspunsului corect. 02.06.2013 Programarea

Probleme recapitulative

Subiectul III – Enunțul unei probleme cu vectori sau matrici, având un exemplu specificat.

02.06.2013 Programarea calculatoarelor 51

Page 52: Programarea şi utilizarea calculatoarelor...Probleme recapitulative Subiect I - Grile cu alegere multiplă. Identificați litera care corespunde răspunsului corect. 02.06.2013 Programarea

Probleme rezolvate cu matrici

Problema 5: Enunţ: Se dau doua numere n si m reprezentand

numarul de linii, respectiv numarul de coloane ale unei matrici An*m (1n,m30) de numere întregi.

Să se scrie un program care construieste o matrice A ale caror elemente se calculează după formula:

A[i][j] = (n-i) * (m-j)

02.06.2013 Programarea calculatoarelor 52

Page 53: Programarea şi utilizarea calculatoarelor...Probleme recapitulative Subiect I - Grile cu alegere multiplă. Identificați litera care corespunde răspunsului corect. 02.06.2013 Programarea

Probleme rezolvate cu matrici

#include<iostream.h> int main() { int i, j, m, n; float a[10][10]; cout<<"Dati dimensiunile matricei \n"; cout<<"Dati numarul de linii n = "; cin>>n; cout<<"Dati numarul de coloane m = "; cin>>m; for (i=1;i<=n; i++) for (j=1;j<=m; j++) a[i][j] = (n-i) * (m-j);

02.06.2013 Programarea calculatoarelor 53

Page 54: Programarea şi utilizarea calculatoarelor...Probleme recapitulative Subiect I - Grile cu alegere multiplă. Identificați litera care corespunde răspunsului corect. 02.06.2013 Programarea

Probleme rezolvate cu matrici

cout<<"Elementele matricei A sunt: \n"; for(i=1; i<=n; i++) { for(j=1; j<=m; j++) { cout.width(4); cout<<a[i][j]; } cout<<endl; } } 02.06.2013 Programarea calculatoarelor 54

Page 55: Programarea şi utilizarea calculatoarelor...Probleme recapitulative Subiect I - Grile cu alegere multiplă. Identificați litera care corespunde răspunsului corect. 02.06.2013 Programarea

Probleme rezolvate cu matrici

Problema 6:

Enunţ:

Să se citească elementele unei matrici An,m, unde

n<=10 şi m<=10, in care se retin numere reale.

Să se interschimbe liniile matricii A în modul

următor:

• prima linie cu ultima linie

• a doua linie cu penultima linie

• etc.

02.06.2013 Programarea calculatoarelor 55

Page 56: Programarea şi utilizarea calculatoarelor...Probleme recapitulative Subiect I - Grile cu alegere multiplă. Identificați litera care corespunde răspunsului corect. 02.06.2013 Programarea

Probleme rezolvate cu matrici

#include<iostream.h> int main() { double a[10][10], aux; int m, n, i, j; cout<<"Dati dimensiunile matricei \n"; cout<<"Dati numarul de linii n = "; cin>>n; cout<<"Dati numarul de coloane m = "; cin>>m;

02.06.2013 Programarea calculatoarelor 56

Page 57: Programarea şi utilizarea calculatoarelor...Probleme recapitulative Subiect I - Grile cu alegere multiplă. Identificați litera care corespunde răspunsului corect. 02.06.2013 Programarea

Probleme rezolvate cu matrici

for(i=1; i<=n; i++) for(j=1; j<=m; j++) { cout<<"a["<<i<<","<<j<<"]= "; cin>>a[i][j]; }

02.06.2013 Programarea calculatoarelor 57

Page 58: Programarea şi utilizarea calculatoarelor...Probleme recapitulative Subiect I - Grile cu alegere multiplă. Identificați litera care corespunde răspunsului corect. 02.06.2013 Programarea

Probleme rezolvate cu matrici

cout<<"Elementele matricei A sunt: \n"; for(i=1; i<=n; i++) { for(j=1; j<=m; j++) { cout.width(4); cout<<a[i][j]; } cout<<endl; }

02.06.2013 Programarea calculatoarelor 58

Page 59: Programarea şi utilizarea calculatoarelor...Probleme recapitulative Subiect I - Grile cu alegere multiplă. Identificați litera care corespunde răspunsului corect. 02.06.2013 Programarea

Probleme rezolvate cu matrici

//interschimbarea liniilor matricii A:

for (i=1; i<=n/2; i++) for (j=1; j<=m; j++) { aux = a[i][j]; a[i][j] = a[n+1-i][j]; a[n+1-i][j] = aux; }

02.06.2013 Programarea calculatoarelor 59

Page 60: Programarea şi utilizarea calculatoarelor...Probleme recapitulative Subiect I - Grile cu alegere multiplă. Identificați litera care corespunde răspunsului corect. 02.06.2013 Programarea

Probleme rezolvate cu matrici

cout<<"Matricea A cu liniile interschimbate:\n"; for(i=1; i<=n; i++) { for(j=1; j<=m; j++) { cout.width(4); cout<<a[i][j]; } cout<<endl; } }

02.06.2013 Programarea calculatoarelor 60

Page 61: Programarea şi utilizarea calculatoarelor...Probleme recapitulative Subiect I - Grile cu alegere multiplă. Identificați litera care corespunde răspunsului corect. 02.06.2013 Programarea

Structura biletelor de examen

02.06.2013 Programarea calculatoarelor 61

Specializarea INGINERIA MEDIULUI:

Subiect I - Grile cu alegere multiplă. Identificați litera

care corespunde răspunsului corect.

Subiect II - Algoritm în pseudocod.

Subiect III – Enunțul unei probleme cu vectori sau

matrici, având un exemplu specificat.

Page 62: Programarea şi utilizarea calculatoarelor...Probleme recapitulative Subiect I - Grile cu alegere multiplă. Identificați litera care corespunde răspunsului corect. 02.06.2013 Programarea

02.06.2013 Programarea calculatoarelor 62

Page 63: Programarea şi utilizarea calculatoarelor...Probleme recapitulative Subiect I - Grile cu alegere multiplă. Identificați litera care corespunde răspunsului corect. 02.06.2013 Programarea

02.06.2013 Programarea calculatoarelor 63

Page 64: Programarea şi utilizarea calculatoarelor...Probleme recapitulative Subiect I - Grile cu alegere multiplă. Identificați litera care corespunde răspunsului corect. 02.06.2013 Programarea

Sfârşit curs!

Baftă!

02.06.2013 Programarea calculatoarelor 64