sub_atestat_2011_programare_intensiv

13
EXAMENUL DE ATESTAT PROFESIONAL LA INFORMATICĂ – 2011 CLASE DE MATEMATICĂ – INFORMATICĂ, INTENSIV INFORMATICĂ SUBIECTE PROGRAMARE Subiectul 1 Folosind unul dintre limbajele C/C/C++ sau Pascal, rezolvaţi următoarele cerinţe: a) Scrieţi un subprogram care verifică dacă un număr natural, cu cel mult 4 cifre, transmis ca parametru este prim sau nu. Subprogramul va returna valoarea 1/true dacă numărul transmis ca parametru este prim şi 0/false în caz contrar. b) În fişierul nr1.txt pe primul rând se află mai multe numere naturale cu cel mult 4 cifre fiecare, separate prin câte un spaţiu. Scrieţi programul principal care citeşte numerele din fişier şi, pentru fiecare număr par n>2 existent în fişier, folosind subprogramul de la punctul a), determină şi afişează pe ecran 2 valori naturale prime a şi b astfel încât n=a+b. Subiectul 2 Folosind unul dintre limbajele C/C++ sau Pascal, rezolvaţi următoarele cerinţe: a) Scrieţi un subprogram care returnează suma divizorilor proprii (fără 1 şi el însuşi) ai unui număr natural cu cel mult 4 cifre, transmis ca parametru. b) În fişierul nr2.txt pe primul rând se află cel mult 100 de numere naturale cu maximum 4 cifre fiecare, separate prin câte un spaţiu. Scrieţi programul principal care citeşte numerele din fişier şi, folosind subprogramul de la punctul a), determină şi afişează numerele prime existente în fişier în ordine crescătoare. Subiectul 3 Folosind unul dintre limbajele C/C++ sau Pascal, rezolvaţi următoarele cerinţe: a) Scrieţi un subprogram care returnează cel mai mare divizor comun a două numere naturale, cu cel mult 4 cifre fiecare, transmise ca parametri. b) În fişierul nr3.txt pe primul rând se află un număr natural n(n≤100), iar pe rândul următor se află n numere naturale cu cel mult 4 cifre fiecare, separate prin câte un spaţiu si ordonate crescător. Scrieţi programul principal care citeşte

Upload: andreea-bratu

Post on 29-Jun-2015

356 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Sub_atestat_2011_Programare_intensiv

EXAMENUL DE ATESTAT PROFESIONAL LA INFORMATICĂ – 2011CLASE DE MATEMATICĂ – INFORMATICĂ, INTENSIV INFORMATICĂ

SUBIECTE PROGRAMARE

Subiectul 1Folosind unul dintre limbajele C/C/C++ sau Pascal, rezolvaţi următoarele cerinţe:

a) Scrieţi un subprogram care verifică dacă un număr natural, cu cel mult 4 cifre, transmis ca parametru este prim sau nu. Subprogramul va returna valoarea 1/true dacă numărul transmis ca parametru este prim şi 0/false în caz contrar.

b) În fişierul nr1.txt pe primul rând se află mai multe numere naturale cu cel mult 4 cifre fiecare, separate prin câte un spaţiu. Scrieţi programul principal care citeşte numerele din fişier şi, pentru fiecare număr par n>2 existent în fişier, folosind subprogramul de la punctul a), determină şi afişează pe ecran 2 valori naturale prime a şi b astfel încât n=a+b.

Subiectul 2Folosind unul dintre limbajele C/C++ sau Pascal, rezolvaţi următoarele cerinţe:

a) Scrieţi un subprogram care returnează suma divizorilor proprii (fără 1 şi el însuşi) ai unui număr natural cu cel mult 4 cifre, transmis ca parametru.

b) În fişierul nr2.txt pe primul rând se află cel mult 100 de numere naturale cu maximum 4 cifre fiecare, separate prin câte un spaţiu. Scrieţi programul principal care citeşte numerele din fişier şi, folosind subprogramul de la punctul a), determină şi afişează numerele prime existente în fişier în ordine crescătoare.

Subiectul 3Folosind unul dintre limbajele C/C++ sau Pascal, rezolvaţi următoarele cerinţe:

a) Scrieţi un subprogram care returnează cel mai mare divizor comun a două numere naturale, cu cel mult 4 cifre fiecare, transmise ca parametri.

b) În fişierul nr3.txt pe primul rând se află un număr natural n(n≤100), iar pe rândul următor se află n numere naturale cu cel mult 4 cifre fiecare, separate prin câte un spaţiu si ordonate crescător. Scrieţi programul principal care citeşte numerele din fişier şi, folosind subprogramul de la punctul a), determină şi afişează perechea de numere prime între ele [a,b], cu a<b, a şi b fiind dintre numerele de pe a doua linie a fişierului. Dacă există mai multe astfel de perechi se va afişa acea pereche pentru care diferenţa b-a este maximă şi a este minim.

Subiectul 4Folosind unul dintre limbajele C/C++ sau Pascal, rezolvaţi următoarele cerinţe:

a) Scrieţi un subprogram care returnează cea mai mare cifră a unui număr natural, cu cel mult 8 cifre, transmis ca parametru.

b) În fişierul nr4.txt pe primul rând se află un număr natural n cu cel mult 4 cifre, iar pe rândul următor se află n numere naturale cu cel mult 8 cifre fiecare, separate prin câte un spaţiu. Scrieţi programul principal care citeşte numerele din fişier şi, folosind subprogramul de la punctul a), determină şi afişează cel mai mare număr din fişier care nu conţine nici o cifră de 9 şi cel mai mic număr din fişier care conţin cel puţin o cifră de 9.

Subiectul 5Folosind unul dintre limbajele C/C++ sau Pascal, rezolvaţi următoarele cerinţe:

Page 2: Sub_atestat_2011_Programare_intensiv

a) Scrieţi un subprogram care returnează numărul de vocale aflate într-un şir cu maximum 30 de caractere transmis ca parametru.

b) În fişierul nr5.txt pe primul rând se află un număr natural n cu cel mult 4 cifre, iar pe rândul următor se află n cuvinte formate din litere mari şi mici ale alfabetului englez, separate prin câte un spaţiu, fiecare cuvânt având maximum 30 de litere. Scrieţi programul principal care citeşte cuvintele din fişier şi elimină din fiecare cuvânt care conţine cel puţin 3 vocale, toate vocalele cu excepţia ultimelor două vocale. Programul va afişa apoi pe ecran, cuvintele astfel modificate, separate prin câte un spaţiu.

Subiectul 6Folosind unul dintre limbajele C/C++ sau Pascal, rezolvaţi următoarele cerinţe:

a) Scrieţi un subprogram care primeşte printr-un parametru a o valoare naturală cu maximum 4 cifre şi returnează 1/true dacă a este număr prim şi 0/false în caz contrar.

b) În fişierul nr6.txt pe primul rând se află o valoare naturală n (n<100) iar pe al doilea rând al fişierului se găsesc n numere naturale cu maximum 4 cifre fiecare. Scrieţi programul principal care folosind subprogramul de la punctul a), afişează toate elementele prime de pe a doua linie a fişierului în ordine inversă citirii lor din fişier, separate prin câte un spaţiu, iar pe rândul următor numărul de numere care nu sunt numere prime.

Subiectul 7Folosind unul dintre limbajele C/C++ sau Pascal, rezolvaţi următoarele cerinţe:

a) Scrieţi un subprogram care calculează cel mai mare divizor comun al două numere întregi cu maximum 4 cifre fiecare, transmise ca parametri.

b) În fişierul nr7.txt pe primul rând se află două valori naturale n şi m (n,m<10) separate prin câte un spaţiu. Următoarele n rânduri din fişier conţin câte m numere întregi cu maximum 4 cifre fiecare, separate prin câte un spaţiu, reprezentând elementele unei matrice cu n linii şi m coloane. Scrieţi programul principal care folosind subprogramul de la punctul a), determină şi afişează cel mai mare divizor comun al valorilor de pe fiecare coloană din matrice.

Subiectul 8Folosind unul dintre limbajele C/C++ sau Pascal, rezolvaţi următoarele cerinţe:

a) Scrieţi un subprogram care primeşte printr-un parametru o valoare naturală p cu maximum 8 cifre şi returnează suma cifrelor numărului p.

b) În fişierul nr8.txt pe primul rând se află o valoare naturală n (n<100) şi de pe următoarele n linii câte o valoare v (număr natural cu maximum 8 cifre). Scrieţi programul principal care memorează într-un vector b, pentru fiecare valoare v citită, cifra sa de control, folosind subprogramul de la punctul a). Cifra de control a unui număr se calculează însumând cifrele numărului, apoi însumând cifrele sumei, şi tot aşa până se ajunge ca suma să aibă o singură cifră. Programul afişează elementele vectorului b pe o singură linie a ecranului separate prin câte un spaţiu.

Subiectul 9Folosind unul dintre limbajele C/C++ sau Pascal, rezolvaţi următoarele cerinţe:

a) Scrieţi un subprogram care primeşte ca parametru x un şir de caractere cu maximum 100 de caractere, format din litere mari şi mici ale alfabetului englez şi spaţii şi returnează prin acelaşi parametru x, şirul obţinut prin înlocuirea vocalelor reprezentate prin litere mici, cu majusculele corespunzătoare.

b) În fişierul nr9.txt pe primele două rânduri se află două şiruri de caractere s1 şi s2 cu maximum 100 de caractere fiecare, formate din litere mari şi mici ale alfabetului englez şi spaţii. Scrieţi programul principal care înlocuieşte, în fiecare dintre cele două şiruri, vocalele

Page 3: Sub_atestat_2011_Programare_intensiv

reprezentate prin litere mici, cu majusculele corespunzătoare, utilizând subprogramul de la punctul a), iar apoi afişează şirurile pe acelaşi rând cu spaţiu între ele, iar pe rândul următor mesajul „DA”, dacă şirul s2 se găseşte în şirul s1, respectiv mesajul „NU” în caz contrar.

Subiectul 10Folosind unul dintre limbajele C/C++ sau Pascal, rezolvaţi următoarele cerinţe:

a) Scrieţi un subprogram care primeşte ca parametru o valoare naturală b (1≤b<100) şi returnează al b-lea termen din şirul lui Fibonacci.

b) Scrieţi programul principal care citeşte de la tastatură un număr natural p (0≤p<100) şi creează un vector cu p elemente, fiecare element aflat pe poziţia p-i+1 în vector (1≤i≤p) are ca valoare al i-lea element din şirul lui Fibonacci (valoarea respectivă se obţine folosind subprogramul de la punctul a). Programul va memora pe primul rând al fişierului nr10.txt elementele vectorului separate prin câte un spaţiu.

Subiectul 11Folosind unul dintre limbajele C/C++ sau Pascal, rezolvaţi următoarele cerinţe:

a) Scrieţi un subprogram care primeşte printr-un parametru o valoare naturală n cu maximum 4 cifre şi returnează suma cifrelor numărului n.

b) Scrieţi programul principal care citeşte de la tastatură două numere naturale a şi b cu maximum 4 cifre fiecare şi, folosind subprogramul de la punctul a), determină şi afişează în fişierul nr11.txt toate numerele naturale din intervalul [a,b] care au aceeaşi cifră de control ca şi a (a<b). (cifra de control se obţine astfel: se calculează suma cifrelor numărului dat, apoi suma cifrelor sumei ş.a.m.d. până se obţine un număr format dintr-o singură cifră).

Subiectul 12Folosind unul dintre limbajele C/C++ sau Pascal, rezolvaţi următoarele cerinţe.

a) Scrieţi un subprogram care primeşte printr-un parametru o valoare naturală n cu maximum 4 cifre şi returnează numărul de divizori ai lui n.

b) În fişierul nr12.txt pe primul rând se află un număr natural n mai mic decât 100, iar pe următoarea linie n numere naturale cu maximum 4 cifre fiecare, separate prin câte un spaţiu. Scrieţi programul principal care citeşte datele din fişier, apoi citeşte de la tastatură o valoare naturală x cu maximum 4 cifre şi, folosind subprogramul de la punctul a), determină şi afişează câte şi care dintre numerele din fişier au proprietatea că au exact x divizori.

Subiectul 13Folosind unul dintre limbajele C/C++ sau Pascal, rezolvaţi următoarele cerinţe.

a) Scrieţi un subprogram care primeşte printr-un parametru o valoare naturală n cu maximum 8 cifre şi returnează numărul de cifre pare ale numărului n.

b) În fişierul nr13.txt pe primul rând se află un număr natural n mai mic decât 100, iar pe următoarea linie n numere naturale cu maximum 8 cifre fiecare separate prin câte un spaţiu. Scrieţi programul principal care citeşte datele din fişier şi, folosind subprogramul de la punctul a), determină şi afişează numărul (sau numerele dacă sunt mai multe) din fişier conţin un număr maxim de cifre pare.

Subiectul 14Folosind unul dintre limbajele C/C++ sau Pascal, rezolvaţi următoarele cerinţe.

a) Scrieţi un subprogram care primeşte printr-un parametru o valoare naturală n cu maximum 4 cifre şi returnează cifra dominantă a numărului (cifra dominantă=prima cifră a numărului).

b) În fişierul nr14.txt pe primul rând se află o valoare naturală n (0<n<100) şi un vector cu n elemente naturale cu maximum 4 cifre fiecare. Scrieţi programul principal care citeşte datele

Page 4: Sub_atestat_2011_Programare_intensiv

din fişier şi folosind subprogramul de la punctul a), ordonează elementele vectorului descrescător după cifra dominantă. Elementele vectorului vor fi afişate pe ecran pe acelaşi rând, separate prin câte un spaţiu.

Subiectul 15Folosind unul dintre limbajele C/C++ sau Pascal, rezolvaţi următoarele cerinţe.

a) Scrieţi un subprogram care primeşte ca şi parametru x un şir de caractere cu maximum 100 de caractere, format din litere ale alfabetului englez şi returnează numărul de vocale din şir.

b) În fişierul s15.txt pe primul rând se află un număr natural n şi pe următoarele n linii câte un şir cu maximum 100 de caractere fiecare, litere ale alfabetului englez. Scrieţi programul principal care citeşte datele din fişier şi, folosind subprogramul de la punctul a), determină şi afişează pe ecran şirul de caractere care conţine un număr maxim de vocale. Dacă există mai multe şiruri de caractere cu număr maxim de vocale, se va afişa primul dintre ele.

Subiectul 16Folosind unul dintre limbajele C/C++ sau Pascal, rezolvaţi următoarele cerinţe.

a) Scrieţi un subprogram care returnează cel mai mare divizor comun a două numere naturale, cu cel mult 4 cifre fiecare, transmise ca parametri.

b) În fişierul nr16.txt pe primul rând se află un număr natural n(n≤100) şi pe următoarele n linii câte 2 numere naturale, cu cel mult 4 cifre fiecare reprezentând numărătorul şi numitorul unei fracţii. Scrieţi programul principal care citeşte datele din fişier şi folosind subprogramul de la punctul a), să se afişeze pe ecran, pe câte un rând, separate prin câte un spaţiu, numărătorul şi numitorul fiecărei fracţii din fişier, în formă ireductibilă şi numitorul comun al fracţiilor.

Subiectul 17Folosind unul dintre limbajele C/C++ sau Pascal, rezolvaţi următoarele cerinţe.

a) Scrieţi un subprogram care să verifice dacă un număr natural, cu cel mult 8 cifre, transmis ca parametru este număr perfect. Subprogramul returnează valoarea numărului dacă acesta este perfect sau 0 în caz contrar. Un număr este perfect dacă este egal cu suma divizorilor săi, fără el însuşi.

b) În fişierul nr17.txt pe primul rând se află un număr natural n (0<n£1000) şi pe următorul rând n numere naturale de cel mult 8 cifre fiecare, despărţite prin câte un spaţiu. Scrieţi programul principal care citeşte datele din fişier şi folosind subprogramul de la punctual a) afişează ordonate descrescător toate numerele perfecte ale şirului. În cazul în care nu există numere perfecte în fişierul de intrare, se va afişa un mesaj corespunzător

Subiectul 18Folosind unul dintre limbajele C/C++ sau Pascal, rezolvaţi următoarele cerinţe.

a) Scrieţi un subprogram care să verifice dacă un şir de caractere cu maximum 100 de caractere, format doar din litere mari şi mici ale alfabetului englez, transmis ca parametru este palindrom. Subprogramul returnează 1/true dacă acesta este palindrom sau 0/false în caz contrar. Un şir de caractere este palindrom dacă citit de la stânga la dreapta, respectiv de la dreapta la stânga se obţine acelaşi lucru.

b) În fişierul nr18.txt pe primul rând se află un număr natural n (0<n£1000) şi pe următoarele n linii câte un cuvânt, format doar din litere mari şi mici ale alfabetului englez. Scrieţi programul principal care citeşte datele din fişier şi folosind subprogramul de la punctual a) afişează toate cuvintele palindrom ale şirului de cuvinte, care se termina cu o vocală. În cazul în care nu există cuvinte palindrom care se termina cu o vocală se va afişa un mesaj corespunzător.

Page 5: Sub_atestat_2011_Programare_intensiv

Subiectul 19Folosind unul dintre limbajele C/C++ sau Pascal, rezolvaţi următoarele cerinţe.

a) Scrieţi un subprogram care primeşte ca parametru un şir de caractere, format doar din litere mari şi mici ale alfabetului englez, şi returnează numărul de vocale distincte ale şirului.

b) În fişierul nr19.txt pe primul rând se află un număr natural n (0<n£1000) şi pe următoarele n linii câte un cuvânt, format doar din litere mari şi mici ale alfabetului englez. Scrieţi programul principal care citeşte datele din fişier şi, folosind subprogramul de la punctual a), afişează cuvântul care are cel mai mare număr de vocale distincte. Dacă există mai multe cuvinte cu număr maxim de vocale distincte, se va afişa ultimul dintre ele. În cazul în care nici un cuvânt nu conţine vocale se va afişa un mesaj corespunzător.

Subiectul 20Folosind unul dintre limbajele C/C++ sau Pascal, rezolvaţi următoarele cerinţe.

a) Scrieţi un subprogram care determină suma divizorilor proprii (fără 1 şi el însuşi) ai unui număr natural cu cel mult 4 cifre, transmis ca parametru.

b) În fişierul nr20.txt pe primul rând se află o valoare naturală n (n<100) iar pe al doilea rând n numere naturale cu maximum 4 cifre fiecare separate prin câte un spaţiu. Scrieţi programul principal care citeşte datele din fişier şi folosind subprogramul de la punctul a), generează şi afişează pe ecran, în ordine inversă generării, un vector cu suma divizorilor proprii ai numerelor impare din fişierul de intrare. Dacă fişierul nu conţine nici un număr impar se va afişa un mesaj corespunzător.

Subiectul 21Folosind unul dintre limbajele C/C++ sau Pascal, rezolvaţi următoarele cerinţe.

a) Scrieţi un subprogram care returnează cea mai mică cifră a unui număr natural, cu cel mult 8 cifre, transmis ca parametru.

b) În fişierul nr21.txt se află pe prima linie un număr natural n (1≤n≤100), iar pe a doua linie n numere naturale cu cel mult 8 cifre fiecare, despărţite prin câte un spaţiu. Scrieţi programul principal care citeşte datele din fişier şi, folosind subprogramul de la punctul a), determină şi afişează media aritmetică a elementelor din vector, care au cifra minimă egală cu 3 şi se află pe o poziţie impară în şir.

Subiectul 22Folosind unul dintre limbajele C/C++ sau Pascal, rezolvaţi următoarele cerinţe.

a) Scrieţi un subprogram care primeşte ca parametru un număr natural cu cel mult 8 cifre, şi returnează valoarea 1/true dacă numărul transmis are toate cifrele identice, respectiv valoarea 0/false în caz contrar.

b) În fişierul nr22.txt pe primul rând se află un număr natural n (1≤n≤100), iar pe a doua linie n numere naturale, cu cel mult 8 cifre fiecare, separate prin câte un spaţiu. Scrieţi programul principal care citeşte datele din fişier şi, folosind subprogramul de la punctul a), determină cel mai mare număr din fişier care are toate cifrele egale şi impare.

Subiectul 23Folosind unul dintre limbajele C/C++ sau Pascal, rezolvaţi următoarele cerinţe.

a) Scrieţi un subprogram care determină cel mai mare divizor comun a două numere naturale, cu cel mult 4 cifre fiecare, transmise ca parametri.

b) În fişierul nr23.txt pe primul rând se află un număr natural n (1≤n≤100) iar pe a doua linie n numere naturale, cu cel mult 4 cifre fiecare, despărţite prin câte un spaţiu. Scrieţi programul principal care citeşte datele din fişier şi, folosind subprogramul de la punctul a), verifică dacă cel mai mare şi cel mai mic număr din fişier sunt numere prime între ele. Programul va afişa pe ecran mesajul “DA”, dacă cele două valori sunt prime între ele, respective mesajul “NU”, în caz contrar.

Page 6: Sub_atestat_2011_Programare_intensiv

Subiectul 24Folosind unul dintre limbajele C/C++ sau Pascal, rezolvaţi următoarele cerinţe.

a) Scrieţi un subprogram care primeşte ca parametri o matrice a cu exact 4 linii şi 4 coloane cu numere întregi de maximum 4 cifre şi un număr natural k, (1<=k<=4). Subprogramul returnează elementul minim aflat pe linia k a matricei.

b) În fişierul nr24.txt pe primul rând se află 16 numere întregi nenule cu cel mult 4 cifre fiecare, reprezentând elementele unei matrice cu 4 linii şi 4 coloane. Scrieţi programul principal care citeşte datele din fişier şi folosind apeluri ale subprogramului de la punctul a), determină valorile minime de pe fiecare linie a matricei şi afişează pe ecran cea mai mare valoare dintre aceste minime.

Subiectul 25Folosind unul dintre limbajele C/C++ sau Pascal, rezolvaţi următoarele cerinţe.

a) Scrieţi un subprogram care primeşte ca parametru un număr natural cu cel mult 4 cifre şi returnează prima cifră a acestuia.

b) Scrieţi programul principal care citeşte de la tastatură un număr natural n (2<n<25) şi apoi, folosind subprogramul de la punctul a), construieşte în memorie o matrice cu n linii şi n coloane, numerotate de la 1 la n, ale cărei elemente primesc valori după cum urmează: elementul din linia i şi coloana j primeşte ca valoare prima cifră a produsului i*j (1≤i≤n şi 1≤j≤n). Programul va afişa matricea astfel construită în fişierul nr25.txt, câte o linie a matricei pe o linie a fişierului, elementele fiecărei linii fiind separate prin câte un spaţiu.

Subiectul 26Folosind unul dintre limbajele C/C++ sau Pascal, rezolvaţi următoarele cerinţe.

a) Scrieţi un subprogram care primeşte ca parametri două numere naturale a şi b (1≤a<100.000.000, 1≤b≤8) şi returnează cifra de pe poziţia b din numărul a sau -1 dacă a conţine mai puţin de b cifre. Cifrele numărului a se numerotează începând de la cifra unităţilor cu 1.

b) Scrieţi programul principal care citeşte de la tastatură un număr natural nenul, cu maximum 8 cifre, construieşte în memorie şi scrie apoi în fişierul nr25.txt o matrice pătratică, având numărul de linii şi de coloane egal cu numărul de cifre ale numărului dat, completată cu cifrele numărului citit, folosind subprogramul de la punctul a). Astfel, elementele de pe prima coloană a matricei vor fi toate egale cu cifra unităţilor numărului dat, elementele de pe a doua coloană a matricei vor fi toate egale cu cifra zecilor numărului dat, şi aşa mai departe.

Subiectul 27Folosind unul dintre limbajele C/C++ sau Pascal, rezolvaţi următoarele cerinţe.

a) Scrieţi un subprogram care primeşte ca parametri un număr natural n cu maximum 9 cifre şi o cifră k şi returnează numărul de cifre ale numărului n care sunt egale cu k.

b) În fişierul nr27.txt sunt memorate mai multe numere naturale cu maximum 9 cifre fiecare, câte un număr pe un rând al fişierului (maximum 1000 de numere). Scrieţi programul principal care, folosind apeluri ale subprogramului de la punctul a), afişează pe ecran, în ordine descrescătoare, separate prin câte un spaţiu, toate numerele din fişier care conţin exact 3 cifre de 0.

Page 7: Sub_atestat_2011_Programare_intensiv

Subiectul 28Folosind unul dintre limbajele C/C++ sau Pascal, rezolvaţi următoarele cerinţe.

a) Scrieţi un subprogram care primeşte ca parametri un tablou unidimensional v cu maximum 100 de numere naturale mai mici decât 1000 şi un număr natural nenul n (n<=100) ce reprezintă numărul efectiv de elemente ale tabloului v şi returnează numărul elementelor tabloului primit prin intermediul parametrului v care aparţin intervalului închis determinat de primul şi respectiv ultimul element al tabloului.

b) În fişierul nr28.txt pe primul rând se află un număr natural n (2≤n≤100) iar pe a doilea rând n numere naturale mai mici decât 1000 separate prin câte un spaţiu. Scrieţi programul principal care folosind apeluri ale subprogramului de punctul a), verifică dacă primul şi ultimul element al şirului reprezintă cea mai mică, respectiv cea mai mare valoare din şirul citit şi afişează pe ecran, în caz afirmativ mesajul DA, iar altfel mesajul NU.

Subiectul 29Folosind unul dintre limbajele C/C++ sau Pascal, rezolvaţi următoarele cerinţe.

a) Scrieţi un subprogram care primeşte ca parametri un tablou unidimensional v cu maximum 100 de numere naturale distincte mai mici decât 1000 şi un număr natural nenul n (n<=100) ce reprezintă numărul efectiv de elemente ale tabloului v şi returnează numărul de elemente din tablou care sunt mai mari sau cel puţin egale cu ultimul element al vectorului.

b) În fişierul nr29.txt pe primul rând se află un număr natural n (2≤n≤100) iar pe al doilea rând n numere naturale separate prin câte un spaţiu. Scrieţi programul principal care folosind apeluri ale subprogramului de la punctul a), verifică dacă pe ultima poziţie din şirul de numere se află cea mai mare sau cea mai mică dintre valorile şirului. Programul va afişa pe ecran mesajul CEA MAI MARE, respectiv CEA MAI MICA în caz afirmativ şi NU în caz contrar.

Subiectul 30Folosind unul dintre limbajele C/C++ sau Pascal, rezolvaţi următoarele cerinţe.

a) Scrieţi un subprogram care primeşte ca parametri un tablou unidimensional v cu maximum 100 de numere naturale mai mici decât 1000 şi un număr natural nenul n (n<=100) ce reprezintă numărul efectiv de elemente ale tabloului v şi ordonează crescător elementele tabloului v.

b) În fişierul nr30.txt pe primul rând se află un număr natural n (2≤n≤100) iar pe al doilea rând n numere naturale mai mici decât 1000 separate prin câte un spaţiu. Scrieţi programul principal care folosind apeluri utile ale subprogramului de punctul a), afişează pe ecran pe un rând, separate prin câte un spaţiu, elemente impare de pe poziţiile pare ale şirului, ordonate crescător, iar pe rândul următor, separate prin câte un spaţiu, elementele pare de pe poziţii impare ale şirului, ordonate descrescător.