1 / 19

Subprograme PASCAL/C++

Subprograme PASCAL/C++. Aplicaţii de laborator. (Bac 2009, SIII, Var. 4, p4)

marcie
Télécharger la présentation

Subprograme PASCAL/C++

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. SubprogramePASCAL/C++ Aplicaţii de laborator

  2. (Bac 2009, SIII, Var. 4, p4) • Subprogramulcif, cu doiparametri, primeşteprinintermediulparametruluia un număr natural cu celmult8 cifreşiprinintermediulparametruluib o cifră; subprogramulreturneazănumărul de apariţii ale cifreib înscriereanumăruluia. • Exemplu: pentrua=125854 şib=5, subprogramulvareturnavaloarea2. • a) Scrieţidefiniţiacompletă a subprogramuluicif. (4p.) • b) Scrieţideclarările de date şiprogramul principal Pascal/C++ care citeşte de la tastatură un număr natural n cu exact 8 cifre, fiecarecifrăfiindnenulă, şi care determinăşiafişeazăpeecran, folosindapeluri utile ale subprogramuluicif, celmaimicnumărpalindromcepoate fi obţinutprinrearanjareatuturorcifrelornumăruluin. Dacă nu se poateobţine un palindrom din toatecifrelenumăruluin, programulvaafişapeecrannumărul0. Un număr natural estepalindromdacăesteegal cu numărulobţinutprinscriereacifrelor sale înordineinversă. • Exemplu: dacăn=21523531 atunci se vaafişapeecrannumărul12355321, iardacăn=12272351 atunci se vaafişapeecrannumărul0. (6p.) Problema 1

  3. (Bac 2009, SIII, Var. 5, p4) • Subprogramulf, cu un parametru: • - primeşteprinintermediulparametruluia un număr natural cu celmult8 cifre (a>1) • - returneazăcelmaimicdivizor prim al valoriiparametruluia. • Exemplu: pentruvaloarea45 a parametruluia, subprogramulvareturnavaloarea3 • deoarecea=32*5, iarcelmaimicdivizor prim al săueste3. • a) Scrieţidefiniţiacompletă a subprogramuluif. • b) Scrieţideclarările de date şiprogramul principal Pascal care săcitească de la tastatură un număr natural nenuln (n≤100) şiapoi un şir de n numerenaturale de celmult8 cifrefiecare, toatenumerele din şirfiind strict maimaridecât1. Folosindapeluri utile ale subprogramuluif, programulvadeterminaşivaafişapeecrantoatenumerele prime din şirulcitit. Numerele determinate se vorafişapeecran, separate princâte un spaţiu, înordinecrescătoare a valoriilor. Dacă nu existăastfel de numere se vaafişapeecranmesajulNU EXISTA. • Exemplu: pentrun=7, şirul: 1125, 2, 314, 101, 37, 225, 12 peecran se vaafişa: • 2 37 101 Problema 2

  4. (Bac 2009, SIII, Var. 9, p3) • Scrieţidefiniţiacompletă a subprogramuluisub cu doiparametri: n (număr natural,0<n≤50) şik (număr natural, 0<k≤20). Subprogramuldeterminăafişareape o linienouă a ecranului, înordinedescrescătoare, a primelorn numerenaturalenenuledivizibile cu k. Numerelevor fi separate princâtespaţiu. • Exemplu: dacăn=3 şik=5 la apelulsubprogramuluise vaafişapeecran: • 15 10 5 Problema 3

  5. (Bac 2009, SIII, Var. 10, p3) • Scrieţidefiniţiacompletă a subprogramuluisub cu treiparametri: n (număr natural,5<n≤30000), a şib; subprogramulfurnizeazăprinintermediulparametrilora şib celemaimaridouănumereprime distinctemaimicidecâtn. • Exemplu: dacăn= 28 la apelulsubprogramuluise vafurnizaprinparametrula valoarea23 şiprinparametrulb valoarea19. Problema 4

  6. (Bac 2009, SIII, Var. 13, p4) • Se consideră subprogramul P care are doi parametri: • – n, prin intermediul căruia primeşte un număr natural de cel mult 9 cifre • – c, prin intermediul căruia primeşte o cifră. • Subprogramul va furniza tot prin intermediul parametrului n numărul obţinut din n prin eliminarea tuturor apriţiilor cifrei c. Dacă, după eliminare, numărul nu mai conţine nicio cifră sau conţine doar cifre 0, rezultatul returnat va fi 0. • a) Scrieţi doar antetul subprogramului P. • b) Scrieţi un program cu definiţia completă a subprogramului P. Problema 5

  7. (Bac 2009, SIII, Var. 16, p3) • Scrieţidefiniţiacompletă a subprogramuluimultiplucare are 3 parametri: a, prin care primeşte un tablouunidimensional cu maximum 100 de numerenaturalemaimicidecât1000, n, numărulefectiv de elemente ale tablouluişik, un număr natural (k<9). Subprogramulreturneazănumărul de elemente din tablou care suntmultipliainumăruluik şi au ultimacifrăegală cu k. • Exemplu: dacăn=6, a=(9,273,63,83,93,123), iark=3, subprogramulvareturnavaloarea4. Problema 6

  8. (Bac 2009, SIII, Var. 17, p3) • Scrieţidefiniţiacompletă a subprogramuluiinterval care are 2 parametria şin, prin care primeşte un tablouunidimensional cu maximum 100 de numerenaturalemaimicidecât1000 şirespectivnumărulefectiv de elemente din tabloulunidimensional. Subprogramulreturneazănumărul de elemente din tabloulunidimensional care aparţinintervaluluiînchisdeterminat de primulşirespectivultimul element al tabloului. • Exemplu: dacătabloul are 6 elementeşieste de forma (12,27,6,8,9,2), subprogramulvareturnavaloarea5. Problema 7

  9. (Bac 2009, SIII, Var. 18, p3) • Scrieţidefiniţiacompletă a subprogramuluicount care are 2 parametriprin care primeşte un tablouunidimensional cu maximum 100 de numererealeşinumărul de elemente din tablou. Subprogramulreturneazănumărul de elemente din tabloulunidimensional care suntmaimarisaucelpuţinegale cu media aritmetică a tuturorelementelor din tablou. • Exemplu: dacătabloul are 6 elementeşieste de forma (12, 7.5, 6.5, 3, 8.5, 7.5), subprogramulvareturnavaloarea4. (10p.) Problema 8

  10. (Bac 2009, SIII, Var. 1, p4) • Subprogramulsub, cu treiparametri, primeşteprinintermediulparametrului: • – v un tablouunidimensional cu celmult100 de componentecememoreazănumereîntregi cu celmult4 cifre; • – n un număr natural nenulmaimicsauegal cu 100 cereprezintănumărulefectivde componenteale tablouluiprimitprinintermediulparametruluiv; • – a un numărîntreg cu celmult4 cifre. • Subprogramulsub returneazănumărulcomponentelortablouluiprimitprinintermediulparametruluiv ale cărorvalorisunt strict maimicidecâtvaloareaparametruluia. • Exemplu: pentruvalorilen=5, v=(1,21,9,21,403), a=20 ale parametrilor, înurmaapelului, subprogramuluisub vareturnavaloarea2. Problema 9

  11. a) Scrieţidefiniţiacompletă a subprogramuluisub. (4p.) • b) Să se scrie un program C/C++ care săcitească de la tastatură un număr natural nenuln (n≤100) şin numereîntregi, fiecareavândcelmult4 cifre, şi care, folosindapeluri utile ale subprogramuluisub, săafişezepeecranmesajulDA dacăoricaredouădintrecelen numereîntregicititesuntdistinctedouăcâtedouă, saumesajulNU încazcontrar. Exemplu: pentrun=6 şicelen numerecitite de la tastatură: 47 183 69 8 134 -56 se vaafişapeecranmesajulDA (6p.) Problema 9 (continuare)

  12. (Bac 2009, SIII, Var. 11, p4) • a) Scrieţidoarantetulfuncţieisum care primeştecaparametru un număr natural x cu maximum 9 cifreşireturneazăsumadivizorilornumăruluix. • Exemplu: sum(6) are valoarea12 (=1+2+3+6). (3p.) • b) Să se scrie un program C/C++ care citeşte de la tastatură un număr natural nenuln şiapoin numerenaturale cu maximum 9 cifrefiecare. Programulcalculează, folosindapeluri ale funcţieisum, şiafişeazăpeecrancâtenumere prime conţineşirulcitit. • Exemplu: pentrun=5 şivalorile12 3 9 7 1 se vaafişapeecranvaloarea2 (înşiruldatexistădouănumere prime şianume3 şi7). (7p.) Problema 10

  13. (Bac 2009, SIII, Var. 19, p3) • Subprogramularanjareare 2 parametri: a prin care primeşte un tablouunidimensional cu maximum 100 de numererealeşin, numărul de elemente din tablou. Subprogramulrearanjeazăelementeletablouluiunidimensionalastfelîncâttoatevalorile negative să se aflepeprimelepoziţii, iarvalorilepozitiveîncontinuareacelor negative. Ordineaîncadrulsecvenţei de elementepozitive, respectivîncadrulsecvenţei de elemente negative, poate fi oricare. Tabloulmodificatva fi furnizat tot prinintermediulparametruluia. • Exemplu: dacătabloul are 6 elementeşieste de forma (12, -7.5, 6.5, -3, -8, 7.5), dupăapel, acestaarputea fi: (-7.5, -3, -8, 12, 6.5, 7.5). • Scrieţidefiniţiacompletă a subprogramuluiaranjare. (10p.) Problema 11

  14. (Bac 2009, SIII, Var. 20, p3) • Subprogramulnuleare 2 parametri: a, prin care primeşte un tablouunidimensional cu maximum 100 de numereîntregi, cu celmult4 cifrefiecareşin, numărul de elemente din tablou. Subprogramulrearanjeazăelementeletablouluiunidimensionalastfelîncâttoatevalorilenulesă se afle la sfârşitultabloului. Ordineaîncadrulsecvenţei de elementenenulepoate fi oricare. Tabloulmodificatestefurnizat tot prinparametrula. • Exemplu: dacăn=6, a=(12,0,0,-3,-8,0), dupăapel, acestaarputea fi: a=(12,-3,-8,0,0,0). • Scrieţidefiniţiacompletă a subprogramuluinule. (10p.) Problema 12

  15. (Bac 2009, SIII, Var. 21, p3) • Scrieţidefiniţiacompletă a unui subprogram i_primcare primeşteprinsingurulsăuparametru, n, un număr natural din intervalul[2,30000] şireturneazădiferenţaminimăp2-p1 în care p1 şip2 suntnumere prime şip1n  p2. • Exemplu: dacăn=20 atuncii_prim(n)=4, valoareobţinutăpentrup1=19 şip2=23. (10p.) Problema 13

  16. (Bac 2009, SIII, Var. 25, p3) • Subprogramulf primeşteprinintermediulparametruluin un număr natural nenul (1≤n≤9), iarprinintermediulparametruluia, un tablouunidimensional care conţinen valorinaturale, fiecaredintreacesteareprezentândcâte o cifră a unuinumăr. Astfel, a0 reprezintăcifraunităţilornumărului, a1 cifrazecilor etc. • Subprogramulfurnizeazăprinparametrulk o valoarenaturalăegală cu numărulobţinutdin cifrelepare reţinuteîntabloula sauvaloarea-1 dacăîntablou nu existăniciocifrăpară. Scrieţidefiniţiacompletă a subprogramuluif. • Exemple: dacăsubprogramul se apeleazăpentrun=6 şipentrutaboula avândvalorile(2,3,5,6,4,1), parametrulk vafurnizavaloarea462. Dacăsubprogramul se apeleazăpentrun=4 şipentrua reţinândvalorile(0,0,1,1), k vafurnizavaloarea0. Dacăsubprogramul se apeleazăpentrun=3 şipentrua reţinândvalorile(3,7,1), k vafurnizavaloarea-1. Problema 14

  17. (Bac 2009, SIII, Var. 35, p4) • a) Scrieţidefiniţiacompletă a unui subprogram sum care primeşteprinparametrulx un număr natural de celmult4 cifreşireturneazăsumadivizorilornumăruluix, diferiţi de 1 şi de el însuşi. • Exemplu: dacăx=10 se vareturnavaloarea7 (7=2+5). • b) ScrieţiprogramulC/C++ care citeşte de la tastatură un număr natural n (0<n<100), apoin numerenaturale (cu celmult4 cifrefiecare). Programuldetermină, folosindapeluri utile ale subprogramuluisum, pentrufiecarenumăr natural citit, sumadivizorilorsăipropriişiafişeazăpeecransumele determinate, înordineacrescătoare a valorilorlor, separate princâte un spaţiu. (6p.) Problema 15

  18. Exemplu: dacăn=5 şinumerelecititesunt10 2 33 6 11 • valorileafişatepeecranvor fi: 0 0 5 7 14 • deoarecesumadivizorilorlui10 este7, sumadivizorilorlui2 este0, sumadivizorilorlui33 este14, sumadivizorilorlui6 este5, sumadivizorilorlui11 este0. Problema 15 (exemplu)

More Related