Anda di halaman 1dari 531
Susana Galatan, Diana Ghinea, ’ Ana intuneric, Stéfana Radu ‘ * Lucrarea contine.calendarul; Ca Sy * modele‘de rezolvare aH _ pentru variantele de subiecte:] regs Se ae ee Programa de bacalaureat - INFORMATICA, intensiv LSTATUTULDISCIPLINEL # lina INFORMATICA are statutul de disciplin& optional aleas’ din aria curriculard corespunzétoare specializarii matematics-informatica, filiera teoretic’, la proba "E“. Il. COMPETENTE DE EVALUAT — construiréa algoritmilor corespunzitori unor prelucriri elementare si reprezentarea lor prin intermediul programelor pseudocod si programelor scrise in limbaj de programare (Pascal sau CICH, la alegere); ~ analiza rezolvarii unei probleme prin urmirirea evolutiei valorilor variabilelor prelucrate de algoritmul corespunzitor, — abstractizarea rezolvarii prin construirea unor algoritmi echival ~ identificarea gi utilizarea tipurilor de date predefinite specifice unui limbaj de programare; ~ identificarea gi utilizarea operatorilor predefiniti elementari identificarea gi utilizarea subprogramelor predefinite elementare; identificarea si utilizarea regulilor sintactice specifice limbajului de programare studiat; ~ definirea gi apetul unor subprograme proprii cu injelegerea mecanismelor de transfer prin — identificarea proprietitilor unor structuri de date necesare in rezolvarea problemelor cuajutorul calculatomului si utilizarea unor modele de memorare a acestora; — organizarea datelor ce intervin in rezolvarea unei probleme ‘utiliznd structuri de date adecvate; — organizarea etapelor de prelucrare ce formeazi un algoritm utilizdnd structuri de control si module de program; ~folosirea unor metode sistematice de rezolvare pentru probleme de generare: analiza unor algoritmi echivalenti de rezolvare a unei probleme in vederea alegerii algoritmului optim. TL CONFINUTURI 1. Algoritmi 1.1. Nofiunea de algoritm, caracteristici Date, variabile, expresii, operatii Structuri de bazd (liniara, alternativa si repetitiva) Descrierea algoritmilor (programe pseudocod) 2. Elementele de baz ale unui limbaj de programare (Pascal sau C, la alegere) 2.1, Vocabularul limbajului 2.2. Constante. Identificatori 2.3. Nofiunea de tip de data. Operatori aritmetici, logici, relationali Definirea tipurilor de date Variabile. Declararea variabilelor Definirea constantelor Structura programelor. Coment . Expresii. Instructiunea de atribuire 2.9. Citirea/scrierea datelor 2.10. Structuri de control (instructiunea compusd, structuri alternative si repetitive) . Subprograme predefinite 3.1. Subprograme. Mecanisme de transfer prin intermediul parametrilor , 3.2. Proceduri gi functii predefinite : i }. Tipuri structurate de date 4.1. Tipul tablou 4.2. Tipul sir de caractere : ‘ operatori, proceduri si functii predefinite pentru: citire, afisare, concatenare, cdutare ,extragere, inserare, eliminare si conversii (sir, valoare numeric) 4 4.3. Tipul inregistrare 5. Figiere text 5.1. Figiere text. Tipuri de acces 5.2, Proceduri si functii predefinit. 6. Algoritmi elementari 6.1. Probleme care opereazi asupr 6.2. Divizibilitate. ‘Numere prime. 6.3, Sirul lui Fibonacci. Calculul u 6.4, Determinare minim/maxim 6.5. Metode de ordonare (metoda | 6.6. Interclasare 6.7. Metode de ciutare (secvential 6.8. Analiza oe mi algo si spatiu de memorie utilizat) 1. Subprograme definite de utilizator 7.1. Proceduri gi functii ~ declarare gi apel — parametri formali si parametri e — parametri transmisi prin valoare ~ variabile globale si variabile lo 7.2, Proiectarea modulara a rezolvi 8. Recursivitate 8.1. Prezentare generala 8.2. Proceduri si functii recursive 9. Metoda backtracking (iterativa sau 9.1, Prezentare general 9.2. Probleme de generare. Oportu 10. Generarea-elementelor combinato 10.1, Permutiri, aranjamente, comb 10.2. Produs cartezian, submultimi 11. Structuri dinamice de date (alocar 11.1. Tipul referinti/pointer. Operat 11.2. Nofiunea de variabili dinami 11.3. Structuri de date inlantuite al — liste liniare (definire si operatii ~ liste particulate (stive, cozi, liste 12. Grafuri- 12.1. Grafuri neorientate — terminologie (nod/varf, muchie, graf partial) — proprietati (conex, component = metode de reprezentare (matrice 12.2. Grafuri orientate ~terminologie (nod/varf, arc, adiact subgraf, graf partjal) ~ metode de reprezentare (matrice 12.3. Arbori ~ terminologie (nod, muchie, rid& dent direct/parinte, frati, nod termi = metode de reprezentare in mem "de tati”) 4.3. Tipul inregistrare 5. Figiere text 5.1. Fisiere text. Tipuri de acces 5.2. Proceduri si functii predefinite pentru fisiere text 6. Algoritmi elementari 6.1. Probleme care opereazi asupra cifrelor unui numar 6.2. Divizibilitate. Numere prime. Algoritmul lui Euclid 6.3. Sirul lui Fibonacci. Calcuful unor sume cu termenul general dat 6.4. Determinare minim/maxim 6.5. Metode de ordonare (metoda bulelor, insertie, selectie, numérare) 6.7. Metode de ciutare (secventiala, binara) 6.8. Analiza complexititii unui algoritm (considerand criteriile de eficienta durata de executare si spatiu de memorie utilizat) 7. Subprograme definite de utilizator 7.1. Proceduri gi functii ~ declarare si apel —parametri formali si parametri efectivi ~ parametri transmisi prin valoare, parametri transmisi prin referint ~ variabile globale gi variabile locale, domeniu de vizibilitate 7.2. Proiectarea modulara a rezolvarii unei probleme 8. Recursivitate 8.1. Prezentare generala 8.2. Proceduri si functii recursive 9. Metoda backtracking (iterativa sau recursivi) 9.1, Prezentare generala 9.2. Probleme de generare, Oportunitatea utilizérii metodei backtracking 10. Generarea-elementelor combinatoriale 10.1. Permutiri, aranjamente, combinari 10.2, Produs cartezian, submultimi, partitii 11. Structuri dinamice de date (alocare dinamic3) 11.1, Tipul referinti/pointer. Operatori de adresare 11.2. Nofiunea de variabili dinamic& . 11.3. Structuri de date inkntuite alocate dinamic ~ liste liniare (definire gi it ~ liste particulare (stive, cozi, liste circulare) si operafii specifice 12. Grafuri- : 12.1. Grafuri neorientate . ~ terminologie (nod/varf, muchie, adiacenf’, incident, grad, lant, ciclu, lungime, subgraf, graf parfial) . = proprietati (conex, component conexi, hamiltonian, eulerian) — metode de reprezentare (matrice de adiacenta, liste de adiacen{a) 12.2. Grafuri orientate —terminologie (nod/varf, arc, adiacenté, incident, grad intern gi extern, drum, circuit, lungime, subgraf, graf partjal) ~ metode de reprezentare (matrice de adiacenti, liste de adiacent3) 12.3. Arbori —terminologie (nod, muchie, ridicini, descendent, descendent direct/fiu, ascendent, ascen- dent direct/parinte, frati, nod terminal, frunzi) = metode de reprezentare in memorie (matrice de adiacenté, liste "de descendenti”, vector "de tati”) : a5 1, peop VARIANTA 001 Variabila x este de tip real. Care dintre urmatoarele expresii Pascal | C/C++ are valoarea true | 1 dacd si numai daca numérul real memorat in variablla x apartine intervalului (5,81? (4p.) - (Pascal) , : (C/C++) (<8) and (x>=5) @, (28) && (2085) (xem8) or (x>5) ‘ b. (xemB) || G05) (x>8) or (x<=5) . (x8) |] (xem5) (xem8) and (x>5) & (xemB) GG (x25) R&spuns corect: d 2. Se considera algoritmul aldturat, descris In peeudocod: : S-p-notat cu sky restul Impértiri numdrului tatreg | “+teete © x la numarul tntreg nenul y gi cu [a] partea Intreag& a numérului real a. a) b) (numér natural) 2€0) pel 4} peat timp n>0 executé Scrieti valoarea care se va afiga dacd se| | cn%10 citeste n=103456. (4p) | col Rispuns corect: 963 i ie re hae Scrieti toate numere naturale impare, le p€pti0 distincte, fiecare avand exact doud cifre, care pot fi citite pentru variabila n astfel tncat 84 se afigeze valoarea 3. (6p.) | scrie = Rispuns corect: 61, 65, 67 bad Sctieti tn pseudocod un algortm echivalent | citerte (numérnatural) cu tal dat, n care 88 se nlocuiasca structura | SEO BET cat timp...execut& cu o structura eeetees repetitiva de alt tip. (6p.) c€n%10; n€[n/10] rdack c83=0 atunci Rezolvare. © solufie poate fi algoritmul | | ee alaturat: ij es? | serie z Scriefi programul Pascal | C/C++:corespunzator algoritmului dat. (10p.) VARIANTA 002 VARIANTA 003 1 Variabilele x si y sunt de tip integer | int. Care dintre expresiile Pascal | 1. Care dintre urmatoarele exp C/C++ de mai jos are valoarea true | 1 dacd.si numai daca valorile intregi numai daca numarul real me nenule memorate in vartabilele x si y sunt egale? (4p.) i (Pascal) (Pascal) * (C1C+4) a xtx-dcad a. ( mod y=0)and(y mod x=0) (@ (Paren0) at (ytaemed) 68 oxty>0) b, d-x*x>0 and (x*y>0) ©. (20 ©. — (xemy) or (y0 d) —Scriefi programul Paseal | C/C++ corespunzator algoritmului dat. + (10p.) 9 . x la numérul intreg nenul y. Scrieti ce se va afiga daca s aceasta ordine, numerele: 2 5 0. Raspuns corect: 599350 Scrieti un gir de date de intre ifr fiecare, care si determi Raspuns corect: de exemp de forma: z,x,7,3,1,0, t Serleti tn echivaient cu cel dat, In inlocuiasca structura cat executé cu o structura rey tip. : Rezolvare. O solutie poate alaturat: Scrieti programul Pascal | C, 1 a. b. c a. VARIANTA 003 Care dintre urmatoarele expresii Pascal |c/c++ are valoafea true|1 daca si numai daca numérul real memorat tn variabila x se afla In intervalul (-2,2)? (4p.) (Pascal) (CiC+4) xtx-40 ) 4-x*x>0 : (20 d. (2r-2) * (2042) >0 Raspuns corect: b. 2. Se considera algoritmul alaturat, descris in | citegte =,x pseudocod: . (numere naturale nenule) ‘S-a notat cu x%y restul Impartirii numarului intreg x la numéarul intreg nenul y. a) b) ¢) reat timp x>0 executs | cdtegte y (numar natural) rdack z0 Scrieti programul Pascal | C/C++ corespunzator algoritmului dat. Rezolvare. O solufie poate fi algoritmul aléturat: (top) VARIANTA 004 1. Care este rezuttatul evaluaril expresiei Pascal | C/C++ alaturate? (4p.) a2 /b. 10 . Ra&spuns corect: b. 2. Se considera algoritmu! alaturat, descris ‘In pseudocod: S-a notat cu x%y restul impartirii numarului intreg x la numéarul intreg nenul y si'cu xoy operatia de interschimbare a valorilor variabilelor xsiy. : a) Scrietice se afigeazi_ pentru a=5 gi b=17. (6p.) Raspuns corect: 17 15 13 119 7:5 SUBIECTU (Pascal 11*3 div 2*2 div 3 (C/C++) 11#3/2*2/3 ©.2.75 d.12 citeste a,b (numere intregi) rdacé acb atunci | aed te 5 pentru x€a,b,-1 executd rdack x%2#0 atunci | serie x,’ ’ b) Scrieti toate perechile de valori care pot fi citite pentru variabilele a gi, astfel Inct sa se afigeze, In agqusta R&spuns corect: (a,b)¢{(2,-1),(-1, (74,1), (1,2, (-2,1)) c) Scriefi tn pseudocod un ailgoritm echivalent cu cel dat, In care sa se Inlocuiasc6 = structuras pentru... executa cu 0 structurd repetitiva de alt tip. (6p) Rezolvare. O solutie poate fi algoritmul alaturat: d) —Scrieti programul Pascal | C/C++ corespunzator algoritmului dat. ordine, numerele: 1, 2), (2,-2)5 (-2,23,(1,-2), citegte a,b (numere intregi) rdac& a2) and (x<=9) b. (xe=2) and (x29) c (x<#2) or (x>9) d. (x<2y or (309)4 Raspuns corect: c. 2. Se considera algoritmul alz descris in pseudocod: S-a_notat cu. x%y restul im numéarului tntreg x la numarul nenul y si cu [a] partea Intre: numéarului real a. a) Scriefi ce se va afiga da Citesc, in aceastd ordine, v: 729385 si532. Raspuns corect: 1 b) Daca pentru z se citeste vak cifre fiecare, pot fi citite pent dintre aceste cazuri, R&spuns corect: 890. Dac M={909,919,929,939,94 valoarea 1. Deoarece exist 10 numere din muitimea m afiga 0. ¢) — Scrieti in pseudocod un algor cu cel dat, in care s& se singura structura repetitiva. . O solutie poate alaturat: d) —Scrieti programul Pascal le, VARIANTA 005. a Variabila x este de tip real. Care dintre urmatoarele expresii Pascal | C/C++ are valoarea txue| 1 daca si numai dac& numérul real memorat in variabila x nu aparfine intervalului (2,917 (Pascal a. (x>2) and (x<=9) b. (x<=2) and (x>9) c. (x<=2) or. (x>9) da. (x<2) or (x>9)_ Raspuns corect: c. 2. Se considera algoritmul alaturat, descris in pseudocod: S-a notat cu. x%y restul impartirii numarului intreg x la numarul intreg nenul y si cu [a] partea intreaga a numérului Teal a. (4p) (C+) (2>2) && (x<=9) © (w9) (xea2) |] Ge9) (<2) [] Ge9) citegte x,z (numere naturale) yeo rrepeta Y@y*10+x%107- x€ (x/100] cand x=0 reat timp y*z>0 si y4l0=2%10 Jexecuta a) Sctiefi ce se va afiga dacd se citesc, In aceastd ordine, valorile 729385 $i 532. (6p.) Raspuns corect: 1 Daca pentru z se citeste valoarea 99, scrieti c&te numere naturale, cu exact 3 cifre fiecare, pot fi citite pentru x astfel incat s& se afigeze valoarea 0 in fiecare dintre aceste cazuri. (4p.) R&spuns corect: 890. Daca valoarea cititA pentru variabila x apartine multimii M=(909,919,929, 939,949,959, 969,979,989,999}, atunci se va afiga valoarea 1. Deoarece existé 900 de numere, de cate trei cifre, eliminand cele 10 numere din mulfimea ™ se obtin 900-10=890 numere pentru care se va afiga 0. Scriefi In pseudocod un algoritm echivalent cu cel dat, in care s4 se foloseascd o ‘singura structurd repetitiva. + (6p) Rezolvare. O solutie poate fi algoritmul alaturat: | v€ty/101, z€{z/10) le ydack y+z=0 atunci scrie 1 altfel scrie 0 citegte x (numar natural) y€o rrepeta y€y*10+2%107 x€ [2/1001 cand x=0 rdack y=z atunci scrie 1 altfel scrie 0 Scriefi programul Pascai|c/c++ corespunzator algoritmului dat. 3) VARIANTA 008. 1. variabilele intregi x $i y? SUBIECTUL 1 Care dintre urm&toarele expresii Pascal |C/c++, are ca valoare cel mai dintre numerele naturale nenule, cu cel mult 4 cifre fiecare, memorate (Pascal hGiC++) @ = (+y-abs (x-y) div 2 i Gxtyzaballxc-y)) /2 b. -x+y-abs(x~y)div 2 xty-aba (x-y) /2 c. (xty+abs(x~y) div 2 * (xeytabs (x-y)) /2 a. (xtytabs (x+y) div 2 Raspuns corect: a 2. Se consider’ algoritmul al&turat, descris in pseudocod: S-a notat cu [c} partea intreaga a numarului real ¢, iar cu axb restul impartirii numarului intreg = la numanul intreg nenul b. @ Scrieti valoarea care se afiseaza in urma executarii. algoritmului, daca se citeste numéarul 9322. (6p.) Ra&spuns corect: 9 Scriefi. cea mai mare valoare de 4 cifre distincte care poate fi citi pentru n astfel Incat s& Se afigeze valoarea 11. (4p,) Raspuns: 9867 Orice numar cu cel putin 2 cifre ce nu are cifrele in ordine strict descrescaitoare. Scriefi in pseudocod un algoritm @chivalent cu cel dat in care si se inlocuiascé structura cat timp executa cu 0 structura repetitiva cu test final. (6p.) Scrieti programul Pascal ever Corespunzator algoritmului dat. (10p.) (x+ytabs (ty) ) /2 citegte n (numar natural) s€--1 peat timp n>0 executa | pdac& n810>s atunci | | .s€ ax1o |. jaltter [ | sear i, | n €tny101 io serie s Rezolvare cerinta c. eitegte n (numar natural) s€ -1 7 rdac& n>0 atunci {rrepeta | altfer 6€11 Ct a €{[n/10] leat timp n>0 serie 8 [| pack n&10>s atunci s€n%! (44 Fiecare dintre variabilele in Care dintre expresiile Pase numai dacd numérul mem memorat in y este strict ma (Pascal) xty-5<>0 x* (y-5)<20 x*(y@)>=0 not (x* (y-5)<=0) Raspuns corect: d. Se considera algoritmul atét a notat cu fe] partea Intreagt al c, iar cu a%b restul impart eg ala numarul Intreg nenul & Scrieti valoarea _afigat, encour algoritmului, dac pentru n valoarea 232493. Raspuns corect: 9432 Scrieti doua valori naturale ¢ pot fi citite pantru n astfel 7 executdrii algoritmului $4 numérul 9654. Réspuns: 6594 6954 Scrieti in pseudocod un a valent cu cel dat in care cuiascd structura pentru cu o structurd repetitiva cu Scrieti programul Pascal | corespunzator algoritmului ¢ [A 007 Fiecare dintre variabilele intregi x si y SUBIECTUL | Mmemoreaza cate un numér natural. Care dintre expresiile Pascal |C/c++ de mai jos are valoarea true/1 daca gi numai dac& numarul memorat in x este strict mai mare ca 0 si numarul memorat in y este strict mai mare decat 5? X? 2 (Pe (C/C++) ¢ 1 xty-5<>0 guty-51=0 x* (y-5)<>0 x* (y-5) 1=0 x* (y®)>=0 2 hy=5Y>e0 not (x*(y-5) <=0) 1 (a (y-5) <0) Raspuns corect: d. 2. Se considera algoritmul alaturat, descris pseudocod: a notat cu [c) partea intreagaé a numarului ja) b) eal c, iar cu a&b restul impartirii numarului Jintreg a la numarul intreg nenul b. Scrieti valoarea afigaté, in urma executarii algoritmului, dacd’ se citeste pentru n valoarea 232493. (4p.)) Réspuns corect: 9432 Scriefi dou valori naturale distincte care pot fi citite pentru n astfel incat in urma executarii algoritmului s& se afigeze numéarul 9654. (6p.) Raspuns: 6594 6954 Scrieti in pseudocod un ailgoritm echi- valent cu cel dat in care s& se inlo- cuiasc4 structura pentru. ..executé cu © Structurd repetitiva cu test final. (6p.)| Scriefi programul Pascal |C/c++ corespunzator algoritmuluidat., (10p.) citeste n (numir natural nenul) nr € 0. ppentru a=9,0,-1 executé {| mén [roat timp m #0 gi I mk104a executd: {| m€tms10) {4s | pdacd mo atunci {| nr€nr*10 +mx10 {4s ts scrie nr Rezolvare ‘cerinta c) citeste n (numir natural nenul) nr € 0; a€g9 rrepets mén reat timp m ¥0 gi lI m%104a executd || m€ms107 | 4. | pdacd m#0 atunci || nr€nr*10 +m%10 | 4. [a€a-2 “a cat timp a>=0 scrie nr (4p.) VARIANTA 008 dintre numerele naturale nenule, cu cel variabilele intregi a gi b? (Pascal) S-a notat cu {c} partea Intreaga a numarului real c, iar cu a&b restul impartirii numarului jntreg a la num&ndl intreg nenul b. . Scriefi valoarea care se afigeazd, in urma executiti algoritmului, dacd se citeste pentru mn valoarea 932125 $i pentru k valoarea 3. 2 (4p.) “ Raspuns corect: 22 b. Scrieti o valoare pentru n si o valoare pentru k astfel Incat, In urma executarii algoritmului, s4 se afigeze valoarea 0.(6p.) R&spuns corect 9735 3 c. Scriefi in pseudocod un algoritm echivalent cu cel dat in care s4 se Inlocuiascé structura c&it timp .. executa cu o structura_repetitiva cu test final. (6p.) d. Scrieti programul Pascal |c/c++ corespunzator algoritmului dat. (10p.) SUBIECTUL I 1. Care dintre urmatoarele expresii Pascal |c/c++, are ca valoare cel mai mare a ie b. atbrabs(a-b)div 2 c, (atb-abs(a-b) div 2 (a+b-abs(a-b)) /2 gd. (atb-abs(a+b) div 2 4 (asb-abs(atb))/2 % Raspuns corect a 2. Se considera algoritmul aldturat, descris | citeste n,k in pseudocod: (numere naturale nenule) ar€0, p€1 mult 4 cifre fiecare, memorate in (4p.) reat timp n#0 $i k#0 executa | pdacd n%2=0 atunci [| | nr€nr+ n&10*p | | péps20 | jaltfel ie kEk-1 | Be Ls serie or Rezolvare cerinta c) citegte n,k (numere naturale nenule) ar€0,p€1 prepeta | pdacd nt2=0 atunci | | ar€nr+ n%10*p | p€pt10 Jaltfer k€k-1 | j.| am | a€tn/101 . Lm c&t timp n#0 sau 40 scrie nr e am c. Scriefi VARIANTA 009 1. Care dintre expresiile Pasc de mai jos ? (Pascal ((a>3)and(a<15) )or (as ((a>3)or(a<15))and (a not ( (a<=3)or(a>=15) )c ((a>3) or (a<15)) and (a< not(a<3 or a>15)and ( Raspuns corect: b. 2. Se considera algoritmul ala in pseudocod: S-a.notat cu [c] partea intreag real c, iar cu a%b restul impai intreg a la numarul intreg nenul a. Scrieti valoarea care se urma executdrii algoritm citeste pentru n valoarea 1: Raspuns corect: 1 b. Scrieti cea mai micd valoe _ distincte care poate fi cititd | ‘incat sa se afigeze valoarea R&spuns corect: 1023 ‘in. pseudocod echivalent cu cel dat in inlocuiascd structura ca executa Cu o structura rep final. d. Scrieti programul pascal [¢ corespunzator aigoritmutui ¢ 10st iSong la VARIANT) fA 009 1 Care dintre expresiile Pascal|C/c++ de mai jos este echivalenta cu expresia de mai jos ? (Pascah ((a>3) and (a<15) )or(a<>b) ((a>3)or(a<15))and (asb) not ( (a<#3)or(a>=15) )or(a<>b) ((a>3)or(a<15))and(a<>b) not(a<3 or a>15)and (a<>b) ‘felspune corect b. 2. Se considera _ alaturat, descris ‘in pseudocod: S-a.notat cu [¢] partea Intreaga a:numarului real c, iar cu a%b restul impartirii numarului ‘intreg a la’ numéarul intreg nenul b. a b. c d. Scriefi valoarea care se afigeaza, in urma executarii algoritmului, dacé se citeste pentru n valoarea 1239. (6p.) R&spuns corect: 1 Scrieti cea mai micd valoare de 4 cifre _ distincte ‘care poate fi citité penttu n astfel Incat s& se afigeze valoarea-1. (4p.) Raspuns corect: 1023 Scrieti in. pseudocod un algoritm echivalent cu cel dat in’ care sa se inlocuiasca structura c&ét timp .. executa cu 0 structurd repetitiva cu test final. ‘6p, Scrieti programul Pascal |c/c++ corespunzator algoritmului dat. (10p.) (4p.) (C/C+4) ((a>3)&&(a<15)){ | (al=b) ((a>3)| | (a<15))&& (a#=b) 1((a=25)) [| (al=b) ((a>3) [| (a<15))&&(al=b) t(a<3 [| a>15)e& (al=b) citegte n (n numar natural) s€10 reat timp n>0 executé | pdacd nt100 atunci | rrepeta rdacd n¢100 ll [1 ll I {It It iB a 8 VARIANTA 010 1 ; (Pascal) 9 div 2*2-5 be \ corect: a 2. Se considera algoritmmul aliturat, descris in pseudocod: S-a notat cu [¢] partea intreaga a numéarului real c, iar cu a%b restul impartiii numdarului ‘intreg a la numéarul intreg nenul b. a. Scrieti valoarea care se afigeaz4, in urma executari i, dacd se citeste pentru n valoarea 23456 si pentru k valoarea 3. (4p.) R&spuns corect: 24 b. Scrieti doua seturi distincte de date de intrare, astfel incAt, pentru fiecare dintre ele, In urma executarii algoritmului, sa se afigeze valoarea 234. (6p.) Raspuns corect: 23345 2 si 23141 2 Scriefi in pseudocod un algoritm echivatent cu cel dat in care sa se ‘inlocuiasc& structura c&t timp executa Cu o structura repetitiva cu test final. (6p) Scrieti programul Pascal |c/c++ corespunzator algoritmului dat. (10p.) Care este valoarea expresiei Pascal |C/c++ de mai jos? (4p.) (C/C++) 9/2*2-5 -3 d.-3.75 citeste n,k (numere naturale nenule) ar€o pei reat timp n40 si. k40 executd | pdac& n$240 atunci || nr€nr + [n/10]%10*p || p€pero | |altfer [| kex-2 le | n€tn/10} ‘s scrie ar Rezolvare cerinfa c) citeste n,k (numere naturale nenule) nr€0 pel rrepeta | pdac& nt2¥0 atunci || nr€mr + [n/101%10*D || péps20 | Jaltfe1 {| kek-4 {4a | n€in/10} “m c&t timp n40 sau k40 serie nr VARIANTA 011 = Variabilele x gi y sunt di Care dintre expresiile Pa (Pascal) 3*x-4*y=0, (xty) div 2>x mo WoT (x div 2+2=¥ x-yt3<>0 Raspuns corect: c. 2. Se considera algoritmul tn pseudocod. S-a notat cu x%y restul im natural x la numarul natural | partea intreaga a numarutui n Scrieti valoarea care se citeste pentru n valoa pentru k valoarea 3. Ré&spuns corect 15 Daca se citeste pentn scrieti cea mai mare v care poate fi cititaé pen numarul afigat in algoritmului s& fie 1. R&spuns: 98888 Scrieti programul Pasca corespunzator algoritmu Scrieti_ in pseudoco echivalent cu algoritmul ‘nlocuiasca structura rey ses executd, cuo s pentru ... executd a(p\p Pp SU) =i [Some] ma| VARIANTA 011 1. Variabilele x si y sunt de tip intreg, x vemonea Care dintre expresiile Pascal |c/C++ de mai jos (Pascal, 34x-4*ym0, (xty) div 2>x mod y+ WOT (x div 2+2=y) x-¥+3<>0 R&spuns corect: c. 2. Se considera algoritmul alaturat, descris in S-a notat cu xy restul impértirii numarului natural x la numarul natural nenul y si cu [2] partea Intreag& a numarului real z a Scrieti valoarea care se va afiga daca se citeste pentru n valoarea 296385, iar pentru & valoarea 3. (6p.) Ré&spuns corect 15 Dacd se citeste pentru k valoarea 4, scrieti cea mai mare valoare de 5 cifre care poate fi citi. pentru n astfel incat num&rul afigat in urma —executdirii algoritmului sa fie 1. (4p.) R&spuns: 98888 Scrieti programul Pascal |c/c++ corespunzator algoritmului dat. (10p.) Scrieti in pseudocod un algoritm echivalent cu algoritmul dat, In care sa se inlocuiasc& structura repetitiva cat timp executé, cu o structura repetitiva pentru ... executa. (4p.) ear 8, iar y valoarea 6. valoat (4p) rea 075 (C/C#) 3*x-4ty=20 (x+y) /2 > xey+1 1 (20/2+2=ay) x-y+31=0 citeste n,k (mumere naturale) pei peattimpn>0 gik>0 executa | c€n%10 rdac& c#2=1 atunci L pépte | | | | n€tm101 le kER-1 Pa 7 Rezolvare cerinta d) citeste nk (numere naturale) pei pentru i€k,1,-1 executa | c€nx10 go ct2e1 atunci peptc | |, n€1a/101 | & n=0 atuncd k€O le a pare P mey=2 xoyes2 ((x-y=2) OR (y-x=2)) AND ((x-y=22) || (y-x==2)) ee (x mod 2=0) (x&2=20) Raspuns corect d : 2. Se considera algoritmul aldturat, descris ‘in pseudocod. yeo S-a notat cu [¢] partea Intreagd a numarului real : a VARIANTA 012 Care dintre urmatoarele expresii Pascal |c|c++ are valoarea TRUE|1 dacd gi numai daca variabilele x si y memoreazé doud numere naturale pare consecutive? (Pascal (x-y=2) AND’ (y-x=2) (w=2) AND (y=4) c. Scrieti valoarea care va fi afigata dacd se citesc, in aceastd ordine, numerele 12, 7, 354, 9, 630, 0. (6p.) Raspuns corect: 17396 Scrieti un sir de numere ce pot fi citite astfel incat valoarea afigata sa fie 321. (6p) Raspuns: 3, 2, 1, 0. Scrieti programul Pascal |c/c++ corespunzator algoritmului dat. (10p.) Scriefi fn pseudocod un algoritm echivalent cu cel dat, in care s& se inlocuiascé fiecare dintre cele doud structuri eat timp ... executd, cu cate o structura repetitiva cuttest final. citeste x (numfr natural) reat timp x#0 executa i I! | | (C/C++) reat timp x>9 executa (x-ye=2) && (y-xe=2) (xme2) && (y=ed) | x€(x/101 te scrie y yOy*lo+x citeste x Rezolvare cerinta d) citeste x (numar natural) yeo ydack x#0 atunci ta pdac& x>9 atunci ao. | [ te 3 x€ [2/10] Um pnd cand x<=9 #1042 \VARIANTA 013 1. Care intre expresile Pu de mai joe este ed expresia al&turata? (Pascal @& (a>=5) AND (be=? b. NOT (a<5) OR MOS c. MoT (a<5) AND MO d. wOT(a>=5)AND BOT Raspuns corect,b 2. Se considera algoritmad 1 ‘tn pseudocod. S-a notat cu sky reshl iy natural x la numaru! natural @ partea Inreaga a numa Scriefi numdrul ce se wai a se citeste valoarea 40 citeste valoarea 413. Réspuns corect: 7 +b. Dac& pentru variabia valoarea 58, sctief toa citite pentru variable afigarea numarului 3. Réspuns: 61, 62 c. Scrieti programul Pascal corespunzator algoritru d Scriefi in pseudocod echivalent cu algoritmul « tnlocuiasca structura re vee executé cu o strut un alt tip. ie =iiseg te] VARIANTA 013 1. Care bintre expresiile Pascal |c/c++ de mai jos* este echivalenté cu expresia alaturata?: (Pascal @ (a>=5) AND (b<=7) b. NOT (a<5) OR NOT (b>7) ©, NOT (a7) d. NOT(a>=5)AND NOT (b<#7) Risspuns corect,b 2. Se considera algoritmul alaturat, descris ‘in pseudocod. S-a notat cu ay restul imp&rtirii numarului natural x la numérul natural nenul y si cu [2] partea intreaga a numérului real z. a. Scrieti numanul ce se va afiga daca pentru ase citeste valoarea 404, iar pentru b se citeste valoarea 413. (6p.) R&spuns corect: 7 da Dac& pentru variabila a se citeste valoarea 58,.scrieti toate valorile care, citite pentru variabila b, determina afigarea numéarului 3. (4p.) R&spuns: 61, 62 Scrieti programul Pascal |c/c++ corespunzator algoritmului dat. (10p.) Scrieti in pseudocod un ailgoritm echivalent cu algoritmul dat in care s& se inlocuiasca structura repetitiva pentru ++. @xecuté cu o structurd repetitiva de un alt tip. « (6p.) ea (Pascal) WOT ((a<5) AND (b>7)) (C/C+#) 1((a<5)&&(b>7) ) a>. MH be (C++) |. (a>e5) &E (B<=7) t(a<5) || 1 (b>7) » I (a<5) && 1(b>7) i(a>=5) && !(b<=7) citeste a,b (mumere naturale, a0 executs | pdacd n82=1 ‘atunci | | c€esa | 4 | n€tn/10) ir rdacd c>0 atunci keR+1 hee k | ! ! I | | | ! iB ’ Rezolvare cerinta d) citeste a,b keo reat, timp aceb executé | n€a; ceo eat timp n>0 executs | treet nt2=1 atunci lI ese [ee n€[n/10] ts lone e>0 atunci k€k+1 | | I | | B a€a+l 1 VARIANTA 014 Pentru care dintre perechile de valori de mai jos expregia pascal |[c/c++ alaturata are valoarea true/1? (Pascal) (a mod 100=b mod 100) (a>99) OR (b>99) @) a=1008 si bas ©, a=1100 gi b=10 Raspuns corect: a . Se considera algoritmul alaturat, descris I. S-a notat cu x%y restul ieee numarului natural x la numarul natural nenul y gi cu [z] partea Intreagd a numérului real =. a Scrieti valoarea ce se va afiga dacd se citesc, In aceasté ordine, numerele 12, 7, 354, 9, 1630, 0. (6p.) Raspuns corect: 27596 Scriefi un set de date de intrare care s& determine, in urma executérii algoritmului, afigarea valorii 751. (4p.) Raspuns: Girul trebuie s& contind 3 numere nenule, care aU cifra unitatilor para, urmate de valoarea 0. Citra maxima a primului numér trebuie sa fie 7, cifra maxim a celui de al doilea numéar trebuie sa fie 5, iar cifra maxima a celui de ai treilea numéar trebuie sa fie 1. Un exemplu: de sir corect este: 372, 554, 100, 0 ‘Scrieti programul Pascal |C/c++ corespunzator algoritmului dat. —_(10p.) Scrieti in pseudocod un algoritm echivalent cu cel dat, in care sd se inlocuiasca fiecare structura cat timp executd, cu cate o structurd repetitiva cu test final. 6p.) (4p.) (CCH) {a%100==b%100) && (a>99) | (b>99) b. a=35 gi b=35 d, a=1234 gi b=12 ar wz citeste x (numir natural) n€o eat timp x#0 executd véx; c€0 reat timp y>0 executé | pdacd y%10>c atunci | iB c€y%10 | \s | | | | | | y€[y/10] | | n€nt10+c c citeste x scrie n Rezolvare cerinta d) citegte x (numir natural) n€o rdact x#0 atunci | prepets rdac’ y#10>c Jatunci c€ys10 le VARIANTA 015 1. Variabilele x si y sunt de Care dintre expresiile Pas (Pascal a. x-y<>0 b. xty>x mod y+i C, x-2*y=0 a. (x=2*y) corect d. 2. Se considera algoritmul in pseudocod. S-a notat impartini. numarului natural natural nenul y. a Scriefi valoarea care x1 pentru a se citeste valoar nse citeste valoarea 6. R&spuns corect 4 b. Scriefi programul Pascal corespunzator algoritmuk c. Daca pentru vanabila as pentru variabila n, astfel 1 Raspuns corect : 4 d. Daca se citeste pentru « inlocuita atribuirea a afigeze valoarea expres respectiv 0 dacd numarul R&spuns corect: aCa- SUBIECTUL I VARIANTA 015 Xelt 1. Variabilele x gi y sunt de tip intreg, x memorénd valoarea 4, iar y valoarea 2. Care dintre expresiile Pascal | C/C++ de mai jos are valoarea false | 0? (4p.) (Pascal (C/C++) a x-y<>0 x-yl=0 b. xty>x mod y+1 xtyoxey+1 ©. x-2*y=0 x-2tyand ( pa (x=2ty) 1 Geanaty) corect: d. . Se considera algoritmul alaturat, descris | citeste a,n |. S-a notat cu xy restul (numere naturale) ipa numarului natural x la numarul: tru i€1,n executé natural nenul y. pdacd i%2=0 atunci a. Scrieti valoarea care se afigeaz4 dacd| | | a€a-itd pentru a se citeste valoarea 25, iar pentru | | |altfel nse citegte valoarea 6. (6p.) | | a€a+iei R&spuns corect: 4 ‘. Scrieti programul Pascal |C/c++ serie a corespunzator algoritmului dat. (10p.) Daca pentru variabila a se citeste valoarea 18, scrieti valoarea ce treble citita pentru variabila n, astfel incat sd se afigeze numarul 8. (6p.) Raspuns corect : 4 Daca se citeste pentru a valoarea 0, cu ce instructiune de atribuire trebuie Inlocuit’ atribuirea a€-a-i*i In algoritmul dat, astfel Incat algoritmul obtinut sa afigeze valoarea expresiei n? dacd numéarul citit pentru n este impar si respectiv 0 daca numarul citit pentru n este par. (4p.) Raspuns corect: aGa-(i=1)*(i-1) 1. a b. ce d. VARIANTA 016 Care dintre urmAtoarele instructiuni Pascal |Cc/c++ determina inserarea cifrei 7 in fata ultime! cifre a unui numar natural, cu mai mult de 2 cifre, memorat in (4p.) variabila x? (Pascal) . xse(x div 10*10+7)*10+x mod 10 xtsx div 10+7+x% mod 10 xra(x mod 10*10+7)*10+x div 10 xie(x div 10+7)*10+x mod 10 Raspuns corect: a. 2. Se considera algoritmul alaturat, descris in Pseudocod. S-a:notat cu x%y restul impartirii numarului_ natural x fa numéarul natural, nenul, y. a Scrieti caracterele care se vor afiga in urma executdrii algoritmului dacd se citeste valoarea 4. (6p.) Raspuns corect: ***#*+* Scrietio valoare care poate fi citita pentru variabila‘n, astfel inc&t caracterul * sa fie afigat de exact 66 de ori. (4p) R&spuns corect: 12 Scriefi programul Pasqal |c/c++ corespunzator algoritmului dat. (10p.) Scrieti in pseudocod un algoritm echivalent cu cel dat, in care s& se Inlocuiascé fiecare structuré repetitiva Pentru...executa cu cate o structura repetitiva cét timp...executd. (6p.) (C/C+4) x= (x/10*10+7) *10+x%%10; m=x/1047+X%10; m= (X%10*1047)* 1042/10; m= (2/1047) #1042105 citeste n (numar natu nenul) rpentru i€1,n-1 executa | pdacd i%2=0 atunci |] serie '# | ppentru j€it1,n executdé If serie *#°7 Rezolvare cerinta d) citeste n 8€0; 1€1 peat timp isn-1 executé [dac&.i%2=0 atunci Iscrie "# [j@ae reat timp j07 a, 300 b. 5000 R&spuns corect: b 2 Se considera algoritmul ak mee judocod. Sorel succesiunea de car le va afiga algoritmul dac aceasta ordine, valorile 2, R&spuns corect: ABABABA Scriefi numarul de pere aparfinand intervalului [1,< ‘citite pentru variabilele x ¢ rezultatul afigat s& fie form: caractere ? Raspuns corect: 12 (1,6), (2,12), (2,13),¢ (3,19), (3,20), (6-4). ¢ (13,2), (18,3), (19/3) Scrieti programul Pascal | corespunzator algoritmutui Scriefi in pseudocod echivalent cu cel dat, it Inlocuiascéstructura_ re timp...executé cu repetitiva de alt tip. SUBIECTUL I VARIANTA 017 Care este valoarea pe care poate s4 o aibé initial variabia intreagd x daca, la sfargitul executaril secventei alaturate, variabila intreagd y are valoarea 2? -(4p.) (Pascal (C/C++) » 7 yra0; ads repeat do xrex div 10; { x=x/10; yeny+ly yey+l; until x mod 100<>0; } while(x%100==0); a.-300 b. 5000 “ @, 120 do Ra&spuns corect: b 2. Se considera algoritmul alaturat, descris | citeste x,y in pseudocod. (numere naturale) a. Scriefi succesiunea de caractere pe care | rdac& x. €: Tepetitiva de alt tip. (6p) | | serie "3: [pana cand xb interschimbarea valorilor refinute de variabilele a sib. a Scriefi succesiunea de caractere care se vor afiga. tn urma executdrii algoritmului daca se cltesc, In acesta ordine, valorile 2 gid. (6p) R&spuns corect: **+* $tiind c& pentru variabila y se citeste valoarea 79, scrieti toate valorile distincte care pot fi citite pentru variabila x, astfel Inc&t sd fie afigat de exact 40 de ori caracterul *. (4p.) Raspuns corect: 0, 1,157 $1158 Scrieti programul Pascal |c/c++ corespunzator algoritmululdat. (10p.) Scriefi tn pseudocod un algoritm echivalent cu cel dat, in care sa se inlocuiascd structura_repetitiva cat timp...execut&é cu 0 structurd repetitiva de alt tip. (6p.) (C/C+4) x=x/1000*100+x%100; x=x%1000*100+x/100; x=x/100*100+x%100; x=x/10004+x%100; : eau citeste x,y (numere naturale) rdacé x>y atunci | ye>x 7 te rdacd x#2=0 atunci eit reat timp xsy executé | xéxe2 | serie ‘+ le Rezolvare cerinta d) . citegte x,y rdack x>y atunci | yeox is *pdac& x%2=0 atunci | x@xe2 ‘o ek xSy atunci - eo WARIANTA 019 1. Cate atribuiri se executd variabile de tip intreg? (Pascal) prmly n2=279;7 while n>=100 do begin p:=p*10; ni=n-100 end; ad R&spuns corect: b 2. Se consideré algorita descris in pseudocod. S-a restul impértirii numdrukai | fnumétul natural nenul y $i cu Intreaga a numarului z. a Scriefi numerele care se urma execut&ri algoriem citesc valorile a=312 sib Raspuns corect: 234 b. Scrieti cdte o valoare cas Inc&t algoritmul sa afigeza R&spuns corect: Orica determinat de numerele fa exact 2 numere care au intervalul [54, 67] exdsta ¢ ¢. Scrieti programul Pascal d@ Scriefi in pseudocod echivalent cu cel dat, i inlocuiascd —_structura executa cu o structurd alt tip. SUBIECTUL | VARIANTA 019 1. Cte atribuiri se executa, in total, in secventa urmatoare, dacd a si p sunt variabile de tip intreg? 4p.) (Pascal) Prsl; n:=279; while n>=100 do begin p:=p*10; ‘nr=n-100 end; aé Raspuns corect: b 2. Se considera algoritmul alaturat, descris in pseudocod. S-a notat cu x*y restul Impértirii numérului natural x la numéarul natural nenuly gsicu [2] partea intreagd a numarutui =. a. Scrieti numerele care se vor afiga in urma executarii aigoritmului dacd se citesc valorile a=312 si b=1354. (6p.) Raspuns corect: 234 Scriefi cate o valoare care poate fi citi pentru variabila a, respectiv b, astfel Incat algoritmul s& afigeze exact 2 valori. (4p.) R&spuns corect: Oricare doud numere a, b pentru care intervalul inchis, determinat de numerele formate din ultimele 2 cifre ale lui a si respectiv b contine exact 2 numere care au cifrele identice. De exemplu 15¢ si 1167, deoarece in (CCH) pel; n=279; while (n>=100) {p=p*107 nen-1007} poi ee meds Pg b, 6 c 2 . 8 citeste a,b (numere naturale) a€ [a/10]%10"10+a%10 bE [b/10]%10*10+b%10 rpentru i€a,b executs | pdac&[i/10]=it10 atunei || serie i810 a intervalul [54,67] exista doar numerele 55 gi 66 cu cifrele identice. Scrieti programul Pascal |c/c++ corespunzator algoritmului dat. Scrieti in pseudocod un algoritm echivalent cu cel dat, in care s& se inlocuiascé—structura. pentru... executd cu o structura repetitiva de alt tip. (6p.) (10p.) Rezolvare cerinta d) citegte a,b a€[a/10]%10*10+0%10 bE [b/10]%10*10+b%10 reat timp a<=b executd | ’i[a/10]=a%10 atunci || serie ax10 | 4s Ja€asa s VARIANTA 620 Care este valoarea tiparitd de secventa de program Pascal |C/c++ alaturata, gtiind c& x si y sunt variabile intregi, iar 2 este o variabilé reala? (Pascal) rm30) yre5; im (x+y) /6;z:mtrunc(s*100)) gmz/100) write(z:5:2)) as b, 5.833333 Rispuns corect: c. 2. Se considerd algoritmul alaturat, descris in pseudocod. S-a notat cu xy restul tmpértirii nymérului natural x la numérul natural nenul y gi cu [2] partea Intreagd a numérulul x. a Scrieti valoarea pe care o va afiga algoritmul dacé se citeste numérul 16389. (6p) . Raspuns corect: 9831 Scriefl cea mai mic& valoare de patru cifre distincte care poate.fi citita pentru varlabila n, astfel incat si se afigeze valoarea 0? (4p) R&spuns corect: 1230 Scrieti' programul Pascal|c/c++ corespunzator algoritmului dat. (10p.) Scrieti tn pseudocod un algoritm echivalent cu cel dat, in care sa se Inlocuiasca structura c&t timp ... execut& cu o structura repetitiva de alt tip. (6p.) (4p.) (c1C+4) xem30) yu5) zm(x+y)/6.07 =f; (z*100); z=z/100; ee 9 executé | n€tn/10) | b€nv10 | pdack a>b atunci || €m*10+b Rezolvare cerinta d) citegte n (numar natural) a€n%l0 mea dac& n>9 atunci repeta n€[n/107 b€n%10 rdack a>b atunci | memti0+b | a€b te scrie hh cima cu 0 Stucke’ supe (Riepuns: Se poste tace intact aco adeptare. Svuchsa a fad se poate iniocui cu secem © —Sciiefi programul Pescel ‘aigorionnt numér fini de cifre dupa veguil Giire aftate dup’ virquii. Putes doud cifre zecimale, deci m=2¢ SUBIECTUL I VARIANTA 021 1. Care dintre expresiile Pascal |c/c++ de mai jos ate valoarea true/1 dupa executarea secventei de instructiuni Pascal|C/c++ urmatoare, in care toate variabilele sunt intregi? (4p.) (Pascal) (C/C++) vlim0) v2i—0) vim) v2=07 for i:m1 to 3 do for(ie1;iv2 b, vicw2 d, vlew2=9 c. viewv2 do vievaes9 Se considers algoritmul aldturat,) citegte a,b,n descris in pseudocod. S-a notat cu [2] (numere naturale) partea Intreaga a numérului real = gi cu xy restul Impartiril numarului natural x la numérul natural nenul y. 8. Scrieti valorile care se vor afiga dacd se || serie [a/b] _ ¢ltesc, In ordine, valorlle 17, 6,4. (6p.)| | éae% n>0 gi atb4o atuncd R&spuns: 2,8333 (algoritmul afigeaza valoarea fractiei a/b cu n cifre dupa virgula, deci 17/6 cu 4 cifre dupa virgula). sorie [(a*10) /b] b, Scrieti tn pseudocod un —algoritm | a€ (a*10)%b echivalent cu cel dat tn care s& se | d€4e2 fnlocuiascA structura repetd.. .pand ‘pang cénd isn sau a=0 cfnd cu o structura repetitiva de tip cat : timp. ..executa. (6p) Raspuns: Se poate face inlocuirea ceruté far | scrie [(a*10) /b] nicio adaptare. Structura repeté...pan& | a¢ (9#10)%b cand se poate inlocui cu secventa alaturata: L€de1 . c. — Scrieti programul Pascal |c/c++ reat timp i=c) at f& = (a>b) or (ab) or (acc) or ( 7d, ((a>b) or (a=c) and (ab) or (ad) (a>b) or (ad) ((a>b) or (ad) and (a>=c)) a. b. c @) or (4p.) (C/C+4) I ({aceb && armcy || aced) fare lade) 3g aod aceb || a>sc 6’ ab || acc && ard a>b || asc || ard (a>b || acc) &@ ard puns: d Se considera algoritmul descris in pseudocod. S-a notat cu seky restul Impartirii numarului natural x la numé@rul natural nenul y si cu {2] partea Intreaga a numarului real z. Scriefi valoarea care se va ‘afiga dacd se citesc, in ordine, valorile 24 136. (6p.) alaturat, * R&spuns: 2 (Algoritmul afigeazi cea mai mic& putere a lui 2 care apare in descompunerea in factori primi a numerelor a sib.) b. Scrieti doud valori care trebuie citite (una pentru variabila a si una pentru variabila b) astfel Incat, in urma executdrii algorit- mului, s& se afigeze valoarea 0. (6p.) R&spuns: Cel putin unul dintre numere trebuie s4 Scrieti programul Pascal |c/c++ corespunzator algoritmului dat. Scrieti in pseudocod un algoritm echivalent cu cel dat in care s& se inlocuiascd structura repetd...pan& cand cu o structura repetitiva cu test initial. (4p.) R&spuns: Secventa de instructiuni din zona hasuraté se inlocuieste cu secventa alaturata: citeste a,b (numere naturale nenule) cto este operator relational . ‘mod | % este operator aritmetic ) ©. and|&& este operator logic <= este operator logic R&spune: d (Sunt operator logic! operatoril care opereazA cu termeni avand valori logice, nu cei care au ca rezultat o valoare logicd) 2. Se consideré algoritmul alaturat, citegte a,b (numere naturale) descris In peeudocod. pear aed @. — Scrie{i valoarea care se va afiga pentru | rack peo sau qu0 atunci an15 gib=a25. (6p.) [poorer a€pta * Raspuns: 75 (Algoritmul calculeazé cel mai mic multiplu comun) b. — Scrieti toate valorile ‘care, citite pentru b, determina afigarea valorii 60, dac& pentru a s-a cjtit valoarea 10. (6p.) Réaspuns: 12 si 60 ¢. — Scrieti programul Pascal |c/c++ ie corespunzator algoritmutui dat. (10p.) d. — Scrieti un algoritm echivaient in care s& se a Inlocuiasc’ structura cat timp... | d exacuta cu o structura repetiiva cu test | sack Prg atunct final. (4p) é | | pdac&d pb atunci. &@ — Scrieti care sunt valorile ce se vor afiga le t€ay a€by bet pentru a=10, be20 gicmé, (6p.) | .* R&spuns: 12 18 (algoritmul afigeaza miltipiil lul ¢ Gn intervalul [a,b] sau [b, a] ) b. — Scrieti un algoritm echivalent cu cel dat tn care sd.se Inloculasca structura c&t timp eee ecuté cu Oo structura pentru ... executé. (6p.) Raspuns: Se Inlocuieste secventa marcaté cu: pentru i€a,b executé dac& cji atunci scrie c sfirgit pentru c. . Scrieti programul pascal |c/c++ corespunzator algoritmulul dat. (10p.) 4. Scrieti 6 formula care s8 calculeze céite numere se afigeazs daca asb. (4p.) R&spuns: [b/c]-{(a-1)/c] (se stie cd numarul de multipli pe care Ti are x in intervalul [1,n] este [n/x] (I 1 reprezinta partea Intreaga). . VARIANTA 026 q 1. (Pascal x div 7-x mod 7 a Oo bo 1.14 c Raspuns: c. . S-a notat cu xy restul bales numéarului natural x la numarut natural nenul y. a. —Scrieti valorile care se afigeazi pentru nell. (6p) Raspuns: 12345678901 ¢. — Scriefi in pseudocod un algoritm echivalent cu cel dat, In care s& se inlocuiascd Structura. pentru...executié cu oO structura repetitiva de un alt tip. (6p.) Réspuns: Prezentim aliturat pentru 0 solutie ce realizeaza Inlocuirea structurii repetitive pentru. cuostructura c&ét timp — executa. 3 on. Raspuns: 10 (ne{21,22,23,...,30}) (C1C+4) x/7-2%T -6 da. c€0 rpentru i€i,n executd ! | ty c€ (c+1)%10 scrie c b. Sctief programul pascal |c/c++ corespunzitor algoritmului dat. citeste n c€0 5 i€1 reat timp isn executa ! ! ! eo c€ (orl) X10 serie c i€iel Care este cea mai mica valoare pe care o poate avea expresia Pascal|C/c++ aldturaté dacd variabila intreagd x, de tip memoreaza un numér natural cu o singura cifra ? integer |int (4p) 2 ee algoritmul alaturat descris | citeste n (numar natural) (10p.) d. — Scrieti numarul de valori distincte, numere naturale nenule cu cel mult dou cifre fiecare, care pot fi citite pentru n. astfel incat cifra 1 sd fie afigaté de exact 4p.) « a a » ‘A 027 in expresia Pascal [c/s bila x este de tip intreg. A are valoarea 1 pentru onic are valoarea 1 daca $i nus are valoarea 1 daca $i nus are o valoare strict mai ma Rispuns corect: a. 2 Se considerd algoritmul (peeudocod. ‘Sa notat cu sey restul impar xx fa numarul natural nenul Inireaga a numéarului real x Scriefi valoarea care s citesc numerele a=493 Raspuns corect: 2329 Scriefi programul Pascal algoritmului dat. Scrieti in pseudocod un a cel dat, in care sé se c&t timp ... exec repetitiva de'un att tip. Scrieti in pseudocod un ; cel dat, care sa NU repetitive sau recursive. Rezolvare: E10] =}/ ogg] VARIANTA 027 in expresia Pascal |jc/c++ aldturata varia- | (Pascal) x mod 2+(3+1)mod 2 bila x este de tip Intreg. Aceasta expresie: (4p) are valoarea 1 pentru orice numar natural x. (C/C++) w%24(x41)%2 ‘are valoarea 1 daca si numai daca x este.un numér par. are valoarea 1 daca si numai daca x este un numar impar. are o valoare strict mai mare dec&t 1 pentru orice numar natural x. Réspuns corect: a. 2. Se consideré algoritmul alaturat descris in pseudocod. S-a notat cu xy restul impartirii numarului natural x la numé&rul natural nenul y gi cu [x] partea intreagd a numarului real x. . -| a) b) e) Scrieti valoarea care se afigeaz’ dacd se citesc numerele a=493 gi b=1836? —(6p.) Raspuns corect: 2329 Scriefi programul Pascal |C/c++ corespunzitor algoritmutui dat. (10p.) Scrieti In pseudocod un algoritm echivalent cu cel dat, in care s& se inlocuiasca structura cat timp executé cu o structurad repetitiva de'un alt tip. (6p.) Scrieti In pseudocod un algoritm echivalent cu cel dat, care s& NU foloseasca structuri repetitive sau recursive. (p.) scrie a+b citeste a,b (rumere naturale) c€07d€0;pe1 reat timp atbic>0 executé c€a%10+b%10+c d€a+ (c%10) *p peptio a€[a/10] b€[b/10] e€[c/10) sorie d Rezolvare cerinta c) citeste a,b e€0;dC0;pE1 1 repeté c€a%10+b%10+c d€a+(c%10)*p pep*10 a€[a/10] b€[b/10] e€{[c/10] L pana cand atbtc=0 scrie d a VARIANTA 028 CAte. valori distincte, numere naturale, poate primi variabila x pentru ca valoarea expresiel x div 2 div 2 | x/2/2 scrisd in Pascal|c/c++ sd fie egala cu 1? : al ‘p>, 4 c 2 R&spuns corect:8. (valorile 4,5,6,7) 2. Se consider& algoritmul aldturat descris in pseudocod. - & a notat cu [x] partea Intreaga a nymarului real x. Scrieti valoarea afigatd dacd se citeste numarul xm120.127 (6p.) R&spuns corect: 2 Scrieti ae Pascal|C/C++ corespunzétor algortmulul . (10p.) Scrleti tn veesdood un aigoritm echivalent cu cel dat, in care 84 se tnlocuiascé structura “eit tim ... execut& cu o structura repetitiva de un alt tip. (6p.) Scriafi un numéar real, cu exact doud cifre la partea Intreagé, care poate fi citit pentru x, astfel tncat algoritmul sa afigeze valoarea 1.(4p.) R&spuns corect: de exemplu 34.34 (orice numér real cu exact dou cifre nenule la partea tntreagd, pentru care, aceasta este egald cu numérul format, tn ordine, cu cifrele aflate dupa punctul zecimal) d, 0 citeste x (numéar real pozitiv) y€ [x] x€x-y peat timp sat[x) ececutd | e x€x*10 rdack x=y atunci serie 1 altfel serie 2 Rezolvare cerinta c) citeste x yv@ (x) x€x-y atx) atuncl rzepeta . x€x*10 ana cand 2=[x) ‘A 029 j-% Care dintre urmatoarele g fnumai daca numdrul nat este divizibil cu 100? (Pascal m mod 10+x div 10, = div 100=0 = mod 10+x div 10= Gs = mod 10+x mod 18 | Réspuns corect:a. 2 Se considera algorieus (presudocod. @ = Sciiefi valoarea care se | numerelen=6 si m12. Ré&spuns corect: 9 a Scrieti_programul Pasce aigoritmutul dat. © Scrieti doud perechi dis fi introduse pentru a ¢ efigeze valoarea 19 aigoritmulul pentru fiecas Rispuns corect: de (7,13) (orice pereche { (nem) /2]=10) @ = Scriet In pseudocod un a dat, care 84 NU foloseasc recursive. VARIANTA 029 1. So %4°,9)% Care dintre urmatoarele expresii Pascal|c/c++ are valoarea true{1 daca $i numai dac& numérul natural nenul memorat in variabila x de tip integer|int este divizibil cu 100? (Pascal) (C/C++) (4p.) x mod 10+x div 10 mod 1050 x mod 10+x div 10=0 6%104+%/10%10==0 x%104%/10==0 a. x div 100=0 b. x/100==0 c. d. * mod 10+x mod 10 div 10=0 : R&spuns corect: a. 2. Se consideré algoritmul aldturat descris In pseudocod. ‘a. Scrieti valoarea care se afigeazé daca se citesc numerele n=6 si m=12. (6p.) R&spuns corect: 9 Scrieti programul Pascai|c/C++ corespunziitor algorttmulul dat. ' Scrie{i doud perechi distincte de numere ce pot fi Introduse pentru n gi m astfel fncét A se afigeze valoarea 10 [tn urma executdril algoritmuiul pentru flecare dintre perechi. (6p.) Rispuns corect: de exemplu (8,12) I (7,13)(orlce pereche (n,m) cu proprietates U (mem) /2]=10)- ‘Serieti tn pseudocod un algoritm echivalent cu cel podria ttenaeertaecrnl i aescar recursive. . (4p.) 2%10+2%10/10==0 citeste n,m (numere naturale) reat timp nSm executs | n€ne2 mém-1 reat timp mcn executdé | m@me2 le n€nel scrie n Rezolvare cerinta d) eiteste a.m soxie [(n+m) /2] 10/=][ ou ge | aa VARIANTA 030 ’ 1. Care dintre urmatoarele expresii Pascal|c/c++ are valoarea true|1 daca $f numai dac& numéarul natural memorat de variabila x de tip integer|int are exact doua cifre? (4p.) (Pascal (C/C++) a. = div 100=0 x/100==0 (Pascah b. (x div 100 =0) and (x mod 10=0) | x/100==0 && x%10==0 ae (a mod 100) div 190 G div 10<>0 %/101=0 g@ div 100 mod 100 (® (x div 100 =0) and (x div 1000) x/100==0 && x/10!80 a div 1000+ mod 198 R4spuns corect: d. 2. Se considera algoritmul aldturat descris in | citeste n (numér natural) pseudocod. neo i ' 1 S-a notat cu xy restul Imparfirii numérutui natural | ® x la numarul natural nenul y si cu [2] partea ieeoast 290 executi Intreag’.a numérului real. : | fdack c>0 atunci notat cu [x], partea infeagl @. Scrieti valoarea care se afigeaz4 dacd se| | |c€c-1 sor 7 citeste numarul n=5172. (6p) || “= eS ee Raspuns corect: 4061 | nemrorpinep*19 n€[n/10} corect: 1 $i 6 b. Sctieti programul Pascal|c/c++ corespunzitor EB : Raspuns ig Aigoritmul determin’ cit valoril (a+1) (a+2)/2 algoritmutui dat. (10p.) | scrie m ¢. — Scrieti in pseudocod un algoritm echivalent cu | Rezolvare cerinta c) cel dat, In care s& se inlocuiasca structura citeste n c&t timp...executé cu o structura sai a m€0 7P€1 repetitiva de un alt tip. (6P)| - daca n>d atunci d. Scrieti toate valorile distincte, fiecare avand | | rrepeta exact patru cifre, care pot fi citite pentru| || c€n%10 variabila n astfel inc&t 4 Se afigeze valoarea | || rdack 0 atunci J 2008, pentru fiecare dintre acestea. _(4p.) is |c€e-1 a R&spuns corect: (3009, 3019, 3109, 3119} a (algoritmul micgoreaza cu 0 unitate fiecare cifra | ce See nenula a numéarului a) ie] en te] a WARIANTA 031 Pa a div 100 mod 100 “€ a div 1000+a mod 1000 @ a div 100 mod 10+a div 1000 mod 10 Réspuns corect: b. 2 Se considera algoritmul alaturat, descris in peeudocod: Sa notat cu [2], partea intreaga a numdrului real x. a Se considera variabila a care memoreaza un dintre expresiile Pascal |c/c++ de mai jos are cele doua cifre din mijloc ale valorii_memorate in (Pas (a mod 100) div 100 Scrieti valorile care se vor afiga pentru a=9 (4p.) Raspuns corect: 1 si 6 Algoritmul determina ctul si restul imp&rtiri valorii (a+2) (a+2) /2 la pumarul a. Scriefi numarul valorilor din intervalul (1,51 numér cu exact 6 cifre: Care ca valoare numéarul format din a? (4p.) (C/C++) (a%100) /100 a/100%100 a/1000+a%1000 a/100%10+a/1000%10 citeste a (numér natural, a>o) x€0 bE[ (atl) * (a+2)/2] reat timp b2a executé | b€b-a | kexe scrie b,k care citite pentru variabila a, determina, dupa executarea algoritmului alaturat, memorarea valorii 1 in variabila b. R&spuns corect: 2 (cele dou valori sunt 3 si5) Scrieti programul Pascal | C/C++ corespunzator algoritmului dat. Scrieti tn pseudocod un algoritm echivatent cu cel dat, care sa nu se utilizeze structuri repetitive sau subprograme recursive. (6p.) (6p.) (10p,) citeste-a DEL (ae) * (a+2)1/2 k€[b/al bebra scrie b,k let en te laa VARIANTA 032 1. Stabiliti care dintre urmatoarele expresii Pascal |C/c++ are valdarea true |1 + dac& gi numal daca numarul intreg memorat.in variabila x, nu aparfine Intervalulul (-35,-20)U[17,1001. (4p.) (Pascal) a, (x=-20)) OR (x>100) b. (x=-20)) OR (x>=100) ©, (x<-35) OR ((x<16) AND (x>-20)) OR (x>100) Gd, (mcm-35) OR ((xm-20)) OR (x>100) (C/C++) a. (xem-35) || ((2eem26) || (2>=-20)) || (2>100) Be (eem-35) |] ((aee17) && (2>=-20)) || (2>=100) -@. (6-35) |] (2016) && (x>-20)) || (2>100) G, ~ (xem-35) |] ((xce16) G6 (x>"-20)) || (2>100) R&spuns corect: d. 2. Se considera algoritmul alaturat, descris in pseudocod. : citeste a,b rdac& a>b atunci | c€b be: a. Scrieti numerele care sunt afigate dacd ; wee pentru a gi b se citesc valorile a=150 si | ig bed. (4p.) Ra&spuns corect: 9 18 36 72 144 288 b. Dacd pentru b se citeste valoarea 150, scrieti cea mai mare valoare care se poate citi pentru a, astfel Inc&t algoritmul sd afigeze exact 4 valori. * (6p.) Raspuns corect: 1199 Scrieti programul Pascal (C/C++ Deccan nfa d) Corespunzator algoritmului dat. pdacd a>b atunci Scrieti in pseudocod un algoritm echivalent | | ¢€> cu cel dat, tn care s& se Inlocuiascé | | b€a structura cat timp .. execut&é cu 0 aa structura repetitiva cu test final. . : rrepetad | serie a; .a€a*2 lpand cand a>b scrie a SUBIECTUL I VARIANTA 033 ahe 1. Variabila a memoreaza un numér-natural care are exact 3 cifre. Care dintre expresiile Pascal |C/C++ de mai jos are ca valoare numéarul format din prima i ultima cifré a numarului? (4p.) (Pascal) ‘ (C/C+4) &. a DIV 10+a MOD 100 8/10+a%100 b, a DIV 100+ MoD 10 8/100+a%10 J @ DIV 100*10+a MoD 10 8/100*10+a%10 a DIV 10 MoD 10 a~a/10%10 R&spuns corect:c. : 2. Se considera algoritmui aldturat descris in pseudocod: S-a notat cu x%y restul mpértirii numarului natural x la numérul natural nenul y. a. —_Scrieti care este valoarea afigata daca pentru | citegte a,n 7 asinse citesc numerele a=i2 sin=10. (4p.) (numere naturale) j¢3 isl,n executd (1243-44+3-443-443-443-4) < raecd is2=0 tuned Daca pentru a se citeste valoarea 32, scrieti | | | ae un numar natural care poate fi citit pentru | | !#2t¢: je variabila n, astfel Inc&t,. In urma executarl acasj algoritmului, s& se afigeze 34. (6p.) [37-3 R&spuns corect: 3 (32+3-4+3) serie a Scrieti programul Pascal |c/c++ corespunzator algoritmului dat. (10p.) iteste a, Scrieti in pseudocod, un algoritm echivalent ‘daca _ atuned cu cel dat, In care s& nu se utilizeze structuri | | aCa-n/2 repetitive sau subprograme recursive. falttel | a€a-(nsa}en eo Raspuns corect: 7 scrie a VARIANTA 034 1. In secventa alaturata de program, instructiunea de afigare se va executa de un Ruméar de ori egal cu: (4p.) (Pascal for i:=1°to 3 do for j:=10 downto i+1 do write(i); (C/C++) for (inl;ice3;i++) for (j=10;4>=i+1;3--) cout<-20) (xc=-35) oF (2>=-26) (x<=-35) or (2>-20) @ = (ace-35) and (2520) » Rispuns corect: c. ‘Se considera algoritmul afi motat cu [x] partea inteagi , jar cu xy restul impli x fa numarul natural nem ‘Scrieti valoarea care va fi al c&egie numarul 2=140. Raspuns corect: 4 ‘Scrieti o valoare de 3 cre cata pentru x asifel in afigat’ Sa fie 6. Réspuns corect: orice num factorilor din descompunese: De exemplu: 400, 729. ‘Scrieti programul Pascal |c Scrieti valprile naturale din variabila x, astfel incdt, day fie 1. Raspuns corect:7, 11, 1 eun P.) isi sen te) ae ‘WARIANTA 035 1. Stabilifi care dintre urmatoarele expresii Pascal |C/C++ are valoarea true/1 dac& gi numai dac4 numérul intreg memorat in variabila x, nu apartine intervalului. (-35,-201. (4p.) (Pascal) (C/C+4) (x<-35) or (x>-20) a. (x<-35) || (2>-20) b. (xca-35) or (x>=-20) b. Gr=-20) ©. (x-20) GD (xee-35) || (2>-20) @. (x20) G (xem-35) && (x>20) * Raspuns corect: c. . _. | citeste x . Se considera algoritmul alaturat, descris (numar natural) . Pseudocod. s€0; £62 it ta 1 ta Sa notat cu [x] partea Intreagd a numérului ae -— feal x, iar cu aeey restul impartirii numarului [reat timp xt£=0 executé natural x ia numérul naturalnenul y. - ie x€[x/£1 pe ptt |‘ & —_Scrieti valoarea care va fi afigaté dact se | | s¢s+p citeste numarul x=140. (6p.) \,! £€f41 R&spuns corect: 4 a es b. — Scrieti o valoare de 3 cifre care poate fi citita pentru x astfel inc&t valoarea afigata sd fie 6. (4p) R&spuns corect: orice numar natural de 3 cifre pentru care suma puterilor factotlor din descompunerea in factori primi este ool cus. De exemplu: 400, 729. © — Scrieti programul Pascal |c/c++ corespunzator algoritmului dat. “(10p.) 7 @ ~ Scriefi valprile naturale din intervalul [7,28] care pot fi introduse pentru variabila x, astfel incat, dup executarea programului, valoarea afigaté sd fie 1. (6p.) Raspuns corect:7, 11, 13, 17, 19, 23 (numerele prime din interval) SUBIECTUL | VARIANTA 036 1 (Pascal) yrex? - while x<=3 do begin write(‘*’); yesyel; xrex+y_end; a. 0 / 2 c. Raspuns corect: b 2. Se considera algoritmul aldturat descris in pseudocod: S-a notat cu ay restul Impértirii numarului natural 3 la numérul natural nenul y si cu [2] partea Intreag& a numérului real x. a ‘Scrieti ce valoare se va afiga daca se citesc, In ordine, urmétoarele valori : 114, 123, 517, 3312, 14, 412, 22, 0. (6p) Raspuns corect: 249 b. ‘Scriefi ce valoare se va afiga daca se citesc, in ordine, primele 99 de numere naturale nenule, urmate de 0 (adic& 1,2,3,4,-.,98,99,0). (4p.) R&spuns corect: 4950 (14+243+_.+98+99, se aduna valorile obtinute prin oglindirea numerelor formate cu ultimele doua cifre ale fiecdrului numar citit ) c Scrieti In pseudocod un algoritm echivalent cu cel dat, In care s se Inlocuiasca structura cat timp...executa cu o structuré repetitiva de un alt tip. (6p.) executdrii secventei s-a afigat un singur caracter asterisc (*)? Scriefi programul Pascal |C/c++ corespunzator algoritmului dat. . Citeste v a scrie s ‘ oe e Rezolvare cerinta c) seo rrepetd | citegte v | a € vaio |» € tw/101%10 + s€ stated cand v=0 scrie s (10p.) A 037 Care este valoarea pe G1 ca, In urma executani sec EEEEE (CIC+4) (Pascal) vex; while x<>3 do while(x<=3) { begin | cout<3 do begin xrex-1; write('HH’) end; 0 b. 4 Raspuns corect: c. 2. Se considera algoritmul aldturat descris in pseudocod: S-a notat cu sey restul imparfirii numarului natural 2. Ja numérul natural nenul y gi cu [2] partea Intreagd a numarului real 2. Scrieti numarul afigat dac& se citesc valorile n=1232 gi k=2. R&spuns corect: 122322 Scrieti toate perechile de valori care pot fi citite pentru n sik, cu n<100, astfel incat in urma executarii algoritmului, valoarea afigata s& aiba A cifre. (4p.) Raspuns: (n,k)e{(11,1), (22,2), (33,3), (44,4), (55,5), (66,6) , (77,7), (88,8), (99,9) } . Scrieti in pseudocod un algoritm echivalent cu cel dat, In care s&'se inloouiasca structura cat timp...execut& cu o structura repetitiva de un alt tip. (6p.) Rezolvare: se inlocuieste secventa de instructiuni hagurate cu cea alaturata. (6p.) Scriefi programul Pascal|c/c++ corespun- zator algoritmului dat. (10p.) (C/C+4) while (x1=3){ mex-1) cout<<™ ")| prints ("HH") ;} os citeste n,k (numere naturale, ks 9) ar€0; pet n€nr scrie n Rezolvare cerinfa c: citeste n,k ar€0; p€1 rrepeta | ¢ © me10 | nz € nrsc*p | p € p*10 | pdac& c#k atunci | nr €nr+c*p | pepri0 [n/10) cand n=0 | | ‘- VARIANTA 038 1 Care dintre expresiile urmatoare, scrise in limbajul Pascal|c/c++, are valoarea TRUE/1 daca gi numai daca valorile variabilelor intregi x si y sunt numere pare? iE if (4p.) (Pascal Ned (C/C+4) a -x-y=0 i: x-ye=0 b. (x+y) mod 2=0 (x+y) %2=m0 c. (x mo@ 2=0) or {y mod 2=0) (x2=20) || (y%2==0) ro (x mod 2=0) and (y mod 2=0) puns corect: d. 2. Se considera algoritmul alaturat descris in pseudocod: S-a notat cu [2] partea Intreaga a numéarului real 2. a. Scrieti valorile afigate in urma executarii (2662080) && (y%2==0) citegte n (numér natural) pentru ic-1,n executd oo pe1 algoritmului, daca se citeste numarul n=3.(6p.) | | P : Raspuns corect: 001 . (6p) | ppentruj0 gi c<9 atuncit | |eecer | 4. | ar € arte*p | p € pti0 | a © tn/101 le scrie nr Rezolvare cerinta c) citegte n (numar natural) aréo pei rdac&’ n#0 atunci | rrepeta |] 4 © nx10 | pdacd c>0 gi c<9 atunci SUBIECTUL |! VARIANTA 040 1. ° Ca i .) re este valoarea expresie] Pascal |C/c++ alaturate? (4p.) find c& variabilele = $13 ed Ca variabilei x i se atribuie u 50 ~ (100 ~ 300 div 2 div (2+3)) 50-(100-300/2/ (2+3)) a. -30 b. 70 Ze) -20 d. 60 y? Raspuns corect: c. a (Pascah . a. xy md 10; by 2. Se considera algoritmul aldturat descris in | citeste x ce. yi div10; 4.x pseudocod: (numér natural nenul) R&spuns corect: a. '2. Se considera algoritmul ai peeudocod: ‘S-a notat cu sky restul fmpartirii numarului natural x la numarul natural nenul y si cu [2] partea ‘Intreaga a numéarului real =. a. Scrieti numerele afigate dacd se citeste valoarea 2=168. (6p.) R&spuns corect: ye2 gi 2=7 (cel mai mic gi cel mai mare divizor prim din descompunrea numérulul x) b. . Scriefi cea mai mare valoare din intervalul inchis [1,50] care poate fi citité pentru variabila x astfel Incat, im urma executari algoritmului, s& se afigeze doua valori cay 4p.) a€2; yEO; z€0 1 Sa notat cu x) partea int weal x, iar cu x%y restul im Tareg x la numarul Intreg y. a Scrieti numerele care s se citeste valoarea 1007 Raspuns corect: 100 a Scrieti cel mai mare mu variabila x, astfel incat a Raspuns corect: 97 © Scrtieti in pseudocod un Raspuns: n=49 ( se afigeazi 7 7) ip singura structura repetitr ©. Scriefi in pseudocod un algoritm echivaient | “°F** * Deane cates cu cel dat, In care s& se inlocuiasca fiecare a structurd cat. timp.. .executa cu cate o | Pezolvare cerinfé c. citeste x (numar natu structura repetitiva cu test final. (6p. | citeste x oa Raspuns: structura cat timp x41... |4€27 y€0; z€0 oe executa (zona hasurata) se inlocuieste cu | rrepet& reat timp x2d exec secventa alaturata: (evident exista si atte | | P_© o | pdac& xtd=0 atunc posibilitati de echivalare). | pace ey ee {| aoe d. Soret! programul Pascai |c/c++ lL) lL p €per || altfe1 corespunzator algoritraului dat. (top) || | | x © tear le a€de1 : : | 1a Pers cfnd x%a40 be | pdacd p#0 atunci a Scrieti programul Pasca 1 | | dacd y=0 atunei [1 yea {1 oe | | 2€a { 4 : [ 4 € ae2 lpan& cand x=1 serie y;scrie z SUBIECTUL | VARIANTA 041 . §tiind c& variabilele x si y sunt de tip Intreg, care este instructiunea prin care variabilei x i se atribule ultima cifré a numrului natural memorat In variabila y? (4p.) (Pascal) (C/C++) a. xray mod 10; 0b. yrex mod 10; (8. xays107 b. y=x%10; c. yim div 107 - a. arm div 10; [¢. yax/10s a. x=x/107 Ra&spuns corect: a. > 2. Se considera algoritmul alaturat, descris ae2 ‘in pseudocod: sorie x . Sa notat cu [x] partea intreag& numéarului | ;cat timp x2d executé real x, iar cu xy restul impartirii numarului | | cat timp x%d=0 executd ‘intreg x la numarul intreg y. | | x€ Ex) | eae x citeste x (numar natural) Scrieti numerele care se afigeaza dacd se citeste valoarea 100? (6p.) |aeaer R&spuns corect: 100 50 25 5 1 lg Sorieti cel mai mare numar natural de doua cifre care trebuie citit pentru variabila x, astfel incat algoritmul s& afigeze exact doua valori? (4p.) R&spuns corect: 97 Scrieti in pseudocod un algoritm echivalent cu cel dat, care s& confina o singur& structura repetitiva. (6p.) Raspuns corect: Se vor inlocui cele doua structuri repetitive cu urmatoarea structura: : . citegte x (numar natural) ae2 serie x reat timp x2d executé | pdacd xtd=0 atunci | x€ (x/d] scrie x || atte | [ a€at+1 us Scrieti programul Pascal |c/c++ corespunzator algoritmului dat. ? SUBIECTUL I VARIANTA 042 . 1. . $tiind cd variabilele x si y sunt de tip intreg, care este instructiunéa prin care a. Scrieti valoarea care se va afiga la finalul] | y€2*z execut&rii algoritmului dacd se citesc valorile | a xe5 siy=25. (6p) | scrie x Raspuns corect: 80 e b. Daca pentru y se citeste valoarea 3, scriefi toate numerele formate dintr-o singura cifré care trebuie citite pentru variabila x astfel incat, pentru fiecare dintre acestea, la finalul executarii algoritmului si se afigeze o valoare de forma 2°, unde p este numér natural. : (4p.) Raspuns corect:1, 2, 4, 5, 7, 8 ¢. — Scrieti in pseudocod un aigoritm echivalent cu cel dat In care structura ct timp ++. executa sd fie inlocuitd cu o structura repetitiva cu test final. (6p.) R&spuns corect: Se va inlocui structura repetitiva cat’ timp cu: rdack y>0 atunci | rrepeta || z€xteyz x€2*y; yeatz | ‘pana cand y<=0 ls d. Scrieti programul Pascal |c/c++ corespunzator algoritmului dat. (10p,) [A 043 Care este instrucfiunea pr variabilei x i se atribuie cifra zecilor numarului natural cu cel putin doua cifre fnumarului natural format d memorat de variabila y? (4p.) (Pascah (Pasca) (ec) xtay div 100 + y div a. xt=y mod 10 div 10; a. xey%10/10;7 y mod 10; b. xray div 10 mod 10; yb) amy /10%10; c. x:=y mod 10; c. xey%10; f& xsy+ydivlo+y a. xsex div 100; 4. =x /1007 @ = x:sy mod 10 + y mod Raspuns corect: b. ¥ div 100; citeste x,y @ = ox:y mod 10 + y mod 2.Se considera algoritmul alaturat, descris in (numere naturale) s y mod 1000; pseudocod: . re&t timp y30 executé Raspuns corect: a. S-a notat cu 2%y restul impartirii numarului natural | 2€xky Se considera algoritmul al x la numarul natural. y. | x€2ey : Se notat cu xky restul im qual x la numarul natural y. Screti valoarea pe a algoritmul dacd se ci ordine, numerele 30 $i 25 R&spuns corect: 5 Daca se citeste pentru varia muk doua cifre care pot aigoritmului sa se afigeze wa Réspuns corect 13 33 ‘Scrieti in pseudocod un ai echivalent cu cel dat in ¢ timp...executé si ff ‘structurd repetitiva cu test fi SUBIECTUL I VARIANTA 043 1. Care este instructiunea prin care variabilei x i se atribuie valoarea sumei-cifrelor numéarului natural format din exact trei cifre, memorat de variabila y? (4p) (Pascal . (C/C++) sry div 100 + y div 10 mod 10 + xay/100+7/10%10+y%10; Y mod 10; b. xiay + y div 10 + y div 1007 eyey/10+¥/100; c. x:=y mod'10 + y mod 10 div 10 + xmy%10+y%10/10+y/100; ¥ div 1007 d. x:=y mod 10 + y mod 100 + seryeL0+Y%100+y%10007 y mod 1000; Raspuns corect: a. 2. Se considera algoritmul alaturat, descris citeste x,y ‘in pseudocod: (numere naturale) S-a notat cu xy restul impartirii numarului | | daca x>y atunci natural 2 la numérul natural y. [| x€xey . a. Scriefi valoarea pe care o va afiga| | |a#ltfel algoritmul daca se citesc, in aceasta| || y€y%e ordine, numerele 30 si 25. (6p) | |= Raspuns corect: 5 ‘a Daca se citeste pentru variabila y valoarea 26, scrieti toate numerele naturale de cel mult doua cifre care pot fi citite’ pentru variabila x, astfe! incat la finalul executarii algoritmului s& se afigeze valoarea 13. i (4p.) Raspuns corect:13 39 65 91 . citeste x,y (numere naturale) ¢. Scrieti in pseudocod un algoritm care sa fie chet i echivalent cu cel dat in care stuctura oft | (“reneeg 7 timp...executé sd fie inlocuité cu o || pdacd ay atuncd xéxky structurd repetitiva cu test final, (6p) | i\} altfel yCytx : ||4= | leat timp xty#0 ry serie x+y ‘Scriefi programul Pascal |C/c++ corespunzator aigoritmutui dat. (10p.) i eel a 5 SUBIECTUL I VARIANTA 044 Upand cfind xsy sauy=0 a. — Scrieti numarul care se afigeazi dacd se | serie y ‘ ¥€0 y€y*10+9-x%107 peat timp x>y gi y=1). . c. __ Scrieti fn pseudocod un algoritm echivalent cu cel dat fn care structura repeta ... p&nd cand sd fie inlocuita cu o structura repetitiva cu test initial. : (6p.) citesgte x (numar natural) e: 1. Care este instructiunea prin care variabilel 2 i se atribuie valoarea cifrei sutelorgg %. Care este instructiune numérulul natural cu cel putin 4 cifre memorat in variabila y? (4p.) inversarea ordinii cifre (Pascal) (C/C++) in variabila y? a. xrsy mod 100 div 10) a. way’10/107 (Pascal b. ximy div 10 div 10) b. mey/10/10) a xisy div 10 * 10 ae mod 1007 c. xmy’1007 x:ay mod 10 * 19 C&S ximy div 10 div 10) a. x=y/100%10) €. xtwy mod 10 + y ¢ Spespine coe a} ~ a. xrmy mod 10 + y¢ 2, Se considera algoritmul aldturat, descris in | Cite#te * (numar natural) Raspuns corect b. peeudocod: yeo 2. Se considera algoritrmul : S-a notat cu acey restul impartirii numarului natural x | rzepeta peeudoced: la numérut natural y. ly€y*10+9-2%610; ‘Sa notat cu x%y restul impa fe numérul natural y. Scriefi valoarea care v daca se citesc, In acer si3. R&spuns corect: 9 Daca valoarea cititd pe valoare care trebuie cil 0. Raspuns corect: 14 Scriefi in pseudocod Inlocuiasca structura ef final. Rezolvare: citeste x,y (rumere zé1 tco " pdac& x2z atunci | -prepeta | | dack xtzqy 2 { | 2€ze2 | Um cat timp x2z Scrieti programul Pasca cy. VARIANTA 045 SUBIECTUL | Care este instructiunea prin care variabilei x i se atribuie numarul obtinut prin inversarea ordinii cifrelor numarului natural format din exact 2 cifre, memorat in variabila y? . (4p.) (Pascal) (C/C++), . mimy div 10 * 10 + y mod 10 A. wmy/10*10+y%105 xray mod 10 * 10 +y div 10; b. xmy%10*10+y/107 €. xsmy mod 10 + y div 10 * 10; . xmyk10+y/10*10; d. xsay mod 10 + y div 107 AmaytLO+y/107 Raspuns corect: b. 2, Se considera algoritmul alaturat, gescristn | sutesee ry (numore pseudocod: 2e1 S-a notat cu xy restul impartirii numarului natural x t€o fa numérul natural y. reat timp x2" exacuté | pdacd xtzey atunci @ —_Scriefi valoarea care va fi afigatA de algoritm | || t€z daca se citesc, in aceasta ordine, valorile 12 | | ‘a 9i 3. (6p). | |z€zea Raspuns corect: 9 scrie t b. Daca valoarea citita pentru variabila y este 7, scrieti care este cea mai mare valoare care trebuie citi pentru x, astfel incAt aigoritmul sa afigeze numarul 0. (4p.) Raspuns corect: 14 Scrieti in pseudocod un algoritm echivalent cu cel dat in care sd se Inlocuiasca structura cat timp. ..executa cu o structura repetitiva cu test final. ‘ (6p.) Rezolvare: citeste x,y (numere naturale) 2€1 - teo * pdac& x2z atunci | -prepeta | | dac&d xtz=y atunci t€z | E zeze1 | cat timp x2z Ue . Scriefi programul Pascal |C/C+* corespunzator algoritmului dat. (10p.) SUBIECTUL I ‘A 047 VARIANTA 046 4. Care dintre urmatoarete secventei de instructiuni variabile de tip integer Variabila intreagi m memoreazé un numér natural impar.’Care dintre . urmatoarele expresii Pascal |C/C++ are valoarea true/1? (4p.). (Pascal) (clowy) a, not(A mod 2<>0) 1 (axa) / (Pascal) b. mod 2=0 BAz=n0” cr=2*a-b; A 2 mod 2<>0 nA2t=0 arsa-bj arsc-a; d. not ((n+1) mod 2=0) 1((n+1)%2==0) R&spuns corect: c - bolo algoritmul alaturat, descys citeste n (numar natural) S-a notat cu x%y restul/impairfiri’ numarutui | °° ar€o intreg x la numarutintreg nenul y si cu fal partea Intreaga a numérului real a. a. Scrieti valoarea afisaté dacd se citeste numérul n=10326. (6p.) R&spuns corect: 1 b. Scriefi pentru cate numere de forman =| dack s#0 atunci =31a5b, unde a este cifra sutelor, beste | | nar€1 cifra_unitafilor si ab, valoarea afigats | este 1. (4p.) | serie ar. Raspuns: 60 (s este format din cifrele pare aletuin). =~ Scrieti programul Pascal |c/c++ corespunzator algoritmului dat. , (10p.) 4. Satie in pseudocod un algorim echivalent | {“*°8.2%g no cu cel dat tn care s& se inlocuiasca ria nazeo sence intreaga a numdrului re Scrieti valoarea afigatt numarul 27349. R&spuns corect: 7 | = Scriefi cate numere natu incat valoarea afigatd st Réspuns: 60 (algoritmul unititilor). Scriefi in pseudocod echivalent cu cel dat in inlocuiascd structura xx : tt structura c&t timp...execut&é cu 0 s€s*10+n%10 pnd cand cu o struck structura repetitiva cu testfinal. (6p.) | | de ou test initial. . eove fare oy cae a | n€[n/101 : structura repe executa (zona hasu se Inlocuieste lect cand n=0 cana hagurata cu secventa alaturata: 5 anny ic = Tele i enna VARIANTA 047 Care dintre urmatoarele variabile nu isi modifica valoarea in urma executani secventei de instructiuni alaturate, oricare ar fi valorile lor initiale? (a,b,c sunt variabile de tip integer | int). (4p) (Pascal) (C/C++) 2*a-b; c=2*a-b; by ar=c-ay aea-by a=c-a; 2ta-c; b=2*a-c; a niciuna b. doar ¢ ce. doar a sic @ doar a sib R&spuns corect: d ‘ 2. Se considera algoritmul aldturat, descris | citeste n in pseudocod. (nr. natural nenul) S-a notat cu x%y restul impérfirii numarului | max€o ‘intreg x la numéarul intreg nenul y si cu [a] | ‘#repSta. partea intreagd a numérului real a. 4 BE In/101 a. Scrieti valoarea afigata daca se citeste | | ‘ at pou numérul 27349. (10p.) | F Raspuns corect: 7 Scrieti c&te numere naturale de trei cifre pot-fi citite pentru variabila n, astfel inc&t valoarea afisata sa fie 3. * (4p.) R&spuns: 60 (algoritmul calculeaza cea mai mare cifra a lui n excluzand cifra unitatilor). ao . n€(n/10] Scriefi in pseudocod un algoritm echivalent cu cel dat tn care 88 se | FSAck anand atunck inlocuiasca structura repeté . pnd cand cu o structurd repetitiv’ | cat timp n#0 executa cu test inifial. P) | | n€tnsi01 Ra&spuns: structura repetd...pand rdacé max0) or not(b mod | a.!((a%cl=0) || 1(b%c1=0)) <>0)) (a mod c<>0)and not (b mod c<>0) {a mod c<>0)or not (b mod c<>0) not (¢ mod a<>0)and (¢ mod b<>0) Raspuns corect: a- = (akel=0)&& 1 (b%C1=0) <(akel=0) || 1 (becl=0) 4.1 (chal=0) 8h .(cXb1=0) Scriefi valorile ‘afigate dac& pentru n se citeste valoarea 6, iar pentru x se citesc | tn ordine urméatoarele valor: 2008, 1965, 2727, 1861, 11021, 165. (6p.) uns corect 8 905 707 801 10001 105 $tiind cd valoarea citité pentru n este 4, |” scrieti un set de valori distincte, numere naturale cu exact 3 cifre, care trebuie citite pentru variablla x, astfel incdt setul de valori afigate in urma_ executarii algoritmului sé fie identic cu setul de valori citite pentru 2 . (4p.) R&spuns: patru numere distincte care au trei cifre gi care au cifra Zecilor egal cu 0. @ = Scrieti programul pascal SUBIECTUL I ‘Scrieti in pseudocod un algoritm echivalent | i€1 cu cel dat, in care si se inlocuiascd c& isn atundd Structura pentru... executd cu o prepeta structuni repetitiva cutestfinal.- (6p.) citeste x (nr. natural) Réspuns: structura pentru... executé nr€o i it timp x>0 executa events aura 8 Inloculesie cu Eee x€[x/100] peat timp nr>0 executé x€x*10+nr¥10 ’ nr€[nr/10] |ucrie x i€ien | ‘cat timp isn d. —Scriefi programul Pascal |c/c++ corespunzator algoritmului dat. (10p.) SUBIECTUL | VARIANTA 049 Variabila a, de tip integer | int, memoreaza un numér natural impar, iar varia b, de tip integer|int, memoreaz4 un numar natural par. Care d urméatoarele expresii Pascal | C/C++ are valoarea true|1? (4p,)' (Pascal (C/C++) & (a mod 2<>0) and (b mod 2<>0) ak2 GE bY2; [= 0. 3} Mot (mot (a mod 2<>0)or(b mod 2<>0)) 1 (4 (a%2) || b%2)7 {atb+1) mod 2<>0 , (asb+1)%27 dg. -not(a mod 2<>0) or (b mod 2<>0) 1 (a%2) || b%2; Raspuns corect: b : 2. Se considers algoritmul alaturat, descris In pseudocod. citeste x _ (numér natural nenul) S-a notat cu x%y restul Impartirii numarului intreg x la numarul intreg nenul y si cu [a] partea Intreag& a numérului real a. @ = Scrieti vatoarea afigaté daca pentru x se citegte. numarul 210345. (6p.) Réspuns corect: 204 Scrieti cea mai mare valoare formata din cifre distincte care trebuie citita astfel ‘inc&t numarul afisat sa fie 987. (4p.) Réspuns: 9685740 c. Scrieti in pseudocod un algoritm echivalent cu cel dat, in care sA se scrie x rdack x#0 atunci | rrepeta + inlocuiascd fiecare structuré cat timp i Dit . see executé cu cate o structura cE cat timp x#0 repetitiva cu test final. (6p) Réspuns: structurile c&t timp... ch k#0 atufci execut& (zonele hasgurate) se inlocuiesc | |r repeta& cu secventa aliturata: [| x€x*10+x%10 || k€1ks100) | cat timp k#0 ts (op, Scrieti programul Pascal | C/C++ corespunzator algoritmului dat. (A 050 Variabila a este de i iar variabilele c gid instuctiuni de atribure (Pascal) eredt2tc; 2=2-d mod 2*a; crmsqrt (ata); br=(d- & Rmx mod 10+x div 10¢x div 1000; | x=x%10+x/10+x/1000; (CO) (xee-2) |] tx b, tmx mod 1000*100ex div 100) x=261.000*10042/100) tmx mod 10004x mod 10042 tod 10) | semx'1000+x%20042%10) Du(se, CG xtmx div 1000*100+x mod 100; x/1000*100+2100) (—,-2)U(-1, 1] 030, Riispuns corect: d corect a 2. Se considera aigoritmul alaturat, descris citeste x (numar natural nenul) ‘Se consider’ aigoriensd In pseudocod. € ‘tn peeudocod. S-a notat cu x%y restul Imparfirii numarutui | | Intreg x la numérul intreg nenul y si cu fal] partea Intreaga a numérului real a. a. Scrieti ce valoare se va afiga dacd pentru x se Citeste numarul 1234. (6p.) Raspuns corect: 4220 b. Scrieti cea mai mare valoare format din | ; exact 4 cifre distincte, care poate fi citité scrie z pentru variabila x, astfel inc&t algoritmul s& afigeze un numar format din toate a cifrele lui x, dar fn ordine invers&. (4p.) : ; Rispuns: 8642. . Pseudocodul pentru rezolvarea RSapuns: 2, 16, 625 cerintel ; ‘timp x#0 th . Sorieti tn pseudocod un algoritm fee Ce eS ji dat, ft echivalent cu cef dat, in care s& se | pdack c82#0 atuncs ‘ott tn = Inlocuiascé structura repetitiva cu test is final cu o structurd repetitiva cu test initial. | lentes echivalent cu ce! dat, In a (6p.) Iniocuiascd.§—structura Rispuns: structura repeta ... pani || |) #©#*10+e pentru... executé aa sepetitiva cu test final. @iepuns: ae m qmecuté (Zona hag Iooueste dud cum ‘se Ce efna (zona haguraté) se Inlocuieste dupa Gum se observa alaturat: E =e) d. — Scrieti programul Pascal |C/C++ corespunzator algoritmului dat. (10p.) ‘Scrieti programul Pascal |cy SUBIECTUL! VARIANTA 052 1. CArui interval fi apartine valoarea memorata de variabila real x astfel incat expresia urmatoare, scris& in limbajul Pascal|c/c++, sé aibaé valoarea txrue|1? (Pascal) (x<=-2)or(x>-1) and (not (x>=1))or (x>50) (C/C+4) (xem-2) || (a>-1) && 1 (x>m1) || (250) (-",-2]U(-1,1)U(50, =) (-",-2)U(~1,1] (50, =) corect: @ 2. Se consider& algoritmul alaturat, descris in pseudocod. S-a notat cu x%y restul impartirii numarului intreg x la numérul intreg nenul y si cu fa] partea Intreagé a numarului real a. a d.— Scrieti programul Pascal |C/c++ corespunzator algoritmului dat. Scrieti care este valoarea afisaté daca se citesc, in aceasta ordine, numerele 5,12, 4,13, 25, 17. R&spuns corect: 2 (6p.) Scriefi un sir de date de intrare ce pot | | citite astfel inc&t valoarea afigata s& fis 4 (4p.) Raspuns: 2, 16, 625 Scrieti tn pseudocod un algoritm echivalent cu cel'dat, tn care s& se Inlocuiasc& —structura__—srepetitiva pentru.:. executa& cu o structuré repetitivé cu test final. (6p.) Raspuns: ‘structura pentru... executé (zona haguraté) se Inlocuieste dup& cum ‘se observd alaturat: . (4p) b. (-«, -2)U(-1, 50) dd. (-",-2)U(-1,1)U(50, ©) citesgte n a¢o. (numéar natural nenul) cd c50)) | (CCH) I ((xemd) |] (250)) a. (1,50) . b. (-",1] U (50, =) ©. [1,50) : d. (1,507 Raspuns corect: d 2. Se considerd aigoritmul aldturat,| citegte n (numéar natural nenul) descris in pseudocod. so S-a notat cu x%y restul impartirii numarului | -cat timp n>0 execut& ‘intreg x fa numarul intreg nenul y sicu [a] | | c€n%10 partea Intreaga a numérului real.a. | rdacd ct2=0. atunci a. Scrieti care este valoarea afisaté daca se citeste numérul 1234. (6p.) Réspuns corect: 26 b. Scriefi un numar natural, de exact 4|| | s€s+p cifre, care poate fi citit pentru variabila ‘. 1n, astfel Incat valoarea afigata s& fie a c n€[n/10] \(4p.) R&spuns: programul calculeaz4 suma | 8¢xie 8 factorialelor cifrelor pare dintr-un : ‘numar; pentru a obtine rezultatul 3, ‘este nevoie fie ca numéarul s4 contind cifrele 0 $i 2, iar celelalte doua cifre s& fie impare, fie s& contina trei cifre 0, iar a patra cifré s& fie impara; cateva exemple: 1000, 1012. c. Scrieti in pseudocod un algoritm 7 1€2 echivalent cu cel dat, in care sd se | 4 i Inlocuiascd ‘structura repetitiva eases 7 _ pentru...executaé cu o structura | | pepei repetitiva cu test final. (6p.) LL deaea Raspuns: stuctura pentru... | boat tif ise od executé (zona hasguraté) se| ig + 7 inlocuieste dupa cum se observa alaturat: @& — Scriefi programul Pascal |c/c++ corespunzator algoritmului dat. (10p.) SUBIECTUL I VARIANTA 055, 1. Care dintre urmatoarele expresii Pascal|c/c++, este echivalenté cu cea scris& alaturat? (Pascal (C/C+4) not ((x>s5)and (x<10)) 1 ((x>m5) && (x¢10)) f& (#5) or (20810) (x<5) || Go=10) be = (a<5) or (x>10) (x<5) |} | (2e>10) ¢. (not(x>=5)) and (not (x>10)) (1 Ge=5)) Gh (1 (0210) dG. (x>=5) or (x<10) (4>=5) || (<10) Réspuns corect: a 2. Se considera algoritmul aldturat, | citeste n (numér natural nenul) descris In pseudocod. citeste a = (numar natural) S-a notat cu x%y restul fmpartiri numarului | keo Intreg x la numéarul Intreg nenul y. ag a. Scrieti care este valodirea afigata dacd 8e citesc, In aceasta ordine, valorile: 5, 12, 22, 1232, 3, 563. (6p.) Rispuns corect: 2 b. Pentru n=7, scrietl un set de valori ce trebule cltite in continuare, astfel Incat | fi ITA 056 Variabilele intregi x si y multiplu comun al valc numai daca urmatoar valoarea true | are o v; (Pascal, ¥ mod x <>0 inn x mod y<>0 a x mod y=0 Raspuns corect: b Se consider’ algoritmu Notat cu [x] partea Intreay @&b restul Impartirii numan gnenul b. Scrieti valoarea-care se vi Rispuns corect: 1020 valoares afigats si fie 4. @) Riispuns: un gir de 7: valori tn care primele gase au aceeagl cifra a unitatilor, lar a gaptea se termina cu o alta clfra, de exemplu: 5, 15, 25, 35, 45, 53, 12. sorte k 1€2 c. Scrietl tn pseudecod un algoritm echivelent cu aigoritmul det, in care sa | [ack 60 execute se Inloculascd structura _repetitiva citeste b pentru...execut& cu 0 structurd rdack ati0=bt10 atunci repetitiva cu test final. (6p.) | hens. Réspuns: struct pentru... | | Jaltfel executé (zona haguratd) + se kek-1 Inlocuieste dup& cum se observa | | c aléturat: | | a€> | | seaee at timp isn d. Scrieti programul Pascal |c/c++ corespunzator algoritmului dat. Scriet! o valoare de 5 cifre Incat numérul afigat 84 fie’ Réspuns corect: de exem Serle! programul Pascal | ‘Scrle{i tn peudocod un ay cel dat, fn care s& se fr repeti...pind cfind structurd repetitiva. Rezolvare. O solute alaturat: ’ P (10p.) VARIANTA 056 1 SUBIECTUL I ” Variabilele intregi x gi y memoreaz& cate un numar natural nenul. Cel mai mic muttipiu comun al valorilor lor este egal cu numarul memorat in y daca si numai dac& urmatoarea expresie scrisd tn limbajul Pascal | C/C++ are valoarea true | are o valoare nenula: . (4p.) (Pascal) (C/C++) ¥ mod x <>0 a yr ® ¥ mod x=0 b, yaxemd % mod y<>0 c. xky 7 x mod y=0 d, xkyen0 R&spuns corect: b 2. Se consider& algoritmul aldturat, descris In| citeste n pseudocod: (numér natural) S-a notat cu [st] partes Intreagd a numérului real xe ¢ ey cu aXb restul tmpartirii numdrulul tntreg a la numérul i F€ (2#10+n%10) #20 Intreg nenul b. n€{n/100] @. Scrlet! valoarea-care se va — pentru n=g291. cand ny) (tex) && (toy) b, (t>mx) and (tmx) && (t<=y) e c. (t>mx) or (ty) d. (e aléturat: ‘A 060 Fiecare dintre variabilele ir cel mult 4 cifre. Stiind cd x ate valoarea true | 1d nu apartine intervalului des (Pascal) (temx) or (tomy) (t>x) or (t=y) (tox) and (t=y) a. (tee) || (t>=y), (tox) or (tx) || (tey) (tx) and (tx) && (t10) and (y>=5) or (y<30) (C/C++) (x<=100 && x>10) && (y>=5 || ¥<30) b. (Pascal) (x<=100) and (x>=10) and (y<5) or (y<=30) (G/C+#) (xe=100 && x>=10) && (y=10) or (y>=5) and (y<30) (C/C++) (x<=100 && x>=10) || (y>=5 && y<=30) (@)(Pascal) not((x>100) or (x<10) or (y<5) or (¥>30)) Chere) 1((a>100 || 2<10) |] (v5 || y>30)) Réspuns corect d. 2. Se considera algoritmul aldturat, descris fn pseudocod. S-a notat cu x%ty restul Impartiri, numarului natural x la numarul natural nenul y si cu [2], partea intreagd a numarului real x. citegte a,b (numere natu care au acelagi numér de cifre ) n€o peat timp ab, executs x€a%10 cate © singura cifra pot fi citite pentru a si b (a>b), astfel incat, de fiecare daté, valoarea (4p) a€[a/10) b€[b/101 | an | y€bx10 a. Scriefi ce valoare se va afiga dacd s¢| | jdac&k xb then begin aux:sa; a:sb; b:=a to b do write(i); a. Secvenja contine o ins repetitiva inclusa intr-o ins alternativa. ¢. Secventa contine o ins alternativa, urmata de o ins repetitiva, urmata de o ins ‘Se considera algoritmul ala udocod. S-a notat c fri numéarului natural nenul y $i cu [2], pari lui real x. Scrieti valorile care se afig citeste numarul x=1628. Raspuns corect: @162 2816 6281 162 ” Serieti o valoare cu minim poate fi cititi pentru xx, ast _numerele afigate sa fie egale ‘Raspuns: 2222 (orice nun minim 3 cifre, cu toate cifrele i ‘Scrieti programul Pascal |c SUBIECTUL | VARIANTA 062 Toate variabilele din secventa de instructi ascal|C/c++ alaturaté sunt intregi. Care dintre urmatoarele afirmatii, referitoare la secventa de instructiuni Pascal |c/c++ alaturatd, este adevarata? (4p.) (Pascal) (C/C++) if a>b then if (a>b) begin {auxsa;a=b;b=aux;} aux:saj ar:sby b:=aux for (1=a;i9 executé @ Scriefi valorile care se afigeaz’ dacd se | | aux€aux/10 citeste numarul x=1628. (6p. | | t€t*10 Réspuns corect: ‘a 9162 2816 6281 1628 auxex . - rrepeta b. Scriefi o valoare cu minimum. 3 cifre ce | c€x%10 Poate fi citité pentru x, astfel incat toate | x€[x/10] numerele afigate sa fie egale intre ele. (4p) | | xec*tsx . | R&spuns: 2222 (orice num&r natural cu| | serie x # — minim 3 cifre, cu toate cifrele identice) ‘panaé cand x=aux citeste x ¢. Scrieti programul Pascal |c/c++ corespunzator algoritmului dat. (10p.) SUBIECTUL | d, Scriefi tn pseudocod un algoritm Rezolvare cerinta: d. echivalent cu cel dat in care structura cat | citegte x timp...executd sé fie tnioculté cu o (numiz natural) * structuré repetitiva cu test final. (5p) | sures 7 tei ch aud atunci [Mtrepeta || aux€eux/10 | t€te20 Lpand ‘cind aux<=9 | | te auxex rrepeta& | c€x%10 | x€(x/101 | ! x€orten - scrie x lpand cfind x=aux Consider&m variabilele tntr instructiuni determina afigar cifre $5? (Pascal dre, Jrm6y while j>4 do begin write(i); jrsj-1 end; b.dees; jrm6y while j>4 do write(3); jrej-1; CG. ji85) for i:=5 to 5 do write(i); d.jr05)” for is=1 to 1 do weite(j)7 Raspuns corect: a. Se consider’ algoritmul alé pseudocod. S-a notat ci tii, num@rulul natural x valorile citite pentru 2 sunt, 19, 56. R&spuns corect: 40 3 Pentru n=3 $i d=2, scrieti 3 care pot fi citite in ordine p Incdt valorile afigate sa fie 0 Raspuns; Orice 3 valori impar Scrieti programul Pascal |c SUBIECTUL | VARIANTA 063 1 Consideram variabilele tntregi 4 si J. Care dintre urmatoarele: secyente de instructiuni determina afigarea pe ecran, In-urma executaril, a succesiunii de cifre $5? (4p.) In pseudocod. S-a notat cu xy restul Impérfirii numarului natural x la numarul natural nenul y gi cu [x], partea intreagd a numérului real =. a. Scriefi ce se afigeazd dacd n=3, d=2, lar valorile citite pentru x sunt, in ordine: 40, 19, 56. (6p.) Raspuns corect: 40 3 b. Pentru n=3 gi d=2, scriefi 3 valori distincte care pot fi citite in ordine pentru x, astfel Incat valorile afigate si fieo 0. — (4p.) Raspuns: Orice 3 valori impare distincte. 2. Se considera algoritmul alaturat, descris | citeste n,d ©. Scrieti programul Pascal |c/c++ corespunzator algoritMnului dat. (Pascal) (C/C++) dies) Jim6y @)inSs J=67 tee while (j>4)¢ write(i); jrmj-1 : printf ("%d",4)7| pantecty end; d--1} b.dew5y Jrm6y b.ie5; j=6; while j>4 do while(j>4) write(j); r Srej-t) printé (“%d",j);| cout<b atunci | | p€a | | véaux = scrie v,' ',b (10p.) in pseudocod un algoritm echivaient cu cel dat in care structura cat timp. ..executd sé fie inlocuita cu o structurs repetitiva cu test final. (6p.) SUBIECTUL | Rezolvare cerinta d. citegte n,d (numere naturale nenule) beO veo pentru i¢1,n executa | citegte x (nr. natural nenul) aco auxéx fdack xtd=0 atunci | | | a€aer { | x€.tx7ai * | Wl cat timp x%d=0 Os rdack a>b atunci | bea | | | | ! | | | | | | eaux | 4a [A 064 iL Variabila intteagd a meme toate cifrele find nenule Pascal |C/C++ atribuie va (Pascal) e:sa 10 div 10+ a div 100 mod 10+ a fm e:-a div 10 + a div } a div 1000 }@ e@:=a*l0 div 1000 + a div 10 md 10+an }@. o:=a*lO0 div 1000 + @ mod 100 mod 10 + a Raspuns corect: c. ‘Se considera algoritmul a pseudocod. Scrieti ce se afigeazd Réspuns corect: 2344565678 Scrieti o valoare care poa variabila n astfel incat, in algoritmului, valoarea 20 : exact 6 ori. R&spuns: 15 'e Scrieti programul corespunzator algoritmului }@ Scrieti un algoritm pseud cu cel dat In care fiecare pentru...executé si cate 0 structurd repetit timp. . .executé. SUBIECT VARIANTA 064 1. Variabila inteeag& a memoreaza un numér natural format din exact. trei cifre, toate cifrele fiind nenule si.distincte. Care dintre urfnatoarele- instructiuni Pascal |C/C++ atribuie variabilei e suma cifrelor lui a? (Pascal) @ e:ea mi 10 div 10+ a div 100 mod 10 + a mod 10 b. e:sa div 10 + a div 100 + a aiv 1000 © e:=atl0 div 1000 + a div 10 mod 10 + a mod 10 d. e:mat10 div 1000 + @ mod 100 mod 10 + a mod 10 Réspuns corect: c. 2. Se ean algoritmul alaturat, descris Hy pseudocod. Scrieti ce se afigeaza pentru n=4. (6p) R&spuns corect: 344565678 10 Scrieti o valoare care poate fi citité pentru variabila n astfel incét, in urma executarii algoritmului, valoarea 20 $2 fie afigata de ‘exact 6 ori. (4p.) R&spuns: 15 Scrieti Pprogramul Pascal (C/C++ corespunzator algoritmului dat. (10p.) Scriefi un algoritm pseudocod echivalent cu cel dat fn care fiecare structura de tip. pentru. ..executd si fie inlocuite cu cate o structuri repetitiva de tip cat timp. ..executd. (6p.) (4p) (C/C+4) @. enak10/10+0/100%10+0%10 b, ema/10+a/100+8/10007 @ ena*10/1000+a/10%10+a%107 ’ d, e=a*10/1000+a%100%10+a%107 a citegte n (numér natural nenul) neo ppentru i€1,n executé | pentru j€1,i executé || serde i+j || kexe2 [oe te scrie k Rezolvare cerinta d citegte n (numar natural nenul) x€0 41€1 peat timp i<=n executd | 3€2 | eer timp j<=i exequts | | serde isj | kEk+1 | Jejer | 4s lL. i€i+t - rk a VARIANTA 065 1, Variabilele a, b $j # sunt reale, tar aa) or (z>b) b. (aca) or (z>b) c. (xb) d. (x>ma) and (2<*b) Raspuns corect b. 2. 8e considera algoritmut aldturat, descris : tn pseudocod. S-a notat cu x%y restul Tmparfirii numarului natural x la numérul | natural nenul y si cu [z], partea Intreagd a numérului real x. Scriefi ce valoare se va afiga-dacd se citeste numérul n=1327. (6p.) + Rispuns corect: 13277231 Scrieti doua valori diferite, cu exact 4 cifre fiecare, ce pot fi citite pentru variabila n astfel ncat, In urma — executarii algoritmului, valoarea afigaté pentru m sd fie 3. (4p.) R&spuns: 12120-2222 ‘Scrieti programul Pascal |c/c++ Corespunzétor algoritmului dat. (10p.) Scriefi in pseudocod un. algoritm echivalent cu cel dat in care structura repeté... p&nd cAnd sd fie Inlocuita cu 0 structura repetitiva cu test initial.(6p.) SUBIECTUL I a. (z>a| | (z>b) ‘ (2b) Cc. zb d. z>sa && z3) (yz) |] (23) (z>=x) and (z<=y) (xez) and ((y=3) or (w=7)) | (xs=z) && ((y==3) | | (w==7)) (ze=x) and (z0) or, (y>=z) | (z<=w) && (x>0) || (y>=x) (yex) or (x<=x) “(y>=3) and (w<7) (y>=3) && (w<7) (zy) Rispuns: = puns: a. 2. Se consider algoritmul alaturat, | citeste n (numar natural Se considera _algort descris in limbaj pseudocod. aa ¢ J descris in limbaj peeudor S-a notat cu x%y restul iny S-a notat cu xy restul impartirii numarului | pot time n>0 ene ee natural x la numarul natura natural x la numarul natural nenul y si cu} | ¢€nxx6 {2} partea intreagd a numérului real z. | n€fasiop Scrieti valoarea afigata in “a. — Scriefi valoarea afigaté dac& pentru n se | | ra6% e=x) and (2<«y) (z>=x) && (z<=y) (acax) and (2<#y) (zemx) && (z<"y) (yy) (zex) |[ (z>y) Raspuns: a. 2 Se considera algoritmul —alaturat, | citeste x (numér natural) - descris in limbaj pseudocod. nr€0 S-a notat cu aky restul fmpartirii numarului | rpentru i€1,x executa natural x la numérul natural nenul y. | citeste n (numarintreg) _ Sorell valoarea afgaté in urma executsni | | ace Dwr? afuncs algoritmulul dac& se citesc, in ordine, a valorile: 5,14,6,15,16,90. (6p.) Raspuns: 2 scrie nr b. — Stiind ca valoarea citité pentru x este 7, scrieti un sir de numere distincte care pot fi citite in continuare astfel incat valoarea afigata sa fie 0. (4p) Raspuns: Orice sir de 7 numere nedivizibile cu 7 este un raspuns corect. De exemplu: 6,11,23,5,12,4,9. ~ Scriefi programul Pascal|c/c++ cores- | citegte x (numéar natural nenul) punzéitor algoritmului dat. (10p.)) | nr€0; i1€2 Scrieti in pseudocod un algoritm echivalent | reat timp i<=5 executé cu cel dat in care s& se Inlocuiasci| | citeste n (numér intreg) structura pentru . executé cu o| | rdacé ntx=0 atunci structurarepetitivi cat tim shai _ (Pp) | | seaea Rezolvare: Se initializeazA i cu 0 si.se incremen-| ig teaza la fiecare iteratie, testandu-se conditia <5 | scrie or ‘sau Se inifializeazd cu 1, ca in exemplul alaturat. SUBIECTUL I VARIANTA 069 NTA 070 In secventa de instructiuni Pascai|c/c++ aldturata, variabilele x $i y su Intregi. Ce~valoare va retine variabila x dupa executarea acesteia? (4p) Care dintre expresille Pe daca valoarea variabilel tnt 1 (Pascal) (C/C++) xim20) -yeeS) 020) ye5) (Pascal) xeexty) wexty? Yea @ = not ((x mod 2<>0) or yiex-2*y7 yex-2*yr 4 =, & (x mod 2<>0) oF (x< ae ao KoA) © not ((x mod 280) or . 2 . a : 5 7 : 7 2 @ ( (+1) mod 280) and (x Raspuns corect: d. R&spuns corect:a. 2. Se considera algoritmul aldturat, descris In | citeste x,y 7 peeudoced. (xy numere naturale nenule) Se considera algoritmul . . | c€o ris In peeudocod. . S-a notat cu acy restul Impértiri numarului | oy notat cu aesb operatia natural x la numarul natural nenul y si cu [217 repeta rab partea Intreaga a numérului real 2. [ ch xt10 + ya20 ‘echimbare a valorilor variabilelor Scrieti ce valori se vor < a. Scrietl valoarea afigatt dacd pentru x se | | |atuncd 7 pentru x = citeste vak citeste valoarea 4589 si pentru y se | || cna iar pentru y se citeste citeste valoarea 723. (6p.) Wee | ve R&spuns corect: 4789 “a. — Ha 3 [t€tez*u b. _Scriefi toate perechile-de valori care pot fi |ueus10 cltite pentru x gi y astfel inc&t valoarea [x€tx/10) afigatd sd fie 200. (Pd) lyetys103 R&spuns corect: pentru oricare dintre ele pana cand x=0 si y=0 ‘se poate citi una dintre valorile 200 sau | gcrie t 100 tm —-Scrieti toate perechile di care pot fi citite pentru ve In urma executarii algorit RAspuns corect: Algori scaderi repetate. Deci pe existe relatia: x = 2*y+ (3, 2); (5, 2); (7,3); € e Scrieti programul Pasca: ‘@ —_Scrieti in pseudocod un a structura cat timp...« Avand in cy problemei este precizat c se mai este cazul sd verif de a. intra in structura cAnd, dacd a>=y. c. — Scrieti programul Pascal |c/c++ corespunzator algoritmului dat. "(10p.) d. Scrieti in pseudocod un algoritm | citeste x,y echivalent cu cel dat in care s& se | (x,y numere naturale nenule) inlocuiasca structura repet&...pan& | t€0, u€1 cand cu o structura repetitiva cu test| reat timp x#0 sau y#0 initial. (6p.) | | rdack xt10 > yt10 Raspuns corect: este prezentat aldturi | |/atunci z € x%10 un algoritm in pseudocod echivalent cu | altfel z € y%10 cel dat. Nu este cazul s& se execute odati | |t€tez*u instructiunile din cadrul_—_structurii | |u€-u*10 xepet&.pAn& cénd inaintea structuril | |x€tx/10) cat timp deoarece se precizeazi in | |y€fy/10} enunt c& x,y sunt numere naturale | “# nenule. + | serde t SUBIECTUL } 4-70 VARIANTA 070 en 4.°° Care dintre expresile Pascal|c/c++ de mai jos, are valoarea true|1, daca valoarea variabilel Intregi x este un numér Intreg par gi strict pozitiv? (4p. (Pascal) ns (C/C++) @ © not ((x mod 2<>0) or (x<#0)) ce 1 (2180) | | (x<=0)) b. (x mod 2<>0) or (x<0) b. (a21=0) | | (x0) © not ((x mod 280) or (x>0)) ©. 1 ( (2mm) | | (2020)) d. ((x+1)mod 280) and(x>=2) G, ( (2041) 42mm 0) && (082) Raspuns corect:a. 2. Se consideré algoritmul alaturat, | citeste x,y descris in pseudocod. (numere naturale nenule) S-a notat cu aesb operatia de inter- feo xy atuned schimbare a valorilor variabilelor a sib. | ig us a. Scriefi ce valori se vor afiga dacd | n€0 . > pentru x se citeste valoarea 19, | rcat timp x>=y executaé _ jar pentru y se citeste valoarea | | x€x-y ar (6p) | n€ne1 R&spuns corect: 4 3 = scrie n, x b. Scrieti toate perechile de valori, fiecare valoare fiind un numar de o. cifra, care pot fi citite pentru variabilele x si respectiv y, astfel incat valorile afigate in urma executarii algoritmului sa fie 2. 1, in aceasta ordine. (4p.) Raspuns corect: Algoritmul este echivalent cu algoritmul tmpértirii_ prin scdderi repetate. Deci pentru a afiga 2. 1 intre cele doug numere trebuie sa existe relatia: x = 2*y+1. Perechile ce satisfac cerinfa din enunt sunt: (3,2); (5, 295 (7,305 09, 4), c. Scrieti programul Pascal |c/c++ corespunzator algoritmului dat. (10p.) d. Scrieti in pseudocod un algoritm echivalent cu cel dat In care44 se inlocuiasca: structura ct timp. ..executd cu 0 structura repetitiva cu test final. (6p.) Avand in vedgre c& In enuntul | citegte x,y problemei este precizat cd x > y,nu | (numere naturale nenule) se mai este cazul s& verificim, inainte | rdac& x=y. te : nfo ~pdacd x >= y atunci | rrepeta . [ [x€x-y | |[n€n+2 le ‘pana cind x < y serie n, x VARIANTA 071 . —_— oo. 1. Variabila Intreaga x refine un numar natural cu cel putin doua cifre. Care dintre 1. urmatoarele expresii are valoarea egala cu cifra zecilor numarului natural memorat in variabila x? (4p) (Pascal) (C+) . a x mod 10 div 10 x % 10. / 10 a b. x - x div io *10 x - (x / 10) * 10 a. G » tiv 20 moa 20 x / 10 % 10 x - x div 10 mod 10 x - (x / 10) % 10 Raspuns corect: c. g 2. Se considera algoritmul alaturat, descris In pseudocod. “S-a notat cu [a/b] catul impértirii intregi a numérului natural a fa numérul natural nenul b. : so | a. Scrieti valoarea ce se va afiga dacd se citesc pentru n valoarea 5 si pentru x, in | [4 aceasta ordine, valorile: 523, 4256, 324, | 4; 4, 86935. (6p.) Raspuns corect: 84345 i . | | | | | | | p&n& c&nd se executd cel putin i | | | us f citeste n founds natural, np: a os icrie s Daca n = 4, scrieti un gir de valori care pot fi citite pentru 2 astfel incAt s& se afigeze 1234. ( Raspuns corect: Oricare patru numere naturale ce indeplinesc condi primul numér sa aib& cifra cea mai semnificativa egal cu 4, al doilea s& aiba cifra cea mai semnificativa egala cu 3, al treilea cu 2; iar al patrulea cu 1. Un posibil raspuns este: 456, 3457, 2890, 12 Scrieti Programul Pascal |C/c++ corespunzator algoritmului dat. (10p.) ppentru i€1,n executé Scrieti_ in “Dseudacod un -algoritm citegte x (numar natural) echivalent cu cel dat care sa utilizeze . in locul structuri eae timp... | | f oe executa 0 structurs repetiva | | | [ ave: te/101 condifionata posterior. @) || | lpana cand sexo e Rezolvare: Avand in vedere ca|| - structura repetitiva repeta ppentru j€1,i-1 executa x € x*10 Odata, trebuie s@ verificim daca primul numar citit este mai mare decat 9. Este prezentata alaturi o posibila solutie pentru echivalarea secventei de instructiuni hasurata: s€s+x fARIANTA 072 Care dintre urmatoarele exp numérul natural memorat de (Pascal) (mn mod 4 = 0) or (nm (mn div 4 = 0) and not (m mod 4 <> 0) and (n (n div 4 = 0) and (n+ (CCH) © (n%4 == 0) || (ak == (n%4 T= 0) && n%3 Raspuns corect: a. 2. Se considera algoritmul ala Scrieti ce se va afiga dac citeste valoarea 5. corect: sheet ates ane + ate tee ateee : Se inlocuieste prim dac&...atunci cu at Modificati conditia logic: structurii cat timp...e ‘incat, pentru n=4, algoritm test on * : Raspuns corect: j 2 i. Scrieti programul Pascal | Scrieti in pseudocod un inlocuiasca prima structure R&spuns corect: Structur cA n-i < 0 atunc: j€i-n | altfel l, ier STU) = i oun e lea VARIANTA 072 1. Care dintre urmatoarele expresii Pascal |c/c++ are valoarea true|1 daca numéarul natural memorat de variabila x este divizibil cu 12? (4p.) (Pascal) a, ‘(n mod 4 = 0) or (mn mod 3 = 0) b, (n div 4 = 0) and not (n mod 3<>0). c (nm mod 4 <> 0) and (n mod 3<>0) d, (n div 4 = 0) and (n div 3 = 0) (CCH) * @ (n%4 == 0) |] (n%3 == 0) b. (n/4 == 0) && 1(n%3) c. (n%4 I= 0) && n%3 d. (n/4 == 0) && (n/3 == 0) Raspuns corect: a. 2. Se considera algoritmul alaturat, descris b. Se inlocuieste prima structura dacd...atunei cu atfibuirea 4€4. ? Modificati conditia logic& din _cadrul eer structuri c&t timp...¢xecuta astfel | ||) incat, pentru n=4, algoritmul s&_afigeze: la rdacd b # 0 atunci citeste n in pseudocod. : (numa natural nenul) a. Scriefi ce se va afiga daca pentru n se | ppentru i€1,2*n-1 citeste valoarea 5. (6p.) p executa b 0 corect: | pdacd n-i-< 0 atunci. , eee | j€i-n sees | Jalefer + [| j€m-a - | 3 . | poat’ timp 20 executa = | [:serie ,,*” 1 | a€3-4 areas | {bet | a | | | +e = (p.) Raspuns corect: j 2 i ¢. — Scrieti programul Pascal |c/c++ corespunzator algoritmului dat. (10 p) d. Scrieti in pseudocod un algoritm echivalent cu cel dat in care sd se inlocuiasca prima structuré dac&. . .atunci cu 0 operatie de atribuire. (6p.) Raspuns corect: Structura se va inlocui cu atribuirea: rdac& n-i < 0 atunci 5€|4-n| | 3€i-2 | altfer unde prin |x| se intelege valoarea j€n-i absolutd a numarului x. VARIANTA 073 : > 1. ¢ secvente interechimbé corect valorile variabilelor a sib? (Pascal @. auxieb;b t= ay a rm aux b, aux t= ay b t= ay b r= auxy ar€o S-a notat cu xy restul Imparfiril numdrului [xed (t/y] cAtul Impartirii intregt a numérutui | | natural x la numérul natural nenul y. © [x /10: a. — Scrieti ce se va afiga dac& se citesc {La (*/201 Pentru a valoarea 260, pentru b valoarea 288 si pentru p valoarea 9.(6p.) I ar@nr+1 Rispuns corect: 12 = scrie ar tip. Rezolvare: citeste a, b, p se va inlocui cu structura repet&| nr€o vedere ci aceasta se executa cel putin| | x © 4 a numérul atribuit variabilei x este | || rrepeta divizibil cu numérul p. Este prezentat& HL © [4/10] {| ar€nre1 Ue scrie ar (C/C++) aux = by b= ap a odata, deci verificam daca ultima cifra | | pack xtp#0 atuncd | pack x #0 atunci Variabilele numerice a,b gi aux sunt de acelagi tip. Care dintre urmatoarel (4p) . = aux; ) aux = ay b= ay b = aux; c, aux m= by aux ts ay aire by|c, aux = by ax = ay a = by dg. b := aux; aux r= ay are by| dg. b= aux; aux = ay a = bp Raspuns corect: a. . citeste a, b, p Tpbnceesds slgorttmul aldturat, descris,| "(numere naturale nenule, a < 5 tru i€a,b executé natural x la numérul natural nenul’ y, lar prin eae dt timp x#0 gi xtp¥0 execu! | pdacd x #0 atunci b. Dacd a=110, iar p=18, scriefi cel mai mare numar care poate fi citit pentru b, astfel incat sé se afigeze valoarea 0. (4p) R&spuns corect: 125 . ¢. — Scriefi programul pascal|c/c++ corespunzator algoritmulul dat. (10p.) d. Scriefi in pseudocod un algoritm echivalent cu cel dat, in care s& sel inloculasca structura c&t timp... .executa cu o structura repetitiva de un att] (6p.) Daca structura ct timp...executa | (numere naturale nenule, a < b) pand cfnd trebuie s4 avem in| -pentru i€a,b executg alaturi o posibilé solutie. | [pans cand x=0 sau x%p=0 2 deecris in pseudoced. Sa notat cu xy rest wumérului natural x la nurr menul y, iar cu Cx/y] c& Integi a numarului natural 3 natural nenul y. JANTA 074 Care dintre urmatoarek variabila x memoreaz (Pascal) asqrt (x) strunc(sq sqrt (x) <>round(sq round (sqrt (x) ) sar x-truno (sqrt (x))= Raspuns corect: a. Se consider’ algoritm Scrieti ce se va afi citesc pentru a valoar iar pentru b valoarea 4 Raspuns corect: 22 Dacd bea12345 scrieti astfel Incat s4 se afige: corect: Or 24040 Scrieti programul Pasc Efectuafi un numar m prin executarea algori cifre impare, comune vaiori citite. Réspuns corect: Pe comune $i aflate pe expresiac < o*10, SUBIECTUL I VARIANTA 074 1, Care dintre urmatoarele expresii Pascal |c/c++ are valoarea true|1 daca varlablla x memoreaz& un numéar natural andl foc es ) (Pascal) & asaqrt(x)strunc(sqrt(x)) | sqrt (x)= ices aaron ) b. sqrt (x)<>round(sqrt(x)) =| sqrt (x) I= relay) ¢, round(sqrt (x) )sqx(x) floor (sqrt oa dg, x-trunc(sqrt(x))=ssqz(x)) | x-floor(x) anearthe R&spuns corect: a. 2. Se consider& aigoritmul aldturat, | citegte a,b (numere naturale nenule) + descris in pseudocod. ec €0 S-a notat cu x%y restul tmpérfiri| p © 0 numérului natural x la numarul natural | reat timp a + b > 0 executdé nenul y, iar cu [x/y] catul tmpérfiril cH at10 = b$10 gi at2—0 pda Intregi a numérului natural 2 la numarul ||| stumed ¢ € c#10 + bard ee ae i natural x la numa | alefel p peo + anio ; ‘e a a. Scriefi ce se va afiga dacd se € fas10} citesc pentru a valoarea 625231, | | _b € [b/10) iar pentru b valoarea 425271.(6p.) R&spuns corect: 22 1356 acrie c, p Dacd b=12345 scrieti o valoare de cinci cifre care poate fi citi pentru a, astfel IncAt s4 se afigeze pentru p valoarea 42. (6p.) R&spuns corect: Oricare dintre numerele 22400, 22440, 24000, 24040 Scrieti programul Pascal levees corespunzator algoritmului dat. (10p.) Efectuati un numdar minim de modific&ri asupra algoritmului dat astfel incat prin executarea algoritmul obtinut sa se calculeze in variabila.c numarul de cifre impare, comune gi aflate pe pozifii identice, pe care le au cele doud valori cltite. (4p.) R&spuns corect: Pentru ca variabila c s& retina numarul ‘de citre pare, comune gi aflate pe pozitil identice, pe care le au cele doua valori citite, expresiac <- ¢*10 + b%10 va fi inlocuita cu expresia c < c+1. VARIANTA 075 1. . Care dintre urméatoarele instructiuni Pascai|c/c++ sunt corecte sintactic} dac& x siy sunt doud variabile de tip Intreg? (4p.) (Pascal a. 1f (xe2 and 2-5) then begin x:= x41; y:= y-1 end; c. if x < 2 and x >-5 then begin x:= x¢1; yrs y - 1 end; (CCH) Ra&spuns corect: d. 2. Se considera algoritmul alaturat, descris in pseudocod. S-a notat cu [a/b] _cAtul impartirii intregi a numérului natural a la numérul natural nenul b. a Scrieti ce se va afiga dacd se citesc, in aceasta ordine, valorile: 62521, 2571, 2, 56,614. (6p.) R&spuns corect: 62255661 Rezultatul se obtine formand numéarul din primele doua cifre ale fiecdrui num&r de cel putin 2 cifre citit. b, Scrieti un set de date de intrare pentru care: algoritmul s& afigeze valoarea 12345678. if (m < 2) && (x > - 5){ mexel; yey-1;) if -5 -5 ( xextl; yey-1;) vey df (x ,< 2 && x > -5) (x=xe1; b. if -5 -5) then begin x:= x+Iy yr= y - 1 end; yay-17) ato neo rrepeta | citegte x (numéar natural) reat timp x > 99 executa | x € [x10] | | be 1 ae x > 9 atunci | | a€a*100 + x | | ken i cand k = 4 scrie a (6p.) R&spuns corect: Algoritmul va afiga 12345678 pentru orice set de numere naturale dintre care exact patru sunt mai mari decat 9 gi indeplinesc conditia: primul are primele doua cifre 12, al doilea are prime doua cifre 34, al treilea are c. Scrieti programul Pascal |C/c++ corespunzator algoritmului dat. (10p.) d. — Scrieti in pseudocod un algoritm echivalent cu cel dat in care structura «pana cand sé fie inlocuité cu o structura repetitiva de alt tip. repeta.. prime doua cifre 56 , iar urmatorul are primele doua tifre 78. Un posibil raspuns poate fi: 12 347 5600 8 78900 (4p.) VARIANTA 076 1. Care dintre urméitoarele expresil Pascal |C/ determinat de vaiorile reale distincte memorate (Pascal @, not((zy)) a b, (22x) and (zx) and (yy) . . Rapa ees 2. Se constderd algoritmul alaturat, reprezentat ‘In pseudocod. numérului real 2. a. Scriefi valoarea care se va afiga pentru a=245. (6p.) R&spuns corect: 35 b. — Scrieti un numar par, de trei cifre, care sat poate fi citit pentru variabila a astfel it (4p.) prime; de exemplu 286 deoarece 286 = 2*11*13 7c d. — Scrieti in pseudocod un algoritm echivalent cu cel dat, in care s& se inlocuiasca fiecare structuré ct timp .. executd cu cate o structura repetitiva de alt tip. (4p.) Raspuns: structure c&ét timp ses execut& (zona haguratd) se inlocuiesc dupa cum urmeaza: 7 prima structuré c&t timp executa a fost inlocuité cu o structura repeté pén& cfnd, iar cea subordonata ei cu o structuré executa& se. Cat timp StUT= tion ne numal daca valoarea realé memoratd de variabila y nu apartine intervalului deschis S-a notat cu x|y relajia ,x divide pe y” sau ,y | J este divizibil cu: x” si cu [2] partea intreaga a | § 88 se afigeze 0 valoare egala cu cea citita, Raspuns: Orice numar par, de trei cifre, care se poate descompune in produs de numere Scrieti programul Pascal |c/c++ corespunzator algoritmului dat. C++ are valoarea TRUE|1 daca si de variabliele x giz (x<2)? (4p.) (C/C++) 1((z¥)) (z>x) && (2x) && (yy) citegte a (numar natural). x€2) pe1 Hiss scrie p (10p.) pdac& a>l atunci | prepeta c€o ee x{n atunci rexecuta i etx; a€ta/x] leat timp x|n ce c#0 atuncd peptc i | | | | ! | | ? xexel Upand cand ae | | | 1 I ! | | Ye MANTA 077 ry Variabila Intreaga n mem care determina eliminarea (Pascal nian mod 100 div 1 mien div 10 mod 10 nian div 10 mod 10 nren mod 10 div 101 Dispuns corectb, 2 Se consider& algoritr seprezentat In pseudocod: a bb . @ = Scrieti valoarea care se se citesc, In acest ordi 4,6, 5,7, 3,9, 8,0. Rispuns corect: 4 & Scrieti toate girurile de avand suma elementek care s& determine afiss Scriefi programul Pasca Scriefi in pseudocod echivalent cu cel dat, a s& se fnlocuiascd timp.execut& cu repetitiva de alt tip. Rispuns corect: structura . executé (zona | Mlocuieste dupa cum urmeaz SUBIECTUL |! VARIANTA 077 wa, Variabila Intreagd n memoreaza un numéir natural de exeict 5 cifre. Instructiunea care determina elininarea din numérul n a primei gi ultimel cifre este: (Pascal nien mod 100 div 10 nian div 10 mod 1000 nisn div 10 mod 10000 nien mod 10 div 1000 Scriefi valoarea care se va afiga dacd Se citesc, in acest ordine, valorile: 2, 4, 6,5, 7,3, 9,8, 0. (6p.) R&spuns corect: 4 b. —Scriefi toate sirurile de date de intrare avand suma elementelor egalé cu 4, care s& determine afigarea valorii 0. (4p.) ins corect: 10 0 1 1 0 c d. (4p.) (C+) , n=n%100/10; nan/10%1000) ° nan/10%10000; nmn%10/10007 citegte a (numér natural) Reo reat timp a20 executd | citigte b (numér natural) | qiack a 5+7=12) b. Scrieti dou numere naturale distincte care pot fi citite pentru variabila a astfel Inc&t vatoarea afigata in fiecare caz sa fie * 10. (4p) R&spuns corect: Orice doud numere care au ca factori in descompunerea lor in factori primi doar 2, 3 $15. De exemplu, 60 gi 300. . _ Scriefi programul Pascal |C/c++ corespunzator algoritmului dat. (10p.) d. Scriefi in pseudocod un algoritm | pdac& a>1 atunci echivalent cu cel dat, algoritm in care | | rrepeta SA se inlocuiasca fiecare structura cét. c€o timp ... executa cu o structura i xja_atunci repetitiva de alt tip. (6p.) rexecuté | c€x; a€fa/xt R&spuns corect: structule cét timp i . execut& (zona hagurati) se Inlocuiesc dupa cum urmeaza: cH c#0 atunci kCk+x Oe VARIANTA 080 1. Variabilele n, x gi u sunt Intregi, iar 2) memoreazé un numér natural cu cel putin clfre. Secventa Pascal |C/c++ care determina interschimbarea ultimelor do Gifre din scrierea numdrului memorat de n este: (Pascal) oop ~, (C/C++) Q/ 2=(n/100*10+n%10) *104+n%100/10; e usn%10) z=n/100%10; nen/100+u*10+s; Cc. n=(n/100*10+n%10) *10+n/100%10; dd. u=n%10; 2=n/100%10; n=n/100*100+x"10+u) Raspuns corect: a. 4 2, Se considera algoritmul alaturat, repre- zentat In pseudocod. S-a notat cu_sky restul Impai natural x la numérul natural nent Partea Intreagé a numarului real =. 8. — Scrief! valoarea care se va afiga dacd se citegte numarul 2245903. Ritspuns corect: 593 b. — Scrieti o valoare nenula care poate fi citité Pentru variabila a astfel afigeze 0 valoare egal cu cea citité. (4p.) Rispuns corect: orice numa format doar din offre impare. De exemplu, 13579 ©. — Scriefi programul Pascal |c/c++ corespunziitor algoritmului dat. (10p.) d. — Scriefi tn pseudocod echivalent cu cel dat, algoritm tn care s& Lt se Inlocuiasca structura cat timp = I executé cu o structura repetitiva de alt I tt | ! tip. Raspuns corect:. structura cat. executé (zona hagurata) se tnlocuieste dupa cum urmeaza: ni=(n div 100*10¢n mod 10)*10+n mod 100 div 10 8: a. Uren mod 10; gs=n div 100 mod 10) nisn div 100+u*10+" * Bie(m div 100*10¢n mod 10)*10+n div 100 mod 10 d, usen mod 10; x:0n div 100 mod 10; nswn div 100°100+x*10eu SUS We 428 Abel , ) (4p) MP atv 4 div2*2*4e8 Se considera _algoritmul descris in pseudocod. S-a notat cu sy restul impartin natural x fa numarul natural nen Scrieti valoarea care se vor aft citesc numerele a=12 sin=10. ins: 7 Dac& pentru a se citeste m scrieti o valoare care poate fi ci Py os ated te astfel Inc&t'sd se afigeze 34. rfirii numarului 1 : ; ins: 3. ul y si cu Cx] Scrieti programul Pascal |C/c corespunzator algoritmului dat. Scrieti In pseudocod un cenivaiant cu cel dat care s& nicio structura repetitiva. : Se observa c& pen ‘i * e i, i+1 (4 impar), valoarea ave © unitate. Dac’ n este numar p 1 astfel de perechi, deci val cu [n/2]. Daca n este un n ce valoarea lui a scade cu ca ch a>0 atunci {2/2} off, la final se mai adu un _algoritm | [" prepeta i c€a%10 rdac& c%240 atunci | b€bepte, pepri0 te a€[a/10] (6p.) Incét s& se (6p.) timp... de SUBIECTUL | VARIANTA 081 : ° 1. Precizati valoarea expresiei: (Pascal) 8 div édiv2*2*48 ayes ba “Raspuns: a, 2. Se consider& aigoritmul descris In pseudocod. ‘S-a notat cu a%y restul Imparfirii numarulul natural x !a numérul natural nenul y. Scrieti valoarea care se vor afiga dac&d se citesc numerele a=12 sin=10. (6p.) Ra&spuns: 7 : b. Daca pentru a se citeste numarul 32, scrieti o valoare care poate fi citité pentru n astfel incat sa se afigeze 34. (6p.) R&spuns: 3. - ¢. — Scrieti programul Pascal |c/c++ corespunzator algoritmului dat. - Scrieti tn pseudocod un algoritm echivalent cu cel dat care s& nu contind nicio structura repetitiva. (6p.) Rezolvare: Se observa c& pentru fiecare Pereche 4, i+1 (i impar), valoarea lui a scade cu 0 unitate. Dacé n este numéar par, se obtin [n/2] astfel de perechi, deci valoarea lui a scade cu [n/2]. Daca n este un numar impar, dupa ce valoarea lui a scade cu cAte o unitate de [n/21 ori, la final se mai adund valoarea luin. 6.16 alaturat, a (C/C++) 8/4/2*2*498 d. 0° citegte a,n (numere naturale) pentru i=i,n executa- |rdack i820 atunci | a€a-k {altfel II [te aGati a€a-[n/2] rdack n$240 atunci | a€aen te scrie a ‘WARIANTA 083 L__Variabilele Intregi a : Pascal |C/c++ dem (Pascal) (a+b) mod (Pascal (a mod 2=0)and(b (a mod 2<>0)and(I VARIANTA 082 1. Variabilele intregi & si b memoreaz& numere naturale. Care dintre expresiile de mai jos este echivalentd cu expresia (a+b) mod 2=0 (in Pascal) si respectiv (a+b) %2==0 (in C/C++) ? . (4p:) (Pascal a. (a mofi 2=0)and(b mod 2=0)an(a mod 2=1)and(b mod 2=1) b. (a mod 2<>0)and(b mod 2<>0)and(a mod 2=1)and(b mod 2=1) appre i a (a mod 2#1)or(b mod 2=1)or(a mod 2=0)and(b mod 2=0) (a mod 2=1)or(b1 4 2 (a mod 2=0)and(b mod 2=0)or(a mod 2=1)and(b mod 2=1) (a mod 2=0)and(b ~ (C+) _ (C+) a. (@&%2==0) &E (bY2==0) RE (A%ZeE1) E(b2==1) bb. (a&2 10) && (bK2 10) BE (A%2e=1) GE (DYZ==1) ©.) (ak2ewl) | | (bX2==1) | | (a&2==0) GE (bY2==0) (d/ (a%2==0)&& (b%2==0) | | (a%2e=1) && (b¥2==1) (a%2==0) && (b%2s (a&%21=0) g& (b%2! © (a%ten1) {| (baa @ (ak2en0) && (b&2= puns: d. ee Réspuns: a. 2. Se considera algoritmul alaturat, (numar natural, m<10) 2 Se consideri al 4 Ig descris in pseudocod. - _| citeste n descris in pseudocod. S-a notat cu scky restul imparfirii numarului (numar natural, n>1) S-a_notat cu xy natural x la numarul natural nenul y, iar cu | -pentru i€1,n executd fumarufui_ natural x! [2] partea intreag& a numérului real z. | citegte x (numar natural) nenul y, iar cu [2] Numéarului real x. @ Scriefi ce se afi algoritmului daca 7 a. Scriefi valorile care se vor afiga, dac&} | aux€x 7 ok€0 numerele citite sunt m=5, n=5, apoi, in | timp 2>0 exeduta aceastaé ordine: 25,40,8,15,133. (6p.) [pack xti0=m etunci- > 4=125. Raspuns: 25 15 {lore 5 Rispuns: nu b. — Scrieti care este cea mai mare valoare | }tu€tas401 fs Scriefi cea mai mare vy, care poate fi citita pentru m, daca n: i as = coe " cifre care poate fi cititd p pentru x se citesc, in ordine, valorile 121, | | >dacd ok=1 atunci sa se afigeze mesajul na 781, 961, 4481 astfel incat, la_finalul | ||scrie aux Raspuns: 989 executarii algoritmului, sa se afigeze | | 4 Scrieti valoarea 781. (6p) | ‘s a Sore ve i a . in psel un Raspuns: 7 cu cel dat in. care si ¢. — Scrieti programul Pascal |c/c++ corespunzator algoritmului dat. (10p.) 4. Scrieti in pseudocod un algoritmechivalent | r4ac& »>0 atuncd cu cel dat, In care sa se inlocuiasca | | rmepeté : structura c&t timp.executé cu 0 | rdack x%10=m atunci ‘structura repetitiva de un ait tip. (4p.) Raspuns: Cautm o solutie care sa functioneze la fel si petttru cazurile: m= gi valori nule ale lui x. lpand cand xe0 O solutie posibila inlocuieste structura marcata cu structura alaturata: structura cat timp_ structura repetitiva de alt ®spuns: Pentru orice valoar ‘Singurd cifr3, inlocuirea bruta timp cu structura repet: "comportamentul” algoritmului, "ard 0 adaptare (de exemplu, @ech 2210 atunci repeti 3<10). Propunem alaturat 0 so ‘stuctura pentru, solutie in c. matematic a de_cif partea intreag’ a valorii logarit @in valoarea lui x. ach VARIANTA 083 1. (Pascal) (a+b)mod 2=1 (Pascal, Variabilele ‘intregi a si b memoreazd numere naturale, Care dintre expresiile Pascal |C/C++ de mai jos este echivalenta cu expresia urmatoare? (4p.) (C/C++) (atb)%2==1 (a mod 2=0)and(b mod 2=1)or(a mod 2=1)and(b mod 2=0) (a mod 2<>0)and(b mod 2<>0)and(a mod 2=1)and(b mod 2=1) (a mod 2=1)or(b mod 2=1)or(a mod 2=0)and(b mod 2=0) (a mod 2=0)and(b mod 2=0)and(a mod 2=1)and(b mod 2=1) (C/C++) (a%2==0) && (b%2==t) || (a%2==1) && (b%2==0) (a%21=0) && (b%21=0) && (a%2==1) && (D‘2==1) (a%2e=1) || (b%2=: 1) || (a%2==0) && (b%2==0) (ak2e=0) && (b%2=e0) && (a%2==1) && (b%2==1) Raspuns: a. Se considera algoritmul descris in pseudocod. S-a notat cu xy restul impartiril numarufui_ natural x la numarul natural nenul y, iar cu [2] partea intreaga a numarului real =. Scriefi ce se afigeazi la executarea algoritmului daca se citeste valoarea x=125. (6p.) Raspuns: nu b. - Scrieti cea mai mare valoare cu exact 3 cifre care poate fi citit& pentru x astfel incat 8 se afigeze mesajul nu. (6p.) Raspuns: 989 alaturat, tc. Scriefi programul Pascal |C/c++ corespunzator algoritmului dat. d. —_Scriefiin pseudocod un algoritm echivalent cu cel dat In. care s& se inlocuiascd structura c&t timp.executé cu 0 structura repetitiva de alt tip. (4p.) Raspuns: Pentru orice valoare de intrare de o singura cifrd, inlocuirea bruta a structurii c&t timp cu structura repetd, va schimba "comportamentul’ algoritmului, deci este nece- sara 0 adaptare (de exemplu, adaptarea clasicd dac&é 2210 atunci repetd...pand cand x<10). Propunem alaturat o solutie ce utilizeazd structura pentru, solutie In care se determina citeste x (numéar natural, x>1) aux€x ; ok1€1 reat timp x210 executs x%10>[x/10] #10 atune: i ok1€o [ petasaoy anc okl=1 atunci [| serie aux altfel scrie “nu” (10p.) citeste x aux€x; okl€1; a€(ig x] ppentru i€i,n executd | pdac& x%10>[x/10] $10 | | ,aranci orieo | | x€[x/101 Ue .c& ok1=1 atunci altfe: serie “nu” matematic num&rul_de cifre-1 ca_fiind |-iy partea Intreaga a valorii logaritmului in bazé 10 din valoarea lui x. VARIANTA 085 1. Variabilele intregi 2 si » Care dintre expresitie & impare din intervalul inch (Pascal) (mon) div 241 m div 2-n div 2 Variabila intreagd mn memoreazé un numér natural cu exact 4 bifre. Care dintre expresiile de mal jos este echivalenta cu expresia urmatoare? (4p) (Pascal) (C/C++) n @iv 100 mod 10 mod 280 | n/100%10%2==0 a. m mod 100 div 10 mod 2<>1 | n%100/10%21=1 b. n div 1000 mod 2=0 B&1000%2=00 (% .m div 100 mod 280 n/100%2==0: * (m-n) div 2-1 © n div 10 mod 10<>1 n/10%101=1 @. m-mod 2-n mod 2 Raspuns: c. Raspuns: b. 2 Se considera _algorit 2. Se consideré algoritmut aldturat, | citeste n descris in pseudocod. (numar natural, a>1) descrie In peeudocod. S-a notat cu xky numérului natural x la nenul y, lar cu [z] p numérului real x. a. Scrleti ce se afiseaza d S-a notat cu xsy restul Impartirii | okCO numarului natural x la numérul natural | reat timp n20 executé nenul y, lar cu tx) ‘partea Intreagé a} | Con%10 numérului real x. S pdack c>S gi ct2=0 | Jatunci ok1€1 a. Scrieti ce se afigeazi dacd numarul citit 1tfel ok1€©0 : | -oste n=4576. j 6p.) | fe os 9458. Raspuns: 6 | pdaci okl=1 atunci _ Raspuns: 5 9 || serie c,’ ’ &. — Scrieti cea mai mare va b. — Scriefi cea mai mare valoare cu exact 3 . cifre, iit cifre, care poate fi citité pentru n astiel ake Incat ol ot ager, In tea i ae afgeze, In aceasté went | n€tas10) numerele 9 7. (4p.) 7 7) Ue Raspuns: 879 Raspuns: 966 pdack ok=0 atunci © Scrieti programul Pi 1 ¢. — Sctieti programul Pascal|c/c++ corespun- c eerie, (at zator ‘algortmuli dat. = zator algortmului dat. : (10p.) a. Scrieti in pseudocod un a d. — Scriefi un algoritm pseudocod echivalent cu cel dat care sé utilizeze o structura structura repetitiva cAt ti repetitiva de alt tip fn locul structuril cat timp...executa. (6p.) R&spuns: Se poate utiliza structura repetitiva | citegte n (numér natural, n>1) cu test final, far& adaptdri suplimentare | ok¢o (deoarece “comportamentul* algoritmului pentru | rrepet& nm 0 este acelagi indiferent de'structura aleasa). | c€n%10 Nu este gresitd efectuarea altor restructurari | | r¢ac& c=6 sau ca@ atuncd ale algoritmului, ca in exemplul aliturat, dar | ||serie c,' ' 7 ok€1 trebuie avut grijé s& se pstreze echivalenta | | ‘# : cu algoritmul dat. In plus, efectuarea altor etree modificari mai “tanteziste” in algoritm face mai i cand n=0 a dificil corectarea rezolvarii. dac& ok=0 atunci scrie “nu' Rezolvare: Se poate utiliza stru ‘final fra nici un fel de adaptari s Secventa aléturata raspunde multe adaptari. VARIANTA 085, Variabilele intregi n si m memoreaz4 numere naturale nenule pare, iar nb atunci x€b ch x>c atunci C nee ck x#a atunci C cece ck x#b atunci C penn rdacd x¥#c atunci ls céc-x serie a @. _ Scrieti in pseudocod un algoritm echivalent cu cel dat in care s8.se’inlocuiascd structura repetitiva cat timp. ..executd cu o structura repetitiva cu test final. Raspuns: Structura repetitiv’ cat timp | (repeta executs poate fi inlocuitd cu [ x€a structura repetitiva repet& ..pan& c&nd. In cazul in care cele trei numere citite sunt egaie, secventa de instructiuni de decizie nu se vor executa, deci nu ‘sunt necesare condifii suplimentare. scrie a dac& x>b dack x>c dacd x#a dacd x#b dac& x#c atunci c€c-x cand atunci x€b, atunci x€c atunci aCa-x atunci BCb-x a=b=c 1. c d. b. VARIANTA 088 A aye in secventele Pascal|c/c++ urm&toare toate variabilele sunt de tip intreg memoreaz& numere cu cel mult 3 cifre. Care dintre variantele de mai determina interschimbarea valorijor memorate de variabilele'a gi b? (Pascal) Ps @. aux:=b; a:sb; b:=aux; b. aseatb; bsea-b; a: a-b; sb; bisa; t=atb; b:=a-by a:=b-a; Réspuns corect: b. 2. Se considera algoritmu! alaturat, descris In pseudocod. S-a notat cu x%y restul tmpérfirii nurharului natural x la numérul natural nenul y, iar cu [] partea Intreagé a numérului real 2. Scrieti numarul care se va -afiga dac& se citegte valoarea 123456. (6p.) Raspuns corect: 246531 Scrieti o valoare cu exact 5 cifre care poate fi citita pentru variabila a astfel inc&t numérul afigat sd fie format din toate cifrele lui a, scrise tn ordine invers’. (4p.) R&spuns corect: Oricare numar de 5 clfre care are pe primele patru pozitii numai cifre impare. Un posibil raspuns poate fi: 13579 sau 13578. Scrieti programul Pascal |c/c++ corespunzator algoritmului dat. (10p.) Scrieti in pseudocod un algoritm echivalent cu cel dat in care sé se inlocuiasca structura cat timp.. execut& cu 0 structura repetitiva cu test final. (6p.) (C/C++) @ auxsb; a=b; b=aux; a+b; b=a-b; a#a-b; sb; baa; d. asatb; b= by; amb-a; 4 urd ae citegte a (numér natural) peé1 beo reat timp a#0 execut& | c€axlo pdack at2=0 atunci | b€bectp [altfel ls be b*10+c | | | | a€fas10]° | p€p*10 es scrie b Rezolvare cerinta d. rdack a#0 executd | rrepeta | c€ax10 | pdack at2m0 atuncd | | bepteep [| Jaleter | | pepr1o+e | - a€[a/10] pept10 lane c&nd a#0 ‘e scrie b | | 4 | | | | 4p.) ‘A 089 Variabila intregd n mem nenule. Care dintre u memorarea In variabila ir dar tn ordine inversa? (Pascal, tran mod 10*10en div ti=n div 10*10+n mod tran mod 10+n div 10 tran mod 10*10+t div y, jar cu [2] partea | rului real z. Scrieti numérul care se va ‘se citegte numarul n=3072 Réspuns corect: 1012141 Scrieti un numar format ¢ cifre, ele fiind in ordine : c&toare, care poate fi. ‘Tncat executarea algoritmu mine afigarea unui num cel citit. Réspuns corect: 12468 Algoritmul tnlocuieste cifr ale numarului cu cifra 1, ramanand neschimbate. Scrieti programul Pasc corespunzator algoritm In pseudocod ui echivalent cu cal dat fn 1 Inlocuiascd fiecare stru structuré. repetitiva cu Raspuns corect: * Vezi al&turata. algoritmulul valoarea r \ valoarea 0. VARIANTA 089 SUBIECTUL | ‘ 1. Variabila Intregd 2 memoreaz4 un numér natural format din exact doua cifre nenule. Care dintre urmatoarele instructiuni Pascal|c/c++ determina memorarea In variabila tntreag& t a numérului care are aceleasi cifre ca si n, dar In ordine invers&? (Pascal) &@ tren mod 10*10en div 10) b. tran div 10*10¢n mod 10; © tren mod 10+n div 10) @. tren mod 10*10+t div 10; Raspuns corect: a. 2. Se consider& algoritmul. alaturat, descris in pseudocod. Sa notat cu .x%y restul tmpairtiril fumérului natural x la numérul natural nenul y, iar cu [z] partea intreagi a fnuméarului real z. @. —Scrieti numarul care se va afiga daca se citeste numarul n=3072941>(6p.) Riispuns corect: 1012141 b. Scriefi un numéar format din exact 5 cifre, ele flind fn ordine strict cres- c&toare, care poate fi citit astfel Incat executarea algoritmul s& deter- mine afigarea unui numar egal cu cel citit. 4p.) Raspuns corect: 12468 Algoritmul tnlocuiegte cifrele impare ale numarulul cu cifra 1, cele pare ramanand neschimbate. : ©. Scrleti programul Pascal|c/c++ corespunzator algoritmului dat. {10p.) @. Scriefi in pseudocod un algoritm echivalent cu cel dat in care sé se Inlocuiasc& fiecare structura cat timp.. execut& cu cite o Structuré repetitiva cu test final. 6p.) Raspuns corect: Vezi structura aldturata. Daca riumérul citit este 0, nu este Necesar s& punem conditii suplimen- tare deoarece in urma executarii aigoritmului valoarea x va avea tot valoarea 0.. 4p.) . (Ce) (&) t=n10*10+n/10; 9. ten/10*10+n%10; C. ten'’10+n/107 d. tan%10*10+t/10; citegte n (numér natural) t€n) r€0 At timp t>0 executé iP eA (t%10)%2=1 atunci r€r*10+1 altfel r@r*10+t%10 t€©[t/10} aa n€o reat timp r>0 exetuté n€n*l0+r%10 r€{r/10] le . sorie n Rezolvare cerinta d. repeth c& (t%10)%2—1 atunci r€r*l0e1 altfel r@re10+t%10 t€{t/10) i cind tS0 ao repeté [ n€n*10+r%10 r€[x/10] Lpan& cfnd rSo scrie n VARIANTA 090 1 semne diferite? (Pascal a. if (a>0)or(b>0)then t:=-1; b. if (a>0)and(b<0)then t:=-1; ©. if a*b<0 then t:=-1; d. if atb>0 then tr=-1; R&spuns corect: c. 2. Se considera algoritmul alaturat, descris In pseudocod. S-a notat cu x%y restul impartirii numarului natural x fa numarul natural nenul y. Scrieti valorile care se vor afiga in urma executari algoritmului daca se'citesc numerele a= 105, b=118 gi ke7. (6p.) Réspuns corect: 107 117 Daca pentru’k se citeste valoarea 7, jar pentru a valoarea 2009, scrieti cea mai mare valoare care se poate citi pentru vdriabila b, astfel Inc&t numérul afigat sd fie -1. (4p.) Réspuns corect: 2016 (cel mai mare numar pentru care in intervalul ‘Inchis determinat de el si a nu apare niciun numér care s& alba ultima cifré egal cu k). corespunzator algoritmului dat. (10p.) Scrieti in pseydocod un algoritm echivatent cu cel dat in care s4 se inlocuiasc& structura cat timp...executé cu o structura repetitiva cu test final. (6p.) Raspuns corect: Structura cat timp. ..executa este Inlocuitd cu structura repet&...pan& cfind. SUBIECTUL |! Care dintre urmatoarele instructiuni Pascal|C/c++ atribuie variabilei intregi| valoarea -1 daca gi numai daca variabilele intregi a sib sunt nenule si (4p) (C/C++) : @. if ((a>0)|[(b<0)) t=-1; b. if ((a>0)&(b<0)) t=-1; © if (a*b<0) t=-1; d. Af (a*b>0) t=-1; citeste a, b, k (numere naturale) tea p€o at timp tSb executé c& k=t'10 atunci [re pe tete1 ch p=0 atunci scrie -1 Rezolvare cerinta d) & aSb executé : eta ch k=t810 atunci scrie t pel cetel cand t=b p=0 atunci scrie -1 ‘A 091 $tiind ca variabila intreagd afiga in urma executarii sec (Pascal) if nr<7 then if nr>3 write(‘Bine’) else write(‘Foarte bi . else write(‘Rau’); BineRau b. Foar Raspuns corect: d. ‘Se considera algoritmul ali notat cu [a] partea intreaga |b] valoarea absolut a nu Scriefi valoarea care se z=50 Sixel. Raspuns corect: 7 Scrieti in. pseudocod un inlocuiasca structura reg test initial. Rezelvare: citeste z,x z€|z|) x€|x|) vex x€ [ (xe2z/x) /2] peat timp xy len EL (xtz/x) /: scrie x Scrieti programul Pascal Daca pentru z se citeste determina ca atribuirea y€ Raspuns corect: 5 SUBIECTUL} VARIANTA 091 1. ~ Stiind cd variabila intreaga nx memoreaza valoarea 5, stabiliti ce mesaj se va afiga in urma executarii secventei de instructiuni Pascal |C/c++ urmatoare. : (4p) (Pascal (C/C++) if ur<7 then aif (nr<7) if nr>3 if (mr>3) then . printf ("Bine”) ; write(‘Bine’) | cout<<”"Bine”; else else write(‘Foarte bine’) printf ("Foarte bine”); © » else | cout<<"Foarte bine"; write(/Rau’); else print£ ("Rau"); | cout<<"Rau*; a, BineRau b, Foarte bine c. Rau @ Bine Raspuns corect: d. 2. Se considera algoritmul aliturat descris in | citeste z,x pseudocod. (numar intreg nénule) * Sa notat cu [a] partea intreagd a numarului real a | z€| =| 22¢€ |3¢] gicu |b| valoarea absolutd a numarului intreg b. rrepeta a. Scriefi valoarea care se va afiga pentru) | y€x 2=50 si x=l. (6p.) | | °x€ 0 (r+z/x) /21 lpana cand x=y Raspuns corect: 7 scrie x Scrieti in pseudocod un algoritm echivalent cu cel dat, In care s& se inlocuiascd structura repet&...panad cAnd cu o structura repetitiva cu test initial. (6p.) Rezelvare: citeste z,x z€|zlz x€|x|; yeu x [ (x+2/x) /2] reat timp. x4y | you EL (x+z/x) /2] scrie x i Scrieti programul Pascal |c/c++ corespunzator algoritmului dat. (10p.) Daca pentru z se citeste numarul 30, scrieti o valoare care, citité pentru x, determina ca atribuirea y€x sa se execute o singura data. R&spuns corect: 5 SUBIECTUL I VARIANTA 092 1. Stabiliti care dintre urmatoarele expresii Pascal |C/c++ are valoarea true|1 daca si numai daca numérul intreg x, nu apartine intervalului: A=(-10,-2)U[50, 100]. (Pascal) a. x<=-10 or (x<50 and x>=#-2) or (x>100) b, x<=-10 or (x<=50 and x>=-2) or (x>=100) ©, x<-10 or (x<50 and x>-2) or (x>100) «<=-10 or (x<=50 or x>=-2) or (x>100) > [| (x>200) ; M=-2) || (x>=100) <-10 |] (x<50 &&.x>-2) || (2>100) gd, x=-2) |] (2100) Raspuns corect: 2. Se considerd algoritmul alaturat,| citeste n descris in pseudocod. S-a notat cu [x] partea intreag& a numarului | 27€0 real x. yo a. — Scrieti ce se afiseaz4 daca se citesc, in aceasta ordine, valorile: 5, 8, 12, 15, 10, 25, 9, 8, 30, 10. (6p.) R&spuns corect: 9 9 b. Daca pentru n se citeste valoarea 3 scriefi un sir de date de intrare astfel | ‘serie [y/n} ‘ineat ultima valoare care se afigeazd| gorie nr sa fie 3. (4p.) R&spuns corect: trei numere din « intervalul [1,10] (exemplu 2,3,7) c. — Scriefi programul pascal |c/c++ corespunzator algoritmului dat. 4. Scriefi un algoritm —pseudocod | citeste n echivalent cu cel dat in care structura | nr€0 xepeté...pini cind sé fie| y€o Inlocuité cu o structura repetitiva cu] ppentru i€1,n executé test initial. , (6p.) | | citegte x (numar réal) Rezolvare: zona hasurata se | | or€nr+1 Inlocuieste cu secventa alaturata: peat timp x=0 sau x>10 | | cdtegte x (numar real) | l nr€nre1 | 4 ‘ Lv Pale, ty/n} scrie nr X 21Qy a gee K Lag {4P) (numér natural nenul) dail erie suscumeel ‘A093 Variabile intregi x si y n Care este valoarea ext lc/c++ alaturate are vale (Pascal) x div 10sy mod 10 y div 10=x mod 10 x div 10=x, 10+ 2 0 R&spuns corect:b. Se considera algoritmu ji valoarea care : citesc numerele n=2 $i Raspuns corect: 26 Scriei programul Pascz algoritmului dat. Daca pentru n sé cite fnumarul de valori natur cifré, care pot fi Gitite pe Incat sa se afigeze valoa Raspuns corect:6 (n Scrieti in pseudocod un structuri repetitive sau re Rezolvare. citeste n,m rdacd (m-n)%3=0 at | scrde (m-n+3)( | altfe1 | scrie 0 i Explicatie. Se calculea & reprezinté numarul d in ajunge egala cu valoz c& avem k=(m-n) /3, diviziblld cu 3. Suma ca nt (nt3)t+..4(n+3khar (mp21)(2n03™ SUBIECTUL I VARIANTA 093 as hb Variabile intregi 2 si y memoreaza cate un numéar natural, cu exact doua cifre.” Care este valoarea expresiei x-y stiind ca fiecare dintre expresiile Pascal levc++ alaturate are valoarea true|1? tlh ack (4p) (Pascal) (C/C+) Oa x div 10sy mod 10 x/tomeys10 = y div 10=x mod 10 ¥/L0=x%10 0 x div 10=x lod x/10==x%1041 “* 0 bs 9 e 2 ( d. 4a R&spuns corect:b. 2. Se considera algoritmul alaturat descris In| citeste n,m pseudocod. (numere naturale, n0 then if (k>0) if k0 then if ic>j then if (itej) if ic>j then yr=0 ye0; else x:=1 else y:=2; else y=2; else x:=2; (gl k=O; in5; j=5 b. x10; i=5; j=6 C. ke10;°ia5; ja5 if i<>j then: . . y nuvaaveavaloarea 1 indiferent de valorile variabilelor 4,4 si 1f°ko0 then y R&spuns corect: a. 2, Se considera algoritmul alaturat, descris | citeste n (pe In pseudocod. (numér natural nenul) a) x si y primesc aceea b) k=O) i=5; j=6 R&spuns corect: d. 2 Se considera algoritmul ‘S-a notat cu xky restul impartirii numarului | 1 € 0 natural x-la numérul natural nenul y, iar cu € [x/y] c&tul Imprtini totregi a numdruiui € natural x la numarul natural nenul y. @. Scrieti ce va afiga algoritmul daca pentru nse citeste valoarea 123611. (6p.) R&spuns corect. 621131 b. Scriefi céte valori naturale distincte, formate din patru cifre fiecare, pot fi citite pentru variabila n, astfel incat, pentru fiecare dintre acestea, valoarea afigata de €1 ritm sa fie divizibild cu 10. . pee nicio valoare Cae ppentru i€1,k1 executé construieste numarul obtinut din cifrele i p€p*io pare rastumate ale lui n urmate de cifrele BER idocod. notat cu a%b restul fr ral a la numarul nature fayb] cAtul Impartirii int al a la numarul natural | Scriefi numérul care se citesc pentru n valo pentru k valoarea 6: Ra&spuns corect: 125 Daca pentru & se cites cifre care se pot citi pe Oe ee. ' *% € n2*p + al fiecare data, 2008. impare ale lui n rasturnate). Solon Bases oncotene ¢. Scrieti in pseudocod un algoritm echivalent cu cel dat care sa utilizeze . singura structura repetitiva. (4p) Scrieti programul Pasc R&spuns: structura pentru nu este necesara; calculul valorii p se poate fac in interiorul structurii cat. timp. . .executa: se inlocuieste atribuirea k1€k1+1 cu p€p*10; evident, atribuirea p€1 se face inaintea structu k in locul structuri ca repetitive cat timp. ..executé. ; . executé © struct @. Scrieti programul Pascal |c/c++ corespunzAtor algoritmului dat. (10p,)) ecouaane! aimee ee Scrieti_ in pseudococ echivalent cu cel dat c executé (zona ‘Inlocuieste cu secvent SUBIECTUL | VARIANTA 095, 4. In secventa alaturata de instructiuni, variabilele 4, J, k, x gi y sunt de tip intreg. Pentru care dintre urmatoarele seturi de vatori ale variabilelor 4, j sik variabilele x si y vor primi valori diferite intre ele in urma executdrii acestei secvente? : (4p) (Pascal) . (C/C++) if k>0 then 4£ (0) if icoj then x:=0 df (dt=j) x00; else x:=1 aoe else x:=2; else x=2;° if icoj then: if (ilmj) if koO then yr=0 if (0) ye0r else yaa; © je" else y=1; a) x siy primesc aceeasi valoare indiferent de valorile variabilelor 4,3 gi k b) k=O; i=5; j=6 c) k=10; i=5; j=5 G) k=0; i=5; j=5 Raspuns corect: d. 2 Se consider’ algoritmul aldturat, descris ei An S-a notat cu a%b restul Impértirii numarului natural a la numarul natural nenul*b, iar cu [a/b] cAtul impartirii intregi a’ numarului | 3 natural a la numarul natural nenul b. a Scrieti numarul care se va afiga dacd se citesc. pentru n valoarea 528791 si pentru k valoarea 6. | (6p.) Rispuns corect: 125 b. Daca pentru x se citeste valoarea 9 scrieti toate valorile formate din exact 5 cifre care se pot citi pentru variabila n, astfel incat rezultatul afigat sd fie, de (numere naturale nenule) fiecare data, 2008. 7 (6p.) R&spuns: 80020, 80029, 80092, 80902, 89002, 98002. © — Scrieti programul Pascal |C/c++ corespunzator algoritmului dat. (10p.) @ Scrieti in pseudocod un algortm | [ack nfo atunct conditionata posterior. (4p.) Rezolvare: echivalent cu cel dat care s& utilizeze | (aes Ocig-k cect jin locul structurii cat timp ... || | = € x*10 + 2X10 executé 0 structura repetitiva || 4 | | 2 € tn/201 : : Structura cat timp n¥0| | lpand cand n=0 to executdé (zona haguraté) se Inlocuieste cu secventa alaturata: 1. in a e VARIANTA 096 a) k=O; in5; j=5 (2) wm10; 465) 405 ins corect: ¢ 2. Se considera algoritmui alaturat, descris peeudocod. 7 Ih secventa alaturata de instructiuni, variabilele 4, 4, x si y sunt de tip Intreg? Pentru care, dintre urmatoarele seturi de valori ale variabilelor i, 5 $i variabila y va avea valoarea 1 In urma executdrii secventei? (4p) (Pasca) | (C144) if k>0 then if (k>0) if i<>j then y:=0 af (il=j) y=07 else y:=1 lse.y=1; ~@lse y:=2; else y=2; 7 Daca se citeste pentru n valoarea 10, Scriefi valorile care se afigeaz’, In forma rezultaté fn urma execut&rii algoritmului. - (6p.) corect: 127 136 145 235 Scriefi.o valoare formata din exact doud cifre care, dac& se citeste pentru n, determina .ca printre tripletele de vatori afigate s& existe unul alcatuit din trei numere consecutive. Réspuns: orice numar de douad cifre divizibil cu 3. (6p.) Scrieti programul Pascal |c/c++ corespunzator algoritmului dat. (10p.) Scrieti tn pséudocod un algoritm echivalent cu cel dat care s& utilizeze exact doud structuri repetitive. (4p.) SUBIECTUL I b) ¥=10; in5; j=6° d) k=O; im5; J=6 citegte n (numéar natural nenul)| rpentes i€1,n executd |ppentru j€1,n executa |ppentru k€1,n executa {ifr ch i _ 66 7 dintre valorile indicilor 4 $i 5 (1S4S1 Separate prin cate un spatiu. Exemplu: pentru n=4 gi m=5 se va afiga matricea alaturata. Rezolvare. O posibilitate de construire a matricei este prezentata de pseudocod: rpentru i€1,n executa {ppentru j€1,m executa [| pdacd i (3p) Rspuns corect: a) 2; b) 3. In secventa alaturata, variabila, a memoreaz& o matrice cu n [inii gin coloane (numerotate de lai lan | 0 la n-1) cu elemente numere intregi, iar toate celelalte variabile sunt intregi. Stiind.c3 n este un numar natural par, nenul, scrieti instructiunile ce pot inlocui punctele de suspensie din secventa de program alaturata astfel inct, in urma executdrii acesteia, si se afiseze ultima cifra a sumei elementelor pozitive de pe liniak (OSk0 then if (alk]1J1>0) s:=(stalk,j]) mod 10; s=(s+a(k] [J] )%10; Af alk,n+1-J1>0 4 (alk] [n-1-j]>0) = s¢a[k] [n-1-J1)%10; si=(s+a(k,n+1-j]) mod 10; ‘SA se scrie un program Pascal | C/C++ care citeste de la tastaturd un cuvant format din cel mutt 20 de caractere, doar litere mici ale alfabetului englez. Programul determina transformarea cuvantului citit prin inlocuirea fiecdrei vocale a cuvantului, cu un sir format din doud caractere si anume vocala urmata de litera mare corespunzétoare, restul literelor nemodificandu-se, ca in exemplu. Programul afigeazi pe ecran cuvantul obfinut, pe o singurd linie. Se considera vocale literele din multimea {a,e,4,0,u}. Exemplu: pentru cuvntul bacalaureat se va afiga pe ecran: baAcaAlaAuUreEaat (10p.) Rezolvare: o (Pascal (C/C++) var s:string[20]7 #include i:byte; crchar; #include Begin #include xeadin(s); i:=1, void main() while i <= length(s) do t begin char if pos(s[i],'aeiou')<>0 8[21],v[]=*aeiou",t[41]7 then int i,n,p=0; begin (s,21); nestrlen(s); crsupcase(s[i])7 for (inO;i1) la toate nodurile numerotate cu numere ce apartin do divizorilor proprii ai tui 4 (divizori diferiti de 4 side 4) - de la nodul numerotat cu 2 la nodul numerotat cu 6 - de la fiecare nod numerotat cu un numér prim 4 la nodul numerotat cu 4-1 Pentru graful dat, care. este lungimea celui mai mare drum, format doar din noduri distincte? (4p) 6 b 5 ce 3 ‘4 Raspuns corect: b. Graful din enunt este reprezentat in desenul alaturat. Cel mai iung lant format doar din noduri distincte este: (5,4,2,1,6,3}. Lungimea acestuia este 5. Cate frunze are arborele cu radacin’ descris prin urmatorul vector "de tati”: (61515 12100313,3,8/7,7)? (4p) b 2 a 5 a4 RA&spuns corect: c. (frunzele sunt nodurile: 1,4,9,10, 11)" In dectararea alaturati, cAmpurile x si y ale Inregistrarii pot memora ° humératorul, respectiv numitorul unei fractii. Scrieti secventa de instructiuni prin executarea c&reia se construieste in variabila # o fractie obtinut prin insumarea fractilor memorate In variabilele £1 si £2. (8p.) (Pascal (C/C++) type fractie =record struct fractie xsytinteger end) | (int x,y) }f,£1,£21 var f,f1,f2:fractie; ot a jie 4 wide Un raéspuns corect: fey pity (Pascal £.u:= £1.x*£2.y+fl.y*£2.") f.y r= fl.y*f2.y; (C/C++) f.m = £1.e*f2.yefl.y*f2.x) f.y = fl.y*f2.y7 In secventa de instructiuni de mai jos, variabila s memoreaz& un sir de caractere format doar din litere ale alfabetului englez, iar variabilele 1 gi n sunt de tip integer | int. Stiind ca in urma executarii secventei s-a afigat succesiunea de caractere eied*eael*, scrieti oa este girul de caractere memorat de variabila s. (6p.) (Pascal for it=1 to length(s) do | axstrien(s); VARIANTA 004 if slil=’e' for(imO;i1) la toate nodurile numerotate cu numere ce apartin multimii divizorilor proprii ai lui i (divizori diferiti de 2 side 1) - de la nodul numerotat cu 1 la nodul numerotat cu 6 - de la fiecare nod numerotat cu un numéar prim i la nodul numerotat cu i-2 Pentru graful dat, care este lungimea celui mai. mare drum, format doar din noduri distincte, ce unegte nodul 6 cu nodul 1? (4p.) 1 b. 3 7 ce 4 Raspuns corect: b. Graful din enunt este reprezentat in desenul alaturat, Cel mai lung lant format doar din noduri distincte este: {6,3,2,1}. Lungimea acestuia este 3. Cate frunze are arborele cu radacina, cu 8 noduri, numerotate de la 1 fa 8, descris prin urmatorul vector "de tafi": (6,5,5,2,0,3,3,3)? * (4p.) 4 b. 6 a 5 d. 3 Raspuns corect: a. (frunzele sunt nodurile: 1, 4,7, 8) Se considera o stiva fn care initial au fost introduse, in aceasta ordine, elementele cu valorile 1,2 gi 3, ca in figura alaturata. Se noteazi cu AD(x) operatia prin care se adauga elementul cu valoarea x in varful stivei si cu EL operatia prin care se elimina elementul din varful stivei. Reprezentati, dupa modelul alaturat, continutul stivei rezultat in urma executdrii secventei de operatii: AD(4) ;EL;EL;AD(5) ;EL? : (6p.) R&spuns corect: Continutul stivei, reprezentat dupa modelul dat, este: Fy In secventa de instructiuni de mai jos, variabila s memoreaz4 un sir de caractere format doar din litere ale alfabetului englez, si i o variabild de tip integer | int. Scrieti instructiunile ce pat inlocui punctele de suspensie din secventa de program alaturata astfel incat executarea ei s& determine eliminarea tuturor literetor mici din sirul s si apoi afigarea sirului obtinut. (6p.) (Pascal (CC+4) dred; i=0; while i. then delete(s,i,1) | if(islower(s[i])!=0) else i:=i+1; strepy(s+i, s+i+1); else i++; VARIANTA 005 1. intr-un graf neorientat c nenul. Doar patru dintr gradele numere impare 5. Scrieti un program Pascal { C/C++ care citeste,de la tastatura un numar natural te aiba graful? n (2SnS$24) si construiegte In memorie o matrice cu n linii gin coloane ale c&rei a 32 b. 36 elemente vor primi valori dupa cum urmeaza: Réspuns Sb. - elementele aflate pe diagonala secundara a matricei vor primi valoarea 0 - elementele de pe prima linie, cu exceptia celui aflat pe diagonala secundara, vor primi valoarea n Consideraém nodurile ¢ numarul muchiilor grafu - elementele de pe a doua linie, cu exceptia celui aflat pe diagonala secundara, cole 4 noduri a fee vor primi valoarea m=1 5,6,7,..,m avand gr maxim de nodurl toate r - elementele de pe ultima linle, cu exceptia celui aflat pe diagonata secundara, vor primi valoarea 1 : Programul va afiga matricea pe ecran, cAte 0 linie a matricei pe cate o linie a ecranului, cu cate un spatiu intre elementele fiecarei lini (ca in exempiu). Exemplu: pentru n=4 se va afisa matricea alaturatd. (10p.) Rezolvare. O posibilitate| ppentru i€1,n executd de construire a matricei a ecuté este prezentaté In sec- venta pseudocod alaturata: pot avea gradul 2, iar ce Cum: S.d()=2m=40,; a n+1-5=32=9n=36 2 = Variabila 4, declaraté respectiv, lungimea u atribuie cAmpului aria onuwe Rouse BRRoe RRO altfel ali,j]€0 aria.d:ad.a*d.b d.aria:ed.a*d.b Raspurts corect: d. pepe e Se considera un arbore exact 2 descendenti di direct (fiu). Care este m Raspuns corect: 14 | 4 Fie s 0 variabilé ce me iar 4 gi 3 doua variabi Inlocui punctele de sus execytarea ej si interschimbarea caract (primutui caracter cu ult VARIANTA 005 ntr-un graf neorientat cu 20 muchil, fiecare nod al grafului are gradul un numar nenul. Doar patru dintre noduri au gradul un numér par, restul nodurilor avand gradele numere impare. Care este numdrul maxim de noduri pe care poate sa le aiba graful? (4p.) 32 b. 36 ce 10 dad 16 R&spuns corect: b. Consideraém nodurile grafului notate cu 1,2, +n, jar m=20 reprezinta -numarul muchilor grafului, Fie a (4) gradul nodului 4..Numerotaif¥cu 1,2, 3,4 cele 4 noduri care au gradul un numér par nenul, celelatte noduri numerotate cu 5,6,7,..,n avand gradul un numéar impar. Pentru a obfine un graf cu numar maxim de noduri toate nodurile trebuie 4 aib& gradul minim. Nodurile 1, 7,3,4 pot avea gradu 2, iar celelalte noduri pot avea gradul 1. Cum: $.4()=2m =40, atuncl'4.2+ $d =40 = Sd =32 a & ri n+1-5=32>n=36 Variabila 4, declarata aléiturat, memoreaz& fn cAmpurile a gi b latimea gi respectiv, lungimea unui dreptunghi. Care dintre urmétoarele instructiuni atribuie campului aria al variabilei & valoarea’ariei dreptunghiului respectiv? (4p) (Pascal) (C/C++) type dreptunghibrecord struct dreptunghi a,b,aria:real end;| { float — a. ua - var d:dreptunghi; aria.drad, d.aria:ed.atd.b t d.ariasd.atd.b; Raspurts corect: d: Se considera un arbore cu radaicina tn care doar 13.dintre nodurile arborelui au exact 2 descendenti directi (fii), restul nodurilor avand cel mult un descendent direct (fiu). Care este numarul frunzelor arborelul? (6p.) Ri&spuns corect: 14 (numéarul frunzelor=numarul nodurilor neterminale+1) Fie s 0 variabilé ce memoreaza un gir de caractere, ¢ o variabila de tip char, iar 4 si J doua variabile de tip integer | int. Scriefi instructiunile ce pot Tnlocui punctele de suspensie din secventa de program alaturata astfel Incat execytarea ei s& determine modificarea continutul - sirului s prin interschimbarea caracterelor aflate pe pozitil simetrice fat’ de mijlocul girului (primutui caracter cu ultimul, al doilea cu penultimul, etc). (6p.) (Pascal) a (C/C++) ' is=1; j:=length(s); is0; j=strlen(s)-1; while inil p*.urmeondl peonil, p*.urm4.urmenil R&spuns corect: a Se considera un ari arborelui? Réspuns corect: 12 Se considera un graf maxim de component Réspuns corect: 8 Se considera un tex! separate prin unul sé litera, iar cuvintele s Scrieti un program 1 transforma, inlocuir corespunzatoare, re transformat va fi afige Exemplu: daca de kz se va afiga pe ecran: VARIANTA 006 1. Care dintre urmatoarele ‘expresii reprezinté un element al tabloului bidimensional a. declarat alaturat? (4p.) (Pascal (C/C+4) varasarray[1..5,1..6] of integer; aint a[5] [6]; a. af[40] b, af6,7) a, al40] b. af6][7) ce. a[2,3] d. af[10*5) ce af2][3] d. af10*5) R&spuns corect: ¢ 2. Se considera o lista liniara simplu inlantuita, alocatd dinamic, cu cel putin dou& elemente. Fiecare element al listei retine in cAmpul urm adresa elementului urmator din listé sau nil|NuLL. dacd nu existé un element urmator. Stiind c& variabifa p retine adresa primului element din lista, care dintre expresiile urmatoare poate inlocui punctele de suspensie in secventa de instructiuni de mai jos astfe! incdt in urma executarii acesteia sa fie eliminat uitimul element al listei? (p.) (Pascal) (C(C++) while (...)do while (...) Prsp*.urm P=p->urm; dispose(p*.urm); eee | free (p->urm); p*.urm:=nil; p->urmsNULL; a. p*.urm.urmeonil @ p->urm->urm! =NULL b. p*.urmeonil b, p->urm!=NOLL c. purm->urm==NULL Raspuns corect: a 3. Se considera un arbore cu 11 muchii. Care este numéarul de noduri al arborelui? . : (6p.) Raspuns corect: 12 ‘Se considera un graf neorientat G cu 12 noduri si 7 muchii. Care este numarul maxim de componente conexe din care poate fi format graful G? (6p.) Réspuns corect: 8 > §. Se considera un text cu maximum 255 de caractere in care cuvintele sunt separate prin unul sau mai multe spafii. Primul caracter din textul citit este o liter’, iar cuvintele sunt formate numai din litere mici ale alfabetului englez. Scriefi un program Pascal|C/c++ care citeste de la tastatura textul si il transforma, inlocuind prima litera a fiecdrui cuvant cu litera mare corespunzatoare, restul caracterelor ramanand nemodificate. Textul astfel transformat va fi afigat pe ecran. Exemplu: daca de la tastatura se introduce textul: mare frig rosu se va afisa pe ecran: Mare Frig Rosu (10p.) (Pascal) i ) var s:string[255)7 #include : #include void main() { char 8[256};int i,n) cin.getline(s, 256); ’ (sf1])) nestrlen(s); for i:=2 to n do . s[0]= s[{0]-32; if (w[i-1]=* *)ana(sfi}<>' ") for(isl;iinfo) 7 write(p*.info); cea mai mica dintre valorile memorate de elementele din lista. cea mai mare dintre valorile memorate de elementele din lista. valoarea memorat& de penultimul element din lista. valoarea memoraté de primul element din lista. Raspuns corect: b. Se considera graful neorientat definit prin-multimea varfurilor (1,2,3,4-5,6) gi “muitimea muchiilor {{1,21, 2,3], 13-4), [3,5], (4,51, [1,3], (2,61, {2,41,[4,6]}. Care este num&rul minim de muchii ce pot fi eliminate gi care sunt aceste muchii astfel fnc&t graful partial obfinut s& nu mai fie conex? ; (6p.) Raspuns corect: Numarul minim de muchii ce pot fi eliminate este 2. De exemplu, se pot elimina muchille: [1,2] gi [1,3] Se considera graful orientat cu 6 noduri reprezentat prin matricea de adiacenja alaturata. Care este numérul tuturor grafurilor partiale distincte ale grafuiui dat? Doua grafuri partiale sunt distincte dac& matricele lor de adiacenté sunt diferite. (6p.) corespunde o functie definité pe multimea a a arcelor grafului din enunt, £:4>{0,1} astfel incat £(a)=q dac& arcul aca exist in graful partial corespunzator, altfel £ (a) =0. Numarul grafurilor partiale ale grafului cu 7 arce (card (A) =7) este egal cu numarul acestor functii, adic’ 2°” = 2’ = 128 . Se considera un text cu maximum 255 de caractere, format din litere mici ale alfabetului englez si spatii. Textul contine cel pufin 0 consoanda., Scrieti un program Pascal|c/c++ care citeste de la tastaturd textul si apoi determina transformarea acestuia, eliminand numai ultima consoana care apare in text, a ca In exemplu. Programul va afiga pe ecran textul obtinut. Exemplu: daca de la tastatura se introduce textul:mare frig saci pe ecran se va afiga:mare frig sai (10p.) + Rezolvare: 2 (Pascal (C/C++) var s,v:string; #include 2 i,nrinteger; #include begin void main() readln(s);n:=length(s); {char s[256], v[]=”" aelou”; vi=' aeiou'; int n,i; for i:=n downto 1 do cin.getline(s,256); if pos(slil,v)=0 then n=strien(s); begin for (isn-1;i>=0;i--) a delete(s,i,1) sbreak if( strchr(v,s[i])==NULL) end; (strepy (s+i,s+i+1) sbreak;} writeln(s) . cout<urm pr=p*.urmy s*s+p->info; S:=s+p*.info ? end; cout<<@) } printf£("%a",48)} write(s); . Raspuns corect: p*.info p- >info p*.urmernil po >urm! = NOLL Scriefi un program Pascal|C/c++ care citeste de la tastaturaé doud numere naturale n si p (2Sn$20, 1%pS20) si construieste in memorie un tablou bidimensional cu n linii $i » coloane. Tabloul va fi construit astfel incat, parcurgand tabloul linie cu linie de sus tn jos $i fiecare linie de la sténga la dreapta, s& se obfina girul primelor n*p pitrate perfecte impare, ordonat strict cresc&tor, ca in exemplu. Tabloul astfel construit va fi afigat pe ecran, 125 fiecare linie a tabloului pe cAte o linie a ecranulul, cu cate un spatiu intre lementele fiecdrei linii. Exemplu: pentru n=2, px3 se va afiga tabloul| 19 25 A009 eevee (ee Considerand declararea : Rezolvare: O posibilitate de construire a matricei este prezentata de secventa instructiuni realizeaz& in n pseudocod: dou’ cémpuri ale variabilei ae (Pascal rpentru i€i,n executd © ee . | pentru j€1,p executé a,brinteger || AL, d1ekee end; {| xexe2 var ep) 7 read(x.a,x.b) ¢: read(a.x,b.x) ce read(a->x,b->x) | ci read (x) ci puns corect: Intr-o lista liniara simplu tniz campul info o valoare ir urméator din listé sau nilAvoL refine adresa ‘primului elerr pornind de la primul elemen urma executarii secventei de (Pascal while (p*.urm<>nil) and(p>x.a>>x.b; | scant ("%d%d",&x.a, &x.b)7 b. read(a.x,b.x) cin>>a.x>>b.x; | scant ("%dxd",£a.%, &b.x)) ©, _read(a->x,b->x) cin>>x, | scanf("%d", &x); @. “read(x) cin>>a->x>>b->x7 | scant ("%d%A" ,&a->x, &b->x)) Raspuns corect: a. 2 Intr-o lista liniar& simplu tnlnfuit&, alocat& dinamic, fiecare element retine tn campul info o valoare intreaga, iar in campul urm adresa elementului urmator din lista sau nil/woLt daca nu existé un element urmator. Variabila p retine adresa primului element din list&. Lista confine, In aceasta ordine, pornind de la primul element, vatorile: 2, 3, 4, 5, 6, 7, 8. Ce se va afiga In urma executarii secventei de instructiuni alaturata? (4p.) (Pascal, (C1C++) : while (p*.urm<>nil) while(pl=NULL &&9->urm! =NULL) and(pinfo; | p*.urmep*.urm*.urmy printé ("%d",p->dnfo); Prep*.urm p->urm=p->urm->urm; end; . p=p->urm;} a 246 b 2468 oe 248 a 258 Raspuns corect: a. 3. Se considera un graf orientat cu 6 noduri care are urmatoarele proprietati: = suma gradelor externe ale tuturor varfurilor grafului este egala cu 6. = sunt numal 3 varfuri care au gradul intern egal cu 1 Care este valoarea maxima pe care o poate avea gradul extern al unul vart din graful dat? (6p.) R&spuns corect: 4 4 Se considera declararea de mai jos: 5 (Pascal) * (C+) var s,x:etring[50]) char s{50], x[50]7 Ce se afigeaz& in urma executarii secventel de program scris& alaturat dac& variabila s memoreaza sirul abedefg? (6p.) 127 (C/C++) xsacopy(s,5,3)7 (| stropy (x, 844) 7 ene delete(s,5,3);8:=8+'123'42; | stropy(s+4,"123"); write(s); strcat(s,x); Considerand_declararea cout<a,’ ',x->b) i a91 j Rezolvare: O posibilitate de parcurgere si afigare a elementelor primului patra concentric al tabloului bidimensional a este prezentata de secventa pseudocod: 1S corect: a - intr-o lista liniaré simplu tr _- campul info o valoare unmator din list’ sau niit P retine adresa primului et tru i€1, ti serie A[1,1] * en a m executé scrie A[1,1i] element, in aceasta ordine tru i€2,n execut& scrie A[i,n] -, executairii secventei de ins a : (Pascal ntru i€n-1,1,-1 executé scrie A[n,i] while : Me (p* -urme>nil) and (p<> tru i€n-1,2,-1 executé scrie Ali,1] @o begin = praemseps ume Pisp*.urm; write(p*.info,’ * end; b 24 1s corect: d ‘Se considera un graf neor fsumarul de muchii ce pot | ‘ambore? : corect: 3081 Ce se va afisa fn urma e wariabila s memoreaza sin @e tip intreg? |WARIANT§@ 010 1. Considerand declararea aldturaté, care dintre urmatoarele secvente de instructiuni afiseazd valorile memorate tn cele doua cAmpuri ale variabilei 2, separate printr-un spatiu? (4p.) (Pascal (C/C+4) type p=record struct { a,b:integer int a; . end; int b; var x:D) yap write(x.a,‘ ‘,x.b)? a. cout<a,‘ ‘,x->b); | d. cout<x<<" “<x; | printf ("%d Xd", a->x, b->x); Raspuns corect: a 2. - intr-o lista liniaré simplu Inlantuita, alocata dinamic, fiecare element retine in - Campul info o valoare intreagd, iar in campul urm adresa elementului urméator din lista sau ni 1/NoLL daca nu existé un element urméator. Variabila P Tefine adresa primului element din list. Lista confine, incepand de la primul element, in aceasta ordine, valorile: 2, 3, 4, 5, 6, 7, 8. Ce se va afiga in urma ., executarii secventei de instructiuni alaturata? (4p.) (Pascal) (C/C+) while > while’ (p->urm!=NULL&&p!=NULL) (p* .urm<>nil) and(p<>nil) { p->urm=p->urm->urm; do begin Pap->urm; pS .urm:=p*.urm*.urm; cout<info<<’ 7 Prep*.urm; ? write(p*.info,‘ *) end; a258 b 248 oe 2468 1 ad 468 puns corect: d Se considera un graf neorientat cu 80 de noduri $i 3160 muchii. Care este numérul de muchii ce pot fi eliminate astfel inc&t graful partial obtinut sa fie arbore? 6p.) 1S corect: 3081. Ce se va afiga in urma executarii secventei de instructiuni alaturate daca variabila s memoreaza sirul de caractere abbacdde, iar vayiabila i este de tip intreg? (6p) 129 (Pascal) (C/C++) deel; - 4=0) fA 011 while i (CCH) p- ‘Scriefi un program Pascal naturale nenuiee sin (aco [A O11 "et Se considerd. graful orientat reprezentat prin matricea de adiacent&'alaturaté. Care este lungimea maxima a unul drum de la varful 4 pana la varful 6 format din varfuri distincte doud cte doua (lungimea unui drum este egala cu numarul de arce care compun acel drum)? (4p) ad bs od da HHOoOGe uw oreooF HorooF 200000 eorone \eHoOKnO Rilspuns corect : a (drumul care trece prin nodurile 4,58,1,2,6) Cte grafurl neorlentate, distincte, cu 5 varfurl, se pot construl? Doua grafuri 8 considera en daca matricele lor de adiacenta ‘sunt nee) (4p.) as . 0.2" Rispuns corect:c ~ (Flecdrul graf ti corespunde o functle £+{ (4,49) |4, 184,395) (0,1) Care asociazé perechil de varfurl dietincte (4,3) valoarea 0 decd nu existé muchlie de la 4 la J, altfel 1. Numarul grafurllor cu cAte m varfurl este egal cu - ~ numérul aoestor functl, adica 2% Fy Ce se afigeazé pe ecran fn urma exeoutdril secventel de program aldturate, tn care variablla a memoreaza un gir cu oe! mult La caractere, lar 4 este de tip Intreg ? (6p.) (Pascal) (C++) aue'abracadabr atropy(s, "abracadabra")) weitela(length(s))) int im0) domdy cout<nr+p->urm->nr+p->urm->urm->nr Scriefi un program Pascai|c/c++ care citeste de la tastatura doud valori naturale nenule.m si n (mS10, n$10) gsi apo! m*n numere naturale nenule cu 131 5. Scrieti un program Pascal|c/' ‘C++ care citeste de la tastatur doud naturale nenule m sin (S10, nS10) si apoi m*n numere naturale nenule! cel mult 4 cifre fiecare, reprezentand elementele unei matrice cu m linii coloane. Programul determina apoi valorile minime de pe fiecare lini matricei gi afigeaz4 pe ecran cea mai mare valoare dintre aceste minime. 96 5 4 7 Exemplu: pentru m=3, n=5 gi matricea|9 6 12 9 10 , S@ afigeaza 513 7 2 3 ecran valoarea 6 (cea mai mic& valoare de pe prima linie a matricei es! cea mai mica valoare de pe linia a doua este 6, cea mai mica valoare de} linia a treia este 2. Cea mai mare dintre aceste trei valori este 6) (1 Rezolvare: Se parcurge matricea a pe linii si pentru fiecare linie se dete valoarea minima. Se compara aceasti valoare cu cea mai mare valoa tuturor minimelor obtinute anterior. O posibilé implementaré a acestej so este prezentata de secventa pseudocod: max0 ppentru i€i,m executé | min€ali,1] pentru j€ 2, n executd | ee ali,j] max atunci max € min : a scrie max | | ! 132 Un graf orientat este repre matricea de adiacenta alat. dintre varfurile grafului exterior un numéar impar? a. 1,3,4,5 b. Raspuns corect: b Intr-o lista liniard simplu init cAmpul inf un numér intre §st4 sau nil | NULL in cazul SStei este retinuta in variabi prim. Daca in lista sunt mer in figura dé mai jos, care va instructiuni alaturate? > 1+? (Pascal pr=prim; prim:=p*.urm; p*.urmisnil; prim .urm*.urm*.urm:=p _a1324 23 R&spuns corect: b Pentru arborele cu radacina urmatorul vector de , tati” tat arborelui si care sunt descen Raspuns corect: Radacina: 8 Descendentii directi ai nodulu Scriefi ce se afigeaza pe ex alturate, In care variabila s | variabila 4 este de tip intreg? 1 fA 012 ‘Un graf orientat este reprezentat prin matricea de adiacenfa alaturala. Care dintre varfurile grafului au gradul exterior un numar impar? (4p.) eoonee eoconH ecoorHS HoHooe ecoorne a 1,3,4,5 b. 2,3,4,5 1,4,5,6 d. 2,3,5 R&spuns corect: b = Intr-o lista liniar& simplu Inkintuita, alocatd dinamic, fiecare element retine in cAmpul in€ un numér intreg, iar in cAmpul uxm adresa urmatorului nod din list sau ni1|NuLL in cazul ultimuiui nod al listei. Adresa primului element al listei este retinutd in variabila prim, iar p este o variabild de acelasi tip cu prim. Dacd in lista sunt memorate, in aceasta ordine, numerele 1, 2,.3, 4 ca in figura de mai jos, care va fi continutul listei in urma executarii secventei de instructiuni alaturate? (4p.) 5 3 = _ (Pascal (C/C++) preprim; p=prim; prim:=p*.urm; _{ prim=p->urm; p*.urmisnil; p->urmeNULL; prim*.urm*.urm*.urms=p; prim->urm->urm->urm=p; al324 b2341 e.4123 a 1432 Raspuns corect: b Pentru arborele cu rédacina, cu 9. noduri, numerotate de fa 1 la 9, avand urmatorul vector de ,tati” tata=(8,7,6,6,7,7,8, 0,8), care este radacina arborelui si care sunt descendentii nodului 7? (6p.) Raspuns corect: Radacina: 8 Descendentii directi ai nodului 7: 2,3,4,5.6 Scrieti ce se afigeaza pe ecran in urma executarii secventei de program al&turate, in care variabila s memoreaza un gir de cel mult 12 caractere, iar variabila i este de tip intreg? (6p) 133, (C/C++) char s[13]="informatica*; informatica’; cout<0 | for (i=0iref) } biea; asea*.ref ;end; ‘a. Nodul aflat fn mijlocul liste b. Penuitimul nod al listei ‘ c. Ultimul nod al liste! » _@.Nodulal trelles din list& Rispuns corect: b . ‘Seriet/ listele de adiacenta prin care este reprezentat un graf neorientat conex, cu 6 nodurl, numerotate de la 1 la 6,-care este eulerian, dar NU este hamiltonian: (4p.) ins corect: O solutle posibilé este: 1:2,4) 211,37 312,4,5,67 4:1,3; 513,67 613,57 Scrietl ce se afigeazi pe ecran tn urma executaril secventel de program aldturate, in care variablia s memoreazé un gir de cel mult 12 caractere, lar varlablla 4 este de tip Intreg. (6p.) (Pascal) (C/C++) wsis'abodefghoid'; 1:=1) char s[12]="abcdefghoid"; write(length(s))7 dnt ded; while i0 printf ("%d",strien(s))7 then delete(s,i,1) while (i! a > NIL do if p*.inf moa 5<: srastp*.inf; Di=p*.ref uy writeln(' ', a2 oH Raspuns corect: c Ce se afigeaza pe ecran in care variabila s memoreaza J sunt de tip intreg? (Pascal s1m'abcduecda'; ital; jrmlength(s); writeln(length: while iNIL do while (p->ref!=NULL) begin 0) if p*.inf mod 5<>0 then s:=s+p*.inf; e =p .ref cout<0 executé | a € nel; y €fy/10] Ce 1 1 7 ] ppentru j@1,n executd | ppentru 4 © 1,n executé [| attsd1 © x % 20 | | x€ (x/10] Ce scrie matricea A o Intr-o lista liniara simp! campul ref adresa urr element al listei, iar inc Adresa primului eleme: variabila de acelasi tip « (Pascal preprimy while (p\.inf mo (Dinf%*2==0)&& 1 (pommL) do (pI=NULL)) * p=p->ref; Disp’ .ref; if (pl=NULL) If powIL cout <<(p->inf) 5 then writeln(p*.inf) | printé(*%d",p->int); else writeln('Nu');. else cout<<"NU";| printf# ("NU"); a. Toate valorile impare din listé daca | a. Prima valoare impara din list, daca astfel de valori existé si NU in caz | aceasta exista gi NU in caz contrar. contrar. b. Prima valoare para din lista, daca b. Toate valorile pare din lista dacd | aceasta exista si NU in caz contrar. astfel de valori existé gi NU in caz | ¢, Toate valorile impare din list dac& contrar. : astfel de valori ‘exist& si NU in caz c. Prima valoare impara din list, daca | contrar. aceasta exist gi NU in caz contrar. d. Toate valorile pare din listé dacd d. Prima valoare para din lista, daca | astfel de valori existé gi NU in caz aceasta exista gi NU in caz contrar. contrar. R&spuns corect: c. 2 Cati frafi are nodul 1 din arborele cu radacina cu 7 noduri, numerotate de la 1 a la 7, avand urmatorul vector “de tafi": (5,1,5,1,0,7,5)? (4p.) a3 ba 0 d.2 R&spuns corect: d : 3. Ce'se afigeaza pe ecran in urma executarii secventei de program alaturate, in care variabila s memoreaza un sir cu cel mult 10 caractere, iar variabila 4 este de tip intreg ? (4p.) (crc) 4e0; char s{11]="abaemeiut"; do cout<0) | printé("%d",strien(s))7 then while (icstrlen(s)) . begin if qGgeteterdsa)1 dsedea (strohr(*aedou",s[4]) 1=NOLL) ) { strepy(s+i,s+i+1); deis1; } imde27 ce <<" <nrex->urm->nr) /2<=4.75 141 Ce se va afiga In urma executrii secventei de program aldturate stiind ‘A 017 variabila a memoreaza un gir cu cel mult 100 de caractere, iar variabilele 4 x sunt de tip intreg? (6p.) intr-o lista liniaré si (Pascal) (C+) memoreaz’ in cAmpi Kimord(’a’)-ord (at), | kerar-tary : elementului urmator d a:e/clasa a-XII-a A’; stropy(a,"clasa a-XII-a A”); element urmator. List writeln(a); cout<eraragali}j gi jon-d+1 atuncd a2 | fae ayye3 a corect: 'b Care este gradul maxin dintr-un arbore cu n nov afigeazd matrices a corect: gradul max 1 2 2 VARIANTA 017 R&spuns corect: gradul maxim =n-1 si gradul minim=1 jintr-o list tiniaré simplu inlanfuita, alocaté dinamic, fiecare element memoreazi fn campul mr un numéar intreg, iar In campul urm adresa elementului urmator din listé sau valoarea NIL/NULL dacd nu existé un element urmator. Lista contine. exact trei elemente ale caror adrese sunt memorate in variabilele p, q $i x. Stlind ca: : (Pascal) (C/C++) PA.nrel, e¢q*.nre2, r4.nre3,|p->nre=1, q->nr==2, ps .urm<>NIL gi r*.urmag, r->nre=3, ; p->urm!=NULL gi r->urm=sq, care este ordinea numerelor din lista? (4p.) a1s2 b123- e213 d322 Raspuns corect: a Care dintre urmatoarele variante reprezint’ o declarare corecté pentru variabil& x care memoreaza simultan codul de identificare al unui candidat la un examen, exprimat ca un numér natural de cel mult 4 cifre gi media obtinuta de acesta la examen, exprimata’ca un numar real? (4p.) (Pascal) (C/C++) type x=record struct x { int cod; float cod:integer; media;} x7 media:real : end; var x:record struct {int cod; cod:integer; float media;} x media:real end; var. x.cod:integer) int x.cod ; x-media:real; float x.media; type candidat=record a x.cod:integer; | struct candidat{int x.cod; x.media:real float x.media;)} Care este gradul maxim posibil gi care este gradul minim posibil pentru un nod dintr-un arbore cu n noduri (n>1)? (6p.) Ce se va afiga in urma executarii secventei de program al&turat’, variabila a memoreaza un sir cu cel mult 100 de caractere, iar variabila RIANTA O18 este de tip intreg? (6p.) Fiecare element al ur (Pascal) (C/C++) dinamic, memoreaza it a:=’bacalaureat’; strepy (a, "bacalaureat”); adresa elementului um writeln(length(a)); cout<0 | for(imO;ip do begin 5. Scriefi un program Pascal|C/c++ care citeste de la tastaturé un nui write(q*.val); natural n (2p do i agen begin write(q*.val); [ [2 xeacea . q:=q*.adr end; afigseaz& matricea a ee es 2 Care dintre urmatoan variabild x care memo ale unui punct in planu (Pascal) a@ - var x:record ox, oy: real end; b. var x:string[2]; c. type x=record ox, oy res end; a . var x:real; Raspuns corect: c. 2. Care dintre urmatoarele vari 1. Fiecare element al unei liste circulare, simplu inlanfuité, nevida, alocata . dinamic, memoreaza in campul val o valoare Intreaga, iar in campul adr adresa elementului urmator din list&. $tiind c& variabila p refine adresa unut element oarecare din lista, iar variabila.q este de acelagi tip cu p, precizati care dintre urmatoarele secvente de program afigeaza, in urma executarii, toate valorile memorate de elementele listei? (4p.) (Pascal) (C/C++) & arp; apr while q<>p do while(qi=p) begin {cout<val; write(q*.val); | print£(*%4",q->val); areq*.adr qeq->adr;} end; . b. as=pr a=pi while q*.adr<>p do while(q->adrl=p) begin {cout<val; write(q*.val); ° | printé ("%a",q->val)7 qiag*.adr aeq->adrs} end; ' aps c asp dot repeat cout<val; write(q*.val); | print£(*%4",gq->val)s g:=q*.adr q=q->adz; until q=pr }while(qi=p); da. qr=p*.adry q=p->adr; while q<>p do while(qi=p) begin {cout<val; write (q*.val); Pi q=q->adr;} q:=q*.adr end; jante reprezinté’o declarare corecté pentru o variabild x care memoreaza simultan coordonatele reale (abscisa $i ordonata) ale unui punct In planul xoy? (4p.) (Pascal) (CCH) a, + var x:record astruct punct{float ox,oy:} x). ox, oy:real end; b. var x:string{2]; b.char x[2]7 c. type x=record C.struct x{float ox,oy7}), ox, oy:real end; : dg. . var x:real;. d.float x; 145 Un arbore binar este un arbore cu rddacina In care fiecare nod are cel mult 24 ‘A019 descendenti directi (fii). Indltimea unui arbore este reprezentaté de numérull maxim de muchii ale unui lant elementar ce unegte ridacina cu un varf] terminal (frunza). Un graf neorientat es sunt adiacente. Care Pentru un arbore binar cu exact 8 noduri, care este inditimea minima posibild graf neorientat, comp’ si care poate fi numérul de-noduri terminale (frunze) in acest caz? (6p.) arbore? Raspuns corect: Inditimea=3 gi nr. noduri terminale=4 c a.15 4 In secventa urméatoare, variabila a memoreaza un sir “cu cel mutt 100 de Rispuns corect: a caractere, iar variabila 4 este de tip intreg. Completati punctele de suspensie din secventa astfel incAt aceasta si afigeze 2. Fiecare element al un } ar un numa girul de caractere *nf*rm*t*c*, _ (6p) nee sau ni [NO (Pascal, (CCH) fadresa primului elem a:=/ informatica’; strepy(a, informatica”); aitoarele secvente for itel to length(a) do | for(im0;i0 strehr(*aeiou”,a[i}) @ =«p*.adr*.adr* ore ver vee . (Rispuns corect: ¢ ali] ali} 3 Ce se va afiga in ut 5. Scrieti un program Pascal|c/c++ care citeste de la tastatura un numar variabila x memores natural n (2adr->val<p do |printé (*%d",q->adr->val) 7 q@ taq*.adr 7 while(q->adr!=p) write(q*.adr*.val); qeq->adry cout<adr->val; | printé (*%a7,q->adr->val); R&spuns corect: 5 4 4. In secventa urmatoare variabila a memoreaza un gir cu cel mult 100 de caractere, iar variabila i este de tip intreg. Completati punctele de suspensie, astfel inc&t aceasta s& afigeze doar literele mici gi literele mari din gsirul de caractere memorat in variabila a. ‘A021 (C/C++) f arm’Bac 2009 julie’; strepy(a,“Bac 2009 julie”); In secventa de mai jos, variabi for i:m1 to length(a) do | for(im0;i='a’ )and(afi]=/A‘)and (ali) <='Z") 7 eters (C/C+4) ali] >=/a' egal] =A‘eealilCr CPB) 8> Rispuns: in stiva valoarea 4, In * VARIANTA 021 1. In secventa de mai jos, variabila a memoreazéi un tablou bidimensional cu 20 de linii $i 20 de coloane, numerotate de la 2 la 20, cu elementele reale. Variablla p este reald, iar 4 este de tip Intreg. Care dintre instructiunile de mai jos poate inlocui punctele de suspensie astfel inc&t secventa s& determine memorarea in variabila p a. valorii produsului celor 40 de elemente afiate pe diagonalele matricei. (4p.) (Pascal (C/C+4) pels pel; for i:=1 to 20 do... for(iml;i ord isbyte, include Oct leiespare begin int main() notai,not readin(s); (int i; char s{251]; end; for i:=1 to length(s)-1 do | cin>>s; if s{i]=s(i+1] then for(1=0;4s[3] then ol dnc(i)) ded(j) okel then writeln(' weiteln('Incorect' Se considera un t (1sSmS100,1Sn<100), a program Pascal |C/c+ tabloulul gi care afigeaz care produsul element tabloului se numeroteaz vor afiga separate prin c Exemplu: pentru m=4 si 12 VARIANTA 025 1s Structura de date la care se aplica principiul ,primul venit, primul iesit’: (first in, first out) este: (4p.) @ = lista tnlntuité ob. stiva «c. coada d. graf orientat Raspuns: c. 2 Un graf neorientat cu & noduri are gradele nodurilor egale cu 1,2,4,2,3,2,1,x. Pentru ce valoare a lui x graful este arbore? _ ©p.) a eel b, <3 c. x>3 d. nicio valoare Rispuns: d. Suma gradelore2*numérul muchillor, lar un arbore cu m noduri are a=1 muchil. Deci ar trebul ca 1+2+4+2+3+2+1+x014, adic xe-2. 3. Se considera graful orientat din figura aldturaté. Care este numérui minim de arce ce trebuie addugate grafului 9 care @ @ sunt aceste arce, astfel incat oricare doud varfurl din graf sa fle unite prin drumurl elementare? 7 ® © Rispuns: 2 arce: (3,4) 1 (4,1) 4 Scrietl o ena de Inetructlun! Pascal |C/c++ care determina, tn urma executarll el, afigarea pe ecran a mesajulul Coreat dac& un gir de maximum 200 caractere, memorat de varlablla », este palindrom sau mesajul tncorect tn caz contrar. Un gir de caractere este palindrom dacé citlt de la tnceput la - este Identic cu girul citit de la sfargit la tnoeput. Exemplu: giru! de caractere cojoe este palindrom (4p.) Rispuns: Daci se solicitA 0 secventé de program, amintim c& este bine sa nu sorletl pe foala de examen tot programul, deoarece ceed ce este scris tn plus nu aduce Puncte supliimentare, tn echimb, daca contine eror!, punctajul poate fl diminuat. (Pascal) (C/C++) dimly Joslength(s); oksel) im0) jestrlen(s)-1) okel; while is(j] then ok:=0) € 4£ (sft) t=e(J]) ok=0, dno(i), ded(4) deep don7 end) ? 4f okel then writeln('Corect') | if(oke=1) cout<<*Corect”) @lse writeln('Incorect') else cout<<"Incorect”; 6. Se consider’ un tablou bidimengional cu m lini gi n coloane (1max atunci max€ct2 epic ipaderiets s oe de descendent directi (fi) ? tru j=ul,n executé : 2S 2€07 ct2€0 oo pentru i=1,m executa Care va fi sirul de carac dac& Ay=0 atunci z€0 altfel dac& Ay=2 ct2€ct2+1 aiéturate, in care variabila s dack 2=0 $i ct2>max atunci scrie 5," " (Pascal) si='raton’; s[2]:=8l41; write(s)7 ns: roton Intr-o stiva care memore adaugaté numai daca in valoare strict mai mare deci elementele care nu inde adauga valoarea x. xemplu: pentru stiva di este precedata de eliminar 10. Dupa addugaré, stiva v Daca stiva este inifial vic stiva dupa adaugarea, res 20,5,16,9,3,7,5,4,8 7 is: 4 a Stivei este prezentata ir Scrieti un program Pas: tastatura un numér natura tablou bidimensional A memoreaza numere natur pe ecran (dac& exist), elementele din matrice ca cu produsul celorlalte eler Pentru graful neorientat din figura alaturata, care este numarul de muchii ale celui mai lung lant, format din noduri distincte, ce are ca extremitati nodurile 1 si 3? (4p) ed 2 b 3 ce. 1 da 4 puns: d. ( lantul 1-2-4-5-3) Care este nodul ce poate fi ales ca radacina a 5 arborelui din figura alaturata, astfel incat fiecare nod care nu este de tip frunz& s& aib& un numér impar de descendenti directi (fi) ? (4p) ®) 3 bf 6 puns: c. }3. Care va fi sirul de caractere afigat dupa executarea secventei de program alturate, in care variabila s memoreaza un gir de cel mult 5 caractere? (6p.) (Pascal) (C/C++) =‘raton’; char s[]="raton”; s(2]:=8[4]; sti)=s(31; ~ write(s); cout< Rast Rage Ans*ag" s+ ay Un element nul va fi afigat numai daca pe acea coloand mai exist cel pufin 0 vaio nula. (Pascal) var . ararray[1..9,),.9] of bytey’ mule: array[1..9] of byte; prarray[1..9]of 1 . n,4,j nrebytey ae begin readin(n); for i:ml to n do pii] ral; for it=1 to n do for jrel ton do begin read(ali,j])s -Ptj)=ptjl*ali,jiy df afi,j]=0 then nule[j} :=nule(j]+1 end; for d:=1 to n do for j:=1 to n do af (afd] [J]>0) ana (ali, j)*ali,j]=p) or (ali,j]=0)and (nule[j]>1) then begin write(ali,j],' '); ine (nr) end; if nre0 then write(*NU EXISTA’) “a 162 Daca nu exista astfel de elemente, programy) va afiga pe Care este numarul minim ‘tn graful orientat din figura varf s& apartina unui circuit al b.2 (10p.)| * tru k€1,n : executd . ica it k atuned Raspuns corect: a. (se ade Pep ars ‘ Care este numarul noduritc moduri, numerotate de la (2,0,6,2,4,4,5,5)? 3 b 4 Réaspuns corect: b. (noduri fh deéclararea alituratd, ¢ faumératorul, respectiv numit ca Aap atuncd wserde Ay,’ * (crc+#) : instructiunile prin exec # Anclude Scriet i int A[91[9],n,4,J,nule[9},n ene ee long pi9]) void main(), {edn>>n for(iea0;d>afil (jl 7 (Pascal) PS] =plj]*Ali) (i]s W.xseF.x*@.y+G.x*F.y? SO ee myieP-y*a-y) for (190) ieny1+e) list® liniard simply Tolanfuit for (Ju0sJ1) {eout<nil do begin PA.urm ors while(p->urm! =NULL) (p->urm->nr=p->nr*p->urm->nr; pep->urm y p*.nr*p*.urm*.nr; ” Stiind ca variabila prim memoreaza adresa primului element al listei si ca p este o variabila de acelasi tip.cu prim, care va fi valoarea retinutd fn ultimul element al listei dup’ executarea secventei de program de mai sus? (4p.) R&spuns corect: 120 (dupa executarea secventei elementele listei sunt in ordine 1,2,6,24,120) Scrieti un program Pascal|c/c++ care citeste de la tastaturé un numér natural n (2 ant a(11)(11],n,4,3; void main() { cin>>n; for(isl;icenji++) AL1] [1] sA[i] [1] Afi] [n]=1; for (i=2;inil do p*.nr t= p*.urm*.n pr=p*.urm end; pe.nri=x; Raspuns corect: 2,3,4, valorilot din lista) Sirul de caractere s2 es obtine din s1 prin elim considera vocala orice lite Scriefi programul Pasca format din cel mult 20 lit (dacd exist’), toate “ck ecranului. Exemplu: pentru cuvant neaparat In aceasta ordin Care este numarul minim de ‘muchii ce pot fi eliminate din graful aldturat astfel inc&t in graful partial rezultat sa existe exact un vari de grad 0? (6p.) aol b 3 ec 2 4d. 5 Raspuns corect: b. (gradul oricdrui nod este mai mare sau egal cu 3) Intr-un arbore cu radacina nivelul unui nod este egal cu lungimea’ lantului format din noduri distincte care uneste rédacina cu acel nod. Radacina se afla Pe nivelul 0. Daca toate frunzele se afla pe nivelul 3 si oricare nod neterminal aflat pe un nivel k are exact k+1 descendenti directi (fii), care este numarul de noduri din acest arbore ? (4p.) a 8 b, 9 ce. 10 a 6 Raspuns corect: c. intr-un tablou bidimensional a cu a linii sin coloane not&m cu a,;.elementul aflat pe linia i si.coloana j (1SiSn, 1$4Sn). Care este valoarea expresiei j-i daca elementui a,; este situat pe diagonala principal a tabloului a? (4p.) Raspuns corect: 0 (orice element aflat pe diagonala principal este de forma ai) O lista liniaré simplu inlantuita, alocaté dinamic, retine in campul nx al fiecérui_ element cate un numar. natural, iar In campul urm, adresa elementului urmator din listi sau nil|NoLL dacd nu existé un element urmator. Lista memoreaza, in ordine, doar elementele 1,2,3,4,5. $tiind ca variabila prim memoreaza adresa primului element al listei si cA p este 0 variabila de acelasi tip cu prim, care sunt, in ordine, elementele listei dupa executarea secventei alaturate? (6p.) (Pasca (C/C++) pisprim; x:=p*.nr; psprim; x=p->nr; while p* i while(p->urm! =NULL) pean {p->nr = p->urm-onr; D:=p*.urm end; pep->urm;} pe nri=x; po>nrex; Raspuns corect: 2,3,4,5,1 (secventa realizeazd o rotatie catre sténga a valorilor din lista) Sirul de caractere s2 este “clona” sirului de caractere s1 dacd se poate obtine din s1 prin eliminarea tuturor aparitiilor unei singure vocale. Se considera vocala orice litera din multimea {a.e,i,0,u}. ‘Scriefi programul Pascal |c/c++ care citeste de la tastaturé un cuvant format din cel mult 20 litere mici ale alfabetului englez gi afigeaza pe ecran (daca existd), toate “clonele” acestui cuvant, fiecare pe cate o linie a ecranului. ; Exemplu: pentru cuvantul informatica se afigeaza, nu | nformatca neaparat in aceast’ ordine, “clonele” scrise aliturat. (10p.)| infrmatica informtic 165 Pentru afigarea clonelor sirului este suficient ca pentru fiecare vocal& ca apare in sir s4 se parcurga sirul si se afigeze doar caracterele diferite aceasta (se afigeaza sirul initial din care am eliminat toate aparitiile vocalei) (Pascal) var s:string[20];1,j:byte; voc:string[5]; begin readln(s) ;voc:=’aeiou’; for i:=1 to 5 do 4£ pos(voc{i],s)>0 then begin for jrm1 to length(s) do af s[j]<>voc{i] then weite(s[J])7 writeln end end. (C/C++) # include # include char 8[21],voc[]="aeiou"; dnt 4,47 void main() . {ein>>s; for(im0;iq) and(q*- begin pr=p*.urmy areq* precy neentl end; R&spuns corect: 7 Explicatie. Structura 1 simultan din cele doud pentru care q memore p. Prima conditie este in cea de-a doua conditie i realizeazd doud deplass Valoarea 3 se obtine atu Care este numarul maxim de noduri de grad 3 intr-un graf neorientat cu 5 . (4p) noduri? a 4 Raspuns corect: a. Intr-un arbore cu ridcind nivelul unui nod-este egal cu | @ lungimea lanfului format.din noduri distincte care unegte radaicina cu acel nod. Care dintre noduri trebuie ales ca raidlicindsn arborele din figura altturatd astfel Inc&t pe fiecare nivel 88 se gseasc’ un numarimpardenodur'? ——_(6p.) b 5 e 3). : @ ® a 2 b.. 3 « 6 a4 Raspuns corect: d.. Care va fi girul de caractere afigat pe ecran dup& executarea secventei de program alaturate In care variabila s memoreaza un gir cu cal mult 4 caractere, iar varlabila t un caracter? é (4p.) (Pascal (C/C++) sre/arac’; char s[]="arac”; trme(2);m(2] see [4]7 tas(1] pe(llae[3]se[3]=/t' 7 wCA}emrt'; cout<q)and(q*.urme>p)do .| while(pi=q && q->urml=p) begin p:=p*.urm; . { pap->urm qieq*.prec; q=q->precy aimnel nentl; end; ? R&spuns corect: 7 Explicatie. Structura repetitiva se Incheie atunci cAnd se ajunge, pornind simultan din cele doud capete, fie pe acelasi nod, fie pe doud noduri vecine pentru care q memoreaza adresa unui element aflat Inaintea celui retinut de yp. Prima condifie este Indeplinita in cazul in care numérul de noduri este impar, iar cea de-a doua conditie atunci cand numarul de noduri este par. La fiecare pas se realizeazd dou’ deplasari, Valodrea 3 se obtine atunci cand num&rul de nodurie (6,7). 167 Seriefi un program Pascal|c/c++ care citeste de la tastatura un numar natural n (1<=n<=6) si elementele unui tablou bidimensional a cu.n linii si m coloane, care memoreazé numere naturale nenule mai mici dec&t 100, gi afigeaz4 pe ecran produsul numerelor “pivot” pentru matricea A daca exista astfel de numere, altfel va afiga mesajul NU EXISTA. Un numar natural x este “pivot” pentru matricea a daca Inmultind ‘elementele unei alte coloane din matrice. Exemplu: pentru matricea din figura alaturaté se afiseaza 8. 1 Rezolvare. Se calculeaz4 pentru fiecare coloana j, % w8Ai3/a1. si Se verificd faptul cd toate celelalte elemente ale coloanei respecta relatia Ayy=A,1*x. (Pascal) (C/C++) var A:array[1..7,1..7] of byte; # include n,i,j,k,ok:byte; int AL7][7],n,i,5,%3 prlongint; long p=l,ok=0; begin void main() readin(n) ; { cin>on; for i:=l to n do for(iel;icun;i++) for j:=1 to n do for (j=1)j<=njj++) read(Ali,j]); < cin>>aAlil (jl: for j:=2 to n do for (j2a;jprim) do while(p!=prim) begin q:=psp:=p*.urm; {a=pip=p->urmy ultim*.urmi=q; ultim->urm=q; ultia:ag ultimeg; end; , : } ultim*.urm:=nil; ultim->urm=NULL; Ra&spuns corect: 3 Explicatie. Secventa muta ultimul ultimul element la inceputul liste. Scriefi un program Pascal|c/c++ care citeste dé ia tastaturad un numér natural n (2- Scrlefi definitia corect2 a:array[1..15,1..15] of longint, | unsigned long A[16][16]) intro singuré variabi begin unsigned n,i,j,k; autoturism: marca (cuy readin(n); void main() natural format din exac for i:=1 to n do begin { cin>ony $8 aib& ca valoare ve ACL, 4] :81)A(4,2] 91 end; for (im1jicmnji++) variabila x. for i:=2 to n do ALL] [4] @A[4] [1] =1) for J:=2 to n do for (1e2;i Cout< # include struct nodt char info[211; nod *urm;}7 char s(21]; int n,i; nod *prim,*p; void main() t cout<<"n="; cin>>n; prim=NULL; for(i=l;i>: » if(s[0]==cuy [strlen(s)-1}) { p=new nod; strepy(p->info,s); p->urm=prim; prim=p; a + for(p=primsp; p=p->urm) cout<info<<" "7 > vA 032 Un graf orientat este 1 Bstelor de adiacenta scri care au gradul exterior eg 295 b. 1,3 Raspuns corect: b. Graful neorientat cu 8 no este reprezentat cu ajt aééturate. Pentru acest gra Graful este hamiltonian Gradul maxim al unui nod « R&spuns corect: d. Intr-o structuré de date d ummatoarele valor: 3, 10, 2 oad’ daca s-au efectuat, unui element, addugarea ve Raspuns corect: 8 In secvenfa alaturaté, vari memoreaza o matrice in ca Toate elementele matricei ¢ Scrieti in ordine, Incepand « fnie_a matricei. (Pascal for jr=1 to 6 do for i:=3 downto 1 dk ALi, Jj] md+de R&spuns corect: 3, 4, ! (A[2] (1) =3, A[2} [2] =4,] Scrieti un program Pascal 1 si c2 (litere distincte ak caractere (doar spatii si | inlocuind toate aparifille ca toate aparitiile caracterului afigeaza pe linii separate ab efectuarea inlocuirilor. xemplu: daca pentru cl este: hocus pocus preparatt se va afiga : hocys pocus preparat hacus pacus preporot Un graf orientat este memorat cu ajutorul | 1: (5,6) 4:(1,2) listelor de adiacenjé scrise aldturat. Nodurile | 2:(1,5,4) | 5:(2) care au gradul exterior egal cu 2 sunt: (4p.) | 32(2,5) 6:(2,4,5) 2915 b.1,3 si 4 c. 6 d.2si3 Raspuns corect: b. Graful neorientat cu @ noduri, numerotate de la ila 8,/911100 este reprezentat cd ajutorul matricei de adiacenti| 193 83% alaturate. Pentru acest graf este adevarata afirmatia: reece O11001 810110 ooooeo - (4p) aooococe Graful este hamiltonian b. Graful nu are noduri de grad 6 Gradul maxim al unui nod este 3 d. Graful are trei componente Conexe R&spuns corect: d. intr-o structuri de date de tip coadé au fost adéugate, In aceasta ordine, urmatoarele valori: 3, 10, 2, 8 si 6. Care este ultima valoare care s-a extras din coad& dac& s-au efectuat, In aceasta ordine, urmétoarele operatii: extragerea unui element, adaugarea valorii 100, extragerea a trei elemente. (6p.) Ra&spuns corect: 8 In secventa alaturata, variabilele i si 3 sunt de tip intreg, iar. variabila a memoreaza 0 matrice in care prima linie si prima coloana sunt numerotate cu 1. Toate elementele matricei primesc valori in urma executarii secventei. Scrieti tn ordine, incepand cu prima coloana, doar elementele situate pe a doua linie_a matricei. (6p) (Pascal) (CCH) for j:=1 to 6 do for (jai; j<=6; j++) for i:=3 downto 1 do for (i=3;i>—1;4--) AL, J] s=d+ds ALA] [J] aitg Raspuns corect: 3, 4, 5, 6, 7, 8 (A(2] (41 =3, AL2] [2] =4, [2] [3]=5, A[2] [4]=6,a(2] 1517, A[2) (618) Scrieti un program Pascal |Cc/c++ care citeste de la tastatura doua caractere 1 si 2 (litere distincte ale alfabetului englez), gi un text avand cel mult 250 caractere (doar spatii si litere ale alfabetulut englez), pe’ care il modifica inlocuind toate aparitiile ‘caracterului memorat In c1 cu cel memorat in c2 gi toate aparitille caracterului memorat in’c2 cu cel memorat in ¢1. Programul afigeaza pe lini separate ale ecranului atat textul initial cat si textul obtinut dupa efectuarea inlocuirilor. (10p.) Exemplu: daca pentru c1 se citeste a, pentru ¢2 se citeste o iar textul citit este: hocus pocus preparatus se va afiga : ‘ Pocus preparatus hacus pacus prepgrotus 173 Rezolvare: se Parcurge = (t ; ' extul introdus), a Sesto sperilecaractorui od cu 2g oe ae (pentru fimbojul fest a eet gi cu u pozitia utimului caracter din sir usstrlen(s)-1). " (a); jar pentru limbajul c/c++ pao eitegte cl,c2 citeste s scrie s serie randa nou pentru i€p,u executs péack sfi}=cl atunci s[i: | altfel aha | = s[il=c2 atunci sfi]€o1 scrie s Sree em qu ajutorul listelor de adi dintre_ multimile , urmatoare elementele extremitati ale 2 cu cealalta extremitate in {1,4,6) b. (2) R&spuns corect: a. Un arbore cu radacina reprezentat prin vector 8,3,5,6,8). Numarul tu 3 * b 6 Ra&spuns corect: c. Scriefi definijiad corect& a Intr-o singura variabila x abscisa gi ordonata centr acestuia (numar real), as cercului ale c&rui caracter a*x.raza Raspuns corect: (Pascal) type cercsrecord abscisa, ordonat raza:real end; In secventa de mai jos, ' memoreaza o matrice in 1. Toate elementele mat Scrieti in ordine, incepan a matricel care se va con (Pascal) mr525 for jrml to 5 do for i:=1 to 3 do begin alj,d) sexzxe= end; Raspuns corect: 23 4 5 6.7 8 9 10 aa 12 13 14 15 16 ‘Se considera graful neorientat cu 6 noduri, definit | 1: 4,5,6 cu ajutorut listelor de adiacent& alaturate. Care | 2: 5 dintre mulfimile. urmatoare de noduri are toate | 3+ 4 elementele extremitati ale unor lanturi de lungime 2-cu cealalté extremitate in nodul 57 (4p.) {1,4,6) b. {2} e. (3) d. {2,6} Raspuns corect: a. Un arbore cu radacina are-nodurile numerotate de la 1 la 18 gi este feprezentat prin vectorul de. tati t:(8,8,0,3,4,3,4,7,1,2,3,3,7) 8,3,5,6,8). Numarul tuturor descendentilor nodului 3 este egal cu: (4p.) 30 b. 6 ce. 17 dad 18 Raspuns corect: c. Scrieti definitia corecta a unui tip de date necesar pentru a memora simuttan intr-o singura variabilé x de atest tip, urm&toarele caracteristici ale unui cerc: abscisa si ordonata centrului cercului (numere intregi cu cel mult 4 cifre) si raza acestuia (numér real), astfel incat expresia de mai jos s& calculeze diametrul cercului ale carui caracteristici sunt memorate In variabila x. 2*x. ra: 6p.) Raspuns corect: (Pascal type cerc=record abscisa,ordonata:integer; |{ int abscisa,ordonata; vaza:real float raza); end; In secventa de mai jos, variabilele 4, 4 si x sunt de tip intreg, iar variabila a Mmemoreaza 0 matrice in care prima linie $i prima coloana sunt numerotate cu 1. Toate elementele matricei primese vatori In urma executdrii secventei. Scrieti in ordine, incep&nd cu prima coloand, elementele situate pe fiecare linie a matricel care se va construi in urma executdrii secventei alatwate. (6p.) (Pascal s (C/C++) xrm2; lees for j:=s1to 5 do for (j=1)5<=5; j++) for i:=1 to 3 do for (i=1;i<=3;i++) begin {atj] =x; alj,i) sexpx:exel emat Ly ? 8 9 10 11 12 13 1415 16 O listé dublu inlantuita, alocaté dinamic, memoreazé in cémpul info: fiecdrui nod un numér real, iar in campurile urm gi prec adresa urmator, ‘respectiv precedent din list8. sau NIL|NULL daca nu existd un ele si 7 neorientat cu 60 urmétor, respectiv precedent. Adrasa primului nod este memorat& in vari oon Pp Considerandu-se creata fista Necesare definiri listei precum si secvenja de program Pascal|C/C++ cf modifica lista, inserand dupa fiecare valoare negativa din list, un nou nod,t Care se va memora valoarea 0, dupa efectuarea acestei operatii, Rezolvare: (Pascal) type pnod=“nod; nod=record info:real; urm, prec:pnod end; var prim, p,q: pnod; pi=prim; while p<>nil do if p*.info<0 then begin new(q); q*.info:=0; q*-urm:=p*.urm; @.prec:=p; p*.urmiag; if q*.urm nil do begin write(p*.info,’ '); P=p*.urm end; dublu inlantuita, scriefi declararile de 4 si afigeaza toate informatille din nodurile 5 (10 (C/C+4) struct nod{ float info; nod tum, ‘prec; prim, *ps*a: jp=prim; jwhile(p!=NULL) t if (p->info<0) { qenew nod; g->info=0; g->umm=p->urm; q->prece=p; p->urm=g; if (q->urm! «NULL) Co rape >preceq; D=p->urm->urm; } else‘p=p->urm; for (p=primsp:p=p->urm) lcout<info<<" 7; | print£(“%f “,p->info); 176 muchiile [1,601, 160, conexe ale grafului este e 3 b. 56 Raspuns corect: b. fntr-un arbore cu radécing este rAdacind, iar intre ce este tatdl celui cu num&rul tati al arborelui astfel defin (0,1,2,3,4,5,6,7,8,5 (2,3,4,5,6,7,8,9,10, Raspuns corect: c. Int-o fist simplu inkéntu urmatoarele valori: ae B |->| +> Daca p este o variabilé can element refine in campul MILINULL dacd nu existé elementul a cdrui adresa o (Pascah pr=p*.urm; while p*.urm*.urmB }->f +> }->5 ]--B } fag Daca p este © variablla care refine adresa primului element al listei si fiecare element retine in campul urm adresa elementului urmator din list’ sau. NILINULL dac&d nu existé un element urmator, care este informatia din elementul a carui adresa 0 va refine p in urma executarii secventei alaturate: (6p.) (Pascal (GiC+H) Pi=p*.urm (P=P->urm; while p4.urm*.urme>NIL do ile (p->urm->urm! =0) Pi=p*.urm*urm; pep-ourm->urm; Ra&spuns corect: 9 (dupa executarea secventei p va refine adresa penultimului nod din list&) Ce se va afiga in urma executarii secventei aldturate, In care variabila c memoreaza un sir cu cel mult 20 de caractere, iar 4 este o variabild de tip intreg? (6p.) (Pascal) (C/C++) crm'tamava'; char c[21]="tamara",*p; for i:=1 to length(c) do for (i=0;iNIL) and * (p4.dnfo MoD S<: begin 7 auxi=p; Pi saux* next ;dispose( nd; toate numerele din stiva sur doar primul elémént din stivé In stivé nu s-a memorat niciu doar ultimul element memor R&spuns corect: c. Ce se va afiga In urma ex memoreaza un gir cu cel m intreg? (Pascal) crs‘tamara'y irmd; while i>=1 do begin c(i] :mcfi+1] ,i:= write(c); Raspuns corect: rrrrra| a Un graf neorientat cu 10 nox fa 10, este reprezentat c adiacenta aldturate. Cate co graful si care este numérul trebuie addugate pentru ca gr Raspuns corect: 5 compon conexe $i 4 muchii. 0 22 i (A 035 446. 1. Se considera graful neorientat cu multimea nodurilor (1,2,3,4,5,6,7,8) $i mutimea muchillor (£1, 21, (2,31, (2,43, [4,71, (2,61, (1,51, [5-6], (6,81, 7,81}. Pentru a trasforma graful Intr-un arbore, putem elimina: (4p.) @ muthiile 1,53 si [1,2] b. muchia {5,6} © nodul 3 d. muchille{2,6) i [4,7] Réspuns corect: d. 2 Se considera o lista alocat& dinamic care are cel putin 10 elemente si fiecare element al listei memoreazé in cAmpul info un numér Intreg, iar In campul ext adresa elementului urmator fn lista sau NIL{ NOLL dacd nu exist un element urmator. Variabila » memoreazd adresa de inceput a listei, iar variabila aux este de acelasi tip cu p. Dac& fn urma executarii secventei alaturate de program, variabila » are valoarea NIL| NULL, atunci: (4p.) (Pascal) (C1C+) while (p<>NIL) and while (p @& p->info%51=0) * (p4.info MOD 5<>0) do [{ . begin aux=p; aux:=p7 peaux->next; Preaux’.next;dispose(aux) | delete aux; /free(aux); end; ? toate numerele din stivé sunt divizibile cu 5 doar primul elemént din stiva este divizibil cu 5 In stiva nu s-a memorat niciun numar divizibil cu 5 doar ultimul element memorat fn stiva este divizibil cu 5 Raspuns corect: c. rn & = Ce se va afiga in urma executarii secventei alaturate, In care variabila c memoreaza un sir cu cel mult 20 de caractere, iar variabila 1 este de tip intreg? (6p.) (Pascal) (CCH) crm'tamara'; i:a4; jchar c[]="tamara"; ‘ while i>=1 do Jfor(i=0;1<374++) begin c[iJ]:ec[i+1] ;izei-1;end; | cli]=c(iti]; write(c); cout<<¢; [printf (*%s",c); Raspuns oorect: rrrrra|amaara 4 Un graf necrientat cu 10 noduri numerotate de la 2 [274°° FS la 10, este reprezentat cu ajutorul listelor del3,3,5 jesa adiacen{& alturate. Cate componente conexe are |¢;2,8 9: = graful si care este numarul minim de muchii_ce|5;1,3 10:7 trebuie addugate pentru ca graful sa fie conex? (6p.) R&spuns corect: 5 componente conexe si 4 muct Scrieti programul Pascal |c/c++ care citeste de la tastatura un numéar na nn (n<50) gi construieste in memorie o matrice cu n linii gi m coloane, c&rei elemente sunt numere tntregi citite de la tastatura. Pentru fiecare colo ‘a matricei, In ordine, programul afigeazi pe ecran cel mai mic numar de respectiva coloana. Numerele afigate vor.fi separate prin cate un ‘spafiu. (10 ‘A 036 $tind c& in urma exec: Caractere EXAMEN, care € Exemplu: pentru n=4 si matricea alaturatd, se 122 103 i 10 (Pasca) aff ecran valorile: -7 18 -10 2. -7 18 -10 2 — = 107 999 59 4 xrslength(s); 1 200 100 7 for i:=1 to x divi Rezolvare: Urmatoarea solutie (descris’ in pseudocod) presupune c& ind write(s[i],s[x-is elementelor memorate in matricea u sunt numere din intervatul [1,,n]. citegte n pentru i€1,n executd tru j€1,n executd moome ‘= b, EARN Raspuns corect: b. Tntr-o lista finiard simplu iteste | E oe c4mpul adr adresa um a existé un asemenea ele ppentru j€1,n executé Primului element al listei | min_col€M,; exact 4 elemente, « | ppentru i€2,n executa feprezinta: | | pdacd Miyadr->info reprezinta: . (4p) adresa celui de al doilea element adresa celui de al treitea element valoarea memorata in al doilea element valoarea memorata in al treilea element Raspuns corect: c. 3. Se considera un graf neorientat cu 7 noduri numerotate de la 1 la 7 gi muchiilé (1,21, [1,3], (2,31, (2,41, [2,5], (2,61, [4,6],(5,7],[6,71. Care este numarul minim de muchii care trebuie adaugate astfel incat graful s& devina eulerian gi care sunt aceste muchii? (4p) Raspuns corect: 3 muchii: 2,71, [3,61, [3,7] 4. Cate muchii trebuie eliminate dintr-un graf neorientat complet cu 20 de noduri, pentru ca graful partial obtinut sa fie arbore? (6p), R&spuns corect: 171 muchii (un graf complet cu 20 de noduri are 20*19/2=190 muchii gi un arbore cu 20 noduri are 20-1=19 muchii) 5. Se considera o matrice cu n linii gi m coloane (1sn<30, | 3 4 90 10 1 write(x)7 (ee write(x.nume) “a write (x.nume[ Réspuns corect: Intr-o list’ liniars cAmpul adr adres nod urmator, iar 1 adresele cate unu ou apartine list inserarea corecti nodului referit de 1 (Pascal, @*.adrisq; q* q* adriad* ad @*.adriegs q* @ieqy q*.adr: Ré&spuns corect: Se considera un #Arturi reprezentat a) Care este m corespunzatoare ¢ Raspuns corect: b) Scrieti varfurik maxim. Réspuns corect: 1 a 9 » ange VARIANTA 037 Fie deciararile alaturate. Dac& variabila x refine informatii despre un elev, Pprecizati care este varianta corecté ce afigeaz& prima litera din numele acestuia? : (6p.) (Pascal (CCH) type elevsrecord struct elev{ nume: string[30]7 char nume[3Q]y nota: real; €loat nota;}; end; elev x; var x:elev; write(nume); cout<adreq; q->adr=d; @*adrimd*.adr) d*.adriaq; q->adred->adr; d->adr=q; G4 adrimgy q*.adrimd*.adr; | d->adreq; q->adred->adr; Gimqy q*.adried*.adr; @=eq; q->adred->adr; R&spuns corect: b. : Se consider’ un graf orientat cu 5 wArfuri reprezentat In figura alaturata. a) Care este matricea de adiacenja corespunzatoare grafului? (6p.) Raspunscorect: 01011 210100 _ ooo010 00001 roo0o0 . b) Scriefi varfurile care au gradul intern] maxim. (6p), R&spuns corect: 1, 4, 5 (grad intern 2) Un gir cu maximum 255 de caractere contine cuvinte separate prin unul sau multe spatii. Cuvintele sunt formate numai din litere mici ale alfabetului Scriefi un program Pascal |C/c++ care citeste un astfel de sir si il . Modificat, prima gi ultima liter a fiecdrui cuvant find afigata ca liter% mare. Exemplu: pentru girul: maine este proba a informatica st afiga: MainE EstE ProbA LA Informatica ; (10p) adresa nodului la ge 7 valorile 7, 5, 9, 37 (Pascal) + (C/C++) var s:string[255]) |void main() A:byte; {char 8[256];int 4; begin cin.get (s, 256); readin(s); if(s[0]1='') 4f s{1l<>'' 8(0}=(s[0}-32); 7 [1] :=chr( (@{1])-32)3 if(s[strlen(s)-1]!='') (crC+4) if s[length(s)}<>' ' then > A->adr; sllength(s)]:= eae eee Ceara ene ee v a @->infoxd->adr- for i:=2 to lenght(s)-1 do "|| sti-tle= + y a “Af(eil<>* ')and @->adr->agr=d-> corect: c. Consideram ca varia valoarea lui s dupa e (Pascal s[1] := 'B’;8[leng sllength(s) div (6+) 8[0]=2';s{strle s(strlen(s)/2)= b. es ((sEi+1j=' ‘)or(s[i-1]=' '))then @{4] sechr (ord(s[i])-32)7 write(s); end. Ec. ‘Se considera un graf G5], [2,3], [2,4 @ Cate cicluri eleme: ‘dacd difer’ prin cel pu Ré&spuns corect: 6 ci Care este lungimee Réspuns corect: 5 @ Care este numarul partial obfinut s& aiba Réspuns corect: 2m Se considera o me memoreaza numere program Pascal |c/ matricei si care afige: RIANTA 038 Intr-o list liniaré simplu inlan{uité, alocatd dinamic, fiecare nod retine in campul adr adresa urmatorului nod din lista sau nil|NWuLL daca nu exista un nod urmator, iar in cAmpul info un numér Intreg. Consideram ca o astfel de lista memoreaza, In ordine, doar valorile 7, 5, 4, 9, 3. Variabila 4 refine adresa nodului la care este memoratd valoarea 4. Care este secventa de instructiuni care trebuie executata pentru ca lista s4 contind, in ordine, doar valorile 7, 5, 9, 3? (6p.) (Pascal) @4.adr:=d*.adr; d*.info:=d*.adr.info; d4 adri=d*.adr*.adry a4 .info:ed*.adr4.info; d*.adr:sd*.adr* adr; 44 .adr’.adrimd*.adr; d4.adr*.info:sd*.info; (C/C++) d->adred->adr; d->info=d->adr->info; d->adred->adr->adr; a->infowd->adr->info; d->adred->adr->adr; Consideram ca variabila s memoreaza sirul de caractere examen. Care va fi valoarea lui s dupa executarea instructiunilor? (Pascal) s[1]:= ‘B’;s[length(s)]:= ‘NW y;s[lepgth(s)div 2]:='A'; sClength(s) div 2+1):=‘. (C¥6++) s[0]=‘E’;s{strlen(s)-1)='N’;s[strlen(s) /2-1)='A’; s[strlen(s)/2)=‘W; Examel b. exaMen c, EXAMEN d. Examen Raspuns corect: c. 3. Se considera un graf neorientat cu 7 noduri, numerotate de la 1 la 7 i muchiile (1,5), [2,3], (2,41, [2,5], (3,41, [4,5], [4,7], (5,6), (5,7). a) Cte ciciuri elementare distincte exist in graf? Doua cicluri sunt distincte daca difera prin cel putin o muchie. (3p.) Raspuns corect: 6 cicluri b) Care este lungimea maxima a unui ciclu elementar din acest graf? (3p.) Ra&spuns corect: 5 c) Care este numarul minim de muchii care trebuie eliminate astfel Inc&t graful partial obtinut sa aib4 3 componente conexe? (6p.) Ra&spuns corect: 2 muchii Se considera o matrice patratica cu n linii gi mn coloane (1leg!=NULL) begin t xrex * p*.leg* infos ‘eux * p->leg->info; Pi=p*.legs >| pup->legs end; ? write(x); jcout<0|° COUEprim then write(c); write('*’); delete(s,1,4) ends end. Py omy b. 3 puns corect:‘b e nod al une fiste simplu | duri, retine in campul urm adres cA nu are un nod urmator. $tiin listd, variabila q refine adresa c e adresa celui de-al treilea no schimba al doilea cu al treilea ¢ {if (1stremp(c,p)) (Pascal) cout<0 then write(i); puns corect: fino feti un program Pascal |C/c++ natural n (1$nS23) si ap ce cu n linii sim coloane, num e element situat pe o linie / n) va fi egal cu suma din pe ecran, cate o linie a: le de pe aceeasi linie fiine lacd n=4, se Va afiga m ne Cte dintre varfurile grafului neorientat G, reprezentat prin matricea de adiacenta alaturatd, au gradul un numar par? (4p.) 1 b. 3 c.2 a. Rispuns corect: Fiecare nod al unei liste simplu tnlantuite, alocaté dinamic, cu cel putin 4 noduri, retine in campul urm adresa nodului urmator din listé sau ni2 | NULL daca nu are un nod urmator. $tiind c& variabila p retine adresa primului nod din lista, variabila q refine adresa celui de-al doilea nod din lista, lar variabila x tetine adresa celui de-al treilea nod din listé, care este secventa prin care se interschimba al doilea cu al treilea element din lista initiala. (Pascal) (C/C++) . p*.urmiery q*.urmier’.urm p->urmery q->urmer->urm; ef urmimgy r->urmeq), PA.urmimr; r4.urmimg*.urm p->urmer) r->urmeq->urm @* urmrar*.urmy * q->urmer->urmy rA.urmimg’ suxmy r->urmeg->urmy Q->urmer->urm; q@* urmisr*.urmy p* summer,“ p->urmer) qQ*.urmisr’.urmy p*.urmisry q->urmer->urmy p->urmer; r4urmieqg*.umy | kepurmeq-purmy Raspuns corect: : Pentru reprezentarea unui arbore cu radacina, cu 10 noduri, etichetate cu numere naturale de la 1 la 10, se utilizeaza vectorul de ‘tati": TaTA=(4, 6, 8, 0, 10, 4, 8, 6, 2, 6). Care sunt frunzele arborelul? (@p) R&spuns corect: 1, 3, 5, 7, 9 Ce afigeaz& pe ecran tn urma executarii secventel de program alaturate gtiind cd variabila 4 este de tip char? (6p) (Pascal) (CiC+4) for dreta' to 'z' do (for etatpdiemtat dee) Af pos (4, 'info')>0 if (strohr("info",4)) then write(1); cout< ararray{1..23,1..23]of£ ean (241; dintre varfurile grafului ne integers Deessas je adiacent aliturat, ¢ seed (a) 7 for (iwl;icen;i++) for i:=1 to n do for (j=1;j<=n; j++) for j:=1 to n do ali} (jl=iegz : ali, 3] ede) for (diy icenyi++){ ; for i:=1 to n do begin for (j=1sjurm; p*.urm:=p*.urm*.urmy p->urm=p->urm->urm; Aispose(q); delete qy | free(a); Db. p*vurmiap*.urm*.urmy |b. p->urm=p->urm->urm; dispose(p); delete p; | free(p); c. qi=p*.urmy ¢. q=p->urm; q@*.urm:=p* .urm*.urm; q->urm=p->urm->urm; dispose (q); + delete q; | free(q); 4. qi=p*.urm; . 4. qep->urm; q*.urm:=p* .urm* .urm; q->urm=p->urm->urm; dispose(q); delete q; | free(a); Raspuns corect: c. . Pentru reprezentarea unui arbore cu radacina cu 9 noduri, etichetate cu numere naturale te la 1 la 9, se utilizeaza vectorul de “tati”: T=(5,0,2,7,3,3,2,4,7). Din cate muchii este format un lant de lungime maxima in arborele dat? (6 p.) Ra&spuns corect: 6. Variabila a memoreaza un tablou bidimensional cu (Pascal) 5 linii $i 5 coloane, numerotate de la 1 la 5, ale for aay he . eS CArui elemente sunt numere intregl. Care este cea| £75 dies ae. mai mare valoare, memorata In tablou, deasupra|"""" cod 4 diagonalei principale a tabloului construit in urma (Ger) 4 executarii secventei de program alaturate ? (6 Pp.) for (ie1;ica5;44+) for (j=1;5<=5;5++) ali] [j]=j%isisy, R&spuns corect: 5. Scriefi programul Pascal |c/c++ care citeste de la tastatura un sir de cel mult 40 de caractere, format doar din litere mici ale alfabetului englez,. si care afigeaz4 pe ecran, pe o singura linie, toate vocalele ce apar in girul citit. Vocalele vor fi afigate In ordinea aparitiei lor in sir, separate prin cate un spatiu, ca in exemplu. Se considera ca fiind vocale urméatoarele litere: a, e, i, o, u. Daca sirul citit nu contine nicio vocala, se va afiga pe ecran mesajul fara vocale. 193 Exemplu: daca se auao (Pascal, . var s:string[40]; #inctudeSiosteeen.n> i sgasit:integer; #include char 9[411) at A xeadin(s); int 4,gasit; din noduri cu gradul egal « for i:=1 to length(s) void main() Doud grafuri sunt distin do { A diferd. 1f pos(s[i],’aedou’)>0 @in>>s; bo 2 then begin for(i=0j4urm->urmesq (4p.) 2 b. 3 4 a5 Raspuns cbrect: b. Pentru reprezentarea unui arbore cu rada&ciné cu 10 noduri, etichetate cu numere naturale de la 1 la 10, se utilizeazé vectorul de tati: TATA=(4; 8, 8, 0, 10, 4, 8, 6, 2, 6). Care este rédacina arborelul gi cate frunze are acesta? (8p.) Réspuns corect: radacina 4,5 frunze Ce afigeazé pe ecran urmatoarea secventé de program, unde a este 0 variabila de tip string| siz de caractere? . (6p.) (Pascal) (C/C++) a:e'informatica'; 7 stropy(a, "informatica"); Gelete(a,3,3)7 stropy (a+2,a+5) 7 write(a); lcout< 7 int 4,j,n,a(24] (24); n,i,j:integer; hee main() ‘Graful orientat G este reprezt aasturat’. readin(n); icin>>n; i for ire1 ton do for (4=1) icons i++) Se for ji#1 to i do for ($=1)3nil d a P:=p*.urm b. while p<>nil do Pr=p*.urm; ¢. pr=p*.urmy @. p:=p*.p*.urm; Raspuns corect: a. reprezentarea unui af ere naturale de la 1 (7401947 ,612/34645) | valoare se va afiga pe e eiiturate, stiind ca variabila a € for i:=1 to length(a) “& efi} :=chr(ord(ali])+1); pewite(a); MEepuns corect: jogp berieti un program Pascal |C/ 'm (0nil do a. while(p--umisNULL) p=p->umny Pi=p*.urm; b. while p<>nil do b. while(pI=MULL) p=p->umn; Piep.urm; c. pep’ .urm; c. Pepoumy 4. p:=p*.p*.urm; d. p=p->p->ummy Raspuns corect: a. a Pentru reprezentarea unui-arbore cu radacin&, cu 9 noduri, etichetate cu numere naturale de la 1 la 9, se utilizeaz’ vectorul de_,tati”: T=(7,0,3,7,6,2,3,6,5). Care sunt nodurile arborelui ce au exact 2 descendent directi (fi)? (6p) R&spuns corect 2, 6, 7 . Ce valoare se va afiga pe ecran in urma executarii secventei de program alaturate, gstlind ca variabila a este de tip sir de caractere, iar i este o variabila de tip intreg? (6p) (Pascal (C/C+4) az='info'; Istrepy(a, "info"); for i:=1 to length(a) ‘do for (i=0;i int 4;J,m,a24) [24]; pe cia : id main() b. 2 n t p readin(n); oin>>ny ae ; for i:=1 to n do for(imlyiemny i++) faro lista simplu tnlan{uité nevi for jr=1 to n do | for (July jeuny J++) pul urm adresa elementului u if jeen-i+1 then ali,j]:01 4¢ (Jewnede1) af4] (5) urmator. Stiind c& variabile else afi,j):si+j-n; else afi} [j]=i+j-n; bila q retine adtesa ultimul for i:=1 to n do begin for(imlyicenyi++){ ct 3 elemente, care dintre um for jr=1 to 2 do c for (J=1)j (ps surm) s aq; dispose (p*.urm); > (p*.uzm) 7 ee puns corect: d. 4 reprezentarea unui arbore . de la 2 fa (2,0,1,7,3,1,2,4,2). Cat are arborele dat? la a memoreaza element e(numerotate de la 1 la 5) e pe diagonala secundaré a program alaturate?” (Pascal dial to 5 do for j:=1 to 5 do eur ald,j]smi-3y Bean puns corect : 0 pieti progtamul Pascal |C/C+ de caractere, format doar din toate sirurile obtinute prin girul citit, ca tn exemplu. Sir a ecranului. Graful neorientat @ este dat prin. matricea de adiacenta | 0 alaturata. ° Céte varturi ale grafului @ au gradul 1? : 1 0 1 b, 2 ce 3 a. R&spuns corect: a. P Intr-o lista simplu tnlanfuité nevid’, alocaté dinamic, fiecare element retine in campul urm adresa elementului urmator din listé sau ni1/NOLL daca nu are un nod urmator. Stiind c& variabila p refine adresa primulul element: din lista, variabila q retine adtesa ultimului element din listé, iar lista este formata din exact 3 elemente, care dintre urmatoarele secvente de instructiunt determina tn urma executarii eliminarea celui de-al déilea element din lista. (Pascal) (C/C+4) p*.urmisgj dispose(q); p->urmeqy delete q | free(q); ps .urmiegs p->urmegs dispose(p*.urm) » delete p->urm | free(p->urm)) preg; dispose(p*.urm); pea delete p->urm; | free(p->urm); dispose (p*.urm); delete p->urm | free(p->urm); pe urmingy p->urmeq; Raspuns corect: d. Pentru reprezentarea unui arbore cu radacina cu 9 noduri, etichetate cu numere naturale de la 1 la 9, se utilizeazi vectorul de __,tati”: ‘T9(2,0,1,7,3,1,2,4,1). Care sunt descendentii directi ai radacinii si cate frunze are arborele dat? R&spuns corect: descendenti directii: 1 si 7. Arborele are 4 frunze. Variabila a memoreaza elementele unui tablou bidimensional cu 5 linii si 5 coloane(numerotate de la 1 la 5), numere intregi. Care este suma elementelor aflate pe diagonala secundara a tabloului construit in urma executarii secventei de program alaturate? (6p) (Pascal) (C/C++) for i:=1 to 5 do for (deizi begin joqers #include cel pufin un nod in graful readln(s); ee s(41]; @ nu are circuite for i:=1 to length(s) do une ) ; ol pags un ean Ino ot —— { a 1 to length(s) do cin>>s; 1s corect: b ' ‘attack J then write(s[j]);| for(i=d;inil)a (p4 .inf>p* .urm*.inf) begin pi=p’.urm krsk+p*.urm’.inf ‘A046 Care dintre urmatoarele propozifii este fals& 01100 pentru graful crientat G dat prin matricea de] 00110 adiacen{a alaturata? c .) oooi2 me (fo) 11000 : 00010 exista cel putin un nod in graful G care are gradul intem egal cu cel extem graful @ nu are circuite exist cel putin un drum intre oricare doud noduri ale grafulul @ _ graful G are 9 arce Raspuns corect: b In secventa alaturaté, variabila v memoreaza elementele unei matrice cu n lini, numerotate de la 1 la.n, si m coloane, numerotate la 1 la m, iar toate celelatte variabile sunt intregi: ‘Dacia 1nil)and | while(p->urm->urm && (p*.inf>p*.urm4.inf) do p->inf > p->urm->inf) begin { Pp = p->urm; pisp.urm; k = k + p->urm->inf; Krakep* sure’. inf , 5. Se considera un text format doar din spatii si litere mici ale alfab A047 englez, care Incepe cu o litera $i care contine cel pufin o vocala din mi . {a,e,4,0,u}. Scrieti programul Pascal |C/c++ care citeste de la tas bere dintre urmatorii vector! 10 un gir cu cel mult 100 de caractere, ca cel descris mai sus gi care dete ore cu racaca, cus noduni, 1 transformarea acestuia prin Inlocuirea fiecdrei vocale din text cu 1201 imediat urmatoare din alfabet (a se Inlocuiegte cu b, e se inlocuieste 1 g.a.m.d.). Programul va afiga pe ecran girul obtinut. (| ° Exemptu: daca girut citit este exasen de bacalaureat, dupa mod se afigeaza: fxbmfn df bbchlbvrfbt aa corect: c. (Pascal abila s refine girul de Caract Rezolvare: Folosim o variabild s sir de minimum 100° caractere in Pi calaureat. Ce valoare are respectiv minimum 101 caractere in C/C++: presia pos (/a’)s)? (Pascal) (C/C++) citeste s citeste 5 lun € lungime(s) lun € lungime(s) Pentru i€i,lun executa Pentru i€0,lun-1 executé | dac& s[i] e vocalé atunci || dac& s[i] e vocald atun —— | 84] © suce(s{i]) | s[i] €s(4]+1 a le . a puns corect: b. scrie s scrie s o lista simplu tnlan{uita, alo ent retine in campul int entului urmator din lista Variabila ‘p> refine a creaza lista de mai jos, aga k, la finalul executarii t ’ . ise kr=0; while (p*.urmeonil) an do begin p = p*-urs kn) while((p->urm!eNULL) & {p= pe>urm; k puns corect: 1 ~ : : : eciararea alaturaté, campur zinté numaratorul, respec Pare este expresia cu care 8 nsie In secventa de m: memoraté fn variabila £ : J nenul k se afigeaza mes Pascal) if ... then write y At ) cout<<"D jn & RIANTA 047 4. Care dintre urmatorii vector! wo poate reprezenta vectorul ,de tafi” al unui arbore cu radacina: cus odin, nurhergtate dela iia 5s? (4p.) 31012 34023 20112 a@e1102 Rispuns corect: ¢,-.° i (Pascal) ; (C/C++) ‘ 2 Variabila s retine girui de taractere Nariabila # retine sirul de caractere bacalaureat. Ge valoare.are | bécalaureat. Ce se afigeazd la expresia pos (‘a’,s)? @xecutarea instructiunii de mal jos? Sout<nil) and(p*.inf*p*.urm4.inf mod 10<>0) do begin p := p*.urmy k t= k + 1 end) (C/C++) ke0) while((p->urm!eNULL) && (woptntep-suem-rinense1=0)) {ps pourmy & +47 Y) - 6p) Ra&spuns corect: 1.~- ‘. se - * (Pascal In dectararea alaturata, c&mpurile G1 ale foregistrari, type rap=record Teprezinté numératorul, respectiv nomitorul unei fractii. a, brinteger Care este expregia cu.care se pot tnigcul punctele de | gna; suspensie in sacventa de thai jos astfel Incat dacd | var # : rap; fractia memoratd fn variabila # Se simplificd prin numarul kiinteger; natural nenul k se afigea2& mesajul px? = _(6p.) ” (erery (Pascal) if ... then writeln(/DA‘) struct rap (C/C+4) 4 (...) conten; ‘| printf("DA"); | (int a, by} £7 PEs int ky \ \ Raspuns . (Pascal) (£.a mod k = 0) and (f.b mod k = 0) (C/C++) f.akke=0 && £.b&k==0 Scriefi un program. Pascal |c/c++ cafe citeste de la tastaturé douad Sst simplu inlantuitd, alocata naturale m gi n (0= p*.inf) do Rezolvare: Folosim doua matrici (tablouri bidimensionale) a si b. in a citim d de intrare, iar in.» memoram matricea rotité. Observam c4 by s€ar,ar Bi,2 seer Bajr©aia1 Bo,2€@a2rn-1 etc. Rézulté urmatorul algoritm: HH citeste m,n citeste matricea a. pentru i€1,n executaé pentru j€1,m executd BIG] [5] ali) (n+1-i) afigeazd matricea b jgecventa alSturaté, variabilele s ea acesteia, variabila intrea (Pascal) mot ((s1<>82) or (s1<>s: val:=1 =2, 3 retin siruri identice de ca #2, #3 retin siuri de caractere c 92, 83 retin giruri de caractere c este obtinut prin concatenarea $ corect: 2 sunt arcele care alcatuiesc ‘modul 5 pentru graful orientat numerotate de la 1 la 6, re matricea de adiacent alaturat corect: fh.4) (4,3) (3,2) (2,6) (6,5) @eciararea alaturata variabila a ct in planul x0y. Care este ¢ ctului respectiv fata de origines Tntr-o list simplu inkintuita, alocat& dinamic, cu cel putin 3 elemente, fiecare element retine in campul inf un numér natural, iar in campul uxm adresa elementului urmator din listé sau ni1/NULL daca nu exist un element urmator. Variabila p refine adresa primului element din lista, iax variabilele q gi awx sunt de acelasi tip cu p. Daca se prelucreaza lista de mai jos, care va fi continutul listei dupa executarea urmatoarei secvente de instructiuni? (Pascal) (C/C+4) . a=ps op while (q*\urm*.urm<>nil) while(q->urm->urm |=NULL && and: (q*.inf >= p*.inf) do q->inf >= p->inf) @ t= q*.urmy @ = q->urm aux:=q*.urm; aux=q->urm; q@*.urm:saux* .urm; q->urme=aux->urm; dispose (aux); delete aux; Ls [9 T43 T-] ‘ (4p.) 5893 «785893 7 93 4.78593 es Raspuns corect: 4 In secventa aliturat’, variabilele #1, #2. gi #3 retin siruri de caractere. Dupa executarea acesteia, variabila intreagd val primeste valoarea 1 dacd (4p.) (Pascal) (C/C+4) if not((sl<>s2) or (s1<>s3)) | if(1(stremp(s1,82) || then val:=1 stremp(si, 63))) val=l; else val:=2 else val=2; 81, 82, 83 retin giruri identice de caractere 81, 82, 83 retin siruri de caractere ordonate lexicografic 81, #2, 83 retin giruri de caractere de lungimi diferite 81 este obtinut prin concatenarea sirurilor retinute In #2 si 83 Réaspuns corect: a Care sunt arcele care alcatuiesc un dum} 011100 elementar de lungime maxima de la nodul 1 000001 la nodul 5 pentru graful orientat cu sase} 9 10100 noduri numerotate de la 2 la 6, reprezentat| 9910012 prin matricea de adiacenta alaturata? (6p.) : 3 . : : ° corect: (2,4) (4,3) (3,2) (2,6) (6,5) In declararea alaturaté variabila a refine in campurile x si y coordonatele unui punct in planul x0y. Care este expresia a carei valoare reprezinta distanta punctului respectiv fat de originea axelor de coordonate? : (6p.) 205 (Pascal) type punct=record X,Y treal { float x,y) end; yer Entre urmatoarele propozi var a:punct; Raspuns: sqrt (a.x*a.x + a.y*ta.y) ee es ), (4,5), (5,2), (674) §. Scriefi un program Pascal|c/c++ care 2468 fumerotat cu 6 apartine | citeste de la tastaturé un numar natural n | 10 12 14 16 numerotat cu 1 are gradul (2nil) and while(q->urm!=NULL && (q*cinfdnfurm->inf) q:eq*.urm; q=q->urmy q*.dnfimq*.urm* infer; * q->infag->urm->inf+1; (6p.) R&spuns: continutul listei ramane neschimbat Un cuvant s, de cel mult, 20 caractere, format doar din litere mici ale alfabetului englez, contine cal pufin o consoand si cel putin o vocala. Scrieti programul Pascal |C/C++ care citeste de la tastaturd cuvantul s, construieste in memorie gi afigeaz pe ecran cuvantul obtinut prin eliminarea tuturor 207 consoanelor din cuvantul s. Se con afla in multimea {a,e,4,0,u}. Exemplu: daca se citeste cuvantul bacalaureat, pe ecran se afig aaauea . (10p): Care este numéarul de circuite dis Rezolvare: folosim doua siruri de 20/21 de caractere, #1. gi #2. Citim in 81 eee caret ca dat de la tastatura, apoi parcurgem ee Doua circuite sunt distincte dac doar vocalele. Parcurgem caracter cu caracter acest sir si copiem putin un arc. sider consoana oricare liter’ care (Pascal (C1C+4) saesiral vid on fara: o j€o lung¢1ungime(s1) lung¢1ungime(s1) hwo list simplu inlantuité, aloca Pen eect, (| Pentra 1€0,1ung-1 executa element retine In c&mpul inf un aieeacaaTliey eee dack s1[i] e vocala atun eiementului urmator din fist’ sa afigeazé 22 —— 9215] €1(4] ;5€5+2 umator. Variabila p refine adn 9213]€*\0" prelucreaza lista de mai jos, « afigeazé 32 ‘Intreag k, la finalul executanii um fsHei Hs F P (Pascah wi=3; while (p*.urm<>nil) and {p*.inf > p*.urm*.inf) de prs p*.urm kee k + p*.urm*.inf; 8 b. 10 Raspuns corect: d Care dintre nodurile arborelui di aiturat{ pot fi considerate ¢ radacina astfel inc&t in arbo fdacina rezultat fiecare nod sa mult doi descendenti direct? Rispuns: 9, 10, 6,7, 8, 4 (cele c Gementele tabloului__bidimen aiturata, cu 5 linii si 5 coloane, naturale cuprinse intre 1 si 25 incepand cu primul element continuand in sens invers trigon aiiturata. Care este ultima mumerelor impare aflate sub d (exclusiv diagonala secundara), bidimensional cu 4 lini si 4 co aceeasi regula? . Raspuns: 5 NTA 050. Care este numarul de circuite distincte ale grafului orientat dat prin matricea de adiacenfa aldturata? Doua circuite sunt distincte daca difera prin cel putin un arc. (4p.) o b 2 c. 2 R&spuns corect: a Intr-o list simpiu intantuita, alocata dinamic, cu cel putin 2 elemente, fiecare element retine in campul inf un numér natural, iar in campul urm adresa elementului urmator din fisté sau nil/NULL daca nu urmator. Variabila p refine adresa primului element existé un element din lista, Dac& se Prelucreaza lista de mai jos, care este valoarea memorata de variabila ‘intreaga k, la finalul executarii urmatoarei secvente de instructiuni? (4p) Hof ps Hetz Hef His U Pp (Pascal) (C/C++) kr=3, ks3; while (p*.urm<>nil) and while(p->urm!=NULL && (p*.inf > p*.urm*,inf) do p->inf > p->urm->inf) 2= p*.urm P = p->urm kim k + p*.urm*. inf; k= k + p->urm->inf; 8 b. 10 ce 12 Ra&spuns corect: 4 7 Care dintre nodurile arborelui din figura aldturaté pot fi considerate ca fiind a radacina astfel inc&t In arborele cu radacina rezultat fiecare nod s& aiba cel YS mult doi descendenti directi? (6p.) ® wo R&spuns: 9, 10, 6, 7, 8,4 (cele care nu au gradul 3). Elementele tabloului bidimensional din _ figura alaturata, cu 5 linii si 5 coloane, sunt toate numerele naturale cuprinse intre 1 si 25 agezate In spirala, incepand cu primul element al primei fini $i continuand in sens invers trigonometric ca in figura alaturata. Care este ultima cifra a produsului numerelor impare aflate sub diagondla secundara (exclusiv diagonala sequndard), in cazul unui tablou bidimensional cu 4 linii si 4 coloane generat dupa aceeasi regula? (6p.) Raspuns: 5 a 13 GQ Q @ ‘O) te) 12345 16 17 18 19 6 15 24 25 207 14 23 22-21 8 13:12 11109 Care este numarul maxim de muchii pe caré il poate avea un graf ne cu 6 Noduri si 3 componente conexe? Raspuns: 6 (doua noduri izolate si o componentd conexa cu 4 nodi muchii) : 5. Se considera un gir s avand maximum 52 de caractere, gir ce contine litere mici ale alfabetului englez gi cifre. Primul caracter al girului este o! mica, ultimul caracter al girului este o cifra gi fiecare litera mica din urmata de o cifré nenula. Scrieti un program Pascal |C/c++ care citeste! tastatura girul s, apoi construieste si afigeaza pe ecran un nou gir dé ca 7 :string[10]; format numai- din. litere mici ale alfabetului englez, gir construit Drenune:string[20} ; urmatoarea regula: fiecare Jitera micd se va repeta de attea ori de cate: motal,nota2:real indica cifra situata pe pozitia imediat' urmatoare tn girul initial, ca in exe: Exemplu: daca se citeste de la tastaturd sirul a2b%e2 atunci girul cerudj aabff a Rezolvare: deoarecé nu se cere explicit contruirea unui al doilea sir si xrelev; =(x.notal+x.nota2) /2: afigarea pe ecran a acestuia, parcurgem sirul citit doar in pozitiile pare/ir eee Bi : garanteaza c&:In acele pozitii sunt cifre) si afism pe ecran caracterul din p 7 mae eerie precedenta de un numar de ori egal cu valoarea cifrei din potitia curenta. = (x, nota! : ate (Pascal) (C/C+4) corect: ; citeste s : citeste s consider’ graful_neorien i€2 1€1 ata. Care este numarul m lung€lungime(s) lung¢lungime (s) ‘se pot elimina astfel inca s& alba exact 3 compon ba reat timp iSlung executa peat timp iurm; delete(p); | free(p); Raspun: elimina primul element din | lista Scriefi un program Pascal|c/c++ care citegte de {a tastaturé un natural nenul a (#$100), apoi n giruri de caractere, fiecare gir a maximum 30 de caractere, doar litere mici ale alfabetului englez gi afig pe ecran cAte dintre cele 'n siruri de caractere sunt formate numai din vo Se considera vocale literele a, e, 4, 0, u. Exemplu: daca n=3, iar sirurile citite sunt date alaturat, atunci | arc ~ programul va afiga ‘pe ecran 1 deorece sirul ae este format | 2¢ numai din vocale. Rezolvare: (Pascal ppentru i€1,n executd |citeste s Jok€2 ppentru j€1, lungime(s) ieee 8[3] nu e vocalé atunci ok€0 {I |= lay rdack ok=1 atunei ct€ct+1 \s (10p,) eredon (C/C+4) citeste n ete1 ppentru i€1,n executaé citeste s laren [ppentru 5€0,1ungime(s)- || pdack 8[5] nu e vocala tl | atunci ok€o te Le r c& ok=1 atunci ct€ct: acrie ct TA 053 secventa alaturatd, variabila tere, iar variablla 4 este de ti este numarul maxim de car secventa aldturata sa afigeze (Observ considera un graf orientat cu | de numere pot fi gradele ext b. 2,2,6,5,1 secventa de program urmatoa b bidimensional cu 5 linii erotate de la 3 la 5), iar celet valoare se va afiga In urma bidimensional alaturat? (Pascal) p20; iz=1 to 5 do Af afi, d)mod 2<>0 then xsexta[i,6-1]7 secventa de mai jos, variabi pia 4 este de tip tnieg. C ‘Se considera o fist simplu inlar memoreaza In campul info ur @ementului urmator sau ni. Avot A 053 1. In secvenja aldturaté, variabila x memoreazd un sir cu cel mutt 100 de f — caractere, iar variabila 4 este de tip intreg. Care este numarul maxim de caractere pe care Il poate avea:sirul x astfel Inc&t secventa alaturatd s& afigeze exact 3 caractere ale acestuia? (4p.) (Pascal) (C/C+4) damdy for (i=0;40 Af (a(4) [43%21=0) 7 then xemeald] [6-4}7 [1 ximxeald, 6-4)7 cout < nod = record info:longint; | nod *prim, *current; urm:pnod int n,i,a,r;7 end; void main() 3 b.2 var prim, current :pnod; . {ein>>n>>a>>r; Mispuns corect: a i,n,a,rrint : Am=NULL, ane a a eis) a secventa alaturats, variabila readin(n,a,r); {current = new nod; ‘eelelaite variabile sunt de tip intn prim:=nil; current->infosa+(n-i)*r; (Ce valori au variabilele k1 gi k for i := 1 ton do current->urm=prim; atiturate? begin primecurrent; (Pascal) new(current) ; , ’ current*.informat(n-i)*r current=prim; Sree current‘ .urm:=prim; while (current !=NULL) aa:=0; prim:=current {cout<info<<" +; . o oki perotininibetieaean fe Lint to tengtncn) current := prim; ? 1]>=0" )and (xi) <="9" ae <> nil do , cm ee easy weite(current*.info,’ *); . ee current := current*.urm ‘Se considera lista liniard simp end maprezentatd mai jos, in care fie ‘aetural, iar in campul urm adress gy existd un nod urmator. orks ‘Daca adresa primului nod este m avelasi tip cu prim, ce se afigeaz (Pascal p:=prim*.urm; while p*.urm<>nil do begin write(p*.info,’ ‘); end. ‘A 054 Se considera un graf neorientat complet cu 10 varfuri. Cate Janturi elementare distincte de lungime 3 exista intre varful 2 si varful 4? Douad re ‘sunt distincte daca difera prin cel putin o muchie. (4p) b. 28 ce. 45 a. ay d Se considera graful orientat din figura alaturaté. Cate dintre varfurile grafului au gradul intern egal cu gradul extern? (4p.) 3 bo 2 Réspuns corect: a In secventa alaturata, variabila x memoreaz& un’ sit de caractere, iar toate celelaite variabile sunt de tip intreg. Ce valori au variabilele 1:1 gi k2 dupa executarea secventet de instructiuni alaturate? (6p.) (Pascal) (C/C++) xi=’bac2009'7 stropy (x, “bac2009") ; k1:=length(x); kl=strlen(x); k2:=0; x2=07 for iz#1 to length(x) do for (i=0;i=/0/eex[1]<=/9/) (x{i]>=/0" and (x{1}<=/9") k2ek2+1; then k2:=k2+1; Raéspuns: ki=7, k2=4 Se considera. lista liniaré simplu inlantuité, alocaté dinamic, cu 6 noduri, reprezentaté mai jos, in care fiecare nod contine In campul info un numar natural, iar in campul urm adresa nodului urméator din listé sau ni 1/NULL dac&d ‘nu exista un nod urmator. pre “2TH 28 s Daca adresa primului nod este memorata in variabila Brim, iar variabila p este acelagi tip cu prim, ce se afigeaza la executarea secventei aldturate? (6p.) (Pascal) (C/C++) pi=prim*.urmy for (p=prim->urm;p->urm!=NULL; while p*.urm<>nil do p=p->urm->urm) begin cout<info<<" 7; write(p*.info,’ ‘); | | print£(*"%d *,p->info); ’ 5. Scrieti un program Pascal |c/c++ care citegte de la tastatura un numar Par,n (4SnS10), gi un numar natural x, cu exact 3 cifre, gi care const In memorie un tablou bidimensional cu x linii in coloane, ce are eleme pe diagonala principala egale cu prima cifra a numérulul x, elementele diagonala secundara egale cu ultima ciffé a numarului 2, iar restul ele egale cu cifra din mijloc a numarului x, ca in exemplu. Tabloul bidimensional se va afiga pe ecran, cAte 0 linie a tabloului pe cte-o linie a ecranului, elementele fiecdrei linit filnd separate prin cAte un spatiu. Exemplu: dac& se citesc de la tastaturé ne gi 20123, atunci se afigeazi tabloul alaturat. (10p.) citeste n citeste x ©1€[x/100];) c2€rest({x/10],10); c3€rest (x, 10) rpentru i€1,n executs | prentru J€1,n executa atunei a(i) [J] €c1 altfel pdack it+jeentl atunci -a[i][4]€c3 E altfel afi} {j]€c2 bila n memoreaza un num i orientate distincte cu n | c& matricele lor de adiacenta : 1/2 by, gettansa s corect: 8. urmétoarele declara var i,aux:integer; ) int 4, aux, a0) [20 Be valori se afigeazé In urma ele tabloului bidimensiona a tabloului contine, de la s ‘numerele naturale, de la 1¢ (Pascal i:=0 to 8 do Sf afi, 9-d)urm; prim*.urm=p*.urm; prim->urm=p->urm; dispose (p); delete(p); | free(p); ‘ ila xe este util pentru Ra&spuns: elimina al doilea nod din lista ne. Numele si prenumet Scrieti un program Pascal|Cc/c++ care citeste de la tastatura un riul este un numér natura Caractere format din maximum 40 caractere, reprezentand un numar ‘wmitoarele déclarari este corec cafe partea intreagd este separaté de partea zecimala prin caracterul p (Pascal) Heal ee ntregi $i fan ‘valosrea. obifinutl prin adunarea, 1 wer xrarray[1..3,0..20] datei Cae a. Na call lt wer x:array([1..3,0..20) o type persoana=record nume, prenume:string[20 Exemplu: daca se citeste de la tastatura sirul de caractere 120.456, se va afiga 576, iar dacd se citeste de la tastatura girul de ca sal:integer end; 121.090, atunci se va afiga 130. wer x:persoana; Rezolvare: se pot implementa diverse solutii: type persoana=record( + punem in doua siruri partea intreaga si partea fractionara folosind functii ume, prenume:string[20 sirurilor de caractere, convertim in numere aceste siruri si efectuam adunarea. sal:integer); ~ parcurgem Sata Saree brterals foal ee valorilor case za wer x:persoana; caracterelor cif in sir (solutie im ntata mai jos in locod). aceasta solufie e bine dns serladl ly ca *0" are codil ASCII 4a, Raspuns corect: c. (Pascal) : (c/C+4) Care este numarul maxim de me. citeste s 6 noduri, care nu este conex? sum€0; lun€lungime(s); i€1 a bb 15 peat timp afij#’.’ gi iSiun peat timp sli]#’.’ gi ic: [> sum€sum*io+ord (5 [i])-48; | sum¢sum*10+s[i1-48; Raspuns corect: d. i€iea eae Fe 7 un arbore cu rédacina. Ar este descris prin urmatorul vect fanzele arborelui? Raspuns corect: 2,3,5,8 Scrieti o expresie In limbsajul Pi waloare nenula daca si numai d: £€0; i€i+1 £€0; itl reat timp iSlun reat timp i=’a’)and(c=’a’)&&(cj) and (i+j<>n+1) (C/C++) (4103) ee (445 fen+1) Scrieti un program Pascal’| C/C++ care citeste de la tastaturé un. gir de c 50 de caractere (cifre, litere ale aifabetului englez gi sp: irul contine c © lkera), apoi construieste in memorie gi afigeazé pe ecran sirul de can Obfinut din girul citit prin eliminarea tuturor caracterelor care nu sunt litere. Exemplu: daca se citeste giru!: voi lua 10 la informatica atunci afiga: Volualainformatica Rezolvare. Fie » sirul de caractere citit de la tastatura. Din enunt se ob trebuiesc eliminate din » cifrele si spatiile. O solutie posibila este: (Pascal (C/C++) var sistring[50]) #include isdnteger, #include begin readin(s); i:=1) void main() while i4. Orice graf neorientat cu n nodurl gin muchii: (4p) are gradele tuturor nodurilor numere pare b. * este conex are cel putin un ciclu d. este arbore eee Raspuns corect: c. Fie un arbore cu radacind. Arborele are 8 nodurl numerotate de la 1 la 8 gi este descris prin urmatorul vector ,de tt": (4,5,0,3,4,5,4,5). Care sunt frunzele arborelul? (6p.) Ra&spuns corect: 1,2,6,7,8 +1) Varlablia a memoreaza o.matrice cu 10 linii gi 10 coloane, numerotate de la 1 la 10, lar 4 gi J sunt variablle tntregi cu valori cuprinse intre 4 gi 10. Scrieti o expresie in iimbajul Pascal | C/C++ care s& aibé valoarea true | fie nenula daca gi numal dac& elementul afi, 3) |af4] {4} se afié pe penultima linie gi sub diagonala secundaré a matricel. (6p.) Un riispuns corect: (Pascal) (i=n+1)and(j>2) (C/C++). (Ammn=1) &&(4>2) Scriet| un program Pascal | C/C++ care citeste de la tastaturé un gir de cel mult 50 de caractere (IItere mic! gi mari aie alfabetulul englez, cifre, puncte, virgule gi spatil) $1 afigeazd pe ecran cifra care apare de cele maj multe ori tn girul citit. Daca sirul contine mai multe cifre cu numar maxim de aparitil, atunci se va afiga cea mai mic& dintre acestea. Daca girul nu contine cifre, se va afiga pe ecran mesajul mu. Exemplu: daca se citegte girul: Voi lua 9,5 la matematicd 10 1a informatica si 10 la romana atuncl se va afiga cifra 0 (pentru ca cifrele 0 gi 1 apar de cele mai multe orl tn gir 9! 0 este cea mal mic dintre ele) (10p.) + Hi) I, ili Rezolvare. Fie s sirul de caractere citit de la tastatura. O solutie posibita (Pascal 7 (CCH) var gigering [5017 #include ee ees finclude | ‘Variabila » memoreaza un sir d begin readia(s); void’ mein()¢ Pascal | C/C++ are valoarea tru for ci='0" to "97 8[51],c,cmax; gmului este un numar par? begin k:=0 7 . int i,max=0,n,k; (Pascal eeeareiveon cin.get(s,51)) n=ster: oo if slilec then inst)” for(e='0"j00 omaxiec; max:sk end Af (comax) length(s) mod 2=0 end; caamee? Af max-0 then writein(‘wo) |) dome: Réspuns corect: d. ie writely(cuax) if (max==0) cout<<"NU"; Daca c este un graf neorientat graful are cel mult: 28 de muchii 2a. de muchii Réspuns corect: c. else cout<0 c. leng(s)%2 length(s) mod 2=0 d. strlen(s)%2==0 Raspuns corect: d. Daca G este un graf neorientat cu 8 varfuri si 2 componente conexe, atunci gtaful are cel mult: 28 de muchii b, 12, muchii 21 de muchii d. 16 muchii Raspuns corect: c. Daca este un arbore cu rddacina, cu 100 de noduri, care este numarul minim de frunze pe care le poate avea T? (6p.) Raspuns corect: 1 (un arbore in care fiecare nod dintre cele 99 are un singur fiu, cel de-al 100-lea nod este frunza) Fie a o matrice cu 5 lini gi.5 coloane numerotate de la 1 la 5. Pentru fiecare element ali, 3} | alil{J] (1Si$5, 1$5$5), expresia ali, jle=(i-1)*543 | alil[j]==(i-1)*5+4j este nenuld. Care este valoarea sumei elementelor de pe diagonala secundara a matricei?. (6p.) R&spuns corect: 65 (=5+9+13+17+21) 123 4.5 6 7 8.910 4112 13 14 15 16 17 18 19 20 21 22 23 24 25 Scrieti un program Pascal | C/C++ care citeste de la tastatura un sir de cel mult 50 de caractere (litere mici si mari ale alfabetului englez, cifre si spatii) si afigeaz4 pe ecran litera micd cel mai des intalnita in sirul citit. Dac&d exista mai multe litere mici cu numar maxim de aparitii, atunci programul o va afiga pe prima dintre ele in ordine alfabetica. Daca sirul nu contine litere mici, atunci pe etran se va afisa mesajul nu. Exemplu: daca se citeste sirul: mergem la munte atunci se va afisa: (pentru ca literele e si m apar de cele mai multe ori fn sir, iar e este prima dintre ele in ordine alfabetica). (10p.) Rezoivare. Fie s girul de caractere citit de la tastatura. Parcurgand literelor de la ‘a’ la ‘2’, se numara fiecare aparitie a literei cure memoreaza prima liter cu numar maxim de aparitii. (Pascal var sistring[50]; i,max,krinteger; . ¢,cmax:char; begin readln(s); for crm’a’ to ‘2’ do begin k:=0; for i:=1 to length(s) do Af s{il=c then inc(k); if k> max then begin cmax:=c; maxisk end end; if max=0 then writeln(‘nu’) else writeln(cmax) (C/C++) #include: #include void main() { char 8[51],c,cmax; dint i,max=0,n,k; cin.get (s, 51); n=strien(s); for(cm’a’ scmax) {omax=c; max=k;) Af (maxe=0) cout<<"nu"; else cout< dac& graful din figura 1 ( O-® reprezinté un subgraf al lul © @, iar graful reprezentat in ©. figura 2 este graf partial (Figura 1) “(Pigura 2) al lui G? (4p.) ++) as » b7 5 a6 i++) Rispuns corect: d. .” a 7 Care vor fi valorile afigate dup& executarea secventei aldturate, dacd 1) variabilele s1, s2 gi s3 sunt de tip string? 4p.) 7 (Pascal) (C/C++) z 8it=’algoritm’; char #1[20]="algoritm”, S2i=’bioritm’; 82[20] ="bioritm, 83r=/ritm’; 83[20]="ritm, 4f length(s#1)< length(s2) if (strlen(s1)< strlen(s2)) then streat (3,81); 531863481 else e 83:=83+82) streat (83,82); write(si,’ ’,82,/ '83)1 printf ("ks %e %e",81,82,83))| : Cout<=va’) and Af(w[i}>m’a’ ah eli] sat (s[iladr && q == = p->adr , atunei lista are: (4p.) ‘a, un numar impar de elemente b. exact 2 elemente c. celputin3 elemente d. exact 1 element R&spuns corect: b. : Cte varfuri ale grafului din figura alaturaté, au Coser interior mai mare decat gradul exterior? R&spuns corect: 2 _ 7 ” Se considera variabilele #1 gi 82 de tip gir de caractere. Scrieti o secventa de instructiuni care,:in urma executérii, afigeaz& pe ecran cele 2 giruri In ordine lexicograficé crescatoare, separate printr-un spatiu. Exemplu: daca s1 refine girul mama gi #2 refine giqul macara, pe ecran se va afisa macara mama R&spuns corect: (6p.) (Pascal) (CCH) . if (stromp(s1,82)<0) Af siadreq->adr; q->adr=p; b. pisgy g*.adri= p*.adry b. peqy q->adr= p->adr; c q*.adr:=p; p*.adrisq; C. q->adr=p; p->adreqy @ q:=p*.adr; p*.adrs= q*.adr; | d. q=p->adr; p->adr= q->adr; ‘corect: a. : Se considera un graf neorientat dat prin listele de adiacenté alaturate. Care este numarul maxim de muchii care pot fi eliminate din graf astfel incdt graful partial rezuttat s& fie conex? — (6p.) R&spuns corect 3 * Intr-un graf orientat G cu 6 varfuri numerotate cu numere distincte de la 1 la 6, exist arc de la varful 4 ta varful 4 dac& gi numai daca 11. Care ‘sunt varfuri din graf ce au gradul interior mai mare-dect gradul exterior? (6p.) R&spuns corect: 45 6 Scriefi un program Pascal |c/c++ care citeste de la tastatura un text format din cel mult 200 de litere ale alfabetului englez, in care cuvintele sunt separate printr-un singur spatiu gi afigeaz’ pe ecran numérul de cuvinte din textul citit, care au prima respectiv ultima liter vocal. In cazul in care tn text nu existé un astfel de cuvant, se va afiga pe ecran mesajul wo ExrsTa. Se considera vocala orice litera din multimea {a,A,e,E,i,I,0,0,u,0}. (10p.) 237° Exemplu: daca textul introdus este: Eratostene a sugerat ca anii bisecti xe se repeta la f: pe ecran se va afiga: 4 iderand declararile alaturate, c: jpunct de vedere sintactic? : . (Pascal) Rezolvare: utilizam variabilele gasit1 gi gasit2 pmtru prima litera, re punct=record ultima litera a fiecdrui cuvant; gasit1 (gasit2) este 1-daca prima lite my:xealjend; vocala si 0 altfel. cerc=record (Pascal)’ (C+) float; centru: punct; var Tocrseringis)» char {201} ,voct]="aelou ereercy stetring[201]; int 4,gasiti,gasit2,nrcuy; -y by o.rasa. pun 4, gasit1, gasit2:integer; itd einer a Sees ame ee arcuv: integer void main() : ' begin t . o list finiar dublu Inlantuitd, voc:=/aeiouARIOU’; cin.get (a, 201); pul dx adresa urmatorului nod readin(s); : im0; urmator, in campul st. adresa drei, while(icstrlen(s)) 28 nu exist un nod precedent, iz + wilde (Leetengne(s)) { lui element al listel este re if (strehr (voc, s[411)) ite, incepand cu elementul a Baten feted 10000 la 1, In ordine descrescat else gasiti=! "| 1 else gasiti:=0; whlletetijic' *as Eo celui de-al 4-lea elem while (s[4]<>" +) > and | d0 then 1)))gasitaa1; gaeit2:=1, it (gasiti* / pede’ .dr dry 4f gasiti*gasit2<>0 then reer aaa strery ee rene a ’ : ) Tati= pA.drs. gasit2:=0; it: xs drs. drisry 1 a a : $998 b. 9999 write(nrcuv) ) ' ee ced! ena. e este numarul minim de mu ate. grafului alaturat pe (‘Care este numarul de noduri ale ' puns corect: 101 feti un program in limbajul Pa: ri naturale n gi m (1SnS24, | ional cu n linii gi m coloa ca in exemplu. Program entele fiecdrel lini find sepa Considerand declararile al&turate, care gintre urmatoarele referiri este corect din Bunet de vedere sintactic? (4p.) (Pascal) (CrC+4) type punct=record struct punct{float x,ys}) %,ytreal;endy struct cerc : type cercerecord {float razaj xaza:float; centru: punctyend; | punct centru;} cr - var crcerc; @. c.punct.y b.c.raga.punct ¢. c.centru.x d. c.y.centru R&spuns corect: c. Intr-o list& liniaré dublu Inlanfuitd, alocaté dinamic, fiecare elemeft refine in cAmpul ax adresa urmatorului nod din listé sau nil|NULL daca nu exista un Nod urmator, in cAmpu! st adresa nodului precedent din list sau nil|NULL dac& nu exist un nod precedent, iar in campul info un numar intreg. Adresa primutui element al listel este refinuta in variabila p. Daca in lista sunt memorate, incepand cu elementul de la adresa p, toate numerele naturale de fa 10000 Ia 2, in ordine descrescatoare, care va fi numarul memorat In campul info al celui de-al 4-lea element din lista dupa executarea secventei alaturate? * (4p) (Pascal (C/C++) x4, dnfors0; x->dnifo=0; aim p*.dr’.dr4.dr; Qe p->dr-pdr->dry @strer; _ | anrater, . ©s.drimgy r->dreq) xA.stim pA.drs.dry . r->st= p->dr->dr} pA.drs.drsdrsery p->dr->dr->drer; a, 9998 b. 9999 c. 9997 d.o R&spuns corect: d. Care este numérul. minim de muchii care trebuie adaugate grafului aldturat pentru a deveni eulerian? (6p.) R&spuns corect: 4 Y ® @ Care este numarul de noduri ale unui arbore cu 100 de muchii? (6p.) Ra&spuns corect: 101 4 @ @) Scriefi un program in limbajul Pascal | C/C++ care citeste de la tastatura doua valori naturale n gi m(1$n$24, 1$m$24) gi construieste In memorie un tablou bidimensional cu n linii gi m coloane format din toate numerele naturale de la 1 la n*m, ca In exemplu. Programul va afiga pe ecran, pe n linli, tabloul obtinut, elementele fiecarei linii fiind separate prin cAte un spatiu. - (10p.) 239 ja 066 Exemplu: pentru n=4 sim=5 se va afiga: mo UG . 7 a a 14 15 Ben se poate accesa prima Ii mre 817 16 eristici sunt memorate in varie _— Rezolvare: Pascal ' (Pascal) (C/C++) : = n,i,j,x:integer; #include tarray[1..24,1..24]of integer; | int n,i,j,a[25]{251,3) begin void main() : am) pare]; { cin>>n>>m;xe1; ior i:m1 to n do for(i=1;i=1;5--) . {ald} [jl=xpa++;} ee for (dm1;icenyie+) { muchille [1,21, 1,31, [2,2 for (j=1;j<=m;j++) marul im de hi ‘ite oe numéarul maxim de muchii_ car eae Me cout<nil do Dr=p*.urmy rite (p*.info) Secventa realizeaza afigarea Refi programul Pascal|C/C++ c cel mult 50 de caractere, doar ecran, fiecare pe cAte 0 linie, tc ungimnilor. Un prefix de lungime k caractere ale acestuia. plu: daca se citeste cuvantul Cum’ se poate accesa prima litera a denumirii unui- produs ale c&rui caracteristici sunt memorate in variabila p, declaratd ca mai jos? (4p) (Pascal) . (C/C+4) record struct produs denumire:string[15]7 t char denumire[15]; Se considera graful neorientat definit prin multimea nodurilor {1,2,3,4,5,6} gi muchile [1,2], 1,31, 2,31, (6,51, (3,41, (4,51, [4,6]. Care este numdrul maxim de muchii care pot fi.eliminate din graf pentru a se obtine un graf partial al su care s& fie conex? (4p.) 1 b 2 c. 0 d. 3 puns: b. Un arbore cu radacina avand 9 noduri, numerotate de fa 1 la 9, este memorat cu ajutorul vectorului de “tat” t=(2,5,5,3,0,2,4,1,1). Scriefi tofi ascendentii nodului 4. (6p.) puns: 5, 3 : Intr-o listé simplu inlanfuité, alocaté dinamic, cu cel putin doud elemente, fiecare element memoreaz& in cAmpul info un numar intreg, iar In campul urm adresa elementului urmator din list{ sau nil |NOLL dacd nu exist un element urmator. Stiind c& primal reprezinti adresa primului element din list’, iar variabila p este de acelasi tip cu primul, ce realizeazi urmatoarea secventa de program? (6p.) (Pascal, (C/C+4) p:=priml; p=priml; while p*.urme>nil do while (p->urm!=NULL) p=p->urm; Pr=p*.urmy printf ("%4",p->info) ; write (p*.info) | cout<info; puns: Secventa realizeaza afigarea valorii memorate in ultimul nod al listei. Scriefi programul Pascal|C/C++ care citeste de la tastatura un cuvant format din ‘cel mult 50 de caractere, doar litere mari ale alfabetului englez, si afigeaz& pe ecran, fiecare pe cAte o linie, toate prefixele acestuia, in ordine crescdtoare a lungimilor. Un prefix de lungime k al unui cuvnt este un subsir format din Primele k caractere ale acestuia. (10p.) Exemplu: daca se citeste cuvantul BACALAUREAT, se vor afiga prefixele: Rezolvare: Se va realiza intregul program. Abordarile Pascal gi C/C. distincte, avand in vedere facilitatile diferite oferite de fiecare dintre cele limbaje: (Pascal) : (C/C+4) Declarand s:string[50] — propunem | Declarand’ char #[51] ifolosi prelucrarea: hs readin(s); for i=l to length(s)do writeln(copy(s,1,i)) for (iml;inume [0] nume.p [1] nume.p[0] puns: a. : Se considera graful orientat definit prin multimea varfurilor {1,2,3,4,5,6) §i arcele (1,2), (1,6), (1,5), (2,3), (3,6), (4,1), (6,4). Care este vartul accesibil din toate celelalte varfuri prin intermediul unor drumuri elementare? (4p.) ‘4 bo . 5 a. puns: c. Un arbore cu rédécina, avard 8 ndoduri, numerotate de la 1 la 8, este memorat cu ajutorul vectorului de "“tati” t=(8,8,0, 3,4,6). Care sunt descendentii nodului 4? (6p.) puns: 5 si7 Se considera 0 lista liniaré simplu Inlantuita, alocaté dinamic, ale carei noduri retin In campul data o valoare numerica Intreaga. Stiind c& x, y si z retin adresele unor elemente din lista, ce se va afiga dupa executarea secventei urmatoare de program? (6p) (C/C++) xe>datas2) zaxy y->data=s5; yer; cout <data<data<data; =} | printé (*xaxanar,x->data, rite(x*.data,y*.data,z*.data) |. y->data,z->data) puns: 222 Scrieti programul Pascal |c/c++ care citeste de la tastatura un cuvant format din cel mult 50 caractere, litere mari ale alfabetului englez, i afigeaz& pe ecran, fiecare pe cAte 0 linie, toate sufixele acestuia, in ordine crescatoare a lungimilor. Un sufix de lungime & al unui cuvant este un subgir format din ultimele k caractere - acestuia. (10p.) Exemplu: dacd se citeste cuvantul EXAMEN se vor afisa Rezoivare: Presupunand ca sirul de caractere citit este s, 0 solutie de afigare (Pascal) : lung:=length(s); for i:=1 to lung do writeln (copy (s,lung-i+1,1) [A 068 se poate accesa prima cteristici sunt memorate in v. (Pascal) iterial=record Genumire:string[20]; (Cfe++) lung=strlen(s); for (i=1;inext=z; z->next#y7 248 Scrieti programul Pascal|C/C++ care citegte de la tastatura doud naturale m gi n (1$m$50, 1$n$50) si-apoi m*n numere intregi de cet fA 069 cifre ce reprezinté elementele unul tablou bidimensional. Programul va ecran ultima cifré a produsului elementelor pozitive aflate pe linii cu n (Cum se poate accesa prima ordine pare gi coloane cu numere de ordine impare. Numerotarea Wentificare sunt memorate inv respectiv a coloanelor se face incepand de la 1. Daca nu exist et Pa pozitive aflate pe linii cu numere de ordine pare gsi coloane cu nul (Pascal ordine impare, se va afiga mesajul NU EXISTA. type eleverecord nume, prenume: st: 2 Exemplu: pentru m=4, n=4 si matricea aldturaté, | 42 -21 31 Sere ease se va afiga 5 (reprezenténd ultima cifré a valorii 3 ~61 [7 end; 355=5*71) g1 11 21 wer e:elev; a Ea Rezolvare: Se parcurg si se Inmultesc elementele de pe linii pare si coloane & pastrand Ia fiecare produs numaiultima cifra. p€1; existaCfalse Observatie: in Pascal se pot utiliza st ppentru 1€2,n,2 executé while clasice sau structuri for adapt Se considera: graful orientat di | ppentru j€1,n,2 executa for i:=2 to n div 2 do siiturat’. 3 [| pdact ay20 atunci for ji=1 to (n+1)div 2 do Care este numarul de varfuri ale . if a[2*i,2*j-1]>=0. then | \, eS erotics pieces tieisasjcij/aca @tem) egal cu gradul exterior (¢ | | ‘a 4 Se noteazA prin a” (v) gradul inte e b. 3 @ispuns corect: c. rdac& exista atunci scrie p . wet Jaltfel scrie “Nu exista” “ Umiétind matricea de adiacent’ s “ @(2)=1, &(3)=1, 6 (3)=1, Care este vectorul de ‘"tati @borelui cu raidacina din figura @& care nodul 1 este nodul | @azolvare: Vectorul de tafi aso @= (01133 44) ‘Be considera o lista liniaré simp ‘gain in campul next adresa nc ‘gm element urmator In lista. Lista ‘sane adresa ultimului nod dir Qmbajul Pascal |C/c++ prin ca ‘@dresa refinutd de u, un nou nod ecelagi tip cuu? Mezolvare: (Pascal) u* next :: (C/C++) u->urm ® A 069 Cum se poate accesa prima litera a numelui unui elev ale carui date de identificare sunt memorate fn variabila e, deciarata aldturat? (4p) (Pascal) (C/C++) type eleverecord struct elev{ nume, prenume:string[20] 7 char nume[20] ,prenume[20)7 varstasinteger; int varsta;}e; end; var e:elev; e*.nume[1] a. e->nume[0) nume [1] b, @.nume[0] elev.nume[1] c. elev,nume[0} nume.e[1]} d. nume.e[0] R&spuns corect: b. Se considera graful orientat dat prin ‘matriosa de adiacenta | 0 alaturata. . 1 Care este numarul de varfuri ale grafului care au gradul interior | 0 (intern) egal cu gradul exterior (extern)? (4p.) 3 ° 1 a 0 ° 1 0 b, 3 ce 2 da. R&spuns corect: c. Se noteaza prin a” (wv) gradul interior, respect prin a*(v) gradul exterior al unui vartv. Urmarind matricea de adiacent& se observa c&: d°(1)=0,. 4° (1)=2, 4°(2)=4, (2), a(3)m1, A(3)e1, A(4) 2, A(4)e2, A°(5)e1, @ (5) 21. Care este vectorul de “tati’ asociat arborelui cu radacina din figura aldturata in care nodul 1 este nodul radacina? (6p.) Rezolvare: Vectorul de tati asociat arborelui din figura este: t= (0113344) Se considera o lista liniar& simplu fnlantuita, alocata dinamic, ale c&rei noduri tefin in cAmpul next adresa nodului urmator sau nil | NOLL daca nu exista un element urmator In list. Lista are cel putin un element. Stiind ca variabita u refine adresa ultimului nod din list&, scrieti o secventé de instructiuni tn limbajul Pascal |c/c++ prin care se insereaza fn list dupa ultimul nod, cu adresa refinut de u, un nou nod a carui adresa este retinuté de variabila v, de acelagi tip cu u? . (6p) Rezolvare: (Pascal) u* .next:= vy v*.next := nily (C/C++) u->urm = v; v->urm = NULL; 247 Scriefi programul Pascal|c/c++ care citeste de la tastaturé un [A 070 natural n (1Sn$50) gi n* n numere naturale de cel mult 5 cifre ce rep elementele unui tablou bidimensional a, si verificd: dacd matricea triunghiularé superior. Programul va afiga pe ecran mesajul cor Este triunghiularé superior” respectiv Nu triunghiular& superior”. O matrice se numeste triunghiulard sa daca toate elementele aflate sub diagonala principal a ei sunt nule. Exemplu: pentru n=3 si matricea alaturaté se va afiga| 1 2 3 mesajul: o56 Este triunghivlaré superior 009 Rezolvare: Secventa pseudocod alaturatd reprezinté o solutie posibili construirea matricei: $tind cd fiecare dintre variabik e&te unui elev in forma data « wmatoarele instructiuni_ deten variabila reald m a mediei aritme * (Pascal type ‘elev=record nume:string{30]7 notarreal; end; var varl,var2:elev; mr=(varl.nota+var2.nota) ’ citeste n (numér natural) pentru i€1,m executé | ppentru j €1,n executé | | citeste a, ; (numere naturale) minvarl.nota+var2.nota d m:=(varl+var2).nota div mrenota(varl+var2) div i | 4 (Réspuns corect: a. fe Se consider’ un graf orient 7 adiacenté alaturata. | oo erie th Cate varfuri ale grafului au ' | | aack 0 ~ absolut a gradelor (intem i ex I aj; #0 atunci go _* 5 b 3 rdack g # 0 atunci |scrie Este triunghiularé superior Jaltfel (eae Nu este triunghiulard superior corect: d. Se noteaza prin a (v) gradul inte vartv. Urmarind matricea de adiacent @(2)= 2, Flame, a @(5)=2, a°(5)=2. Care este vectorul de “taf sSdacind din figura aldturata ii modul radacina? Rispuns corect: vectorul de taf: ‘Se considera o lista liniaré simp setin In cAmpul next adresa n w element urmator. Lista are c refine adresa primului nod din ‘scriefi 0 secventa de instructiun Cireia lista liniaré se transforma $tiind ca fiecaré dintre variabilele var1, var2 memoreaz4 numele gi nota c&te unui elev fn forma data de deciararea alaturata,. indicafi care dintre urmatoarele instructiuni determina, In urma executdrii, memorarea in variabila reala m a mediei aritmetice a notelor celor doi elevi. (4p.) (Pascal (C/C++) type ‘elev=record struct elev nume:string[{30]7 { char nume[30]; notarreal; float nota; end; }warl, var2; var varl,var2:elev; m:=(varl.notat+var2.nota)div2; | m =(varl.nota+var2.nota) /27 mi=varl.nota+var2.nota div 2; |™ = varl-notatvar2.nota/2; mi=(varl+var2).nota div 2; m =(varl¢+var2) .nota/2; mrenota(varl+var2) div 2) m = nota(vari+var2) /2) Réspuns corect: a. Se considera un graf orientat dat prin matricea de adiacenta alaturata. CAte varfuri ale grafului au proprietatea cd diferenta absoluta a gradelor (intern si extern) este egala cu 2? (4p) a b 3 a 4 R&spune corect: d. ‘Se noteazii prin a (v) gradul interior, respectiv prin a°(v) gradul exterior al unui vartv. . Unmarind matricea de adiacentd se observa c&: . d*(1)=3, @(v)= 1, a@(2)= 2, A(2)ed, A(3)=2, A(3)R3, A(A)ed, A (4)=3, a’(5)=2, &(5)=2. 7 Care este vectorul de “tati’ asociat arborelui cu iO) radacina din figura aldturata in care nodul 5 este Nodul radacina? SF © © © Raspuns corect: vectorul de tafi asociat arborelui este: 2.5 2 5 0 Se considera o lista liniard simplu inlantuita, alocaté dinamic, ale cdrei noduri retin in cAmpul next adresa nodului urmator sat! nil |NULL daca nu existd un element urmator. Lista are cel putin doud elemente. $tiind cd variabila pi fefine adresa primului nod din lista, iar variabila wi. adresa‘ ultimului nod, scriefi o secventé de instructiuni In limbajul Pascal |c/c++, prin executarea c&reia lista liniara se transforma intr-o list circulara? (6p.) 249 (Pascal) (ciC+4) ul’ nextr=ply ul->umm = ply A071 Scrieti programul Pascal |C/c++ care citegte de la tastatura doud e noduti ale grafului_orier naturale m sin (1SmS24, 1$n$24), un numér natural x (1S2Sm) $i apd oarele arce: (1,5), (: numere naturale de cel mult 5 .cifre ce reprezinté elementele unui 5),(5,4), (6,5) au gra bidimensional a, cu m linii, numerotate de la 1 la m, gi n coloane, nur . 6 de la 1 la n. Programul va determina eliminarea liniei cu numérul de ord puns corect: c. din matrice, modificarea corespunzatoare a numéarului de tintii din ma {Gradul exterior al unui nod v es afigarea matricei obtinute In urmatorul format: cate o linie a matricei pe ef pelor ce au ca extremitate ini linie a ecranului, elementele fiecarei linii fiind separate prin cate un Pater 2 Exemplu : 11 21 31 41 se va afiga matricea pentru m=3, ned, xe2| 51 61 71 81 11.21 31 41 ean gi matricea al&turat’ 92 11 21 31 91 11 21 31 Ee ramarenne: (cane Hi |NULL. dacd nu existd ¢ a primului nod din lista dintre secventele de mai | Rezolvare: Este prezentatd | citeste,m, n, x (numere naturale) aldturat 0 posibilé rezolvare In | “ppentru i€1,m executd pseudocod. | ppentru j €1,n executé | | citeste aj; a ppentru i€x,m-1 executé | ppentru 3 €1,n executé Pl ay tainy i m€m-1; bila 4 este de tip intreg, i oreaza o matrice cu n lit jmumerotate de la 0/1 la n-1 ente sunt numere intregi. pcuiti punctele de suspensie program alaturaté cu extdrii secventei, variabila intre corect: si = sl + afi] [il; el: = sl + ali,i) care dintre variabilele deck i elev. Scrieti secventa de ele si nota pentru flecare e elevului cu nota cea m 2 numele elevului memorat e Cate noduri ale grafului orientat cu gase noduri numerotate de la 1 la 6 $i urmatoarele arce: (1,5), (1,6), (2/1), (2,3), (3,1), (3,4), (4,3), (4,5),(5,4), (6,5) au gradul interior egal cu.gradul exterior? (4p.) 4 b. 6 : « 5 da 3 corect: c. : Gradul exterior al unui nod v este reprezentat de numarul arcelor ce au ca extremitate inifiala acest nod, iar gradu interior este reprezentat de numarul arcelor ce au ca” extremitate final nodul v. Nodutile1, 2, 3, 4gi6 au gradul interior egal cu gradul exterior. Intr-o lista liniar& simplu tmlanfuité, alocaté dinamic, cu ceP putin 3 noduri, fiecare nod refine In campul urm, adresa urméatorului nod din listé sau nil[{NULL dac& nu exist’ un nod Urmator. Daca tn variablla p se refine adresa primului nod din list si q este o varlabilé de acelasi tip cu p, atunci care dintre secventele de mai jos elimina din lista al dollea nod ? (4p. (Pascal) (C/C++) qrap*furm Q=p->urm; P*.urmsaq* surmy p->urmag->urmy a@ispose(q); delete q; | free(q); qi=p*.urm; q=p->urmy dispose(a)? delete qi. | free(q); p*.urmisg*.urm p->urmeg->urmy dispose(p*.urm) 7; delete p->urm;| free(p->urm); ‘p*.urm:ep*.urm*.urmy p->urm=p->urm->urm) q:ep*.urm* umm qup->urm->urmy pA .urmieg’ .urm p->urmeq->urmy dispose(q) 7, delete qy | free(q); RAspuns corect: a. Variabila 4 este de tip intreg, i il (C/C++) memoreazé o matrice cu n linii sin coloane, | 57 = 9, #2 = 0; numerotate de la 0/1 la n-1/n, ale carel| gor(4mu0y icny i++) elemente sunt numere intregi. Iniocuif! punctele de suspensie din secventa | (Pascal) de program aldturata cu instructiunile | g1;00; »2:=0; Corespunzaétoare, astfel incat, in urma exe-| gor is= 1 to n do cut4rii secventei, variabila intreaga #1 sa begin . end; memoreze suma elementelor de pe diagonala principala din matricea a, lar variabila Intreaga #2 suma elementelor de pe diagonala secundara din matricea a. (6p.) corect: (C/C++) a1 = wl + afi] [4]; 82 = 62 + ali} [n-i-1], (Pascal) el: = #1 + ali,i]7 s2:= 02 + ali n-itl], Fiecare dintre variabilele declarate mai jos memoreaz& numele gi nota cate unui elev. Scriei secventa de instructiuni prin care se citesc de la tastatura numele gi nota pentru fiecare dintre variabilele e1 si e2 $i apoi se afigeaza .fumele elevului cu nota cea mai mare. Dacd cele doud note sunt.egale, se va afiga numele elevului memorat in variabila e1 .- (6p.) 254. (C+) struct elev{ nume: string[20]; char nume[20]y nota: real flost nota;}7 end; elev e1,e2; * var el, e2: elev; aot , corect: corect: readin(e1.nume,el.nota); | cin >> el.nume >>-el.nota; readln(e2.nume,e2.nota); | cin >> e2.nume >> e2.nota; if, el.nota >= e2.nota then | if (el.nota >= e2.nota) write(el-nume) cout << el.mume; © else write(e2.nume); else cout << e2.nume; Scrieti programul Pascal|C/c++ care citeste de la tastaturd, separ Enter, doya siruri de caractere: un sir s de maximum 255 de caracter pot fi litere ale alfabetului englez si spafii, apoi un sir ¢ de maximum caractere. Programul va inlocui in girul s toate aparitiile girului c cu un exact acéeagi lungime efectiva cu c, format doar din caractere *, exemplu. Sirul s obfinut in urma acestei prelucrari va fi afigat pe ec cazul in care ¢ nu apare in s, programul va afisa mesajul NU APARE. Exemplu: daca girul s citit este Din departare se vede, tare este tare atunci pe ecran se va afisa: Din depar**** se vede **** Sugestie de rezolvare: (C/C++): se cauta aparitille girului ¢ in s, prin repetate al functiei strstr (). Cautarea incepe Intotdeauna de la primului caracter care urmeaza subsirului c. (Pascal: se utilizeaz& procedura pos, pentru determinarea ocurentelor c in , apoi inlocuirea propriuzisé se poate realiza prin perechi de delete si insert. (Pascal (C/C+4), var s : string; #include c,d + string[20]; #include gasit: boolean; poz, n, i: integer; int main() begin type elev=record readin(s); readin(c); n t= length(c); atc; for i := 1 ton do afi] rm ety gasit := false; repeat poz := pos(c, 8); if poz <> 0 then begin delete(s, poz, n)7 insert (a, s, poz)? gasit := true; end; until poz = 0; if gasit then writeln(s) 252 else writeln('NU APARE'); t 2561, 2 eerie ela, int n, i, gasit = 0; cin.getline(s, 256); cin >> 7 n = strlen(c); p= strstr(s, c)7 if(p) gasit = 1; while(p) {for (isp: efi] p = strstr(pin, c); } if(gasit == 0) cout << "NU APARE"; else cout << 5; return 0; , ct cate un descendent dit 12273, 4,5,6, o1,2,324,5,6,7,8) py(s,i,length(s)- Af(b>x) then x:=b considera un graf neorie : (1,41, (1,81, £ 86,51. Scriefi cdte compone pestuia trebuie eliminate a de componente conex 0 : Graful dat este c eliminarea nodului 1 se primului nod din list istructiunile care pot el incat, In urma executari (Pascal) write(u*.info, ' '); ur ‘A072 Fie un arborele cu rédacind cu 9 noduri, numerotate de la 1 la 9. Care este vectorul ,de tati” al acestui arbore gtiind cd nodurile 1, 2, 3, 4,5, 6, 7, 8 au exact cate un descendent direct (fiu)? (4p.) (1,2,3,4,5,6,7,8) b. (1,2,3,4,5,6,7,8,9) | (0,1,2,3,4,5,6,7,8) d. (0,1,2,3,4,5,657,8,9) Réspuns corect: c. . e Th secventa aldturatd, fiecare dintre variabilele x si s sunt de tipul sir de caracter, iar 4 este de tip Intreg. Daca variabilele x si s memoreaza initial girul absolvent, ce se va memora in variabila x In urma executdrii secventei alaturate? (4p.) (Pascal (C/C+4) : for i:=1 to length(s) do for (i=0;ix) then x:=b : end; nt b, absolvent ¢. solvent d. vent Réspuns corect: d. Variabia x memoreazi cel mai mare suffx in sens lexicografc, al girului Se consider un graf neorientat cu 8 noduri, numerotate de la 1 ja 8, si muchille: [1,4], [1,8], (2,11, (2,31, (3,11, 4,51, [4-7], (5,71, {6,51. Scriefi cAte componente conexe are graful dat si care dintre nodurile acestuia trebuie eliminate astfel incat subgraful obtinut sA aibé un numér maxim de componente conexe. (6p.) Rezolvare: Graful dat este conex, deci are o singura componenta conexa. Prin eliminarea nodului 1 se vor suprima muchiile [1,4], [1,8], [2,1] obtinandu-se astfel 3 componente conexe. Prin eliminarea oricdrui alt nod numarul de componente conexe obfinut este mai mic decat 3. Se considera lista simplu Inlantuita, alocatd dinamic, in care fiecare nod Memoreaz& In cAmpul info un numar intreg, iar in campul urm ‘adresa - nodului urméitor sau n41fNULL dacd nu exist’ un nod urmator. In listé sunt memorate, in aceasta ordine, numai valorile 1, 2, 3. Daca variabila p retine adresa primului nod din list, iar Variabila u adresa ultimului nod din lista, scrieti instructiunile care pot inlocui zona punctatd din secventa alaturata, astfel Incat, In urma executarii acesteia, s3 se afigeze 3 2 1. (6p.) (Pascal (C/C+4) while u <> nil do while(u != NULL) begin { write(u*.info, ' '); cout << u->info<<" “; uote us.urm | prints (*%d~,u->info); end; uu» u->urm bal } (Pascal) us.urm i= p*.urm p*.urm*.urm i= py Pesan im NOLL Scriefi programul Pascal|c/c++ care citeste de la tastaturé o +naturalé n (2SnS: construieste in memorie gi apoi afigeazd pe e matrice a, cu n linii gin coloane, simetric& fata de diagonala Elemente matricei situate deasupra diagonalei secundare, inclusiv i secundard, sunt toate numerele naturale de la 1 la sins u->urm = p->urmy p->urm-urm = p; p->umm = NOLL) Elementéle fiecdre! tinii, de la sténga la dreapta gi ale fiecrel_coloane, de sus In jos, situate deasupra diagonalei secundare, inclusiv cele de pe diagonaia secundara, sunt tn ordine strict crescdtoare, ca In exemplu. Matricea se va afiga pe ecran, cate 0 linie a matricei pe o linie a ecranului, elementele fiecdirei linii fiind separate tntre ele prin cAte un spatiu. Exemplu: pentru n = 4 se va afiga matricea alaturata. (10p,) 13610 a596 4a53 74431 Rezoivare: citeste n | Secventa pseudocod alaturata| J€1 Teprezinta © solutie posibilé pentru tru i€1,n executé é construlrea matricel: it timp i+} <= n executé rp dach 4 = 1 atunod LL fay@stsonysa tl ie ELE ats apart [| 4 LL @apinin © a1 | [oes te fA 073 ‘Se considera arborele cu 12 n wmmAtorul vectori .de tat!": (4, 8 ‘odurile arborelui au exact un de 69,11 5,12, 6,9,11 Rispuns corect: b. ‘Se considerd declardirile de mai j ‘type Berecord mt real; | ytlongint end; type Carecord mIAy y:B end; wer x, yi Cy Jengint b, integer mar d. real Bispuns corect: c. ‘Se‘consideré graful orlentat cu 2,4), (1,5), (1,6); (2,3), minim de arce ce trebule addug putin un circuit elementar de @memplu de astfel de circuit, a: ‘MEepuns corect: Numarul mi: gaifel Inc&t acesta sf contind cel p Sunt mal multe posibliitat! de @ ale june dintre urmatoarele variante: 3, 2), (3, 4). Inurmat te 6, 5, a, 1) 1, bilele n, 4, p gi q sunt de ti ‘Bidimensional cu a linil gi 2 cx geencs0) cu elemente numer ia de program de mai jos | ‘Be urma executarll acesteia, s intel lintel p ale tabloului @SqSn-1, 0SpSn-1 varianta C/ ‘ecrieti deciararile acestora. IANTA 073 Se considera arborele cu 12 noduri, numerotate dé la 1 la 12, definit prin urma&torul vectori ,de tati": 8, 0, 3, 10, 1, 8, 3, 2, 4, 7, 10). Care dintre Nodurile arborelui au exact un descendent direct (flu)? (4p.) 6,9,41 b. 1,2,7 5,12,6,9,41 . d. 10,1,2,7 Rispuns corect: b. Se considera declardrile de mai jos. Care este tipul expresieix.x.y ? (4p.) (Pascal cron) type A=record xt integer; struct A struct B co yt char. tc end; ant x7 float x; type Berecord onary) } long y1 1 real) Ba : yrlongint end; struct C t tape, Srrecora struct A x; ysB-end) struct By) var x, yt Cy de vi longint b, . integer a. long b.. dat char d. real c. char d. float Réspuns corect: c. Se'considera graful orientat cu 6 noduri, numerotate de la 1 la 6, 1 arcele (1,2), (1,5), (1,6); (2,3), (4,3), (4,5), (6,5). Care este numarul minim de arce ce trebule addugate grafulul astfel tinct acesta sa contind cel putin un circuit elementar de lungime 47 Pentru graful rezultat, dati un exemplu de astfel de circult. (6p.) Raspuns corect: Numérul minim de arce care trebule addugate grafulul astfel Inc&t acesta sa contina cel putin un circult elementar de lungime 4 este 2. ‘Sunt mal multe posibliitét! de @ alege arcele ce trebule addugate. Se poate alege una dintre urmatoarele varlante: (5, 3), (2, 2)7 (3, 5), (8, 2) sau (5, 2), (3, 4). Inu iddugarli arcelor se poate obtine unul dintre clrcultela: 2,6, 5, 2, 17 1, 2, 3, 8, 1 Sau 8, 2, 3, 4, 5 Varlabliele n, 4, p §i q sunt de tip tntreg, lar variabila a memoreaz& un tablou bidimensional cu a Iinil gi m coloane numerotate de la 1 la -n/O la n-1 (0 n,i,j,min,nv : integer; #include voc.: set of char; @ . int main() t char 8[256], pmin[256], char vi] = ou"; ‘ul: int minim = 256; for i := 1 to n do int n, nv; begin int i, j,4s readln(s); cin >> n; nv := 07 cin.get(); for j:=1 to length(s)do for(i = 1; i <= nj i ‘+ if s[j] in voc t then inc(nv); - cin.getline(s, 256) if mv <= min then 1 = strlen(s); begin nv=' OF for(j = 0; 5 < 1; J++) if(strehr(v, 819)) aves; if (nv <= minim) { minim = nv; strepy (pmin, = ? | “cout << pminy xeturn 0; 1 a b. a. VARIANTA 074 {ntr-o fist’ liniar& simplu inlan{uit’, alocaté dinamic, cu cel putin 3 fiecare element retine in cAmpul urm adresa urmatorului element din lista hil] NULL daca nu existé un element urméator, iar in campul info infor util de tip intreg. Daca variabila p refine adresa primului element din atungi care dintre secventele de mai jos atribuie campului info al celui d treilea element informatia utild din primul element al listei? ( (CCH). > . p->urm->urm->infosp->info; p->urm->urm->info=p->urm->info; p->info->info->info = p->info; p->urm->urm = p->info; (Pascal) p*.urm*.urm*,info:=p*.info; p*.urm*.urm*.infor=p*.urm*, infos ps. info*.info*.infor=p*.info; p.urm*.urm := p*,info; R&spuns corect: a. Ce se va afiga tn urma executdrli secventei de program de mai jos d varlablla x memoreaz cuvantul bacalaureat, lar variabila y memo cuv4ntul banal? (Pascal) (C/C++) zi «> y then write(x) if(stremp(x, y) > 0) cout1. Scrieti un programul Pascal|c/c++ care citeste de la tastaturd o valoare faturalé n (2Sn$24), construiegte In memorie $i afigeaza pe ecran o matrice ~ acu n lini si n coloane ale carei elemente sunt numere naturale, fiecare feprezentand ultima cifraé a céte unui termen al girulul lui Fibonacci, incepand de la termenul de indice 1 i pana la termenul de indice n?, in ordine, linie cu finie de sus in jos, si in cadrul fiecdrei linii de la stanga la ae ca In exemplu. Matricea se va afiga pe ecran, cate 0 linie a'matricei pe cate © linie a ecranului; elementele de pe aceeasi linie fiind separate fntre ele prin cate un spatiu. Exemplu: peritrun = 4 se va obtine matricea alaturata. (10 p.] - Rezolvare: citeste n oe Secventa pseudocod aldtu-| £0€1) £1¢1 rat’ reprezinta o solutie| ppentru i€1,n executé posibilé pentru construirea | | pentru j €1,n executé matricel: ch jul gi del atunci a;,,€1 altfel ch jm2 gi inl atunci a,,€1 altfel | £2€(£06£1)%10 Ce se va afiga In urma executarii secventei de program alaturate stiind este o variabilé de tip tntreg, iar variabila x este de tip string | caractere? (Pascal im 'ExANelNe NaTiOnALe' ; for i:=l to length(x) do if (xf{iJ>='aA') and (x[i]<='N') then x(i] :achr(ord(x[i] )+ord(" write(x)7 (CH) strcpy (x, “ExAMeiie MaTiOnALe"); for(i = 0; i < strlen(x); i++) if(x[i] >= ‘A ee xLi] <=) m(i] = xfi} + ‘a’-'a; cout << xy | printf(“%c", x); examene natidnale WATIOMALE devina graf complet? 16 b 16 Rispuns corect: d. examene naTiOnale exAmeNe nAtioNalE Réspuns corect: b. (algoritmul transforma primele 14 caracterele litere alfabetutui englez In litera micd corespunzatoare acestora) Se considera graful neorientat cu 6 noduri, numerotate de la 1 la 6, definit prin listele de adiacenta alaturate. Cate muchii trebuie addugate In acest graf astfel inc&t,el s& wa “emwaneu Numérul de muchii ale unui graf complet este egal cu n* (n-1) /2. Intr-o list liniar& simplu fnlainfuit’, alocaté dinamic, cu cel putin 3 ele fiecare element refine in campul urm adresa urmatorului element din list nil|MOLL daca nu exist’ un element urmator. Daca in variabila prim retine adresa primutui element din lista, iar p, @ si x sunt variabile de a tip cu prim, scriefi instructiunile cu care trebuie inlocuite punctele ‘suspensie.din secventa de program alaturata, astfel incat, In urma exect ei, 84 se inverseze sensul legaturilor In lista. 6 (Pascal p= prim q := pris p*.urm r= nil; while q <> nil do be rors q*.urmy quer end; Rezolvare: “(Pascal q*.umm := D7 § Se considera graful orienta (1,2), (2,5), (3,2), (3,4) minim de arce care trebui doud noduri x si y, din mut la x la y? Enumerati arcele : Rezolvare: Este reprezer graful corespunzator enunt. rul__ minim de = muchii c adaugate este 2. Acestea 5 in mai multe modur. ¢ alegere este: (4,3) gi ( (5,4) gi (4,3) Intro matrice a, cu n linii “semidiagonala de indice k” pentru care relatia: i+j=k ieN,jeN,ken). Scrieti programul Pascal| natural mn (2Sn$24), con matrice a cu n lini gi n colo fiecdrei semidiagonale de inc Matricea se va afiga pe ecre peo linie a ecranului, ek separate intre ele prin cate u Exemplu: pentru n = 4 aldturata. Rezolvare: © posibil solutie este pre algoritmul pseudocod alaturat urate stiind a string | (Pascal) (C/C++) . D= prim gq := prim*.urm; p= prim g = prim->urm p*.urm := nil; p->urm = NULL; while q <> nil do begin while(q != NULL) rorm q*.urm; { esq -> urm qr er end; Rezolvare: : (Pascal) q*.urm = pr p t= qr | (C/C++) q->urm = py Pp = Ge Se considera graful orientat cu 7 varfuri, numerotate de la 1 la 7, si arcele (1,2), (2,5), (3,2), (3,4), (3,6), (5,6), (5,7), (6,1). Care este numarul minim de arce care trebuie addugate acestui graf astfel incat, pentru orice dou& noduri x si y, din mulfimea {1,2,3,4} sa existe cel putin un drum de lax la y? Enumerati arcele care trebuie adaugate. Rezolvare: Este reprezentat alaturi graful corespunzator enuntului. Numa- ful minim de muchii ce trebuie addugate este 2. Acestea pot fi alese in mai multe moduri. O posibild alegere este: (4,3) si (2,3) sau (5,4) gi (4,3) intr-o matrice a, cu n linii si mn coloane, numerotate de la 1 la 1, numim “semidiagonala de indice k” multimea formata din elementele a;,; ale matricei pentru care relafia: itj=k+1 este adevdrati (1Sk<2*n, 1$iSn, 1SjSn, ieN,jen,ken). Scriefi programul Pascal|c/c++ care citeste de la tastaturé o valoare natural n (2SnS24), construieste in memorie si apoi afigeaz& pe ecran o matrice a cu n linii si n coloane, numerotate de la 1 la n, in care elementele fiecdrei semidiagonale de indice k sunt egale cu (k+1)?, ca In exemplu. Matricea se va afiga pe ecran, cate o linie a matricei | 4 9 16 25 pe.o linie a ecranului, elementele unei linii find | 9 16 25 36 separate intre ele prin cate un spatiu. esr Exemplu: pentru n = 4 se va obfine matricea|25 36 49 64 alaturata. (10p.) Rezolvare: citeste n posibild solutie este prezentaté in| ppentru i€1,n executa algoritmul pseudocod alaturat. | ppentru 3 €1,n executa I lage Gta? ie | | 4“ ponente diferite, graful devin’ ga muchille (3,8) gi (4,1) este vectorul de tafi pentru ar e [1,5], (2/31, [3,6], | SdScind nodul numerotat cu 6 1s corect: (5,3,6.6,7/0, VARIANTA 076 1. In secventa de program alaturata, variabila t memoreaz o matrice cu , 5 coloane, numerotate de la 1 la 5 | 0 la:4, cu elemente numere int celelalte variabile sunt intregi. Executarea acestei secvente ~ memorarea in variabila x a sumei elementelor situate: i programul Pascal |C/C+ x20; oe x=0; (Corr) gmum 20 de litere gi minimu for i1=1 to 5 do for (42074<5 44+) =f dg teeerteese for j:=i+1 to 5 do for (Jed+1)4<5:5++) litere. Prima prelu eae xreuet [1,517 wexet i] 317 saLarer pel gegrtey @. deasupra diagonalei principale, b. strict deasupra diagonalei pring repeta pan ut ge va afiga | inclusiv diagonala principal cuvant obfin ¢. strict sub diagonala principal d. strict deasupra diagonalei plu: daca se citeste cuvant. Raspuns corect: b. calaurest 2. —_Intr-o list& simplu tnlantuit&, alocat’ dinamic, fiecare element refine in cd ore urm adresa elementului urmator din fist sau nil {NULL daca nu -exi element urmator, iar in campul ing un numar tntreg. Adresa primului e al listei este memorata tn variabila prim, variabila p este de acelasi prim, iar variabila x este de tip’intreg. Initial, tn listA sunt memo Itimu aceastA ordine, numerele de mai jos. Care este confinutul listel in Scaler esd faa ‘executérli secventei de instructiuni scrise alaturat? Coe =. (Pascal) bh E+E ngyir:integer; (Pascal) (C/C++) pisprim; | p=primy while p*.urm <> nil do while(p->urm! =NULL) begin {xmp->dn£) 4f(length(s)>0) then xiep* dng po>infep->urm->inty delete(s,length(s),1) p*.infie p*.urm*.inty p->urm->infex; writeln(s); . pe.urm*.inf r= x) Pap->urm ont Prep*.urm } end; a234561 b654321 64214365 4123456 Rispuns corect: a. 3. Fie graful orlentat cu 8 varfuri, numerotate de la 1 la 8, gl arcele (1,2), (24! (3,1), (4,5), (5,6), (5,7), (6-7), (7,4), (8,7). Care este nu minim de arce care trebuie adaugate astfel tncat, pentru oricare doua varturi: y din graf s& existe cel putin un drum de la nodul x la nodul y? R&spuns corect: Pentru oricare doud varfuri x si y din graf s& existe cel p un drum de la nodul x la nodul y daca graful este tare conex. Graful dat are componente tare conexe definite de‘ multimile de varfuri: {1, 2, 3}, (4, 6, 7}, {8}..Dacd se adauga 2 arce, astfel incdt s& “lege” varfuri 262 e” varfuri din componente diferite, graful devine tare conex. O variantd posibila este de a adauga muchiile (3,8) si (4,1). Care este vectorul de tafi pentru arborele cu 8’ noduri, ninpctat de la Ja 8, muchille [1,51, [2,3], [3,6], (3,81, (4,61, {3,71, (6,7, dact Malege a radacina nodul numerotat cu 6? (6p.) Ré&spuns corect: (5,3,6,6,7,0,6,3) Scriefi programul Pascal|c/c++ care citeste de la tastaturé un cuvant de maximum 20 de litete gi minimum o litera si afigeaz4 pe ecran cuvantul citit precum si toate cuvintele obfinute din cuvantul citit prin eliminarea. primei sia ultimei litere. Prima-prelucrare se refera.ta cuvéntul citit, iar urmatoarele la cuvantul rezultat din prelucrarea.anterioard. Procedeul de eliminare si afigare se va repeta pana cand se obtine. cuvantul vid, ca In exemplu. Cuvantul initial si fiecare cuvant obfinut se va.afiga pe cAte o linie a ecranului. Exemplu: daca se citeste cuvantul bacalaureat, se va afisa: bacalaureat acalaurea calaure alaur lau a * (10p,) Se gsterg primul gi ultimul caracter din girul de caractere gi apoi se operatie care se repetd pana cAnd sirul devine vid. (Pascal (C/C++) sistring;4:integer; int main() ( char s[256]; int 4) readin(s); while length(s)>0 do begin delete(s,1,1); if (strlen(s)>0) if(length(s)>0) then s{strlen(s)-1]=07 delete(s,length(s),1)7 cout< end return 0; 4. > Gin cel initial prin transformarea th majuscula, restul caracterelor Exemplu: daca se citeste textu 8 coloane, numerotate de la 1 la 8 | 0 Ia 7, aa AI EatE Exame DE elemente numere intregi, secventa de program alaturata, In care variabile 4, si J sunt de tip intreg, determina, in urma executérii ei, memorarea in Razolvare: ‘sumei tuturor elementelor situate: ¢ (Pascal) ‘ (Pascal (CCH) srstring[50]; n,isbyte; ms=0) z=0;7 for i:=1 to 8 do for(i=0;i<8;i++) n(s); nislength(s); for j:=1 to i-1 do for(j=0;5EP-EP-EFE (Pascah (C/C++) Pr=sprim; p=prim; while p*.urm*.urm*.urm<>nil | while(p->urm->urm->urm [= do pr=p*.urm; NOLL) grr ly 1- qr=p*.urm; P=p->urmy ux: =aux+copy (8,1,k+: PA .urmiep4urm*.urmy @=p->urmy Gelete(s,1,k+1-1)7 dispose (q); p->urmep->urm->urm; if s{2 then aux:sauxt+'?'7 ke=pes(cuv,s) 7 delete q | free (q)s g = 1 then riteln(aux) writeln(/NU EXISTA’) Fie graful orientat cu 7 varfuri, numerotate de la 1 Ja 7, si arcele (1,2), (2,' (3,1), (4,5), (5,6), (5,7), (6,7), (7,4). Care este numdrul minim arce gi care sunt respectivele arce ar trebui eliminate pentru ca graful pa obfinut s nu mai contina circuite? (6p) R&spuns corect: 2 (de exempluarcele (1,3) gi (4,5)) Care este numérul minim de muchii ale unui graf nedrientat conex, cu 100 de noduri? (6p.) las(ola7), re variabilele: i tuturor el R&spuns corect: 99 (un-graf neorientat conéx cu numar con de muchii este F arbore, deci contine n-1 muchii) Scrieti programul Pascal|C/c++ care citeste de la tastatura un text cu cel mult 100 de caractere (doar litere mici alfabetului englez si spatii) gi un cuvant cu cel mult 15 caractere, doar litere mici ale alfabetului englez si care afigeazd pe ecran sirul obtinut prin inserarea in textul initial a caracterului dupa fiecare aparitie a cuvantului cite. Daca in text nu apare cuvantul citit, se va afiga mesajul WO APARE. Exemplu: daca se citeste de la tastatura textul examenul de bacalaureat si examenul de atestat gi cuvantul examenul se va afiga: ui examenul? de bacalaureat si examenul? de atestat. (10p.) Rezolvare: (Pascal) s, aux, cuvistring; x,1,g:integer; le k>0 do begin gis 1; uxtcopy (8,1, k+1-1) 7 | (C/C++) #include #include int main() { int k, g =.07 char #[150] ,aux[150},*p,cuv[16]; cdin.get (8,150); cin>>cuv; pestretr(s,cuv); while (p) { geil k = strlen(cuv); aux:sauxt'?' 7 if(pikl==' ' || plk] == 0) ki =pes(cuv,s); { strepy(aux,p+tk) ; stropy((p+k),"2")7 writeln (aux) strepy(p+k+1,aux) 7 writeln(/NU EXISTA‘) } pestratr(ptk, cuv); , + 4£(1g) cout << ,NU EXISTA”; else cout<=0) | k=0; 7 do . while(p->urm]=NULL && k>: begin {if (p->nr%2=20) k++; if p*.nr mod 2=0 then k:=k+1 e k--7 else k:=k-1; p=p->urm; D4 .urm; di:=1 to length(s) do bey smauxts [i] 7 pos(s{i] , ‘aeiouAEIOU") then begin aux:=aux+'*! g := true; end; k& ) then teln (aux) (C/C++) write('FARA VOCALE'); , printf ("%d",p->nr); write(p*.or); | cout<nrs a 9 b 4 ce. 3 7. . Ra&spuns corect: a. ‘ 3. Se considera arborele cu 13 noduri, numerotate de la 1 la 13, si mul muchiilor {{1,4), [2,5], [3,8], (4,71, (4,91, (4,111, [6,31, (6, [6,12], (5,6], [13,2], [2,9]}. Daca se alege nodul notat cu 2 radacind, care este vectorul de tati pentru acest arbore? _ Raspuns corect: (4,0,6,9,2,5,4,3,2,6,4,6,2) | 4. Fie graful neorientat cu 6 noduri, numerotate de la 1 la 6, si muchiile [1,: [1,3], [1,4], [2,3], (2,41, [3,4], [3,5], [4,5], (4,61, [5,6]. Q este numarul maxim de muchii care pot fi eliminate astfel inct graful obtinut s&-si pastreze proprietatea de graf hamiltonian? (6p.) R&spuns corect: 4 Scrieti programul Pascal |c/c++ care citeste de la tastaturé un text cu cel mult 100 de caractere (doar litere ale alfabetului englez si spatii), construieste In memorie gi apoi afigeaz& pe ecran sirul de caractere obfinut din girul initial, in care se insereaz4 dupa fiecare vecala caracterul *. Se considera vocale literele a,e, 4,0, u, A, E, I, 0, U. Daca textul citit nu confine vocale, se va afiga mesajul - FARA VOCALE. xemplu: daca se citeste de la tastaturd textul Examenul de bacalaureat se va obfine si afiga: E*xa*me*nutl de* batca*latutretatt. —(10p.) Rezolvare: (Pascal) (C/C++) s,aux:string; #include i, j:integer; /#include ~ g : boolean; int main() t dln(s); : char s[101],aux[202]7 sett; Kem false; char v[]="aeiouARIOU"; i:m1 to length(s) do begin| int 1,j=0, g=07 wox:saux+s[i]7 cin.get(s,150)7 4£ pos(s[i] ,'aelovAEIOU')>0| for(iw0;i nil do while(p->urm!=NULL) pos(s{i], v) =0 tl begin - { ge t= true if p*.nr mod 2 = 0 then if (p->nr%2==0) ine (i) si=stp* nr; e=8t+p->nr; Prsp*.urm*.urm © p=p->urm->urm; length(s); gv 5 : end; } (j >=1) and not -write(s); printf ("%d",8); | cout<« by a 18 b. 20 ce 12° d. 14 pos(s[j]l, v) <> Raspuns corect: d, : av c 3. Un graf orientat are 8 arce $i fiecare nod al grafullui are gradul exterior un a nenul. Doar dowd dintre noduri au gradul exterior un numar impar, restul (gv and gc) then be gradele exterioare numere pare. Care este numarul maxim de noduri pe s(il; sfil := poate avea graful? ] := aux; write(s Réspuns corectt 5 noduri ; write(' IMOSIBIL') Se considera graful neorientat cu 6 noduri, numerotate cu 1,| 2,3, 4, 5, 6 si 9 muchil dat prin listele de adiacenta aldturate. a) Care este cel mai scurt lant cu o extremitate in nodul 1 gi cealaltd extremitate in nodul 3? (3p.) ‘b) Care este numarul maxim de tmuchii ce pot fi eliminate| a&tfel Inct graful partial obtinut s4 ramana conex? Gp.) puns corect: a) Lungimea celui mai scurt lant cu o extremitate in nodul 1 $i una pdul 3 este 2 (muchiile [1,2] si [2,3]). b) Numarul maxim de muchii ce potfieliminate ested. ~ Scrieti programul Pascal |c/c++ care citeste de la tastaturé un cuvant cu cel pufin una gi cel mult 20 de litere ale alfabetului englez, construieste si afigeaza pe ecran cuvantul obtinut prin interschimbarea primei consoane cu ultima vocala din cuvant. in cazul in care cuvantul este format numai din vocale sau numai din consoane, programul afigeaz& pe ecran mesajul IMPOSIBIL. Se considera vocale literelea, @, 4, 0, u, A, B, I, O, U. Exemplu: daca se citeste cuvantul Marmorat se va obfine gi afiga cuvantul aarmort Rezolvare: (Pascal) s: string; aux : char; i, js integer; gv, gc : boolean; tt ov = 'aeiouAEIOU'; readin(s); i:#1; gc:=false; while(i<=length(s)) and not gc do begin if pos(s[il, v) =0 then ge t= true else inc(i) nd; 4 t= length(s); gv := false; while (j >=1) and not gv do begin if pos(s{j], v) <> 0 then gv := true else dec(j) end; 4f (gv and gc) then begin aux r= s[i]; s[i] := s{j]; [J] := aux; write(s); end : else write('IMOSIBIL'); na. (10p.) (C/C+4) Winclude #include int main() t char 8[21],aux; char v[] = “aeiouAEIOU"; int i,j.n; int gv = 0, go = 0; ~ cin>>s; nestrlen(sJ; for(i = 0; 4 "0 && Igc;Jj--) if(strehr(v, 6{51)) ge = 1; jet; if(gv && gc) { aux = si]; .s[4] = s(J]) [3] = aux; cout << s7 + else cout<<”IMOSIBIL”; retura 0; VARIANTA 081 ke, n, m (nS10, mS10, k nd 4 cifre, reprezen 1. Un gir de caractere se numeste palindrom daca sirul citit de a tanga Ia d fe Sea de la 1 lan, + este identic cu sirul citit de la dreapta: spre sténga. Care dintre ur ind si afigeaz4 pe ecran : expresii Pascal|C/c++ are valoarea true/1 daca si numai daci 2 § caractere memorat in variabila s, avand exact 3 caractere, este palindrom? cal pu 0 dat valoda! (Pascah g : putin © data valoarea k, prog a s[1]=8(2) b, s{2}=sf3] ¢. sf1lnil) while (p!=NULL) begin. t end + Rezolvare: Se afigeaza valoarea cmpului info a elementului curent (condifionat d restul imparfirii la 7) si se avanseaza in lista la adresa elementului urmator: (Pascal) (CC+4) if p*.info mod 7=0 then if (1p->info%7) writeln(p*.info); cout<info; prep’ .adr p=p->adr; otate de la 1 la 87,7). Care s 2 Scriefi un program Pascal|C/C++ care citeste de la tastaturd trei valori naturale menule k, n, m (n<10, m<10, k<32000) si apoi n*m numere intregi, fiecare imeand cel mult 4 cifre, reprezentand elementele unui tablou bidimensional cu finde numerotate de la 1 la n, coloanele numerotate de la 1 la m. Programul ind si afigeaza pe ecran suma numerelor de ordine ale coloanelor care ‘contin cel putin o dat valodrea k. Daca nu exist nicio coloana care s4 contina cel putin b datd valoarea k, programul va afiga’ pe ecran mesajul NU EXISTA. (10p.) Exemplu: pentru k=3, n=5, m=4 si matricea alaturatd > se va afisa 5, deoarece coloanele 2 $i 3 ale matricei 10 ‘eontin numarul k=3. 37 e: pe i unei variabile) prezenta valorii k pe coloana kam Nu recomandam soluta urmatoare, desi i€1,n executa este mai eficienté, deoarece enuntul face referire la o matrice gi este de presupus c& baremul va aloca o parte din puhctaj pentru declararea $i prelucrarea matricei citeste k,n,m pentru j€1,m executd este,€0 8€0 pentru i€1,n executa mtru i€i,n executé | pentru J€1,m executa * dac& ayj=k atunci este€1/| | citeste x ‘a | dack xsk atunci estes€1 deck este~1 atunci s€s+j “e le s=0 atunci scrie s ppentru j€1,m executs . tfel scrie “NU EXISTA” | dac& estej=1 atunci sCs+j lm etc. Scrieti un program Pascal|C/C- nenule k, n, m (ns10, ms10, avand cel mult 4 cifre, repreze Siniile numerotate de la 1 la ns determina gi afigeazi pe ale coloanelor care contin cel VARIANTA 082 * 1. Se considera graful orientat cu nodurile numerotate de la 1 la 5 gi ~ -(2,2),(1,5), (2,2), (2,3), (2,5), (3,4),(5,2),(5,4). Care este lung maxima a unui drum de Ja Nedul 1 la nodul 4, drum format doar din distincte? . . coloand care s& contina cel:p a 5 b 6 a. 4 da 7 ecran mesajul NU EXISTA. Raspuns: b. Exemplu: pentru k=3, n=5, m= 2. Un graf neorientat cu nodurile numerotate de la 1 la 4 este| 0110 va afiga 6, deoarece coloanele feprezentat prin matricea de adiacenta alaturatd. Care dintre | 1.0 0 0 numérul k=3. afirmatiile de mai jos este adevaraté pentru acest graf? (4p.) : ‘ a. Graful‘este arbore. b. Graful nu este conex. c. Graful este ciclic. d. Graful are toate gradele nodurilor numere p Prezent&m 0 rezolvare Raspuns: a. 4 a c&rei logica este mai 3. — Stiind c& variabila 4 este de tip Intreg si c&i variabila » retine sirul ‘de 'carad de urmarit, pe foaia de barba, ce se va afiga la executaré& secventei urmatoare? urmand a se-transcrie in (Pascal (C/C+4) de programare, sub forma program complet, Se @ matricea pe coloane, identificarea. — fiecdrei e ¢e contine cel putin un egal cu k: te k, n,m ee for itml to length(s) do for (i=0;inil do : while(p!=NULL) begin ... end tow? Raspuns: Se afigeaza valoarea cAmpului info al elementulul curent (conditionat ultima cifra egala cu 0) gi se avanseaza in list la elementul urmator: (Pascal (C/C++) if p*.info mod 10=0 then if (p->info % 10 ==0) writeln(p*.info); cout<info<infop; pap->adr; 1 la 5 gi ara re este lungir at doar din e sirul de caract iB) Att) idee; £(*%8",8)7 campul info cifre, iar In camp daca nu existé listei este refit iabila prim, sa am _urmatoare entei si dete care care au Gi ent (conditionat ==0) nd; \n" ,p->info) ‘Scrieti un program Pascal|C/C++ care citeste de la tastatura trei valori naturale Menule k, n, m (nS10, mS10, kS32000) si apoi n*m numere ingregi, fiecare avand cel mult 4 cifre, reprezentand elementele unui tablou bidimensional cu finiile numerotate de la 1 la n gi coloanele numerotate de la 1 la m. Programul determina gi afigeazi pe ecran produsul numerelor de ordine ale coloanelor care contin cel, putin o daté valoarea %. Dac& nu exista nicio coloand care s& contin’ cel-putin o daté valoarea k, programul va afisa pe. ecran mesajul NU EXISTA. (10p.) Exemplu: pentru ke3, n=5, w=4 gi matricea alaturat’,se| 2 4 5 -8 va afiga 6, deoarece coloanele 2 si 3 ale matricei contin| 5 3 7 9 numérul k=3. : 3 10 2037 3 8 13 : Prezentdim o rezolvare | P11 este€0 ; ticd a c&rei logicd este mai | pentru j€1,m executé de urmarit, pe foaia de| | €1 en urmand a se transcrie in| | c&t timp A.j<>k gi icn executé 1€1+1 baj de programare, sub forma} | pdacd Ayek atuncd program complet. Se L Peps; esteei curge matricea pe coloane, identificarea fiecdrel | + e ce contine cei putin un | pdacd este=1 atunci scrie p egal cu k: eee serie "NU EXISTA” te k,nym (4, le Isjsm

Anda mungkin juga menyukai