Subiectul I – Baze de date
Să se proiecteze o bază de date cu două entități/tabele: ANGAJAT și DEPARTAMENT, având următoarele atribute/structuri: ANGAJAT (* nume, # codAngajat, * codDepartament, * specialitate, * salariu, anAngajare) DEPARTAMENT (# codDepartament, * denumire).
Știind că fiecare angajat lucrează într-un singur departament, se cere:
1. Să se creeze baza de date şi să se încarce cu date semnificative rezolvării problemei;
CREATE TABLE `ANGAJAT` ( `nume` VARCHAR(32) NOT NULL , `codAngajat` INT NOT NULL AUTO_INCREMENT , `codDepartament` INT NOT NULL , `specialitate` VARCHAR(32) NOT NULL , `salariu` INT NOT NULL , `anAngajare` INT NOT NULL , PRIMARY KEY (`codAngajat`));
CREATE TABLE `DEPARTAMENT` ( `codDepartament` INT NOT NULL AUTO_INCREMENT , `denumire` VARCHAR(32) NOT NULL , PRIMARY KEY (`codDepartament`));
2. Să se afișeze conţinutul entităților(tabelelor);
SELECT * FROM ANGAJAT SELECT * FROM DEPARTAMENT
3. Să se afișeze, pentru fiecare angajat, numele, specialitatea, salariul şi denumirea departamentului în care lucrează;
SELECT ANGAJAT.nume, ANGAJAT.specialitate, ANGAJAT.salariu, DEPARTAMENT.denumire FROM ANGAJAT, DEPARTAMENT WHERE ANGAJAT.codDepartament = DEPARTAMENT.codDepartamen
4. Să se afișeze, pentru fiecare departament, numărul său de angajaţi;
SELECT DEPARTAMENT.denumire, COUNT(DEPARTAMENT.denumire) AS Total FROM ANGAJAT, DEPARTAMENT WHERE ANGAJAT.codDepartament = DEPARTAMENT codDepartament GROUP BY DEPARTAMENT.denumire
Subiectul II – Programare
Fişierul numere.in conține, pe prima linie, un număr natural par n, cu cel mult 9 cifre. Se consideră subprogramul sub care primește prin intermediul parametrului x un număr natural și returnează valoarea 1 dacă x este un număr prim și 0 în caz contrar. Cerinţe:
a) Scrieţi definiţia completă a subprogramului sub;
b) Scrieţi un program Pascal/C/C++ care, folosind apeluri utile ale subprogramului sub, citește numărul n apoi determină și afișează toate perechile de numere prime (a,b) (a < b) a caror suma este egala cu n.
Exemplu: Daca fisierul numere.in contine numarul 20, atunci in fisierul numere.out se vor gasii perechile (3, 17) (17, 3)
#include <iostream> #include <fstream> using namespace std; ifstream f("numere.in"); int sub(int x) { if(x==2) return 1; for(int i = 2; i <= x/2; i++) if(x % i == 0) return 0; return 1; } int main() { int n; f >> n; for(int i = 2; i <= n/2; i++) if(sub(i) && sub(n-i)) cout<<"("<<i<<", "<<n-i<<")"<<" "; return 0; }
Subiectul III – Sisteme de operare / Microsoft Office
Să se creeze un document cu numele SubiectWord.
Cerinţe:
a) Realizați următoarele setări de pagină: dimensiune hârtie – letter, margini: sus – 1 cm, jos – 2.20 cm, stânga – 2 cm, dreapta – 2.50 cm, antet 2 cm, subsol 1.45cm, orientare tip vedere.
b) Introduceţi paragrafele, ca în figura de mai jos, într-o casetă cu următoarele dimensiuni: lungime 13 cm, lățime 5 cm; umplere casetă – textură tip papyrus:
c) Centraţi paragraful trei, subliniaţi cu o linie dublă primele două cuvinte din paragraful doi.
d) Titlul Meniul Table, are dimensiunea 20, culoare verde care să fie aliniat centrat.
e) Realizaţi o schemă identică cu cea de mai jos:
f) Inseraţi o miniatură, la alegere, rotită stânga cu 90 de grade.
Să se salveze documentul SubiectWord.