Sunteți pe pagina 1din 3

UNIVERSITATEA BABE-BOLYAI

FACULTATEA DE MATEMATIC I INFORMATIC

CONCURS MATE-INFO aprilie 2016


INFORMATIC
VARIANTA II

n atenia concurenilor:
1. Rezolvrile se vor scrie n pseudocod sau ntr-un limbaj de programare (Pascal/C/C++).
2. Primul criteriu n evaluarea rezolvrilor va fi corectitudinea algoritmului, iar apoi performana din
punct de vedere al timpului de executare i al spaiului de memorie utilizat.
3. Este necesar folosirea comentariilor pentru a uura nelegerea rezolvrii date (se va explica
semnificaia identificatorilor i se vor descrie ideile principale pe care se bazeaz rezolvarea).
4. Nu se vor folosi funcii sau biblioteci predefinite (de exemplu: STL, funcii predefinite pe iruri de
caractere etc.).

Subiectul I (50 puncte)


1. Triunghiul lui Pascal (20 puncte)
Triunghiul lui Pascal este un triunghi isoscel cu mai multe linii
orizontale formate din numere naturale astfel: laturile egale
conin doar cifra 1, iar fiecare numr de pe o linie n reprezint
suma celor dou numere vecine de pe linia superioar n 1,
pentru n > 1. Liniile sunt numerotate de sus n jos ncepnd de
la 0, ca n figura alturat:

Scriei un subalgoritm care genereaz numerele aflate pe linia r (2 r 32), fr a folosi structuri de date
bidimensionale. Parametrul de intrare este numrul natural r, iar parametrul de ieire va fi irul numerelor de
pe linia r.

2. Virui (10 puncte)


n cadrul unui experiment, o populaie de n (3 n 1 000) virui poate evolua astfel:
a. dac la nceputul unei ore populaia este format dintr-un numr par de virui, atunci la sfritul orei
populaia va fi mai mic cu 50%;
b. dac la nceputul unei ore populaia este format dintr-un numr impar de virui, atunci la sfritul
orei populaia de virui va crete cu 1 virus;
c. dac la sfritul unei ore populaia este format dintr-un numr de virui strict mai mic dect un
numr critic de supravieuire, atunci populaia dispare.
Scriei un subalgoritm care determin numrul de ore, notat nrOre, necesar distrugerii unei populaii iniiale
de n virui, cunoscnd numrul critic de supravieuire k (2 k < n). Parametrii de intrare sunt n i k, iar
nrOre va fi parametru de ieire.
Exemplu: dac n = 11 i k = 3, populaia se distruge n nrOre = 5.

3. Produs maxim (20 puncte)


Se consider un ir x cu n (3 n 10 000) elemente numere ntregi mai mari dect -30 000 i mai mici
dect 30 000.
Scriei un subalgoritm care determin trei elemente din irul x al cror produs este maxim. Parametrii de
intrare ai subalgoritmului sunt n i x, iar cei de ieire vor fi a, b i c, reprezentnd trei elemente din irul x,
avnd proprietatea cerut. Dac problema are mai multe soluii, determinai una singur.
Exemplu: dac n = 10 i a = (3, -5, 0, 5, 2, -1, 0, 1, 6, 8), cele trei numere sunt: a = 5, b = 6, c = 8.
Subiectul II (15 puncte)
Se d urmtorul subalgoritm, unde parametrul de intrare este numrul natural a (0 < a 30 000):
Subalgoritm F(a):
b 0
p 1
CtTimp a > 0 execut
c a mod 10 { mod calculeaz restul mpririi ntregi a lui a la 10 }
Dac c mod 2 0 atunci
b b + p * c
p p * 10
SfDac
a a div 10 { div calculeaz ctul mpririi ntregi a lui a la 10 }
SfCtTimp
returneaz b
SfAlgoritm

a. Enunai problema pe care o rezolv subalgoritmul dat.


b. Ce valoare returneaz apelul F(2103)?
c. Scriei o variant recursiv a subalgoritmului, respectnd antetul subalgoritmului din varianta iterativ.

Subiectul III (25 puncte)


Un ir de numere naturale se numete palindrom dac se citete la fel de la stnga la dreapta i de la dreapta
la stnga. De exemplu, irul (1, 2, 3, 2, 1) este palindrom, iar irul (1, 2, 3, 2, 4) nu este palindrom. Un ir de
numere naturale se numete palindrom ciclic dac se transform n palindrom printr-o serie de permutri
ciclice ale elementelor sale. O permutare ciclic a elementelor irului reprezint deplasarea lor cu o poziie
spre stnga (cu excepia primului element, care trece pe ultima poziie).
Scriei un program care decide dac un ir a, avnd n (1 n 1 000) elemente numere naturale este un
palindrom ciclic sau nu, i afieaz un mesaj corespunztor (Da/Nu). n caz afirmativ, programul va
determina numrul de permutri ciclice care transform irul dat n palindrom.
Exemple:
irul a = (1, 1, 2, 2) se transform n palindromul (1, 2, 2, 1) printr-o singur permutare ciclic.
irul a = (3, 4, 3, 2, 1, 1, 2) se transform n palindrom prin cinci permutri ciclice astfel:
(4, 3, 2, 1, 1, 2, 3); (3, 2, 1, 1, 2, 3, 4); (2, 1, 1, 2, 3, 4, 3); (1, 1, 2, 3, 4, 3, 2); (1, 2, 3, 4, 3, 2, 1).
irul a = (1, 2, 3) nu se poate transforma n palindrom prin permutri ciclice.

Scriei subprograme pentru:


a. citirea irului a de la tastatur;
b. afiarea pe ecran a mesajului Da/Nu; n caz afirmativ, afiarea numrului de permutri ciclice
necesare;
c. verificarea proprietii de palindrom;
d. determinarea numrului de permutri ciclice necesare.

Not:
1. Toate subiectele sunt obligatorii.
2. Rezolvrile trebuie scrise detaliat pe foile de examen (ciornele nu se iau n considerare).
3. Se acord 10 puncte din oficiu.
4. Timpul efectiv de lucru este de 3 ore.
UNIVERSITATEA BABE-BOLYAI
FACULTATEA DE MATEMATIC I INFORMATIC

BAREM CONCURS MATE-INFO aprilie 2016


INFORMATIC
VARIANTA II
Subiectul I 50 puncte

Subiect I.1.: Triunghiul lui Pascal 20 puncte

Se va lua n considerare una dintre urmtoarele variante de rezolvare:


1. Rezolvare care respect complet cerina..................................................................................20 puncte
2. Rezolvare cu tablouri bidimensionale......................................................................................10 puncte

Subiect I.2.: Virui 10 puncte

1. Rezolvare iterativ sau recursiv.............................................................................................. 8 puncte


2. Calcul corect (populaia moare la sfritul unei ore).................................................................2 puncte

Subiect I.3.: Produs maxim 20 puncte

Se va lua n considerare una dintre urmtoarele variante de rezolvare:


1. Rezolvare corect i performant........................................................................................... 20 puncte
2. Rezolvare corect................................................................................................................... 18 puncte

Subiectul II: Cifre impare 15 puncte

Cerina a
Funcia returneaz numrul obinut din cifrele impare ale lui a n ordinea apariiei lor n a. ...... 4 puncte
Dac se precizeaz c n cazul unui numr care nu are cifre impare, se returneaz 0.................1 punct
Cerina b
F(2103) = 13 ............................................................................................................................... 4 puncte
Cerina c
Acelai antet..................................................................................................................................1 punct
Corectitudine.................................................................................................................................5 puncte

Subiectul III.: Palindrom ciclic 25puncte


Subprograme:
citire ir (lungime i elemente) ..................................................................................................... 1 puncte
afiare rezultate ............................................................................................................................ 2 puncte
verificare ir palindrom ................................................................................................................ 4 puncte
determinare numr permutri ....................................................................................................... 9 puncte
Program principal ................................................................................................................................... 2 puncte
Comunicare prin parametri ..................................................................................................................... 4 puncte
Lizibilitate:
comentarii ....................................................................................................................................... 1 punct
indentare ......................................................................................................................................... 1 punct
denumiri sugestive.......................................................................................................................... 1 punct