Sunteți pe pagina 1din 12

Clasa a IX-a

Algoritmi ALGORITMI REPREZENTAI N LIMBAJ PSEUDOCOD

n aplicaii complexe, cnd este necesar modularizarea, schemele logice devin stufoase i sunt greu de urmrit. Din acest motiv, mult mai eficient este reprezentarea algoritmilor prin limbaj pseudocod. n limbaj pseudocod este un ansamblu de convenii, respectate !n mod sistematic, care definesc operaiile permise "instruciuni# pentru reprezentarea algoritmilor. $imbajul pseudocod folosete cuvinte cheie preluate din limbajul natural care descriu instruciunile din algoritm. "dac, atunci, altfel, ct timp, altfel, execut#. %cestea formeaz vocabularul "lexicul# limbajului. &egulile de folosire a cuvintelor cheie pentru formarea instruciunilor !mpeun cu alte cuvinte sau simboluri determin sintaxa limbajului. 1. Structura secvenial Declararea datelor variabila tip' $a !nceputul oricrui algoritm, vom preciza datele de intrare, datele de ieire, datele intermediare, precum i tipul lor. nainte de a utiliza orice variabil, se va declara, preciznd numele i tipul ei. ( variabil nu poate fi declarat de mai multe ori !n acelai algoritm. Exemple) x real' c character' i !ntreg' Operaia de citire citete variabila1, variabila2,, variabilan' Efect) *rin operaia de citire "operaia de intrare# se preiau succesiv valori de la tastatur i se asociaz, !n ordine, variabilelor specificate. Operaia de scriere scrie expresie1, expresie2,, expresien; Efect) (peraia de scriere "operaia de ieire# presupune evaluarea !n ordine a expresiilor specificate i afiarea pe ecran a valorilor lor pe aceeai linie. Operaia de atribuire variabila expresie; Efect) se evalueaz expresia, apoi se atribuie valoarea expresiei variabilei din membrul stng. *arcurgerea instruciunilor !n secven, !n ordinea lor, reprezint o structur liniar "secvenial#. Aplicaii +. ,ie a un numr real, citit de la tastatur, care reprezint lungimea laturii unui cub. - se scrie un algoritm care s calculeze i s se afieze volumul i aria total a cubului. Date de intrare a real' Date de ieire: . real' % real' !nceput citete a' .a/a/a' scrie 0volumul cubului este) 0, .' %1/a/a' scrie 0aria cubului este) 0, %' sfrit

Clasa a IX-a 2.

Algoritmi

n urma analizelor efectuate, asupra unui compus chimic descoperit pe planeta 3arte s4a dedus c o molecul din acest compus este format din m 5 atomi de carbon, m( atomi de oxigen i m6 atomi de hidrogen. 7tiind masele moleculare petru m58+2, m(8+1, iar m68+, s se scrie un algoritm care calculeaz i s afieze masa molecular a acestui compus. Date de intrare) m5 natural m( natural m6 natural Date de ieire) m natural !nceput citete m5, m(, m6 m m5/+29 m(/+19 m6/+ scrie :3asa molecular a compusului este) :,m sfrit De ziua lui, <onel a primit - lei i ar vrea s4i invite colegii la o !ngheat. 7tiind c o !ngheat cost * lei, s se scrie un algoritm care s calculeze i s afieze numrul maxim de colegi pe care <onel !i poate invita i suma de bani care !i mai rmne lui <onel. Date de intrare) - natural !nceput * natural citete -,* nr natural nr -="*9+# =/*9+ pt c < <onel mnnc !ngheat/= Date de ieire) rest natural rest ->"*9+# scrie 0numrul maxim de invitai este) :,nr scrie 0-uma rmas este) :, rest sfrit ,ie x un numr natural format din @ cifre"x?x;x2x+xA#. - se afieze un triunghi format din cifrele numrului x astfel) - prima linie "!n vf. triunghiului# se va afla cifra din mijloc x 2. x2 - *e linia a doua se vor afla cifrele x;x2x+ x ;x2x+ a treia linie se vor afla toate cifrele lui x x ?x;x2x+xA

;.

?.

Date de intrare) x natural Date de ieire) x?,x;,x2,x+,xA natural !nceput citete x xAx>+A =/rein cifra unitilor/= xx=+A =/elimin cifra unitilor/= x+x>+A =/rein cifra zecilor/= xx=+A =/elimin cifra zecilor/= x2x>+A =/rein cifra sutelor/= xx=+A =/elimin cifra sutelor/= x;x>+A =/rein cifra miilor/= xx=+A =/ elimin cifra miilor, !n x rmne cifra zecilor de mii/= scrie 0 0, x2 scrie 0 0,x;,x2, x+ scrie x,x;,x2,x+,xA sfrit Probleme propuse +. 5e va afia urmtorul algoritm pentru valorile citite B i 2; ) Date intrare/iesire: a natural,b natural' !nceput citete a,b aa9b ba4b aa4b scrie 0a8 :,a, 0b8:,b sfrit

Clasa a IX-a 2.

Algoritmi

;.

?.

@. 1. B. D. E. +A. ++. +2. +;. +?.

+@. +1.

5e va afia urmtorul algoritm dac se citete valoarea) Date de intrare) a natural' Date intermediare) b natural Date de ieire) c natural !nceput citete a ba mod +AA aa=+AA cb/+AA9a scrie c sfrit 5e valoare va avea variabila a la sfritul urmtoarei secvene de instruciuniC a, b !ntregi a; bB ba9b=2) aa4b=2/a ,ie a, b,c i d patru variabile reale. 5are din urmtoarele instruciuni atribuie variabilei d media aritmetic a valorilor variabilelor a, b i cC a# d"a9b9c#=; c# da9b9c=; b# da=;9b=;9c=; d# d"a9b9c#=;4+ -e consider polinomul P(x)=ax3+bx2+cx+ . -e citesc valorile a!b!c! i x". - se calculeze valoarea P(x"). -e citete un numr natural cu exact trei cifre. - se afieze suma cifrelor acestui numr. ,ie x+,x2,x;,x?, x@ cinci valori reale. -criei un algoritm care s foloseasc o singur variabil suplimentar pentru a permuta circular valorile celor cinci variabile "ex) +,2,;,?,@ s devin 2,;,?,@,+#. -e citete un numr !ntreg ce reprezint un numr de ore. - se afieze acest numr !n minute, apoi !n secunde. - se determine ctul i restul !mpririi lui a la b fr a realiza efectiv !mprirea. ,ie a, b i c trei numere reale, care reprezint lungimile laturilor unui triunghi. - se scrie un algoritm care s calculeze i s afieze perimetrul i aria triunghiului. ( broasc estoas parcurge o distan de D Filometri !n 6 ore. - se scrie un algoritm care s calculeze i s se afieze viteza cu care se deplaseaz broasca estoas "exprimat !n metri=secund#. Doi colegi ".ictor i ,lorin# pleac simultan din oraele !n care locuiesc, unul ctre cellalt. 7tiind c distana dintre cele 2 orae este D, c .ictor merge cu viteza v+, iar ,lorin merge cu viteza v2 "D,v+,v2 numere reale#, scriei algoritmul care calculeaz dup ct timp se !ntlnesc cei doi colegi i la ce distan de oraul locuiete .ictor. ,ie % i G dou puncte !n plan, specificate prin coordonatele lor carteziene. - se scrie un algoritm care s calculeze i s afieze lungimea segmentului %G. % fost odat un balaur cu 1 capete. ntr4o zi ,t4,rumos s4a suprat i i4a tiat un cap. *este noapte i4au crescut alte 1 capete !n loc. *e acelai gtH % doua zi, ,t4,rumos i4a tiat iar un cap, dar peste noapte balaurul i4au crescut !n loc alte 1 capete...i tot aa timp de n zile. n cea de4a "n9+#4a zi, ,t4,rumos s4a plictisit i a plecat acas scriei un algoritm care citete de la tastatur n, numrul de zile i care afieaz pe ecran cte capete avea balaurul dup n zile. De exemplu) pentru n8;, algoritmul va afia) Dupa ; zile balaurul are +@ capete. "(limpiada 2AA2 cl a .4a# - se calculeze ma a dou numere a,b reale. -e citesc de la tastatur dou numere naturale nenule. - se calculeze media aritmetic, media geometric i media armonic a celor 2 numere.

2.

Structura alternativ atunci instructiuneI+ altfel instruciuneaI2

dac condiie

sf.dac Efect: -e evalueaz expresia. Dac valoarea expresiei este dev!rat, atunci se execut instruciuneI+. Dac valoarea expresiei este "als, se execut instruciuneI2. (bservaii +. %tt in ramura atunci, ct i in ramura altfel este permis executarea unei singure instruciuni. n cazul !n care este necesar efectuarea mai multor operaii, acestea se grupeaz !ntr4o singur instruciune compus. 2. Dac pe ramura altfel nu este necesar efectuarea nici unei operaii, aceasta poate lipsi " structura alternativ cu o ramur vi #. -electarea instruciunii ce urmeaz s fie executat !n funcie de valoarea unei expresii reprezint o structur! alternativ!# Aplicaii 1. #o ulul unui numr -e intoduce de la tastatur un numr !ntreg x. -criei un algoritm care calculeaz i afieaz modulul numrului x. Date de intrare) x !ntreg' Date de ieire) rezultatul testului citete x' dac xJA atunci m4x' altfel mx' scrie Kmodulul este) :,m'. sf.dac 2. Paritatea - se introduc de la tastatur un numr !ntreg x. -criei un algoritm care testeaz dac x este un numr par. Date de intrare) x !ntreg' Date de ieire) m !ntreg' citete x' dac "x>28A# atunci scrie x, : este par:' altfel scrie x, : este impar:' sf.dac - se rezolve ecuaia de gradul < pentru coeficienii a,b reali dai . citeste a,b daca aA atunci L x "4b=a# scrie x M altfel daca bA atunci scrie Nnu exista solutiiO altfel scrie No infinitate de solutiiO sf.daca sf.daca - se calculeze valoarea funciei f"x#8 x2 , daca xJA 2x9+ , daca xP8A pentru un x real dat. citeste x daca xJA atunci f x/x altfel f 2/x9+ sf.daca scrie f

;.

?.

Structura alternativ $enerali%at $a cest tip de structur se face selectarea !ntre mai multe aciuni, !n funcie de o variabil de memorie numit selector, care poate lua mai multe valori, dintr4o mulime ordonat de leemente de acelai tip cu selectorul. -intaxa) Selector este o variabil sau o expresie de tip !ntreg sau caracter "nu este permis tipul real#. ca%1!(ca%n se numesc etichete i sunt valori pe care la poate lua selectorul. Dac selector=v1 se execut instruciune1. Dac selector=v2 se execut instruciune2 Dac selector)v *"F8+,n# i exist ramura alt'el atunci se execut instruciune n+1+ Dac nu exist ramuar else "altfel# atunci nu se execut nimic i se trece la urmtoarea instruciune de dup case"cazuri#. == "optional#

&n ca%ul c selector ca%1 v+) instruciune+ ca%2 v2) instruciune2 Q ca%n vn) instruciunen alt'el instruciune n9+ s'.ca%uri

Probleme propuse +. ,ie ecuaia de gradul al <<4lea ax29bx9c8A cu aRA. -criei un algoritm care s rezolve ecuaia !n mulimea numerelor reale. 2. ,ie a i b dou nr !ntregi. -criei un algoritm care s verifice dac a i b sunt numere consecutive. ;. -tabilii relaia de ordine dintre dou numere reale oarecare , citite de la tastatur . ?. -e citesc trei numere a,b,c. - se tipreasc maximul dintre ele . - se calculeze valoarea expresiei de mai jos pentru %,G,5 numere !ntregi date . @. S8 %9G95 , 5J84+ 5="%9G# , 4+J5J+ "%9G#=5 , 5P8+ 1. - se evalueze expresia S8%2="%29G#+=2 , unde puterea T !nseamn radical de ordin doi , pentru %, G numere reale date . B. -e citete media unui candidat la examenul de capacitate. Dac media este E.+D, candidatul este admis !n liceul solicitat, altfel este transferat la alt liceu. Dac media este cel puin E.@A, este admis la profilul informatic4intensiv, altfel la matematic4informatic. 5itind media candidatului, stabilii cum este repartizat. D. -e citesc de la tastatur dou numere i un caracter. Dac caracterul este K9:, calculai suma celor dou numere, dac este K4:, diferena lor, dac este K/:, produsul, iar dac este K=: calculai, dac este posibil, ctul. E. 5itindu4se o liter mic, s se precizeze dac aceasta este vocal sau consoan. +A. *e baza datei curente exprimat prin trei valori naturale nenule "zi,lun,an#, s se calculeze data zilei urmtoare. ++. -e citesc trei numere naturale nenule a,b,c. - se verifice dac cele trei valori pot fi laturile unui triunghi i, !n caz afirmativ, s se calculeze aria lui cu formula lui 6eron. De asemenea s se specifice i dac este un triunghi particular "isoscel sau echilateral#. +2. -e citesc patru numere !ntregi oarecare. - se verifice dac ele alctuiesc o mulime !n sens matematic, adic valorile sunt distincte. +;. -e citete de la tastatur un numr natural cu exact patru cifre. - se verifice dac numrul este palindrom, adic citindu4l de la sfrit spre !nceput se obine acelai numr. +?. -e dau dou numere de tip !ntreg. - se verifice dac ele sunt numere consecutive. +@. n planul cartezian x(U, se da un dreptunghi prin colurile stanga4jos "x s,Us# i dreaptaVsus"xd,Ud #. - se detemine dac un punct oarecare "x,U# se afl sau nu !n interiorul dreptunghiului. +1. - se verifice dac o fracie a,b, pentru a i b numere naturale nenule cu maxim @ cifre, se simplific prin *. n caz afirmativ se va afia i fracia simplificat. Wumerele a,b,* se citesc de la tastatur !n aceast ordine. 17. ,ie funcia '-. ., definit astfel) ' (x)= x/0! ac x12 0x2+1! ac x=2 3 5alculai '(x) pentru un x citit. x +2! alt'el

+D. -e citesc patru numere naturale. - se afieze maximul dintre s13 i s23, unde s13 este suma dintre primul i ultimul numr, iar s23 dintre al doilea i al treilea numr. +E. ,ie ecuaia cu coeficieni reali ax29bx9c8A cu aRA. -criei un algoritm care, fr a calcula rdcinile ecuaiei, s se determine natura i semnul acestora. "relaiile lui .iete x+9x28 -84b=a, x+/x28*8 a=c#. 2A. -e citesc dou numere !ntregi a, b cu aPb. - se testeze dac cele dou numere se divid. n caz afirmativ s se afieze un mesaj corespunztor, !n caz contrar afai ctul i restul !mpririi lui a la b. 2+. ,iind date numere !ntregi a, b, c, d s se afieze minimul dintre ele. 22. 5unoscnd numrul natural n s se calculeze suma 1+2+3+...+n. 2;. 5unoscnd * i n "*1=n# numere naturale, s se calculeze suma *+(*+1)+...+n. 2?. - se determine ultima cifr a sumei x+4, unde x i 4 sunt numere naturale date de la tastatur. 2@. ,ie a,b i c salariile a trei persoane. - se precizeze cte dintre acestea sunt cel puin egale cu o valoare dat x reprezentnd salariul mediu pe economie. 21. - se determine ultima cifr a numrului 2x, pentru x numr natural dat. 2B. ,olosind o singur comparaie, s se verifice dac trei numere naturale cu cel mult trei cifre fiecare sunt pitagoreice. -e va afia un mesaj corespunztor. 2D. <onel are 6+ cm, Xigel are 62 cm, iar Danu are 6; cm. -criei un algoritm care s afieze numele celor ; copii !n ordinea cresctoare a !nlimii. 2E. - se rezolve sistemul de ecuaii cu coeficieni reali ax9bU8c dx9eU8f pentru a!b!c! !e!' numere reale oarecare date. ;A. -criei un algoritm care citete de la tastatur trei numere !ntregi strict pozitive a, b, c cu cel mult trei cifre fiecare. .aloarea variabilei a reprezint distana dintre oraul % i oraul G, b distana !n Fm dintre oraul G i oraul 5, iar c reprezint distana !n Ym dintre oraul 5 i oraul %. 7tiind c un cltor !i planific o vizit a celor trei orae pornind din oricare dintre oraele % sau b i ajungnd !n final !n oricare dintre oraele G sau 5 cu trecere prin cel de4al treilea ora, s se determine un traseu de lungime minim care respect aceste condiii. %lgoritmul va afia cele trei litere corespunztoare celor trei orae, !n ordinea !n care sunt vizitate. -e va alege o metod ct mai eficient din punctul de vedere al gestionrii memoriei. De exemplu) a8@D, b8+?A, c8+2@, se va afia G%5. ;+. n iepura zglobiu iei din pdure i !ncepu s alerge pe cmpie cu o vitez constant v + m=s. Dup un timp tA, apare la marginea pdurii un leu. $eul zrii iepurele i !ncepu s alerge dup el cu o vitez constant v 2 m=s. -criei un algoritm care afieaz dup cte secunde prinde leul iepurele sau valoarea 9+ dac leul nu prinde iepurele. ;2. n bazin se umple cu ap cu ajutorul a dou robinete. Dac lsm primul robinet deschis timp de h+ ore i al doilea timp de h2 ore, !n bazin vor fi x litri de ap. Dac lsm primul robinet deschis timp de h+9+ ore i al doilea timp de h24+ ore, !n bazin vor fi U litri de ap. -criei un program care s determine ci litri de ap curg prin fiecare robinet !ntr4o or. ;;. (rice sum de bani - "-PB# poate fi pltit numai cu monede de ; i @ lei. Dat fiind -PB, scriei un program care s determine o modalitate de plat a sumei - numai cu monede de ; i @ lei. ;?. 5alculai intersecia a dou intervale Za,b[ i Zb,c[ date prin valori reale a,b,c,d unde aJ8b i cJ8d. ",ie e8maxLa,bM i f8minLb,dM. -e observ c dac ePf atunci Za,b[\Zc,d[8] iar daca eJ8f atunci Za,b[\Zc,d[8Ze,f[# ;@. -e citesc trei numere a, b i c. - se numere cte sunt apre. ;1. -e citesc trei numere a, b i c. - se verifice dac ele pot fi termenii unei progresii aritmetice. ;B. -e citesc 2 numere naturale a i b. - se afieze cte numere pare sunt !n intervalul Za,b[. ;D. -e citesc dou intervale de timp exprimate !n ore minute i secunde "h+,m+,s+# i "h2,m2,s2#. - se calculeze suma celor 2 intervale de timp. ;E. -e citete un numr !ntreg n care reprezint un an calendaristic. - se verifice dac anul este bisect sau nu "condiia ca un an, s fie bisect este ca, dac anul este divizibil cu +AA, s fie divizibil cu ?' altfel s fie divizibil cu ?AA#. ?A. -e d o dreapt !n planul cartezian xoU. - se determine dac un punct p de coordonate x,z aparine sau nu dreptei.

Structura repetitiv De multe ori, !n construirea algoritmilor de rezolvarea unor prtobleme, este necesar repetarea unor operaii atta timp ct condiia este adevrat) - ct timp este culoarea verde, mai trece o main. - ct timp mai sunt bilete, vindei biletele' sau vindei bilete pn le terminai. - 5t timp mai avei greeli de corectat, corectai greelile. - ct timp mai avei numere, le adunai. - ct timp mai avei cifre !ntr4un numar afisai4le. - ncepnd de la + scriei !n ordine numerele pn la +AA. 3etoda de implementare a unei repetiii este structura repetitiv. -tructura repetitiv cuprinde) un grup de instruciuni, numite corpul ciclului, ce se execut repetat, i testarea unei condiii care face ca procesul de repetare s continue sau nu. Sx) -e introduce de la tastatur numere pn cnd ultimul numr este A, i se calculeaz suma numerelor. D<) S iniial A, i a valoarea citit ce se adaug la sum pn cnd a8A. -punem pe scurt c5t timp aJPA, adun4l pe a la S. *rocesul de control cuprinde trei aciuni) 6niiali%area4 stabilete starea iniial, starea dinainte de prima parcurgere a corpului ciclului. (peraia de atribuire s A, i citirea primului numr "citete a#. 7estarea4 compar starea curent cu starea final care face ca procesul de repetare s se sfreasc. -e compar numrul a cu A "aJPA# dac condiia este adevrat se continu citirea lui a. *rocesul de executare repetat se termin cnd valoarea introdus pentru a este A. #o i'icarea4 -chimb starea curent astfel !nct s se avanseze ctre starea final. 3odificarea face parte din corpul ciclului i !n exemplul dat const !n citirea unei noi valori a lui a "citete a#, care poate s fie A. Structura repetitiv Sxecutarea repetat a unor aciuni, sub un proces de control, este conceput algoritmic printr4o structur repetitiv. *rocesul de control presupune trei aciuni) 6niiali%are4 -tabilete, starea dinainte de prima parcurgere a corpului ciclului. "ex.s A, i+# 7estare 4 compar starea curent cu starea care termin procesul de repetare i are rolul de a termina procesul de ciclare."iJ8n# #o i'icare4-chimb starea curent astfel !nct s se avanseze ctre starea final, care !ncheie procesul de repetare. "ii9+# Clasificarea structuril r re!etiti"e -tructura repetitiv poate fi) cu numr necunoscut cunoscut de pai cu numr cunoscut de pasi -tructura repetitiv cu numr necunoscut de pai poate fi) - cu test iniial - cu test final -chema logic echivalent) -intaxa instruciunii repetitive cu numr necunoscut de pai cu test iniial c5t8timp Structura repetitiv cu test initial se numete instruciunea c5t8timp si are urmtoarea sintaxc5t8timp "expresie# execut instrucinune+ s'5rit8c5t8timp Sfectul instruciunii) Pas 1) -e evalueaz condiia care este o expresie. condii e NU DA instruciune

Pas 2) Dac expresia este fals, se iese din instruciunea c5t8timp' Dac valoarea este adevrat, se execut instructiunea, apoi se revine la *as +, la evaluarea expresiei. (bservaii) +. <nstruciunea se execut, ct timp valoarea expresiei din condiiei este adevrat. *entru ca ciclul s nu fie infinit, este obligatoriu ca instruciunea care se execut s modifice cel puin una din variabilele care intervin !n expresie, astfel !nct acesta s poat lua valoarea fals. 2. Dac expresia din condiie are de la !nceput valoarea fals, instruciunea nu se execut nici mcar o dat. ;. <nstruciunea din corpul ciclului c5t8timp poate s conin o alt instruciune c5t8timp. n acest caz se spune c instruciunile c5t8timp sunt imbricate. Probleme propuse +# - se calculeze suma S=1+2+3=....+n , respectiv produsul P=192939....9n , pentru numrul n natural nenul dat. 2# - se calculeze media aritmetic a n valori reale citite pe rnd de la tastatur. ;# -e citesc pe rnd de la tastatur numere !ntregi nenule !ntr4o variabil x, pn la introducerea valorii A. - se calculeze suma numerelor pozitive introduse i produsul celor negative. ?# -e citesc pe rnd n numere !ntregi i apoi o valoare !ntreag a. - se determine numrul de apariii ale valorii a printre numerele citite. @# *recizai ce se va afia !n urma execuiei secvenei de program de mai jos pentru n=2 "s,n i * sunt variabile !ntregi#. :ate e intrare- n intre$. :ate e iesire-S intre$ ;iteste n+ S "+ * 1+ cat8timp(*1=n)executa s=s+*+ *=*+2+ S'8cat8timp Scrie <s==! s+ a# s8? b# s8+1 c# s8E d# s8+@ e#s8A - se afiseze cifrele numarului natural n citit de la tastatura."%tentie nu se cunosc numarul cifrelor lui n#. ,ie secventa cu x8+BE :ate e intrare- x intre$+ :ate e iesire- s intre$+ :ate interme iare- c! + citeste x+ x+ s "+ cat8timp( 1>")executa c mo 1"+ s s+c+ iv 1"+ S'8cat8timp scrie s+ 5e se afiseazC a# +1 b# +D c#+B d# A e# EB+ D# -e citete o succesiune de numere !ntregi pn la introducerea valorii A. - se calculeze media aritmetic a numerelor pozitive citite i numrul numerelor negative. E# -e citesc pe rnd numere !ntregi pn la introducerea valorii V+. - se calculeze media aritmetic a valorilor nenule citite. +A# *entru un numr natural nenul n dat, s se determine p natural cu proprietatea 2p1=n. ++# - se realizeze !nmulirea a dou numere naturale nenule a i b date prin adunri repetate. +2# ,ie funcia f-?/>? ! '(x)= n+1 ! pentru n par n/1 ! pentru n impar +;# - se calculeze i s se afieze valorile funciei pentru n =1!2!....!1"

1# B#

Structura repetitiv cu test 'inal Si#ta$a% repet instructiune

Sc&e'a l (ic) ec&i"ale#t)%

Instructiune corpul ciclului , %


Cond .

pn cnd condiie

Sfect) 4 se execut secvena de instructiuni "orice instruciune pseudocod# care formeaz corpul ciclului, apoi se verific condiia, care este o expresie logic' 4 dac condiia este fals, se execut din nou secvena, s.a.m.d.' 4 corpul ciclului se execut !n mod repetat pn cnd condiia devine adevrat "adic ct timp este fals#. (bservaii) 4 este un ciclu cu test final pentru c mai !nti se execut secvena i apoi se verific condiia' 4 este un ciclu cu numr necunoscut de pai, numrul minim de execuii asigurat pentru secven este + "cnd din start condiia este adevrat#' 4 pentru a evita buclarea infinit, corpul ciclului trebuie s conin cel puin o instruciune care s asigure ieirea din bucl "la un moment dat condiia s devin adevrat#. Probleme propuse -e citete un ir de numere !ntregi pn la !ntlnirea valorii A. - se calculeze media aritmetic a numerelor din ir. +. -e considera algoritmul urmator) citeste n repeta ci'ra n mo 1"+ scrie c+ n n iv 1" pana can n=" Determinati ce se afiseaza pentru n 8+2;?. 2. -a se afiseze inversul numarului n. ;. -a se calculeze cmmdc4ul, respectiv cmmmc4ul a doua numere a, b. ?. -a se realize algoritmul de determinarea produsului a doua numere a si b prin adunari repetate. @. - se calculeze ctul i restul !mpririi a dou numere naturale nenule , a i b date , prin scderi repetate. 1. - se descompun un numr natural nenul dat !n factori primi , afisnd pentru fiecare factor prim i puterea corespunztoare B. -e citesc pe rnd n numere !ntregi . - se verifice dac apar sau nu !n ordine cresctoare. D. - se verifice dac un numr natural nenul dat este palindrom , adic citit de la dreapta la stnga i de la stnga la dreapta reprezint acelai numr . E. - se determine numrul de apariii ale unei valori date, printre elementele unui ir dat cu n elemente. +A. -e consider urmtoarea secven) x2' indA' repeata zx9?' Ux92' n+x^;9x^29x9+' n2;/"U^;9U^29U9+#' n;z^;9;/z^292/z9?' daca n+9n28n; atunci ind+' scrie x,: 0,U,: :,z' altfel xx9+'

sf.daca pana cand ind8+ +2.+. 5e valori se vor afisa dupa executarea secventei de instructiuni descries anterior) a# ; @ B b# + 1 B c# B ; @ d# @ ; B +2.2. 5e valori au variabilele n+,n2, n; la terminarea executiei secventeiC a# ; @ B b# ?A ?1D @AD c# +@ 2DD ?A; d# A A A +;. -e consider algoritmul urmtor) citeste n repeta cn mod +A nn div +A pana cand "n mod +A Pc# or "n8A# daca n8A atunci scrie 0ordonat: altfel scrie 0neordonat: 5e rezultat va afisa algoritmul pentru n8+22;C a# neordonat b# ordonat c# eroare d# ordonat neordonat

Structura repetitiv cu numr cunoscut de pai Sintaxa: Schema logic echivalent: pentru i vi , vf , pas execut Sf.pentru Secvena Observaii: - i = variabila contor de tip !ntreg sau caracter"# - vi = valoarea iniial de la care !ncepe numrarea# - vf = valoarea final la care se oprete numrarea# - pas = din c$t !n c$t se numr pasul contorului". v v+pas modificare contor v vi
V<= Vf >=
> corpul ciclului

vi , vf i pas sunt constante, variabile sau expresii de acelai tip cu v. %ac a" vi &= vf i pas '( - contor cresctor b" vi '= vf i pas&( - contor descresctor )fect: - se !ncarc variabila contor cu valoarea iniial de la care !ncepe numrtoarea vi"# - c$t timp nu s-a depit valoarea final vf la care se oprete numrarea adic vi <= vf pentru un contor cresctor, sau vi >= vf pentru un contor descresctor" se execut secvena care formea* corpul ciclului i se modific variabila contor i cu valoarea pasului crete sau scade cu valoarea pas"# - c$nd valoarea final vf este depit, instruciunea se !ncheie. Observaii: - este un ciclu cu numr cunoscut de pai: nr pai =
vf - vi

pas

+,

nu se recomand modificarea variabilei contor v !n corpul ciclului deoarece ea este modificat implicit de ctre instruciune cu valoarea pasului pas# modificarea explicit a lui v duce la comportri imprevi*ibile ale instruciunii. pentru i= ,, ,( execut S= ,+,+,... SS+, i i-, de o infinitate de ori"

)xemplu:

- dac pas lipsete din sintax se consider c pas = , ve*i mai sus".

Probleme propuse ,. S se calcule*e suma S=1+2+....+n, respectiv produsul P=1*2*...*n pentru n numr natural nenul citit de la tastatur. -. S se calcule*e media aritmetic a n valori !ntregi citite pe r$nd de la tastatur, unde n este un numr natural nenul dat. .. S se determine i s se afie*e divi*orii proprii ai unui numr natural nenul n dat de la tastatur. /. Se citesc pe r$nd n numere !ntregi n natural nenul dat". S se verifice dac numerele apar sau nu !n ordine cresctoare. 0. S se verifice dac un numr natural nenul dat este 1 perfect2, adic este egal cu suma divi*orilor si proprii, inclusiv ,. )xemplu, 6=1+2+3 este numr perfect. 3. Se citesc pe r$nd n numere reale, n numr natural nenul dat. S se determine numrul valorilor po*itive, numrul valorilor negative i, respectiv, numrul valorilor nule introduse. 4. Se citesc pe r$nd n numere reale. S se determine minimul maximul" dintre ele. 5. Se citesc pe r$nd n numere reale. S se determine media aritmetic a valorilor strict po*itive citite. 6. 7iind dat un numr n natural nenul s se verifice dac este prim sau nu. ,(. S se calcule*e: a" S=1+3+5++nr, unde nr este un numr impar mai mic sau cel mult egal cu n, n numr natural nenul dat b" P=1*3*5*.*nr, unde nr este un numr impar mai mic sau cel mult egal cu n, n numr natural nenul dat c" S=1+1/2+1/3+...+1/n, n numr natural nenul dat d" S=1+1*2+1*2*3+.+1*2*..*n, n numr natural nenul dat e" S=1+22+32+....+n2, n numr natural nenul dat f" S=1+1/22+1/32+...+1/n2, n numr natural nenul dat g" S=1+1/(1*2)+1/(1*2*3)+....+1/(1*2*...*n) , n numr natural nenul dat h" R=(1*2*...*n)/(1+2+...+n), n numr natural nenul dat i" P=2*4*6*.....*nr, unde nr este un numr par mai mic sau cel mult egal cu n, n numr natural nenul dat ,,. Se consider irul 1,4,7,1 ,13,....S se calcule*e suma primilor n termeni, n numr natural nenul dat. ,-. S se genere*e toate numerele de patru cifre de forma 3a2! care se divid cu numrul 6. ,.. Se citesc pe r$nd n numere !ntregi. S se determine c$te numere pare i, respectiv, c$te numere impare au fost citite. ,/. Se citesc pe r$nd n numere naturale nenule. S se afie*e i s se numere acele numere pentru care suma cifrelor este divi*ibil cu 0. ,0. Se citesc pe r$nd n numere naturale mai mari ca ,. S se determine ".#.#.$.". al celor n numere. ,3. S se afie*e numerele prime mai mici dec$t ,(( fc$nd un numr c$t mai mic de verificri.

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