1. Degustare de ciocolată

O companie de publicitate face reclamă la un nou sortiment de ciocolată și intenționeazăsă distribuie mostre de ciocolată la n(10 ≤ n≤ 10000000) copii care sunt așezați într-un cerc. Angajații companiei își dau seama că distribuirea de mostre tuturor copiilor ar costa foarte mult. În consecință, decid să distribuie mostre fiecărui al k-lea (0 < k< n) copil din cei n, numărând copiii din k în k(atunci când numărătoarea ajunge la ultimul copil, ea continuă cu primul copil și așa mai departe). În numărătoare se vor considera toți copiii, fie că au primit sau nu ciocolată. Numărătoarea se oprește atunci când o ciocolată ar trebui distribuită unui copil care deja a primit. Scrieți un subalgoritm care determină numărul copiilor (nr) care nu primesc mostre de ciocolată. Parametrii de intrare sunt numerele naturale n și k, iar parametrul de ieșire va fi numărul natural nr.

Exemplu 1: dacă n= 12și k= 9, atunci nr=8 (primul, al 2-lea, al 4-lea,al 5-lea, al 7-lea, al 8-lea, al 10-lea, al 11-lea copil nu primesc ciocolată).

Exemplu 2:dacă n= 15și k= 7, atunci nr= 0(toți copiii primesc ciocolată).

Sursă: http://www.cs.ubbcluj.ro/admitere/nivel-licenta/tematica-admitere-facultate/

2.Viruși

În cadrul unui experiment, o populație de n (3≤ n≤ 1000) viruși poate evolua astfel:

a.) dacă la începutul unei ore populația este formată dintr-un număr par de viruși, atunci la sfârșitul orei populația va fi mai mică cu 50%;

b.) dacă la începutul unei ore populația este formată dintr-un număr impar de viruși, atunci la sfârșitul orei populația de viruși va crește cu 1 virus;

c.) dacă la sfârșitul unei ore populația este formată dintr-un număr de viruși strict mai mic decât un număr critic de supraviețuire, atunci populația dispare.

Scrieți un subalgoritm care determină numărul de ore, notat nrOre, necesar distrugerii unei populații inițiale de n viruși, cunoscând numărul critic de supraviețuire k (2 ≤ k< n). Parametrii de intrare sunt n și k, iar nrOre va fi parametru de ieșire.

Exemplu:dacă n= 11 și k= 3, populația se distruge în nrOre= 5.

Sursă: http://www.cs.ubbcluj.ro/admitere/nivel-licenta/tematica-admitere-facultate/

3) Scrieţi programul C/C++ care citeşte de la tastatură un număr natural n (1≤n≤50)şi n*n numere naturale de cel mult 5 cifre ce reprezintă elementele unui tablou bidimensional a, cu n linii şi n coloane, şi verifică dacă matricea este triunghiulară superior. Programul va afişa pe ecran mesajul corespunzător: „Este triunghiulară superior” respectiv „Nu este triunghiulară superior”. O matrice se numeşte triunghiulară superior dacă toate elementele aflate sub diagonala principală a ei sunt nule. Exemplu: pentru n=3 şi matricea alăturată se va afişa mesajul: Este triunghiulară superior

1 2 3

0 5 6

0 0 9


Sursă http://www.4bac.ro/category/informatica/var2009intensivc/ modelul 69, II/4


4)

a) Să se scrie definiţia completă a subprogramului calcul, care primeşte prin intermediul parametrului întreg n un număr natural de cel mult 9 cifre şi returnează valoarea absolută a diferenţei dintre numărul de cifre pare şi numărul de cifre impare conţinute de n.

Exemplu: dacă n = 92465, în urma apelului se va returna valoarea 1 (2 cifre impare, 3 cifre pare).

b) Să se scrie în limbajul C/C++ un program care citeşte de la tastatură un număr natural n de cel mult 7 cifre şi, utilizând apeluri ale subprogramului calcul, determină şi afişează pe ecran cel mai mic număr natural m, m≥n, care are tot atâtea cifre pare câte cifre impare.

Exemple: dacă se citeşte n = 5513, atunci se afişează m=5520, iar dacă se citeşte n = 311, atunci se afişează m=1001

Sursă http://www.4bac.ro/category/informatica/var2009intensivc/ modelul 69, III/3