Sunteți pe pagina 1din 5

Fișă de lucru – Structuri de date neomogene

Cuprins:
Fișă de lucru – Structuri de date neomogene......................................................................................................................... 1
Set I - Exerciții grilă variante de bacalaureat ...................................................................................................................... 1
Setul II – Puncte în plan ...................................................................................................................................................... 1
Setul II - Cerc ....................................................................................................................................................................... 2
Setul II - Numere complexe ................................................................................................................................................ 4

Set I - Exerciții grilă variante de bacalaureat

Se vor rezolva exercițiile grilă(41 de exerciții) de pe site-ul www.pbinfo.ro selectând


Probleme/Exerciții/Informatică/Clasa a X-a/Structuri neomogene de date

Setul II – Puncte în plan


Se consideră următoarea declarare:
struct punct{
int x;
int y;
};
1. Se citesc coordonatele carteziene ale unui punct A în planul xOy. Se cere să se precizeze distanța punctului
A față de originea sistemului de coordonate.

2. Se citesc coordonatele carteziene ale unui punct A în planul xOy. Se cere să se precizeze în ce cadran este
situat punctul A.

3. Se citesc coordonatele carteziene ale unui punct A în planul xOy. Se cere să se precizeze dacă punctul A
se află pe abscisă sau pe ordonată.

4. Se citesc coordonatele carteziene ale unui punct C în planul xOy, care reprezintă centrul unui cerc și raza
R(număr natural diferit de zero). Afișați:
a. Lungimea cercului
b. Aria cercului
c. Verificați dacă cercul dat, are centrul în originea sistemului de coordonate.

5. Se citesc coordonatele carteziene a două puncte A și B în planul xOy. Se cere să se precizeze


a. dacă segmentul|AB| este paralel cu axa Ox;
b. dacă segmentul|AB| este paralel cu axa Oy;
c. lungimea segmentului |AB|;
d. să se verifice dacă segmentul |AB|este pe abscisă/ordonată;
e. Aria triunghiului OAB;
f. Dacă capetele segmentului |AB| aparțin aceluiași cadran
g. Care dintre cele două puncte este mai apropiat de origine?
h. Dacă segmentul |OA| este egal cu segmentul |OB|
i. Considerăm că punctul A reprezintă colțul stânga sus a unui dreptungi, iar punctul B reprezintă
colțul dreapta jos al aceluiași dreptunghi. Calculați:
i. Lungimea și lățimea dreptunghiului determinat de cele 2 puncte
ii. Lungimea diagonalei
iii. Perimetrul și aria dreptunghiului determinat de cele două puncte
iv. Verificați dacă figura obținută este pătrat.

6. Se citesc coordonatele carteziene a trei puncte A,B,C în planul xOY. Se cere:


a. Verificați dacă cele trei puncte reprezintă varfurile unui triunghi
b. Calculați aria si perimetrul triunghiului obținut
c. Verificați dacă triunghiul obținut este echiateral/isoscel/dreptunghic sau oarecare.

7. Programul citește de la tastatură numărul n, iar apoi n perechi de puncte x y, reprezentând coordonatele
punctelor. Programul va afișa pe ecran două numere D Nr, reprezentând distanța maximă față de originea
sistemului și numărul de puncte situate la acea distanță.(1≤n≤100, coordonatele celor n puncte sunt
numere întregi din intervalul [-1000, 1000]).

Setul II - Cerc
Se consideră următoarea declarare:
struct punct{
int x;
int y;
};
struct cerc{ punct o; ///coordonatele centrului cercului
int raza;
}C,C1,C2;
1. Se citesc coordonatele carteziene ale unui punct O în planul xOy, care reprezintă centrul unui cerc și raza
(număr natural diferit de zero). Se cere:
a. Scrieți o funcție citireCerc care citește de la tastatură coordonatele centrului unui cerc și lungimea
razei. Funcția va returna aceste informații prin parametrul de ieșire C.
b. Scrieți o funcție diametruCerc care primește prin parametru de intrare un cerc C și care determină
diametrul cercului dat
c. Scrieți o funcție cu numele lungimeCerc care primește prin parametrul de intrare un cerc C și
determină circumferința(perimetrul) cercului.
d. Scrieți o funcție cu numele ariaCerc care primește prin parametrul de intrare un cerc C și
determină aria cercului
e. Verificați dacă cercul dat, are centrul în originea sistemului de coordonate.

1. Se citesc lungimile razelor și coordonatele carteziene ale centrelor a două cercuri C1 și C2. Se cere:
a. Scrieți o funcție cu numele cercExterior care verifică dacă două cercuri C1 și C2 primite ca
parametri de intrare sunt cercuri exterioare sau nu.
b. Scrieți o funcție cu numele cercInterior care verifică dacă
cercul C2 este cerc interior cercului C1. Cele două cercuri vor
fi primite ca parametri de intrare.

c. Scrieți o funcție cu numele tangenteExterior care verifică


daca cercul C1 este tangent exterior cu cercul C2. Cele două
cercuri vor fi primite ca parametri de intrare.

d. Scrieți o funcție cu numele tangenteInterior care verifică daca


cercul C2 este tangent interior cu cercul C1. Cele două cercuri
vor fi primite ca parametri de intrare.

e. Scrieți o funcție suntConcentrice care verifică dacă cercul c2


este concentric cu cercul C1. Cele două cercuri vor fi primite
ca parametri de intrare.

f. Scrieți o funcție suntSecante care verifică dacă cele două


cercuri au două puncte comune. Cele două cercuri vor fi
primite ca parametri de intrare.
Setul II - Numere complexe
Puțină matematică:
Forma algebrică a numărului complex z este z = a + i*b , unde a si b sunt numere reale. Numărul a se numește
partea reală a numărului complex z și se scrie a = re, iar numărul b se numește partea imaginară a numărului
complex z si se scrie b = im . Simbolul i se numește unitate imaginară si i2 = -1 .

Se consideră un număr complex z=re + i*im. Fie următoarea declarare a unui nou tip de date:
struct complex{
int re;
int im;
};
unde:
 re - partea reală a unui număr complex
 im – partea imaginară a unui număr complex
Se cunoaște partea reală și partea imaginară a două numere complexe scrise în forma algebrica z1, z2. Se
cere:
1. Să se scrie o funcție cu numele citesteComplex, care va citi de la tastatură partea reală și partea
imaginară a unui număr complex. Funcția va returna prin parametrul de iesire z acest număr. Utilizați
această funcție pentru citirea a două numere complexe z1 și z2.

2. Să se scrie o funcție cu numele afișeazăComplex care va afișa forma algebrică a unui număr complex
primit prin parametru de intrare. Utilizați această funcție pentru afișarea celor două numere complexe
z1 și z2.

3. Să se scrie o funcție cu numele nregale, care primește prin parametri de intrare două numere
complexe z1 și z2 și determină dacă cele două numere sunt sau nu egale.
(Numerele complexe z1=re1 + i*im1 și z2=re2 + i*im2 sunt egale, dacă si numai dacă re1=re2 și im1=im2)

4. Să se scrie o funcție cu numele esteConjugat care primește prin parametri de intrare două numere
compleze z1 și z2 și verifică daca z2 este conjugatul lui z1.
(Numărul z2=re2 - i*im2 este conjugatul numărului z1=re1 + i*im1, dacă și numai dacă re1=re2 și im1=-im2)

5. Să se scrie o funcție cu numele esteOpus care primește prin parametri de intrare două numere
compleze z1 și z2 și verifică daca z2 este opusul lui z1.
(Numărul z2=-re2 - i*im2 este opusul numărului z1=re1 + i*im1, dacă și numai dacă re1=-re2 și im1=-im2)

6. Să se scrie o funcție modulComplex care primește un număr complex printr-un parametru de intrare
și determină modului acestuia.
(Fie numărul complex z=-re - i*im. Modulul numărului z este |z|=| re - i*im |=√𝒓𝒆𝟐 + 𝒊𝒎𝟐 )

7. Să se scrie o funcție cu numele sumaComplex, care primește două numere compleze z1 și z2 prin
parametri de intrare, și calculează suma lor. Rezultatul va fi transmis prin parametrul de ieșire z.
(Suma numerelor complexe z1=re1 + i*im1 și z2=re2 + i*im2 este z=z1+z2=(re1+re2)+i(im1+im2) )

8. Să se scrie o funcție cu numele diferentaComplex, care primește două numere compleze z1 și z2 prin
parametri de intrare, și calculează diferența z1-z2.Rezultatul va fi transmis prin parametrul de ieșire
z.(Diferența numerelor complexe z1=re1+i*im1 și z2=re2+i*im2 este z=z1-z2=(re1-re2)+i(im1-im2) )

9. Să se scrie o funcție cu numele produsComplex, care primește două numere compleze z1 și z2 prin
parametri de intrare, și calculează produsul z1 * z2. Rezultatul va fi transmis prin parametrul de ieșire
z.(Produsul numerelor complexe z1=re1+i*im1 și z2=re2+i*im2 este
z=z1*z2=(re1*re2-im1*im2)+i(re1*im2+re2*im1) )
10. Să se scrie o funcție cu numele impartireComplex, care primește două numere compleze z1 și z2 prin
parametri de intrare, și calculează produsul z1 /z2. Rezultatul va fi transmis prin parametrul de ieșire
z. Produsul numerelor complexe z1=re1+i*im1 și z2=re2+i*im2 este
𝑧1 𝑟𝑒1 ∗ 𝑟𝑒2 + 𝑖𝑚1 ∗ 𝑖𝑚2
𝑧= =
𝑧2 𝑟𝑒22 + 𝑖𝑚22

11. Să se scrie o funcție cu numele putereComplex, care primește un număr complex z și un număr natural
p prin parametri de intrare, și calculează produsul zp. Rezultatul va fi transmis prin parametrul de
ieșire. (se va utiliza funcția ProdusComplex )

S-ar putea să vă placă și