0% au considerat acest document util (0 voturi)
27 vizualizări8 pagini

Subiecte Tit Def

Încărcat de

admin
Drepturi de autor
© © All Rights Reserved
Respectăm cu strictețe drepturile privind conținutul. Dacă suspectați că acesta este conținutul dumneavoastră, reclamați-l aici.
Formate disponibile
Descărcați ca DOCX, PDF, TXT sau citiți online pe Scribd
0% au considerat acest document util (0 voturi)
27 vizualizări8 pagini

Subiecte Tit Def

Încărcat de

admin
Drepturi de autor
© © All Rights Reserved
Respectăm cu strictețe drepturile privind conținutul. Dacă suspectați că acesta este conținutul dumneavoastră, reclamați-l aici.
Formate disponibile
Descărcați ca DOCX, PDF, TXT sau citiți online pe Scribd

2018

Fișierul titu.in conține numere naturale din intervalul [1,102]: pe prima linie două numere,
m și n, pe a doua linie un șir de m numere, iar pe a treia linie un șir de n numere. Numerele
aflate pe
aceeași linie a fișierului sunt separate prin câte un spațiu.
Se cere să se afișeze pe ecran numărul de termeni ai celui mai lung subșir comun celor două
șiruri
aflate în fișier. Utilizați un algoritm eficient din punctul de vedere al timpului de executare.
Exemplu: dacă fișierul are conținutul alăturat, se afișează pe ecran
valoarea 3.
5 8
4 7 9 8 3
1 4 2 9 7 6 8 2

2017

Fișierul titu.in conține pe prima linie două numere naturale din intervalul [2,104], n și k,
iar
pe a doua linie cele n elemente ale unei mulțimi, numere naturale distincte din intervalul
[0,104].
Numerele aflate pe aceeași linie a fișierului sunt separate prin câte un spațiu.
Se cere să se afișeze pe ecran numărul maxim de elemente care pot fi selectate din mulțimea
aflată în fișier, astfel încât cel mult k dintre ele să fie numere pare, iar suma acestor numere
pare
să fie strict mai mare decât suma numerelor impare selectate. Utilizați un algoritm eficient din
punctul de vedere al timpului de executare.
Exemplu: dacă fișierul conține numerele alăturate,
se afișează pe ecran valoarea 7
12 3
3 31 7 12 11 8 0 1 2 5 6 4

Model 2015

1. a) Descrieți în limbaj natural metoda de rezolvare și scrieți în pseudocod un algoritm prin care
se citește un număr natural și se afișează numărul de cifre pare, precum și numărul de cifre
impare
care apar în scrierea sa.
b) Subprogramul NrCifre are trei parametri:
n, prin care primește un număr natural din intervalul [0,109];
nrp și nri, prin care furnizează numărul de cifre pare, respectiv numărul de cifre impare
care apar în scrierea lui n.
Scrieți un program care citește de la tastatură două numere naturale, x și y (0≤x<y<109), și
afișează pe ecran toate valorile naturale din intervalul [x,y], valori care sunt formate numai din
cifre
pare sau numai din cifre impare. Numerele afișate sunt separate prin câte un spațiu, iar dacă nu
există niciun astfel de număr, se afișează pe ecran mesajul nu exista. Programul cuprinde
definiția completă a subprogramului precizat mai sus, precum și apeluri utile ale acestuia.
Exemplu: pentru a=885 și b=915, se afișează 886 888 911 913 915. (15 puncte)
2. Fișierul text tablou.txt conține pe prima linie un număr natural, n (n[1,500]), iar pe
următoarele n linii elementele unui tablou bidimensional cu n linii și n coloane, numere întregi
din
intervalul [-100,100]. Numerele de pe aceeași linie sunt separate prin câte un spațiu.
Utilizând o metodă eficientă, se cere să se afișeze cea mai mare valoare care se poate obține
adunând un șir de n elemente ale tabloului, astfel încât:
- elementele aparțin unor coloane distincte: primul element este ales de pe prima coloană, al
doilea de pe a doua coloană etc.;
- două elemente alese de pe coloane consecutive se află pe aceeași linie sau pe linii alăturate.
Exemplu: dacă fișierul are conținutul alăturat, se afișează pe ecran valoarea 32
(corespunzătoare valorilor marcate).
Scrieți programul corespunzător și descrieți în limbaj natural metoda de
rezolvare, justificând eficiența acesteia. (15 puncte)
4
2 -3 4 -1
-4 -2 15 -7
12 -6 -9 7
3 6 2 5

2015

1. Se numește șir mijlociu asociat unui șir de caractere format din litere mici ale alfabetului
englez
un șir egal cu acesta, dacă el nu conține două vocale distincte aflate pe poziții consecutive ale
sale, sau un șir obținut din acesta prin inserarea între oricare două astfel de vocale, notate cu a
și
b, a unei alte litere, notate cu m, cu proprietatea că în şirul literelor alfabetului englez, ordonat
lexicografic, numărul literelor aflate între a şi m este egal cu numărul literelor aflate între m şi
b. Se
consideră vocale literele a, e, i, o, u.
Exemplu: șirul acegi este șir mijlociu asociat unor șiruri ca acei, aegi, aei sau acegi,
șirul
iou este șirul mijlociu asociat șirului iu, iar șirul alee este șirul mijlociu asociat șirului alee.
Subprogramul mijlociu are doi parametri:
s, prin care primește un șir de cel mult 100 de caractere, numai litere mici ale alfabetului
englez;
sm, prin care furnizează șirul mijlociu asociat șirului primit prin parametrul s.
Scrieți un program Pascal/C/C++ care citește de la tastatură un text format din maximum 100
de
caractere, în care cuvintele sunt formate din litere mici ale alfabetului englez și sunt separate
prin
unul sau mai multe spații. Programul afișează pe ecran numărul perechilor formate din cuvinte
din
text care au asociat același șir mijlociu, ca în exemplu. Programul cuprinde definiția completă a
subprogramului precizat mai sus, precum și apeluri utile ale acestuia.
Exemplu: dacă se citește textul
acei extraterestri aegi aveau cu ei egi negri si egi albi
se afișează pe ecran 4 (pentru perechile acei-aegi, ei-egi, ei-egi, egi-egi). (15
puncte)
2. Fișierul titu.in conține pe prima linie două numere naturale din intervalul [2,104], na și
nb, pe
a doua linie un șir descrescător de na numere, iar pe a treia linie un șir crescător de nb
numere.
Termenii celor două șiruri sunt numere naturale cu cel mult nouă cifre, iar numerele aflate pe
aceeași linie a fișierului sunt separate prin câte un spațiu.
Se cere să se afișeze pe ecran, separate prin câte un spațiu, în ordine strict crescătoare, toate
numerele impare distincte aflate fie doar în primul, fie doar în al doilea șir aflat în fișier. Dacă nu
există niciun astfel de număr, se afișează pe ecran mesajul nu exista. Utilizați un algoritm
eficient din punctul de vedere al timpului de executare.
Exemplu: dacă fișierul are conținutul alăturat, se afișează pe ecran numerele:
1 3 7 9
Scrieți programul corespunzător și descrieți în limbaj natural metoda de
rezolvare, justificând eficiența acesteia. (15 puncte)
7 5
9 7 5 4 3 3 2
1 2 2 5 8

2008

2. a) Descrieţi pe 3-4 rânduri metoda şi scrieţi programul pseudocod prin care se citeşte un
număr
natural n şi se afişează cel mai mare număr natural prim, mai mic sau egal cu n. (6p)
b) Definiţi în Pascal/C/C++ un subprogram prim, cu doi parametri, a şi b, care primeşte prin
intermediul parametrului a un număr natural de minimum două şi maximum 9 cifre, şi
furnizează
prin parametrul b cel mai mare număr natural prim mai mic sau egal cu a. (4p)
c) În fişierul text DATE.TXT se află 100 de numere naturale de cel puţin 2 şi cel mult 9 cifre
fiecare. Numerele se pot afla pe mai multe linii, cele aflate pe aceeaşi linie fiind separate prin
câte
un spaţiu. Scrieţi un program Pascal/C/C++ care afişează pe ecran numărul de elemente ale
celei
mai lungi secvenţe de numere neprime din fişierul dat. Programul va apela în mod util
subprogramul prim definit la punctul b. (6p)
Exemplu: pentru fişierul DATE.TXT cu următorul conţinut
27 120 23 16 10000 150 4000 11 ... 11
se va afişa 4.

3. Se consideră un şir de „cuvinte” în care primul termen este „cuvântul” T şi al doilea termen
este
„cuvântul” AR, iar fiecare dintre ceilalţi termeni este obţinut prin concatenarea celor doi termeni
care îl preced. Astfel, al treilea termen este „cuvântul” ART (AR urmat de T), al patrulea este
ARTAR
(ART urmat de AR), el cincilea este ARTARART etc.
a) Scrieţi un program Pascal/C/C++ care citeşte de la tastatură un „cuvânt” de cel mult 255 de
caractere ce reprezintă un termen oarecare al acestui şir (diferit de primul şi de al doilea) şi,
utilizând un algoritm eficient, afişează „cuvântul” ce precede în şir „cuvântul” dat. (6p)
b) Explicaţi pe scurt algoritmul folosit justificând eficienţa acestuia. (4p)
Exemplu: dacă se citeşte cuvântul ARTARART, atunci se afişează ARTAR.
2010

3. Se consideră două mulŃimi de numere naturale, fiecare număr având cel mult 8 cifre.
Se citesc de la tastatură două numere naturale m si n (0<m<50, 0<n<50), cele m elemente ale
primei mulŃimi, date în ordine strict crescătoare, apoi cele n elemente ale celei de a doua
mulŃimi,
date în ordine strict descrescătoare. Utilizând o metodă eficientă, să se afiseze toate elementele
reuniunii celor două mulŃimi.
Exemplu: pentru m=4 si n=3, mulŃimile {1, 5, 6, 11} si {11, 10, 1}, se afisează 1 5 6 10
11
(nu neapărat în această ordine).
a) ScrieŃi programul Pascal/C/C++ corespunzător. (6p)
b) DescrieŃi în limbaj natural metoda folosită, justificând eficienŃa acesteia (4-5 rânduri).
(4p)
Def 2017

3. Subprogramul minmax are trei parametri:


- n, prin care primeşte un număr natural din intervalul [0,109];
- minim și maxim, prin care furnizează cifra minimă, respectiv cifra maximă care apare în
scrierea numărului n.
Exemplu: pentru n=220442, în urma apelului minim=0 și maxim=4.
Fișierul text def.in conține un șir de cel mult 106 numere naturale din intervalul [0,109],
separate prin câte un spațiu.
Se cere să se determine numărul de termeni ai șirului aflat în fișier care cuprind în scrierea lor
numai câte două cifre distincte, consecutive. Valoarea determinată se afișează pe ecran.
Exemplu: dacă fișierul conține numerele
98 111 10010 3 25 322 10010 123
se afișează pe ecran numărul
4
Scrieţi programul corespunzător cerinţei, care să cuprindă definiția completă a subprogramului
precizat mai sus, precum și apeluri utile ale acestuia. Descrieţi în limbaj natural algoritmul
utilizat.

Def 2016

3. Subprogramul sub are un singur parametru, n, prin care primeşte un număr natural din
intervalul
[0,109]. Subprogramul returnează suma cifrelor lui n.
Exemplu: pentru n=217, subprogramul returnează valoarea 10.
Un număr natural cu p cifre este numit echilibrat dacă p este număr par, iar suma primelor
sale
p/2 cifre este egală cu suma ultimelor sale p/2 cifre.
Fişierul text def.in conţine un şir de cel mult 1000 de numere naturale din intervalul
[0,109],
separate prin câte un spaţiu. Se cere să se determine cele mai mari două numere distincte
echilibrate din șirul aflat în fișier, numere formate din câte 6 cifre. Numerele determinate se
afişează
pe ecran, în ordine strict descrescătoare, separate printr-un spaţiu, iar dacă în şir nu există
două
astfel de numere, pe ecran se afişează mesajul nu exista.
Exemplu: dacă fişierul conţine numerele
217334 11110000 230104 30 230104 210300 101 45 10101010 123456
se afişează pe ecran
230104 217334

Def 2018

3. Șirul 1, 2, 5, 12, 27, 58, 121, 248, 503 ... este definit astfel:
f1=1, f2=2, fi=1+3·fi-1-2·fi-2, pentru orice număr natural i, i>2.
Subprogramul termen are un singur parametru, n, prin care primeşte un număr natural
(n[1,109]). Subprogramul returnează cel mai mare termen al șirului aflat în intervalul [1,n].
Exemplu: pentru n=500, subprogramul returnează valoarea 248.
Se citește de la tastatură un număr natural, n (n[1,109]), și se cere să se determine o
modalitate de a obține valoarea n însumând termeni ai șirului dat, astfel încât fiecare termen să
apară în sumă de cel mult două ori. Termenii sumei se scriu în fișierul def.out, în ordine
descrescătoare, separați prin câte un spaţiu.
Exemplu: dacă n=484, atunci fișierul poate conține numerele
248 121 58 27 27 2 1
iar dacă n=121, atunci fișierul poate conține numărul
121

Def 2015

Subprogramul divi are un singur parametru, n, prin care primeşte un număr natural din

intervalul [1,109]. Subprogramul returnează numărul divizorilor naturali ai lui n.

Exemplu: pentru n=6, subprogramul returnează valoarea 4.

Fişierul text def.in conţine un şir de cel mult 1000 de numere naturale din intervalul [1,109],

separate prin câte un spaţiu. Se cere să se determine cel mai mare număr prim din şir precum şi

penultima poziţie pe care apare acest număr în șir. Valorile determinate se afişează pe ecran,

separate printr-un spaţiu. Dacă în şir nu există niciun număr prim sau dacă cel mai mare număr

prim din șir apare o singură dată, pe ecran se afişează mesajul nu exista.

Exemplu: dacă fişierul conţine numerele

21 11 30 3 21 3 11 12 5 11 3 30

se afişează pe ecran

11 7

Def 2013

3. Numim sumă prietenă a unui număr natural suma divizorilor săi pozitivi, strict mai mici decât el.

Exemplu: suma prietenă a lui 220 este 284 (1+2+4+5+10+11+20+22+44+55+110=284).

Subprogramul sumap are doi parametri:

• n, prin care primeşte un număr natural din intervalul [2,109];

• s, prin care furnizează suma prietenă a lui n.

a) Scrieţi definiția completă a subprogramului.

b) Se citește de la tastatură un număr natural n (1≤n≤40) și se cere să se scrie în fișierul


DATE.TXT primele n perechi de numere naturale de forma x y (1<x<y), cu proprietatea că x este

egal cu suma prietenă a lui y, iar y este egal cu suma prietenă a lui x.

Fiecare pereche este scrisă pe câte o linie a fișierului, iar numerele aflate pe

aceeași linie sunt separate printr-un spațiu.

Exemplu: dacă n=3, fişierul DATE.TXT are conţinutul alăturat.

220 284

1184 1210

2620 2924

Def 2014

3. Subprogramul distinct are un singur parametru, n, prin care primeşte un număr natural
din
intervalul [0,109]. Subprogramul returnează numărul de cifre distincte care apar în scrierea lui
n.
Exemplu: pentru n=16227 subprogramul returnează valoarea 4.
a) Scrieţi definiția completă a subprogramului.
b) Fişierul text DATE.TXT conţine un şir de cel puțin două și cel mult 1000 de numere naturale
din intervalul [10,109], separate prin câte un spaţiu. Se cere să se afişeze pe ecran lungimea
maximă a unei secvenţe formate doar din numere cu toate cifrele egale, numere aflate pe poziții
consecutive în șir. O secvență este formată din cel puțin doi termeni, iar lungimea secvenței
este
egală cu numărul de termeni ai săi. Dacă în şir nu există nicio astfel de secvență, pe ecran se
afişează mesajul Nu exista.
Exemplu: dacă fişierul
DATE.TXT are conţinutul
alăturat, se afişează: 5
1999 777 11 10 10 10 10 10 10 120 1111 55 222 55 11
Scrieţi programul corespunzător cerinţei, care să utilizeze apeluri utile ale subprogramului
distinct, definit la punctul a). Descrieţi în limbaj natural algoritmul utilizat.

Def 2012

3. Se consideră că cifra de control care corespunde unui număr natural se obţine astfel: se
însumează cifrele numărului şi se repetă această operaţie pentru suma determinată, până la
obţinerea unui număr format dintr-o singură cifră, ca în exemplu.
Exemplu: cifra de control a lui 99074 este 2 (9+9+0+7+4=29; 2+9=11; 1+1=2), iar cifra de
control a lui 7 este 7.
a) Scrieţi în limbajul Pascal/C/C++ definiţia completă a subprogramului control, cu un singur
parametru, n, prin care primeşte un număr natural cu cel mult 9 cifre. Subprogramul returnează
cifra de control a lui n.
b) Fişierul text DATE.TXT conţine un şir de 10000 de numere naturale cu cel mult 9 cifre
fiecare. Numerele se pot afla pe mai multe linii, cele situate pe aceeaşi linie fiind separate prin
câte
un spaţiu. Se cere să se determine cifrele de control care NU corespund niciunuia dintre
numerele
din şir. Cifrele determinate se afişează pe ecran, separate prin câte un spaţiu. Dacă nu există
nicio
astfel de cifră, pe ecran se afişează mesajul Nu exista.
Exemplu: dacă fişierul DATE.TXT are
conţinutul alăturat, se afişează, nu neapărat
în această ordine, cifrele: 0 2 8 9
21 5 7 10 ... 10 150 70 66 140 330 211
└───────┘
de 9991 ori
Scrieţi programul Pascal/C/C++ corespunzător cerinţei, care să utilizeze apeluri utile ale
subprogramului control, definit la punctul a). Descrieţi în limbaj natural metoda folosită. (15p

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