CUPRINS PREFAŢĂ PREFAŢĂ ............................................................................................................. ..........................................................................................................................................9 .............................9 Capitolul 1. PROBLEME SIMPLE 1.1. Ghid de lucru.............................................................................................................................11 1.2. Numere pitagorice .....................................................................................................................14 1.3. Probleme propue ...................................................................................................................... ...................................................................................................................... 1! Capitolul 2. PROBLEME CU ŞIRURI DE NUMERE 2.1. Numere diti"cte diti"cte .................................................................................................................... ...21 2.2. #ir deri$at di" "umerele "aturale ..............................................................................................23 2.3. Probleme propue ...................................................................................................................... ...................................................................................................................... 2! Capitolul 3. PROBLEME REZOLVATE FOLOSIND VECTORI 3.1. Num%rul pu"ctelor di" cerc ......................................................................................................3! 3.2. &"terclaare ................................................................................................................................3' 3.3. Probleme propue ...................................................................................................................... ...................................................................................................................... 3( Capitolul . PROBLEME CU MATRICE 4.1. )o"truirea u"ei matrice ...........................................................................................................41 4.2. Ge"erarea u"ei matrice di"tr*u" +ir ..........................................................................................42 4.3. Probleme propue ...................................................................................................................... ...................................................................................................................... 43 Capitolul !. SUBAL"ORITMI !.1. Reu"iu"ea u"or mul,imi ...........................................................................................................!1 !.2. Numere prime ...........................................................................................................................!4 !.3. Probleme propue ...................................................................................................................... ...................................................................................................................... !! Capitolul #. PROBLEME REZOLVATE CU MATRICE '.1. Rela,ii -"tre peroa"e ................................................................................................................'3 '.2. P%trate magice ...........................................................................................................................'4 '.3. Probleme propue ...................................................................................................................... ...................................................................................................................... ''
5
PREFA
%$)ulegerea )ulegerea de probleme de a,% e dore+te a i u" ghid +io colec,ie colec,ie de probleme pe"tru -"$%,area program%rii. /i$eritatea /i$eritatea problemelor problemelor propue +i gradul dierit de diicultate diicultate ac culegerea util% "u "umai tude",ilor0 ci +i ele$ilor de liceu. &"i,ial ea a ot co"ceput% ca ghid pe"tru lucr%rile de laborator ale tude",ilor a"ilor -"ti +i doi de la ec,ia de &"ormatic% a Facult%,ii de atematic% +i &"ormatic%. Problemele u"t grupate -" 1' capitole0 -" u"c,ie de peciicul +i gradul lor de compleitate. ucceiu"ea capitol capitolelo elorr di" culege culegere re $i5ea5 $i5ea5%% o abordar abordaree gradual% gradual% a problem problematic aticii0 ii0 att di" pu"ctul pu"ctul de $eder $ederee al comple compleit% it%,ii ,ii algoritmilor0 peciica,i -" limba6 Peudocod0 ct +i al -"$%,%rii u"ui limba6 de programare0 -" particular limba6ul Pacal. Fiecare capitol co",i"e cel pu,i" dou% eemple de probleme re5ol$ate0 pe"tru care u"t preci5a,i att algoritmii de re5ol$are0 ct +i programele ur% Pacal. &"te",ia autorilor ete de a ugera u" a"umit til de re5ol$are a problemelor cu calculatorul0 calculatorul0 acord"du*e o importa",% deoebit% deoebit% etapelor de a"ali5% a problemei problemei +i de proiectare a algoritmilor0 etape -" care care lim limba ba6u 6ull de progra programar maree "u ete ete impli implica cat.t. /i" /i" ace acett pu"ct pu"ct de $ede $edere re00 proble probleme mele le propu propue e u"t u"t ge"e ge"eral rale0 e0 impleme"tarea olu,iilor put"d i %cut% +i -" alte limba6e de programare. Problemele de acela+i tip u"t grupate -" acela+i capitol0 iar u" capitol acoper% toat% gama de probleme pe"tru tema abordat%. Atel0 capitolul & co",i"e probleme eleme"tare0 a c%ror re5ol$are "u cere oloirea $ectorilor au a matricelor. )apitolul doi co",i"e probleme reeritoare la $ectori0 -" timp ce capitolul trei co",i"e probleme a c%ror re5ol$a re5ol$are re cere cere oloi oloirea rea $ecto $ectorilor rilor.. )apitol )apitolul ul patru patru co",i"e co",i"e proble probleme me cu matrice. matrice. )apitol )apitolul ul ci"ci ci"ci cere cere oloi oloirea rea ubalgoritmilor. )apitolul +ae co",i"e probleme a c%ror re5ol$are cere oloirea matricelor. 7rmea5% u" capitol de eemple eemple +i probleme pe"tru programarea -" limba6 ma+i"%. )apitolul opt co",i"e probleme reeritoare reeritoare la tipurile mul,ime +i e"umerare di" Pacal. )apitolul "ou% co",i"e probleme reeritoare la +iruri de caractere. )apitolul 5ece e reer% la recuri recuri$ita $itate. te. 7rmea5 7rmea5%% u" capitol capitol de problem problemee pri$i"d pri$i"d olo oloirea irea i+ier i+ierelor elor.. )apitolu )apitolull 12 co",i"e co",i"e proble probleme me care cer oloirea tipului reeri",% -" Pacal. 7rm%torul capitol co",i"e probleme de graic% cu calculatorul. )apitolul 14 co",i"e mai multe probleme date la dierite co"cururi de programare. 8ipurile abtracte de date u"t obiectul capitolului 1!. " r+it0 ultimul capitol co",i"e probleme depre grae. /e+i la electarea problemelor au co"tribuit to,i autorii0 iecare capitol a ot elaborat de u"ul au doi autori0 dup% cum urmea5%: )ap.1 * Pro. .Gro5e +i Pro. .Fre",iu; )ap.2 * Pro. .Fre",iu; )ap.3 *
aa ?. +i Ait. .otog"a; )ap.@ * )o". F.oia"; )ap.( *
6
PREFA
%$)ulegerea )ulegerea de probleme de a,% e dore+te a i u" ghid +io colec,ie colec,ie de probleme pe"tru -"$%,area program%rii. /i$eritatea /i$eritatea problemelor problemelor propue +i gradul dierit de diicultate diicultate ac culegerea util% "u "umai tude",ilor0 ci +i ele$ilor de liceu. &"i,ial ea a ot co"ceput% ca ghid pe"tru lucr%rile de laborator ale tude",ilor a"ilor -"ti +i doi de la ec,ia de &"ormatic% a Facult%,ii de atematic% +i &"ormatic%. Problemele u"t grupate -" 1' capitole0 -" u"c,ie de peciicul +i gradul lor de compleitate. ucceiu"ea capitol capitolelo elorr di" culege culegere re $i5ea5 $i5ea5%% o abordar abordaree gradual% gradual% a problem problematic aticii0 ii0 att di" pu"ctul pu"ctul de $eder $ederee al comple compleit% it%,ii ,ii algoritmilor0 peciica,i -" limba6 Peudocod0 ct +i al -"$%,%rii u"ui limba6 de programare0 -" particular limba6ul Pacal. Fiecare capitol co",i"e cel pu,i" dou% eemple de probleme re5ol$ate0 pe"tru care u"t preci5a,i att algoritmii de re5ol$are0 ct +i programele ur% Pacal. &"te",ia autorilor ete de a ugera u" a"umit til de re5ol$are a problemelor cu calculatorul0 calculatorul0 acord"du*e o importa",% deoebit% deoebit% etapelor de a"ali5% a problemei problemei +i de proiectare a algoritmilor0 etape -" care care lim limba ba6u 6ull de progra programar maree "u ete ete impli implica cat.t. /i" /i" ace acett pu"ct pu"ct de $ede $edere re00 proble probleme mele le propu propue e u"t u"t ge"e ge"eral rale0 e0 impleme"tarea olu,iilor put"d i %cut% +i -" alte limba6e de programare. Problemele de acela+i tip u"t grupate -" acela+i capitol0 iar u" capitol acoper% toat% gama de probleme pe"tru tema abordat%. Atel0 capitolul & co",i"e probleme eleme"tare0 a c%ror re5ol$are "u cere oloirea $ectorilor au a matricelor. )apitolul doi co",i"e probleme reeritoare la $ectori0 -" timp ce capitolul trei co",i"e probleme a c%ror re5ol$a re5ol$are re cere cere oloi oloirea rea $ecto $ectorilor rilor.. )apitol )apitolul ul patru patru co",i"e co",i"e proble probleme me cu matrice. matrice. )apitol )apitolul ul ci"ci ci"ci cere cere oloi oloirea rea ubalgoritmilor. )apitolul +ae co",i"e probleme a c%ror re5ol$are cere oloirea matricelor. 7rmea5% u" capitol de eemple eemple +i probleme pe"tru programarea -" limba6 ma+i"%. )apitolul opt co",i"e probleme reeritoare reeritoare la tipurile mul,ime +i e"umerare di" Pacal. )apitolul "ou% co",i"e probleme reeritoare la +iruri de caractere. )apitolul 5ece e reer% la recuri recuri$ita $itate. te. 7rmea5 7rmea5%% u" capitol capitol de problem problemee pri$i"d pri$i"d olo oloirea irea i+ier i+ierelor elor.. )apitolu )apitolull 12 co",i"e co",i"e proble probleme me care cer oloirea tipului reeri",% -" Pacal. 7rm%torul capitol co",i"e probleme de graic% cu calculatorul. )apitolul 14 co",i"e mai multe probleme date la dierite co"cururi de programare. 8ipurile abtracte de date u"t obiectul capitolului 1!. " r+it0 ultimul capitol co",i"e probleme depre grae. /e+i la electarea problemelor au co"tribuit to,i autorii0 iecare capitol a ot elaborat de u"ul au doi autori0 dup% cum urmea5%: )ap.1 * Pro. .Gro5e +i Pro. .Fre",iu; )ap.2 * Pro. .Fre",iu; )ap.3 * aa ?. +i Ait. .otog"a; )ap.@ * )o". F.oia"; )ap.( *
6
CAPITOLUL 1
PROBLEME SIMPLE 1.1. GHID DE LUCRU
Re5ol$area u"ei probleme cu a6utorul calculatorului preupu"e parcurgerea urm%toarelor a5e: * preci5area complet% a problemei de re5ol$at; * proiectarea algoritmului de re5ol$are a problemei; * programarea propriu*5i% propriu*5i% impleme"tarea; impleme"tarea; * tetarea tetarea programului ob,i"ut; ob,i"ut; * eploatarea eploatarea +i -"tre,i"erea programului. programului. Acete a5e co"tituie ciclul de $ia,% al programului. /e oarte multe ori0 atu"ci c"d be"eiciarul dicut% cu eecuta"tul depre problema care trebuie re5ol$at%0 aceta d% u" e"u", $ag0 i"complet0 dac% "u chiar i"eact au co"tradictoriu0 pe"tru problema de re5ol$at. 7rmea5% mai multe dicu,ii0 dicu,ii0 u"eori -"ti"e -" timp0 -" - " urma c%rora e a6u"ge la u" e"u", relati$ complet complet +i eact al problemei. problemei. "truct problemele problemele propue propue u"t u"t luate di" dome"iul dome"iul matematicii arci"a arci"a "oatr% $a i mult mult mai u+oar%. /up% e"u",area problemei urmea5% modelarea matematic% +i c%utarea u"ei metode de re5ol$are a ei. 7"eori u"t poibile mai multe moduri de re5ol$are0 ca5 -" care e $a alege metoda co"iderat% cea mai potri$it% copului urm%rit. odelarea matematic% +i alegerea u"ei metode de re5ol$are e -mbi"% aproape -"totdeau"a cu co"ceperea algoritmului0 ii"d greu % e epare u"a de cealalt%. Acti$it%,ile de mai u co"tituie ceea ce "umim proiectarea programului. Pe toat% durata proiect%rii trebuie me",io"ate -" cri toate deci5iile luate0 -"truct ete poibil ca ulterior % ie "ecear% o reproiectare +i deci0 % e re$i"% aupra acetor deci5ii. /ocume"ta,ia reali5at% ete "ecear% -" primul r"d pe"tru urm%toarea a5% a ciclului ciclului de $ia,% al programului0 impleme"tarea. impleme"tarea. /e aeme"ea0 aeme"ea0 -" a5a de -"tre,i"ere a programului ete poibil% poibil% modiicarea modiicarea u"or module0 modiicare modiicare -" care u"t "eceare % ie cu"ocute cu"ocute +i acete acete deci5ii. E bi"e ca proiectarea proiectarea % ie atel %cut% -"ct % permit% o -"tre,i"ere -"t re,i"ere ct mai u+oar%. Fa5a urm%toare0 impleme"tarea impleme"tarea au codiicarea0 co"t% -" traducerea algoritmului -"tr*u" limba6 de programare. E$ide"t0 prima deci5ie ce trebuie luat% co"t% -" alegerea limba6ului de programare -" care $a i cri programul. " cele ce urmea5% $om oloi -" acet cop limba6ul Pacal. /e multe ori e $or oloi mai multe limba6e pe"tru aceat% acti$itate. /e eemplu0 pot eita u"ele module a c%ror criere e poate ace "umai -" limba6ul de aamblare. aamblare. 7rmea5% tetarea programului elaborat0 care u"eori pu"e -" e$ide",% e$ide",% erori gra$e de programare0 erori care au du -" u"ele itua,ii la reacerea reacerea par,ial% au i"tegral% a acti$it%,ilor acti$it%,ilor a"terioare. igur c% ete de dorit % "u e a6u"g% la atel de itua,ii itua,ii +i0 dac% proiectarea +i impleme"tarea au ot %cute corect0 -" a5a de tetare "u ar trebui % -"tl"im erori. 7rm%toarea a5% di" $ia,a programului co"t% -" eploatarea propriu*5i% a acetuia0 a5% -" care eecu,ia e ace cu date reale. Aceat% acti$itate e -"ti"de -" timp pe mai mul,i a"i +i cere adeeori chimb%ri -" program0 moti$ pe"tru care ete cu"ocut% cu"ocut% ub "umele de -"tre,i"erea programului. Ete a5a cea mai cotiitoare cotiitoare +i cea mai importa"t% di" $ia,a u"ui produul produul real. 8oat% acti$itatea de reali5are a programului trebuie % ,i"% eama de acet acet apt +i programul % ie atel co"ceput co"ceput -"ct % e permit% modiic%ri -" ceea ce ace programul programul cu u" "um%r mi"im de modiic%ri -" tetul acetuia. /ocume"tarea programului preupu"e elaborarea u"or materiale crie -" care e preci5ea5% toate i"orma,iile utile depre programul reali5at. Pe"tru proiectarea algoritmilor $om oloi limba6ul Peudocod. A$a"ta6ele oloirii acetui limba6 pe"tru proiectarea algoritmilor co"tau -" aptul c% permit programatorului %*+i -"drepte complet ate",ia aupra logicii re5ol$%rii problemei +i % uite de retric,iile impue de limba6ul de programare +i calculatorul oloit. " aceat% a5% ete "ecear% o a"ali5% ate"t% a problemei -" $ederea g%irii u"ui algoritm corect proiectat. /e aeme"ea0 proiectarea algoritmului permite e$itarea duplic%rii u"ui grup de i"truc,iu"i -" mai multe p%r,i ale programului. &de"tiicarea u"ui atel de grup permite dei"irea lui ca u" i"gur ubalgoritm +i oloirea acetui ubalgoritm ori de cte ori ete "ecear. " decrierea u"ui algoritm deoebim urm%toarele acti$it%,i importa"te: * peciicarea problemei; * decrierea metodei alee pe"tru re5ol$area problemei; * preci5area de"umirilor +i em"iica,iilor $ariabilelor oloite; oloite; * decrierea decrierea algoritmului propriu*5i. Atel0 Atel0 dac% dac% "i e cere % calcul%m calcul%m radicalul radicalul de ordi"ul 2 di" x0 -" partea de peciicare a problemei $om
7
me",io"a: e d% u" "um%r real "e"egati$0 "otat pri" x. e cere % g%im u" alt "um%r po5iti$ r atel -"ct r 2H x. Pe"tru u" i"ormaticia" ete clar c% u" atel de "um%r "u e poate g%i -" ge"eral pri" "ici u" procedeu i"it. Ete -"% poibil % g%im o aproimare orict de bu"% a lui r . /eci peciicarea %cut% "u ete corect%0 "eput"d g%i u" algoritm care % re5ol$e problema -" orma e"u",at%. Bom modiica aceat% peciica,ie0 cer"d % e calcule5e aproimati$ r cu o eroare ce "u dep%+e+te u" "um%r real eps orict de mic. peciica,ia problemei ete: DATE eps,x; REZULTATE r;
{eps,x R, eps>0 şi x0} {rr!"#x$%eps}
u"de pri" r!" x am "otat radicalul de ordi"ul 2 di" x dei"it -" matematic%. pe r :
7rmea5% % preci5%m metoda de re5ol$are a problemei. e +tie c% eit% cel pu,i" dou% poibilit%,i de a calcula
* ca limit% a u"ui +ir dei"it pri"tr*o rela,ie de recure",% co"$erge"t la r ; * pri" re5ol$area ecua,iei r 2H x. Preci5%m c%*l $om calcula pe r re5ol$"d ecua,ia r 2H x. /ar +i re5ol$area acetei ecua,ii e poate ace pri" mai multe metode. /ecidem c% o $om re5ol$a pri" metoda "6um%t%,irii. Aceat% metod% co"t% -" "6um%t%,irea repetat% a i"ter$alului I!,&J care co",i"e r%d%ci"a r la i"ter$alul I!',&' J0 care ete 6um%tatea t"g%0 au 6um%tatea dreapt% a i"ter$alului I!,&J0 cea care co",i"e r%d%ci"a. Bariabilele oloite -" decrierea algoritmului u"t: * ! +i & H capetele i"ter$alului -" care e al% r%d%ci"a; * ( mi6locul i"ter$alului !,&. " mome"tul -" care &!%eps, ( $a i chiar $aloarea c%utat% pe"tru r . Algoritmul propriu*5i ete decri -" co"ti"uare: )I*i+i!i-e!- pe ! şi &; RE/ET IE (23#!4&$56; ) D!7 r"7i*! se !8 9* :!,( !<=*7i &23( !<8e !23(. /?C ?D &!%eps @RE/ET IE r23#!4&$56;
" tetul de mai u apar dou% propo5i,ii "eta"dard care ugerea5% -"% oarte bi"e ce ac,iu"i trebuiec -"trepri"e. Prima tabile+te i"ter$alul i"i,ial -" care e al% r%d%ci"a0 care depi"de de m%rimea lui x: x01 c"d x ete mai mic dect 1 au 10 x -" ca5 co"trar. /eci ea e $a tra"crie -" propo5i,ia ta"dard DAC x%1 ATU?CI ATRIUIE !23x; &231 ALTEL ATRIUIE !231; &23x @DAC A doua propo5i,ie -"6um%t%,e+te i"ter$alul. )o"di,ia ca r%d%ci"a % e ale -" 6um%tatea t"g% a i"ter$alului ete !2* xK(2* xLC. e a6u"ge la urm%toarea $aria"t% i"al%: ALGBRITUL RADICAL E@TE2 DATE eps,x; DAC x%1 ATU?CI IE !23x; &231 ALTEL IE !231; &23x @DAC RE/ET DAC #!6x$)#(6x$%0 ATU?CI &23( ALTEL !23( @DAC
8
{C!7=e!- r!"i7! "i* x} {eps,x R, eps>0 şi x0} {I*i+i!i-e!- pe ! şi &}
{r"7i*! 9* s<*!} {r"7i*! 9* "re!p
/?C ?D &!%eps @RE/ET IE r23#!4&$56; REZULTATE r; @ALGBRIT
{rr!"#x$%eps}
Programul Pacal corepu"5%tor ete dat -" co"ti"uare. PRMGRA RA/&)A<; Programul 1.1. )alculea5% radical di" O BAR ep0 epH preci5ia cu care e calculea5%O 0 radical di" 0 epC i HCO r0 $aloarea radicalului O a0b0 capetele i"ter$alului ce co",i"e pe rO m : REA<; mi6locul i"ter$alului Ia0bJO EG&N QR&8E
Numerele !,&,70 e "umec pitagorice dac% ! 6 4 &6 3 76 1. % e tip%reac% toate tripletele !,&,7 de "umere pitagorice0 cu CL!%&%7 +i !4&47 V* ordo"ate dup% uma !4&47. peciicarea problemei ete: DATE *; {* ?; pe*
Bom "ota pri" @ uma !4&47. e +tie c% 3040! ete primul triplet de "umere pitagorice. " acet ca5 @ ia $alori de la 12 la *. "truct !%@ $ariabila ! ia $alori de la 3 la @ T3. Apoi 2&L@! deci & $a lua $alori de la !41 la @!T2. Algoritmul pe"tru re5ol$area problemei ete dat -" co"ti"uare : AFri<(= ?R/ITAGBRICE es
9
@8pe*
Programul Pacal corepu"5%tor ete dat -" co"ti"uare. PRMGRA NRP&8AGMR&)E; BAR "0 0 a0b0c0
Programul 1.1.2. Numere pitagoriceO "W N; aSbScV" O H aSbSc O a0b0c triplet de "umere pitagoriceO CL a L bL c O co"tor O
X : i"teger; EG&N QR&8E
1.1. Fie i,J,K . % e determi"e retul -mp%r,irii "um%rului "atural i J la K . 1.6. % e tip%reac% toate tripletele #i,J,K$ de "umere "aturale care $eriic% co"di,iile i6 4 J6 3 K 6 1 % i % J % K * 1.. % e $eriice dac% "um%rul * ete perect. 7" "um%r * ete perect dac% ete egal cu uma di$i5orilor lui dieri,i de *; eemplu: 'H1S2S3. 1.. % e determi"e "umerele perecte di" i"ter$alul I!,&J0 pe"tru !,& date. 1.M. /ou% "umere -"tregi x +i N u"t Zpriete"eZ dac% uma di$i5orilor "um%rului x ete egal% cu uma di$i5orilor "um%rului N. % e g%eac% "umerele Zpriete"eZ di" i"ter$alul I!,&J. 1.O. % e calcule5e +i % e tip%reac% primii * terme"i di" +irul Fibo"acci0 +ir dei"it de rela,ia de recure",% < i41 3 < i 4 < i1 20 iH1020... a$"d < 0 3 < 1 3 1 3. 1.P. Fie *,K Z 4 0 *K . % e crie u" algoritm pe"tru calculul "um%rului combi"%rilor de * eleme"te luate cte
10
1.Q. Fie ! ? . % e crie u" algoritm pe"tru calculul mediei aritmetice0 geometrice +i armo"ice a tuturor di$i5orilor lui !. 1.. Fie u"c,ia lui Euler 2 ? ? 0 u"de #*$ ete "um%rul "umerelor relati$ prime cu * +i mai mici ca *. % e tip%reac% $alorile #K$, K H1020...0(0 pe"tru ( ? dat. 1.10. Fie *,K Z, * K . % e crie u" algoritm pe"tru calculul umei @ 3 AK * 4 C K * 4 / * 4. 1.11. % e determi"e toate "umerele -"tregi de trei cire !&7 3 ! H 4 &H 4 7H '.
"otru.
!&7
! cu proprietatea
1.16. e dau "umerele -,,! . % e determi"e dac% tripletul #-,,!$ repre5i"t% o dat% cale"daritic% a ecolului 1.1. e d% o 5i #-,,!$ di"tr*u" a". e cere % e determi"e a cta 5i di" acel a" ete aceat% 5i.
1.1. e co"ider% # - * , * , ! * $ @ data "a+terii u"ei peroa"e +i # - 7 , 7 , ! 7 $ ( o dat% cure"t%. % e determi"e $rta0 -" 5ile0 a peroa"ei repecti$e. 1.1M. e dau datele de "a+tere # -1 , 1 ,!1 $ i # - 6 , 6 ,! 6 $ 9 a dou% peroa"e. e cere % e preci5e5e care di" cele dou% peroa"e ete mai t"%r%0 pri" i"dicatorul r W C0102O C dac% au aceea+i $rt%0 1 dac% prima peroa"% ete mai t"%r%. 1.1O. )u"oc"d -" ce 5i di" %pt%m"% a ot 1 ia"uarie0 % e crie u" algoritm ce determi"% 5iua di" %pt%m"% -" care ete a **a 5i a a"ului. 1.1P. A"umite "umere prime +ip%trea5% proprietatea de a r%m"e prime pe"tru toate permut%rile cirelor lor. E. 13 +i 31; 1310113 +i 3110 etc.. % e crie u" algoritm care determi"% "umerele prime ZpermutabileZ0 mai mici dect u" "um%r ( dat. 1.1Q. M ormul% de ge"erare a u"ui +ir de "umere Ni ete N * 3 *6 PR* 4 1O01 1C. e cere algoritmul care determi"% pe"tru u" "um%r * W 10...09CO cte di"tre primele * "umere di" acet +ir u"t prime. 1.1. % e crie u" algoritm care % eprime orice um% de lei @ 0 -" mi"imum de mo"ede de 1 leu0 3 lei0 ! lei0 1C lei 0 2C lei0 !C lei +i 1CC lei. 75" .
1.60. Fii"d date "umerele !,&,7," Z 0 e cere u" algoritm care % tabileac% cea mai mare di"tre rac,iile !5& +i
1.61. % e g%eac% olu,iile -"tregi +i po5iti$e ale ecua,iei !x 4 &N 3 7 0 cu proprietatea x4N%*0 pe"tru !,&,7 !p!r+i*e =i Z +[ i *C. 1.66. e cere $aloarea u"c,iei 8 :I*909J -" pu"ctul x0 dac%
11
10 3x0 8 F x G = 2 x 42, 1C0
pe"tru x ≤ 1 pe"tru 1%x ≤ C pe"tru C%x ≤ C pe"tru x>1
1.6. % e determi"e olu,iile -"tregi ale itemului N ≤ x6 11 6 N ≥ 6 x 1O
1.6. e d% * . % e calcule5e
K 1 1 C #14 4...4 $ 12 * 6 K K31 *
∑
1.6M. Fie !,&07 4. % e crie u" algoritm pe"tru re5ol$area ecua,iei 6 x 4 "x 4 p 3 0 13 u"de " 3 !,& ete cel mai mare di$i5or comu" al "umerelor ! +i &0 iar p ete probabilitatea ca u" "um%r * ce $eriic% co"di,ia *70 luat la -"tmplare0 % ie prim. 1.6O. e cere u" algoritm pe"tru determi"area "umerelor impare uccei$e a c%ror um% ete egal% cu *30 pe"tru *H10...02C. E. 1H 31, 6H 3H4M, HH 3 P 4 R 4 1 1 140 etc. 1.6P. % e crie u" algoritm care cite+te uccei$ p perechi de "umere -"tregi (,*0 cu C V ( V * +i care calculea5%0 pe"tru iecare pereche coeicie"tul bi"omial &*,( dei"it de rela,ia recuri
%$ 1,
&*,( 3
daca (3 0 au (3 *,
&*1,(1 4 &*1,( , i" ca5 co"trar .
1!
1.6Q. % e ale toate pu"ctele de coordo"ate -"tregi ituate -" i"teriorul p%tratului cu diago"ala determi"at% de pu"ctele A!,& +i C#7,"$. 1.6. Fie !,& . % e crie u" algoritm pe"tru calculul "um%rului pu"ctelor de coordo"ate -"tregi i"terioare elipei de ecua,ie 6
x 6 N 4 3 1 1' ! 6 &6 1.0. Fie dreapta " determi"at% de pu"ctele A#!1 ,!6 $ +i #&1 ,&6 $. % e determi"e po5i,ia pu"ctelor A +i a,% de dreapta " 0 pri" i"dicatorul R dei"it atel: RHC0 dac% pu"ctele A#!1 ,!6 $ +i #&1 ,&6 $ e al% -" acela+i emipla" determi"at de dreapta " ; RH10 dac% pu"ctele A +i apar,i" dreptei " ; RH20 dac% pu"ctele A +i e al% -" emipla"e dierite a,% de dreapta " . 1.1. e d% u" triu"ghi pri" coordo"atele $rurilor ale +i u" pu"ct -" pla"ul %u. % e determi"e po5i,ia
12
pu"ctului a,% de laturile triu"ghiului0 marc"du*e cu R W 10203O trei itua,ii poibile: i"terior triu"ghiului0 pe u"a di" laturi0 eterior triu"ghiului. 1.6. e d% u" p%trat / 1 de latur% 1 c%ruia i e circumcrie u" cerc C 1. )ercului ob,i"ut i e circumcrie u" "ou p%trat / 20 acetuia u" "ou cerc C 20 etc. % e calcule5e aria p%tratului / " +i aria cercului C " ob,i"ute dup% u" "um%r de * pa+i0 pri" metoda de mai u. 1.. e dau trei pu"cte i #x ,N i $ i 0 iH102030 -" pla". % e determi"e parametrul K care % ia $aloarea C dac% pu"ctele u"t coli"iare0 repecti$ 1 -" ca5 co"trar. 1.. e dau !,&,7,",e,8 . % e determi"e po5i,ia dreptelor !x 4 &N 4 7 3 0 1@ "x 4 eN 4 8 3 0
+i u"ghiul di"tre ele0 eprimat -" grade. 1.M. e cu"oc lu"gimile laturilor u"ui triu"ghi. e cere % e calcule5e perimetrul0 u"ghiurile +i aria triu"ghiului. 1.O. e co"ider% egme"tele de dreapt% cu etremit%,ile -" pu"ctele A!10!20 &10&20 repecti$ C 710720 D" 10" 2. % e determi"e u" algoritm de calcul pe"tru coordo"atele pu"ctului de i"terec,ie a egme"telor date. " ca5ul -" care acet pu"ct "u eit%0 e $a tip%ri u" mea6. 1.P. M abric% de mobil% prime+te come"5i pe"tru producerea u"ei di$erit%,i de biblioteci0 a$"d: * lu"gimea cupri"% -"tre 2*9 m; * -"%l,imea cupri"% -"tre 1*3 m; * u" "um%r de 2040'09 au 12 corpuri. )otul u"ei biblioteci ete de ! lei pe"tru iecare metru cub de $olum0 la care e adaug% & lei pe"tru iecare corp. )o"truc,ia u"ei biblioteci trebuie % repecte a"umite co"di,ii impue de "ormele de abrica,ie: * lu"gimea trebuie % ie de 2*3 ori mai mare dect -"%l,imea; * l%,imea trebuie % ie 1T3 p"% la 1T2 di" -"%l,ime; * "um%rul de corpuri trebuie % ie -" raportul de 1T2 p"% la 1 a,% de produul di"tre lu"gime +i -"%l,ime. e cere algoritmul de acceptare al u"ei come"5i +i de calcul al pre,ului. 1.Q. Fie u"c,ia 8 :I!,&J 0 dat% de
!x6 4&x , daca ! ≤ x ≤ #!4 &$5 6 1( 8#x$3 !x6 4&x ≤ , daca #!4&$5 6 % x & x4 6 % e calcule5e $aloarea lui 8 pe"tru x W I!,&J. 1.. e cere u" algoritm pe"tru calculul aproimati$ al r%d%ci"ii u"ei ecua,ii 8 xHC0 u"de 8 :!,& ete co"ti"u% +i mo"oto"%0 oloi"d metoda combi"at% a coardei +i a ta"ge"tei. )u metoda dedu%0 % e calcule5e * 19. &"dica,ie. e $a lua 8 x H x* , iar i"ter$alul !, b0 e -"locuie+te cu I0, J. 1.0. /i"tr*o ur"% cu ( bile (10 "umerotate de la 1 la (0 e etrage la -"tmplare o bil%. % e crie u" algoritm pe"tru calculul probabilit%,ii ca "um%rul -"cri pe bila etra% % ie prim. 1.1. 7" mobil eectuea5% o mi+care ocilatorie armo"ic%. #tii"d c% pe"tru elo"ga,iile x1H2 cm +i x6H3 cm0 mobilul are $ite5ele S1H!mT +i repecti$ S6H4mT0 % e calcule5e amplitudi"ea +i perioada mi+c%rii ocilatorii a
13
mobilului. &"dica,ie. e +tie c% P&H3.14 +i e ,i"e eama c% amplitudi"ea0 repecti$ perioada mi+c%rii ocilatorie a mobilului u"t date de 6
A 3
6
6
6
6
6
x1 S 6 x 6 S1 S 6 S1
; T 3 6/I
6
6
6
6
x1 x 6 S 6 S1
2C
1.6. e dau pu"ctele A, , C, D pri" coordo"atele lor -" pla". )iti"du*e coordo"atele acetor pu"cte0 % e tabileac% dac% ele u"t $rurile u"ui dreptu"ghi au "u u"t. 1.. e dau pu"ctele A, , C pri" coordo"atele lor recta"gulare. % e determi"e pu"ctul D +tii"d c% el ete piciorul perpe"dicularei du% di" A pe C. 1.. e dau pu"ctele A, , C, D pri" coordo"atele lor -" pla". % e determi"e pu"ctul E pe egme"tul A +i pu"ctul pe egme"tul CD atel -"ct dita",a di"tre E +i % ie mi"im%. 1.M. e dau pu"ctele A, , C, D pri" coordo"atele lor -" pla". /reapta ce trece pri" A +i , cercul de ce"tru C02 +i ra5% ! +i parabola de ecua,ie N3x641 determi"% o -mp%r,ire a pla"ului -" opt regiu"i i"terioare. % e determi"e dac% pu"ctele C +i D e al% -" aceea+i regiu"e au "u. 1.O. e dau * W 1020...03''O +i ! "um%r de a" al ecolului "otru. % e preci5e5e data corepu"5%toare celei de a **a 5i a a"ului ! ub orma lu"%0 5i. 1.P. e d% "um%rul * . % e tip%reac% acet "um%r -" itemul de "umera,ie roma".
2C2C.
1.Q. tii"d c% 1 ia"uarie 1994 a ot -"tr*o 5i de mb%t%0 % e determi"e -" ce 5i a %pt%m"ii $a i 1 ia"uarie
1.. e co"ider% trei re5er$oare cili"drice care co",i" be"5i"% de trei calit%,i. e cere itua,ia li$r%rilor %pt%m"ale0 li$r%rile 5il"ice -"regitr"du*e ec$e",ial. % e preci5e5e be"eiciarul c%ruia i *a li$rat ca"titatea maim% de be"5i"%.
14
15
CAPITOLUL 2
PROBLEME CU ŞIRURI DE NUMERE 6.1. ?UERE DI@TI?CTE
e dau * W +i "umerele -"tregi x1 ,x6 , ...0 x*. e cere % e re,i"% -"tr*u" $ector toate "umerele0 dar %r% a repeta $reu"ul0 deci are "umai compo"e"te diti"cte. peciicarea problemei: DATE *, #x ,i i31,*$; REZULTATE #N J , J31,K$;
{ x Z, pe*
Bariabilele i"termediare oloite +i em"iica,ia lor0 precum +i metoda oloit% $or i re5ultatul rai"%rilor uccei$e +i $or i -",elee di" tetul $eriu"ilor repecti$e. ALGBRITUL DI@TI?CTE E@TE2 DATE *, #x ,i i31,*$; IE N123x1; K231; )Ex!(i*e!- 7ee!
{ Wersi=*e! 1 }
Pe"tru a parcurge celelalte "umere a$em "e$oie de u" co"tor0 ie el i, +i de oloirea propo5i,iei /E?TRU . A6u"gem la: ALGBRITUL DI@TI?CTE E@TE2 DATE *, #x ,i i31,*$; IE N123x1; K231; /E?TRU i236,* EVECUT )Weri8i7 "!7 xi !p!r+i*e =i . )D!7 *= !p!r+i*e !<=*7i !"!= pe xi ! . @/E?TRU REZULTATE #N J , J31,K$; @ALGBRIT
{ Wersi=*e! 6 }
/eci5ia ce trebuie luat% ete cum % $eriic%m aparte"e",a u"ui eleme"t = la mul,imea . Pe"tru aceata $om re,i"e -" i"dicatorul i*" cele dou% itua,ii poibile: C pe"tru aparte"e",% +i po5iti$ -" ca5 co"trar. Acet calcul e poate ace oloi"d urm%toarele propo5i,ii: i*"231; CTTI/ #i*"1$ şi #i*"%3K$ EVECUT DAC xi3Ni*" ATU?CI i*"230 ALTEL i*"23i*"41 @DAC @CTTI/
)u acetea a6u"gem la $eriu"ea i"al% a algoritmului dorit. ALGBRITUL DI@TI?CTE E@TE2
{ Wersi=*e! 8i*! }
17
DATE *, #x ,i i31,*$; IE N123x1; K231; /E?TRU i236,* EVECUT
{ x Z, pe*
i*"231; CTTI/ #i*"1$ şi #i*"%3K$ EVECUT DAC xi3Ni*" ATU?CI i*"230 ALTEL i*"23i*"41 @DAC @CTTI/ DAC i*">0 ATU?CI K23K41; NK 23xi @DAC @/E?TRU REZULTATE #N J , J31,K$; @ALGBRIT
{Weri8i7 "!7 x i !p!r+i*e =i }
{D!7 *= !p!r+i*e !<=*7i !"!= pe x i ! }
{V3, =*"e V es
Programul Pacal corepu"5%tor ete: PRMGRA /&8&N)8E; BAR "0 i060 X0 i"d : i"teger; ]0 \ : arra^I1..1CCJ o i"teger; EG&N Qritel"e da $ectorul ] cu " compo"e"te reale; Qritel"e pu" i" \ toate $alorile ce apar i" ]; Qrite "H; readl""; For i:H1 to " do begi" Yrite0i0H; readl"IiJ e"d; ^I1J:HI1J; X:H1; For i:H2 to " do begi" i"d:H1; Qhile i"dC a"d i"dLHX do & IiJH^Ii"dJ the" i"d:HC ele i"d:Hi"dS1;
Programul 2.1. Reti"e $alorile diti"cte O "um%rul "umerelor date O co"tor * $ariabile de lucru O "um%rul $alorilor diti"cte g%ite O i"dicator; reti"e daca IiJ ete i" \ O Bector cu "umerele date O Bector cu "umerele diti"cte O
&F i"dC the" begi" X:HXS1; ^IXJ:HIiJ e"d; e"d; Qritel"; Qritel" Numerele diti"cte u"t; For 6:H1 to X do Yrite^I6J:!; readl" EN/.
6.6. IR DERIWAT DI? ?UERELE ?ATURALE
18
Beriica daca O IiJ apar,i"e lui \ O
/ac% "u apar,i"e lui \ O atu"ci adaug% pe IiJ la \ O 8ip%re+te re5ultatele O
e co"ider% +irul 102010302010402020!040302010'02020303030@0'0... ob,i"ut di" +irul "umerelor "aturale pri" -"locuirea iec%rui "um%r "atural * pri"tr*u" grup de "umere0 dup% urm%toarele reguli: "um%rul prim p ete -"locuit pri" "umerele p0 p*10...302010 iar "um%rul compu 7 ete -"locuit pri" 7 urmat de to,i di$i5orii %i proprii0 u" di$i5or " repet"du*e de " ori. /"du*e "um%rul "atural *0 e cere % e tip%reac% primele * "umere di" +irul dat. peciicarea problemei. @e " =* *=(r *!<=r! * şi şir= "e *=(ere *!<=r!e "es7ris (!i s=s. @e 7ere
Apare"t problema ete complet peciicat%0 ceea ce "u e complet ade$%rat. Ne d%m eama de acet lucru dac% -"cerc%m % preci5%m ce re5ultate e $or re,i"e -" memoria calculatorului. Ete poibil ca -" memorie % re,i"em toate "umerele cerute -"tr*u" $ector V ub orma U 3 # N1 , N6 ,... , N * $ 210 au % "u le re,i"em -" memorie ci doar % le ai+%m pe ecra". /e apt eit% o $aria"t% impliicat% a problemei de mai u -" care e cere % e ob,i"% doar al **lea "um%r di" +irul dat. peciicarea problemei0 pe"tru tip%rirea celor * "umere0 %r% re,i"erea lor -" memorie. DATE *; REZULTATE !8iş!re! pri(eFr * *=(ere "i* şir= (e*+iF*!<.
{ * ?, *>0 }
Pe"tru a co"cepe u" algoritm de re5ol$are0 -" ambele $aria"te e parcurge +irul dat0 re,i""d ub "umele < terme"ul cure"t al +irului0 iar ub "umele i po5i,ia acetui terme" -" $ector. Pri" K $om "ota "um%rul "atural di" care e ob,i"e grupul de terme"i di" care ace parte <, iar pri" J i"dicele lui < -" acet grup. &"dicatorul i*" $a primi $aloarea 1 dac% "um%rul K ete prim +i C -" ca5 co"trar. Algoritmul pe"tru re5ol$area problemei ete dat -" co"ti"uare. AFri<(= GE?ERARE1 es
{ S!ri!*0 }
{ /e*
Pe"tru a ge"era urm%torul terme" di" +ir $a trebui % ,i"em eama de $aloarea lui i*", pri" care +tim dac% "um%rul K ete prim au "u ete prim. Pe"tru a decide dac% u" "um%r K ete prim au "u0 $om $eriica dac% K e di$ide cu u" "um%r mai mic dect el +i dierit de 1. ec$e",a de propo5i,ii pri" care e calculea5% $aloarea lui i*" ete urm%toarea: ie i*"230; /e*
Ţi""d eama de cele me",io"ate mai u a6u"gem la urm%toarea $aria"t% a algoritmului: AFri<(= GE?ERARE1 es
{ S!ri!*
19
DATE *; ie i231; <231; Tipreş" s8repe< s8"!7 "23"41 s87<
{ * ?, *>0 }
Pe"tru a re,i"e terme"ii dori,i -"tr*u" +ir ete uicie"t % -"locuim propo5i,ia Tipreş
20
i:HiS1; YriteX:!; Yhile dLX a"d iL" do begi" & X mod d H C the" begi" 6:H1; t:Hd; Repeat i:HiS1; Yritet:!; 6:H6S1 u"til 6d; e"d; d:HdS1 e"d; e"d; X:HXS1; i"d:H1; For 6:H2 to X*1 do & X mod 6 H C the" i"d:HC; e"d YhileO; readl"d; e"d. 6.. /RBLEE /RB/U@E.
Pe"tru problemele propue mai 6o e cere % e decrie -" limba6ul Peudocod u" algoritm de re5ol$are0 preci5"d +i em"iica,ia $ariabilelor oloite. /e aeme"ea0 % e crie programul Pacal corepu"5%tor. 6.1. e d% "um%rul "atural * 1. % e ge"ere5e to,i di$i5orii po5iti$i " 1 , " 6 ,... , " ( 23 ai "um%rului *. 6.6. % e ge"ere5e toate "umerele prime mai mici dect "um%rul "atural * dat. 6.. e dau (,* W S. % e determi"e primele * cire di" crierea rac,iei 1T( ca rac,ie 5ecimal%. 6.. e d% "um%rul "atural ( 1. % e orme5e $ectorul ale c%rui compo"e"te u"t primele ( "umere di" +irul lui Fibo"acci0 dei"it pri" *1H*2H1 +i *XS1H*X S*X*1 pe"tru K H2030... . 6.M. e d% "um%rul "atural * 1. % e tip%reac% triu"ghiul lui Pacal0 a$"d -" li"ia ( toate combi"%rile C#(,K$ de ( obiecte luate cte K 0 K HC0(0 pe"tru (H1020...0*. e $a oloi rela,ia de recure",%: C#(,K$ 3 C#(1,K$4C#(1,K1$ deci eleme"tele li"iei ( e calculea5% di" eleme"tele li"iei (*1 precede"te. 6.O. e dau (,K S. % e determi"e "um%rul * al cirelor +i cele * cire di" crierea "um%rului -"treg (X H 717273...7"1C. 6.P. e dau "um%rul "atural * 1 +i V ". % e determi"e i"dicele compo"e"tei mi"ime +i i"dicele compo"e"tei maime di" V . 6.Q. e dau "um%rul "atural * 1 +i "umerele x1 , x 6 , ..., x *. % e g%eac% toate po5i,iile p1 , p6 ,... , p K 24 pe care e al% $aloarea maim%. 6.. e dau "um%rul "atural * 1 +i "umerele x1 , x 6 , ..., x*. % e $eriice dac% "umerele date u"t -" progreie aritmetic% au geometric%0 calcul"d i"dicatorul I*" dei"it atel: I*" H 10 dac% "umerele u"t -" progreie aritmetic%0 I*" H 20 dac% "umerele u"t -" progreie geometric%0 I*" H 30 -" ca5 co"trar. 6.10. e dau "um%rul "atural * 1 +i "umerele x1 , x6 , ..., x*. % e g%eac% media "umerelor date0 "um%rul $alorilor po5iti$e0 produul $alorilor "egati$e +i % e tip%reac% "umerele mai mari dect 1CC.
21
2.11. Se dau numărul natural n > 1 şi numerele x1 , x2 , ..., xn. Să se ordoneze crescător primele k numere şi descrescător celelalte numere, pentru k dat, k {1,2,...,n}. 2.12. Se dau numărul natural n > 1 şi numerele x1 , x2 , ..., xn. Să se găsească toate numerele distincte y1 , y 2 ,... , y m 25 din şirul X precum şi frecvenele acestor numere !ntre numerele date. 2.13. Se dau numărul natural n > 1 şi numerele x1 , x2 , ..., xn. Să se calculeze y j=x1*x1+x2*x2+...+x j*x j, pentru j"1,2,...,n şi M " ma#{ x j*y j $ j"1,n }. 2.14. Se dau numărul natural n > 1 şi numerele x1 , x2 , ..., xn. Să se determine cel mai mare număr negativ şi poziiile pe care se află el !n şirul dat. 2.15. Se dau numărul natural n > 1 şi numerele x1 , x2 , ..., xn. Să se calculeze
ma#{ x j| x j >0,j=1,i }, daca i este par 2% yi = ( x1+ x2+.. + xi ) / i, daca i este impar
pentru i"1,2,...,n. 2.16. Se dau numărul natural n > 1 şi numerele x1 , x 2 , ..., xn. Să se formeze vectorul Y=(y1 ,y2 ,...,yn ), unde yi ia valoarea 1 dacă x ,i x i+1 , x i+2 pot fi lungimile laturilor unui triung&i şi ' !n caz contrar, pentru i"1,2,...,n. (umerele xn+1 , xn+2 se iau egale cu xn. 2.17. Se dau numărul natural n > 1 şi numerele x1 , x2 , ..., xn. Să se determine
ma#{ x j|j=i,n }, daca i este par 2) yi = mi , daca i este impar
unde mi este numărul componentelor vectorului X egale cu xi, pentru i"1,2,...,n. 2.1. Se dau numărul natural n > 1 şi numerele x1 , x2 ,..., xn. Să se calculeze componentele vectorului Y = ( y1 , y 2 ,..., y n ). 2* +omponenta yi este media aritmetică a componentelor pozitive de rang mai mic sau egal cu i ale vectorului X , !n cazul !n care e#istă componente pozitive, respectiv 1 !n caz contrar. 2.1!. Se dau numărul natural n > 1 şi numerele x1 , x2 , ..., xn. Să se calculeze yi pentru i"1,n, ştiind că y1 = (x1+x2 )/2, y2 = (x1+x2+x3 )/3, yn = (xn"1+xn )/2, yn"1 = (xn"2+xn"1+xn )/3, iar yk este media numerelor xk"2 , xk"1 , x ,k xk+1 , xk+2 , pentru k "-,,...,n2. 2.20. Se dau numărul natural n > 1 şi numerele x1 , x 2 ,..., x n. Să se determine numărul k al numerelor negative din şirul X şi mediile #i pentru i"1,2,...,k 1. /rin #i sa notat media numerelor pozitive cuprinse !ntre al ilea şi al i01lea număr negativ, dacă e#istă numere pozitive, respectiv ' !n caz contrar. 2.21. Se dau numărul natural n > 1 şi numerele x1 , x2 ,..., x n. Să se reină toate numerele distincte y1 ,y2 ,...,yk şi să se calculeze frecvenele de apariie ale acestor numere !n şirul dat.
22
2.22. Se dau numărul natural n > 1 şi numerele x1 , x2 ,..., xn. Să se determine vectorul Y=(y1 ,y2 ,...,yn ), unde yi este egal cu numărul valorilor din şirul dat mai mari dect xi, pentru i"1,n. 2.23. Se dau numărul natural n > 1 şi numerele x1 , x2 ,..., xn. acă yi este numărul termenilor mulimii {x $ j x j%xi , j%i}, să se determine vectorul Y=(y1 ,y2 ,...,y n ). 2.24. Se dau numărul natural n > 1 şi X & ' n. Să se determine vectorul Y=(y1 ,y2 ,...,yn ), unde yi este poziia valorii minime !n secvena de numere x1 ,x2 ,...,xi 3cea mai mică dacă e#istă mai multe poziii4. 2.25. Se dau numărul natural n > 1 şi numerele x1 , x 2 ,..., x n. Să se calculeze primele k momente m1 , m 2 ,..., mk . /rin momentul de ordinul j, notat m j, se !nelege media aritmetică a puterilor de e#ponent j ale numerelor date. 2.26. Se dau numărul natural n > 1 şi numerele x1 , x2 ,..., xn. acă m1 şi m2 sunt primele două momente 3vezi prolema 2.254 să se calculeze , unde 2=m2"m1*m1 şi j, j"1,6, dacă k este numărul elementelor mulimii { x i | m1 " k * ( % x i % m1 + k * ( } 26. 2.27. Se dau numărul natural n > 1 şi numerele x1 , x2 ,..., xn. Secvena x ,i xi+1 ,..., xi+ se numeşte scară 3de lungime 4 dacă xi%xi+1%...%x i+. Se cere să se tipărească cea mai lungă scară din şirul dat şi poziia i din şir la care !ncepe această scară. 2.2. Se dau numărul natural n > 1 şi numerele x1 , x 2 ,..., x n. Să se găsească permutarea 1 , 2 ,..., n a indicilor 1,2,...,n astfel !nct x+ ≥ x + ≥ ... ≥ x+ . -' 1
2
n
2.2!. Se dau & ' , n 7 şi numerele reale x1 , x2 ,..., xn. Să se determine cardinalul 3numărul elementelor4 mulimii { i | x i ≥ , } -1 şi indicatorul - definit astfel8 - " i, dacă e#istă i pentru care =xi, 3cel mai mic i4 - " ', !n caz contrar. 2.30. Se dau & ' , n & ' şi numerele reale x1 , x 2 ,..., x n. Să se determine indicele i 3cel mai mic, dacă e#istă mai muli4 pentru care valoarea xi este cea mai apropiată de . 2.31. Se dau & ', n & ' şi numerele reale x1 , x2 ,..., xn. Să se rearan9eze aceste numere astfel !nct toate numerele mai mici dect să fie !naintea tuturor numerelor egale cu sau mai mari dect , cu ct mai puine sc&imări, deci fără a ordona tot şirul. 2.32. Se dau & ', n & ' şi numerele reale x1 , x2 ,..., xn. Să se determine vectorul cu componentele
x1 + x2 +...+ xi ,
/ i =
daca x i
> ,
ma#{ xi , xi+1 ,..., x n }, daca xi ≤ .
-2
2.33. Se dau & ', n & ' şi numerele reale x1 , x 2 ,..., x n --. Să se elimine din şirul X toate elementele mai mici dect . 2.34. Se dau & ', n & ' şi numerele reale x1 , x 2 ,..., x n -. Să se ordoneze numerele date crescător după distana lor faă de numărul real . 2.35. Se dau n & ' , numerele reale , , %, şi vectorul X cu componente reale x1 , x 2 ,..., x n -5. Să se determine media aritmetică a componentelor lui X aflate !n intervalul :,; şi să se listeze perec&ile (i, x i ) -% pentru care x i -) 7: ,;.
23
2.36. Se dau n & ', numerele reale , , %, şi vectorul X cu componente reale x1 , x 2 ,..., x n -*. Să se reină !n vectorul Y= (y1 ,y2 ,...,yk ), toate componentele vectorului X care aparin intervalului ,. 2.37. Se dau n & ', numerele reale , , %, şi vectorul X cu componente reale x1 , x 2 ,..., x n -6. Să se găsească minimul şi ma#imul numerelor mai mici dect , apoi să se elimine din vectorul X toate componentele care nu aparin intervalului ,. 2.3. Se dau n & ' şi numerele reale x i , y i ', i=1,n. = | x 1 " y 1|+| x 2 " y 2 |+...+| x n " y n | 1 şi # = ma# { min{ x i , y i }| i = 1,n} 2.
Să
se
calculeze
2.3!. Se dau n & ' şi numerele reale x i , y i -, i"1,2,...,n. Să se reină !n i1 , i2 ,... , ik toate poziiile pentru care x =y . 2.40. Se dau n & ' şi numerele reale x i , y i 5, i"1,2,...,n. Să se calculeze
i =
daca x i ≤ ' ,
ma#{ x i + y i },
daca x i > ' ,
ma#{ x i + y i },
%
pentru i"1,2,...,n. 2.41. Se dau n ' şi numerele reale x i , y i ), i"1,2,...,n. Să se calculeze m= ( x1 + x 2 +...+ x n ) / n * şi = ( x1 * x1 + x2 * x 2 +...+ x n * x n ) / n 6 şi să se tipărească toi indicii i pentru care | x i " m|% 3 5'. 2.42. Se dau n & ' şi numerele reale x i , y i 51, i"1,2,...,n. Să se calculeze
xi + yi , daca i este impar, /i = ma#{ x1 ,x2 ,. ., xi }, daca i este par,
52
pentru i"1,2,...,n şi # =
min{ 1 ,
2 ,... , n } 5-.
2.43. Se dau n ' şi numerele reale x i , y i 5, i "1,2,..., n. Să se calculeze
24
xi , = 4i 0 , y , i
daca xi
% yi ,
daca x i
= yi , 55
daca x i
> yi ,
pentru i"1,2,...,n. 2.44. Se dau n ' şi numerele reale x i , y i 5%, i"1,2,...,n. Să se calculeze
( x1 + x 2 +...+ x i ) / i, daca x i % yi , 5) daca x i = y i , 0, i = ma#{| y |,...,| y |}, daca > y , x i i n i
pentru i"1,2,...,n. 2.45. Se dau n ' şi numerele reale x i , y i 5*, i"1,2,...,n. Să se calculeze = min {| x1|,| y1| } + ...+ min {| x n |,| y n | }, 56 şi să se determine elementele mulimii { i | x i * x i > } %'. 2.46. Se dau n ' şi numerele reale x i , y i %1,i"1,2,...,n. Să se calculeze 2.47.
1 = ( y1 + y 2 + .. . + y n ),
%2
2 = ( y1 * x1 + y 2 * x 2 +...+ y n * x n ) / 1, 3 = ( y1 * x1 * x1 + y 2 * x 2 * x 2 +...+ y n * x n * x n ) / 1,
şi m " cardinalul mulimii { xi | 3(3 " 2* 2) > | x i "2|} %-. 2.47. Se dau n & ' şi numerele reale x i , y i %, i"1,2,...,n. Să se formeze vectorul < cu componentele
ma#{ x1 + x2 +...+ xi ) / i, yi },
i =
daca y i
≥ 0,
min{ xi ,( y1 + y2 +...+ yi ) / i}, daca yi % 0,
%5
pentru i"1,2,...,n. 2.4. Se dau n & ' şi numerele reale x i , y i %%, i"1,2,...,n. Să se calculeze
25
i =
ma#{ x1 , x2 ,..., x i },
daca xi
% yi , = yi , %)
ma#{ min{ x1 , x 2 ,..., xi }, 0}, daca xi
min{ y i , y i+1 ,...,
y n },
daca xi
> yi ,
pentru i"1,2,...,n. 2.4!. Se dau n ' şi numerele reale x i , y i %*, i"1,2,...,n. Să se calculeze
( x1 + x 2 +...+ x i ) / i, 4i = ma#{ x i , y1 , y 2 ,..., y i }, min{ , ,..., , y }, x i x i+1 x n i
daca x i y i
% 0,
daca x i y i
= 0, %6
daca x i y i
> 0,
pentru i"1,2,...,n. 2.50. Se dau n ' şi numerele reale x i , y i )', i"1,2,...,n. Să se reină poziiile i1 , i2 , ... , i k )1, pe care cei doi vectori coincid. Să se elimine din vectorii X şi Y termenii de pe aceste poziii. 2.51. Se dau n ' şi numerele reale x i , y i )2, i"1,2,...,n. Să se determine vectorul M = ( m1 , m2 ,..., mn ) )-, unde mi ) este poziia componentei ma#ime a vectorului ( x1 , x 2 ,... , x i , y i , y i+1 ,... , y n ) )5 3dacă e#istă mai multe, poziia primei valori ma#ime4. 2.52. Se dau n & ' şi X,Y & ' n. Să se determine poziiile i0 şi j0 cu următoarea proprietate8 e#istă m componente consecutive din cei doi vectori, !ncepnd cu poziiile i0, respectiv j0, care coincid şi m este cel mai mare posiil. =n cazul !n care nu e#istă poziii cu această proprietate, i0 şi j0 vor fi n+1. 2.53. Se dau n ' şi numerele reale x i , y i )%, i"1,2,...,n. Să se calculeze = | x1 " y1| + | x 2 " y 2 | + ... + | x n " y n | ))
şi
xi / ( yi * yi +1), 4i = ma#{ xi , y1 , y2 ,..., yi }, min{ , ,..., , y }, xi xi+1 xn i
daca | x i " yi |
% 5,
daca | xi " yi |
= 5, )*
daca | xi " yi |
> 5,
pentru i"1,2,...,n. 2.54. Se dau n ' şi numerele reale x i , y i , )6 i"1,2,...,n. acă x1 % x 2 %...% x n i y1 % y 2 %...% y n *' să se depună direct toate numerele distincte !n şirul ordonat crescător8 /1 % / 2 % ... % / k *1,
26
deci fără a mai fi necesară ordonarea şirului . 2.55. Se dau & ', n ' şi perec&ile ( x i , y i ) *2, i"1,2,...,n de numere reale. Să se determine numărul punctelor (x ,y i ) i din plan care se află !n interiorul cercului de rază şi centru 3','4. 2.56. Se dau & ' , n ' şi perec&ile ( x i , y i ), *- i"1,2,...,n de numere reale. Să se determine indicii i1 , i2 ,... , i k * pentru care punctele ( x i , y i ) *5 din plan se află !n interiorul cercului de rază şi centru 3','4. 2.57. Se dau & ' , n ' şi perec&ile ( x i , y i ) *%, i"1,2,...,n de numere reale. Să se calculeze numărul m al valorilor yi mai mari dect şi
( x1 + x 2 +...+ x i ) / i, daca i % m, daca i = m, *) = i ma#{0, x i , y i }, | " y |+| " y |+...+| " y |, daca i > m. x i i x1 1 x 2 2
pentru i"1,2,...,n. 2.5. Se dau m,n & ' şi cifrele zecimale i , ** i"1,2,...,m şi 0 j , *6 j"1,2,...,n. acă numerele !ntregi şi au reprezentările !n aza 1' date de aceste cifre, deci 6 = ( 1 2 .. . m )10 i
6'
7 = ( 1 2 ... n )10
să se calculeze cifrele 4 i , 61 i"1,2,...,-, ale reprezentării numărului !ntreg 8=+. 2.5!. Se dau m,n & ' şi cifrele zecimale i , 62 i"1,2,...,m şi 0 j , 6- j"1,2,...,n. acă şi sunt numerele definite !n prolema 2.5*, să se determine indicatorul k definit astfel8 k " 2, dacă cel puin o valoare i 6 nu este corectă, k " 1, dacă cel puin o valoare i 65 nu este corectă, k " ' , dacă " , k " 1 , dacă , k " 2, dacă > . 2.60. Se dau m,n & ' şi cifrele zecimale i , 6% i"1,2,...,m şi 0 j , 6) j"1,2,...,n. acă numerele reale şi au reprezentările !n aza 1'8 = ( 1 2 ... - , -+1 ... m )10 6* = ( 1 2 ... , +1 ...n )10 66 pentru -%m şi %n dai, să se calculeze indicatorul k egal cu 1 dacă datele iniiale sunt greşite, ' dacă , 1 dacă " , respectiv 2 dacă > . 2.61. Se dă n & ', n>1. acă X este şirul8 1, 1, 2, 1, 2, -, 1, 2, -, , ... oinut din şirul numerelor naturale prin !nlocuirea fiecărui număr natural k cu secvena de numere 1, 2, -, ..., k , să se construiască vectorul 9 = ( #1 , # 2 ,... # n ) 1'' ştiind că cele n componente ale sale sunt primii n termeni ai şirului X. 2.62. Se dă n & ', n>1. acă X este şirul8
27
-, 5, 5, ), 11, 1-, 1), 16, ... oinut prin scrierea tuturor numerelor prime şi :, unde şi : sunt gemeni, adică numere prime cu :""2, să se construiască vectorul 9 = ( #1 , # 2 ,... # n ) 1'1 ştiind că cele n componente ale sale sunt primii n termeni ai şirului X. 2.63. Se dă n & ', n>1. Să se construiască vectorul 9 = ( #1 , # 2 ,... # n ) 1'2 ştiind că cele n componente ale sale sunt primii n termeni ai şirului8 -, , 5, 5, 12, 1-, %, *, 1', ... oinut prin scrierea consecutivă a tuturor tripletelor de numere pitagorice , :, -, %:%-, triplete ordonate după suma +:+-. (umerele , :, - se numesc pitagorice dacă 2 + :2 = - 2 1'-. 2.64. Se dau m,n & ', n>1. Să se construiască vectorul 9 = ( #1 , # 2 ,... # n ) 1' ştiind că cele n componente ale sale sunt primii n termeni consecutivi ai şirului X; 1, 2, -, , 2, 5, %, 2, -, ), *, 2, ... oinut prin scrierea numerelor naturale şi a divizorilor proprii ai acestor numere, !ncepnd cu x m 1'5 3fără a reine termenii x i 1'% !n calculator4. 2.65. Se dau m,n & ', n>1. Să se construiască vectorul 9 = ( #1 , # 2 ,... # n ) 1') ştiind că cele n componente ale vectorului 9 sunt termeni consecutivi ai şirului X; 1,1,2,1,2,-,,,,,1,2,-,,5,%,%,... oinut din şirul numerelor naturale prin !nlocuirea fiecărui număr natural prim prin secvena 1,2,..., şi a numărului neprim prin scrierea lui de ori, !ncepnd cu x m 1'* 3fără a reine termenii x i 1'6 !n calculator4. 2.66. Se dau m,n & ', n>1. Să se construiască vectorul 9 = ( #1 , # 2 ,... # n ) 11' ştiind că cele n componente ale vectorului 9 sunt termeni consecutivi ai şirului X; 1, 2, 2, -, -, -, , 5, 5, 5, 5, 5, %, ), ... oinut din şirul numerelor naturale prin !nlocuirea fiecărui număr prim cu un grup de numere toate egale cu , !ncepnd cu x m 111 3fără a reine termenii x i 112 !n calculator4. 2.67. Se dau m,n & ', n>1. Să se construiască vectorul 9 = ( #1 , # 2 ,... # n ) 11- ştiind că cele n componente ale vectorului 9 sunt termeni consecutivi ai şirului X; 1, 2, -, , 2, 2, 5, %, 2, -, -, -, ), *, 2, ... oinut prin scrierea numerelor naturale şi a divizorilor proprii ai acestor numere, ultimul divizor repetnduse de ori, !ncepnd cu x m 11 3fără a reine termenii x i 115 !n calculator4. 2.6. Se dau m,n & ', n>1. Să se construiască vectorul 9 = ( #1 , # 2 ,... # n ) 11% ştiind că cele n componente ale vectorului 9 sunt termeni consecutivi ai şirului X; 1, 2, -, 2, 5, 2, -, ), 2, , -, 2, 5, 11, ... oinut prin scrierea numerelor naturale şi !nlocuirea fiecărui număr compus prin toi divizorii săi proprii, !ncepnd cu x m 11) 3fără a reine termenii x i 11* !n calculator4. 2.6!. Se dau n & ' şi seria ∞
1
∑ 3n"2 n=1
1
1
3n"1 3n
. 116
Să se construiască vectorul 9 = ( #1 , # 2 ,... , # n ) 12' ştiind că cele n componente ale vectorului 9 sunt sume pariale ale acestei serii, #1 = 20 , # i = 20+5i , 121 i"2,-,...,n, unde k 122 este suma primilor k termeni. 2.70. Se dă n ' şi seria
28
∞
1 1 12 + 2n"1 22n"1 32n"1 4
∑ ("1 )
n"1
n=1
Să se construiască vectorul 9 = ( #1 , # 2 ,... , # n ) 12 ştiind că cele n componente ale vectorului 9 sunt sume pariale ale acestei serii, #1 = 20 , # i = 20+5i , 125 i"2,-,...,n, unde k 12% este suma primilor k termeni. 2.71. Se dau n 7 şi se cunoaşte seria 3
3 2
(1+
1
1* 2 1*2*3 + + +...) 12) 6 6*10 6*10*14
Să se construiască vectorul 9 = ( #1 , # 2 ,... , # n ) 12* ştiind că cele n componente ale vectorului 9 sunt sume pariale ale acestei serii, #1 = 20 , # i = 20+5i , 126 i"2,-,...,n, unde k 1-' este suma primilor k termeni. 2.72. Se dau n,m ' şi se cunoaşte seria
2 1+
1 3
+
1* 2 3* 5
+
1* 2* 3
+... 1-1 3* 5 * 7
Să se construiască vectorul 9 = ( #1 , # 2 ,... , # n ) 1-2 ştiind că cele n componente ale vectorului 9 sunt sume pariale ale acestei serii, #1 = 20 , # i = 20+mi , 1-- i"2,-,...,n, unde k 1- este suma primilor k termeni. 2.73. Se dau n,m ' şi se cunoaşte seria
∑
= 1+
1 1 3 !
+
1 1 2
5 !
+
1 1 7 !3
+... 1-5
Să se construiască vectorul 9 = ( #1 , # 2 ,... , # n ) 1-% ştiind că cele n componente ale vectorului 9 sunt sume pariale ale acestei serii, #1 = 20 , # i = 20+mi ,1-) i"2,-,...,n, unde k 1-* este suma primilor k termeni. 2.74. Se dau n,m, & ' şi se cunoaşte seria 1+
1 3* 3
+
1* 2 3*5*5
+
1*2*3
1*2*3*4 + +... 1-6 3*5*7*7 3*5*7*!*!
Să se construiască vectorul 9 = ( #1 , # 2 ,... , # n ) 1' ştiind că cele n componente ale vectorului 9 sunt sume pariale ale acestei serii, #1 = m , # i = m+*i , 11 i"2,-,...,n, unde k 12 este suma primilor k termeni. 2.75. Se dau n,m, 7 şi se cunoaşte seria 1+
1 3* 3
+
1* 2 3*5*5
+
1*2*3
1*2*3*4 + +... 13*5*7*7 3*5*7*!*!
Să se construiască vectorul 9 = ( #1 , # 2 ,... , # n ) 1 ştiind că cele n componente ale vectorului 9 sunt sume pariale ale acestei serii, #1 = , # i = +mi , 15 i"2,-,...,n, unde k 1% este suma primilor k termeni. 2.76. Se cunoaşte seria convergentă din prolema 2.6!. Să se determine suma parială n a primilor n termeni
29
pentru care | n " n"1| % ε 1) pentru 7 dat, n fiind cel mai mic număr natural posiil.
2.77. Se cunoaşte seria convergentă din prolema 2.70. Să se determine suma parială n a primilor n termeni pentru care | n " n"1| % ε 1* pentru 7dat, n fiind cel mai mic număr natural posiil. 2.7. Se cunoaşte seria convergentă din prolema 2.71. Să se determine suma parială n a primilor n termeni pentru care | n " n"1| % ε 16 pentru 7dat, n fiind cel mai mic număr natural posiil. 2.7!. Se cunoaşte seria convergentă din prolema 2.72. Să se determine suma parială n a primilor n termeni pentru care | n " n"1| % ε 15' pentru 7 dat, n fiind cel mai mic număr natural posiil. 2.0. Se cunoaşte seria convergentă din prolema 2.73. Să se determine suma parială n a primilor n termeni pentru care | n " n"1| % ε 151 pentru 7 dat, n fiind cel mai mic număr natural posiil. 2.1. Se cunoaşte seria convergentă din prolema 2.74. Să se determine suma parială n a primilor n termeni pentru care | n " n"1| % ε 152 pentru 7 dat, n fiind cel mai mic număr natural posiil. 2.2. Se cunoaşte seria convergentă din prolema 2.75. Să se determine suma parială n a primilor n termeni pentru care | n " n"1| % ε 15 pentru 7 dat, n fiind cel mai mic număr natural posiil. 2.3. Să se tipărească primii n termeni ai şirului 3 xk 4 definit de relaia de recurenă x k = ( x k"1 + / x k "1 ) / 2, pentru şi x0 numere reale date, pentru care | x n " x n"1|% 0.00001, 155 n fiind cel mai mic posiil. 2.4. Să se tipărească primii n termeni ai şirului 3 xk 4 definit de relaia de recurenă 1 * (m"1) x k"1 + m"1 , 15% x k = m x k"1
pentru m 7 şi , x0 7 dai, pentru care | x n " x n"1|% 0.00001, 15) n fiind cel mai mic posiil. 2.5. Să se tipărească primii n termeni ai şirului (xk ) pentru care | x n " x n"1|% 0.00001, 15* n fiind cel mai mic posiil, !n cazul şirului 3
pentru x 7 dat.
5
2n+1
x x x n 156 + " ...+("1 ) * x n = x " 3 5 2n+1
2.6. Să se tipărească primii n termeni ai şirului 3 xk 4 pentru care | x n " x n"1|% 0.00001, 1%' n fiind cel mai
30
mic posiil, !n cazul şirului x n
x
2
n
x = 1+ x + +...+ 1%1 2> n>
2.7. Să se tipărească primii n termeni ai şirului 3 xk 4 pentru care | x n " x n"1|% 0.00001, 1%2 n fiind cel mai mic posiil, !n cazul şirului x n
pentru x 7 dat.
x
2
n
x = 1+ x + +...+ 1%2> n>
2.. Să se tipărească primii n termeni ai şirului 3 xk 4 pentru care | x n " x n"1|% 0.00001, 1% n fiind cel mai mic posiil, !n cazul şirului 3
2n+1
x x 2n+1 1%5 + ... +("1 ) * x n = x " 3> (2n+1)>
pentru x 7 dat. 2.!. Se dă 8 2:,;. ?tiind că ecuaia 3 x4 " ' admite o soluie unică - !n intervalul :,; şi că ? şi @ nuşi sc&imă semnul pe :,;, să se apro#imeze - folosind metoda tangentei 3a lui (e@ton4, deci folosind faptul că - " lim xn n77 unde x n+1 = x n " ( xn ) / ′( xn ), 1%% n"',1,2,... iar x' este ales unul din capetele intervalului : ,;, notat cu , şi anume cel pentru care ()*@()>'. 2.!0. Aie 8:,; > 7 o funcie continuă. Se ştie că ecuaia 3 x4 " ' are o singură rădăcină !n intervalul :,;. Să se construiască şirul de intervale x i , y i 1%), i "1,2,...,n, definit astfel8 1. x0 , y0 = , 1%* B 2. x i , y i 1%6 se oine !mpărind intervalul x i"1 , y i"1 1)' !n trei pări egale şi lund partea care conine rădăcinaB -. n este cel mai mic număr natural pentru care y n " x n 1)1A, pentru A număr pozitiv dat.
31
32
CAPITOLUL 3
PROBLEME REZOLVATE CU AJUTORUL VECTORILOR
3.1. BCMDECF GCB8HFIE JKB 8E8
Se dau n puncte !n plan şi un cerc. Se cere numărul punctelor care se află !n interiorul cercului. Cezolvare /unctele se dau prin coordonatele (x ,y i ) i , i"1,2,...,n. Dariaila n- va conine numărul punctelor din interiorul cercului, care se dă prin centrul I(,) şi raza -. eci specificarea prolemei este8 JH n,
(x ,y i , i i=1,n), ,, -N ECFHH n-N
{ n
/entru a calcula valoarea lui n- se iniializează cu ' acest număr şi se verifică care dintre punctele (x ,y i ) i au distana faă de (,) mai mică dect - , deci se află !n cerc. /entru fiecare răspuns afirmativ valoarea lui n- se măreşte cu 1. Elgoritmul pentru rezolvarea prolemei este dat !n continuare. P-im< GCB8HQKBQ8E8 AA ; JH n, { n
/rogramul /ES+EF este dat !n continuare. /rogram (rG/uncteG!nGcercB var n, i, nr 8 integerB a,, r 8 realB #, H8arraH :1..5'; of realB
{/rogramul -.1 (r. puncte !ntrun cerc} { numărul punctelor date } { variaila de lucru contor } { numărul punctelor aflate in cerc } { coordonatele centrului cercului } { raza cercului dat } { #:i; " ascisa iar } { H:i; " ordonata punctului IiI }
egin
33
clrscrB @riteln3J/rogramul numără cte dintre n puncte dateJ4B KCLMNF(3Jse afla in interiorul unui cerc datJ4B for i8"1 to - do @ritelnB repeat @rite3Jn"J4B readln3n4 until 3n in :1..5';4B for i8"1 to n do egin @rite3J#:J,i82,J;"J4B read3#:i;4B @rite3J H:J,i82,J;"J4B readln3H:i;4B endB @ritelnB @riteln3Jatele privitoare la cerc8J4B @rite3Jascisa"J4B readln3a4B @rite3Jordonata"J4B readln34B repeat @rite3Jraza 3>'4"OJ4B readln3r4 until r>'B @ritelnB { determinarea nr. de puncte interioare cercului } nr8"'B for i8"1 to n do if 3#:i;a4P3#:i;a403H:i;4P3H:i;4rPr t&en nr8"nr01B { tipărirea rezultatelor } @riteln3J(r punctelor din interiorul cercului" J,nr4B end. 3.2. KBHE8FSE
Se dau m,n & ' şi vectorii X,Y de componente numere !ntregi, ordonate nedescrescător. Aormai vectorul de dimensiune m+n, avnd drept componente toate componentele vectorilor X şi Y , de asemenea ordonate nedescrescător. Cezolvare Specificarea prolemei este8 JH m, n, (x ,i=1,m), i (y ,i=1,n)N i ECFHH k, ( ,i i=1,k),
{ n
/entru a forma vectorul oservăm mai !nti că 1 este cel mai mic dintre x1 şi y1. +t timp mai sunt componente şi !n X şi !n Y următorul va fi cel mai mic dintre xi şi y j , i, respectiv j, fiind poziiile !n cei doi vectori pnă la care componentele au fost de9a depuse !n . Nvident se va !ncepe cu i"1 şi j"1, iar k poziia curentă !n vectorul va fi iniial tot 1. Elgoritmul pentru rezolvarea prolemei este dat !n continuare8 P-im< KBHE8FSE AA ; JA m, n, (x ,i=1,m), i (y ,i=1,n), i
34
{ ;= X inA- < Y } { n
RiA i;=1N j;=1N k;=0N 8Vim iTm Ui jTn AxA<L JL xi%y j
{ k = n
/rogramul /ES+EF este dat !n continuare. /CQRCE L(MNC+FESECNB DEC m, n, i,9, V8 integerB T,U, < 8 arraH:1..1''; of integerB WNRL( Kriteln3JSe dau doi vectori T şi UJ4B Krite3J(r.comp. lui T"J4B readln3m4B Aor i8"1 to m do egin @rite3J#3J,i,J4"J4B readln3#:i;4 endB Krite3J(r.comp. lui U"J4B readln3n4B Aor 98"1 to n do egin @rite3JH3J,9,J4"J4B readln3H:9;4 endB i8"1B 98"1B V8"'B K&ile 3i"m4 and 39"n4 do Lf #:i;H:9; t&en egin V8"V01B z:V;8"#:i;B i8"i01 end else egin V8"V01B z:V;8"H:9;B 98"901 endB K&ile 3i"m4 do egin V8"V01B z:V;8"#:i;B i8"i01 endB K&ile 39"n4 do egin V8"V01B z:V;8"H:9;B 98"901 endB KritelnB Kriteln3J (umerele ordonate suntJ4B Aor 98"1 to V do @rite3z:9;854B readln
{ /rogramul -.2. Lnterclasarea } { componentelor vectorilor T si U } { numărul componentelor lui T } { numărul componentelor lui U } { contori in T, respectiv U } { numărul valorilor găsite in < } { Dectori cu numerele date } { Dector rezultatcu } { componentele din T si U interclasate} { +itesc m, T }
{ +itesc n, U }
{ Lnterclasarea }
{ Mipăreşte rezultatele }
35
N(.
3.3. GEIFM GEIGCS 3.1. Se dă un polinom G(X) cu coeficieni reali. Să se calculeze valoarea polinomului G(X) !ntrun punct x0 dat. 3.2. Se dă un polinom G(X) cu coeficieni reali. Să se verifice dacă un număr dat - este rădăcina acestui polinom. 3.3. Se dă un polinom G(X) cu coeficieni reali. Să se calculeze derivata acestui polinom. 3.4. Se dă un polinom G(X) cu coeficieni reali. Să se calculeze derivata de ordinul k a polinomului dat. 3.5. Se dă un polinom de gradul n cu coeficieni !ntregi. Să se găsească rădăcinile !ntregi ale polinomului dat. 3.6. Se dă un polinom de gradul n cu coeficieni !ntregi. Să se găsească rădăcinile raionale ale acestui polinom. 3.7. Se dau două polinoame G(X) şi W(X). Să se calculeze suma lor. 3.. Se dau două polinoame G(X) şi W(X). Să se calculeze produsul lor. 3.!. Se dau două polinoame G(X) şi W(X).Să se calculeze H(X)=G(W(X)). 3.10. Se dau m,n & ' şi mulimile = { 1 , 2 ,.. ., m } = { 1 , 2 ,..., n }
1)-
Să se calculeze 8 " X . 3.11. Se dau m,n & ' şi mulimile = { 1 , 2 ,... , m } = { 1 , 2 ,... , n }
1)
Să se calculeze 8 " 7 . 3.12. Se dau m,n & ' şi mulimile = { 1 , 2 ,... , m } = { 1 , 2 ,... , n }
1)5
Să se calculeze 8 " . 3.13. Se dau două numere scrise !n aza . Să se calculeze suma şi diferena celor două numere. 3.14. Se dau două numere scrise !n aza . Să se calculeze produsul celor două numere.
număr.
3.15. Se dau două numere scrise !n aza . Să se găsească ctul şi restul !mpăririi primului număr la al doilea 3.16. Să se transforme un număr din aza !n aza :. 3.17. Se dă o mulime M de n puncte !n plan. Să se găsească punctul cel mai depărtat de origine.
36
3.1. Se dă o mulime M de n puncte !n plan. Să se ordoneze !n funcie de distana lor faă de a#a IX. 3.1!. Se dă o mulime M de n puncte !n plan. Să se ordoneze !n funcie de distana lor la originea a#elor de coordonate. 3.20. Se dă o mulime M de n puncte !n plan. Să se găsească triung&iul de arie minimă care are vrfurile !n M. 3.21. Se dă o mulime M de n puncte !n plan. Să se găsească numărul triung&iurilor care au vrfurile !n mulimea M. 3.22. Se dă o mulime M de n puncte !n plan. Să se determine sumulimea ma#imă de puncte coliniare. 3.23. Se dă o mulime M de n puncte !n plan. Să se determine sumulimea ma#imă de puncte cu proprietatea că oricare trei sunt necoliniare. 3.24. Se dau n puncte !n plan, un cerc şi o elipsă. Să se găsească punctele care sunt !n interiorul cercului, dar nu se află !n interiorul elipsei. 3.25. Se dau n puncte !n plan şi un cerc. Să se elimine punctele care se află !n interiorul cercului. 3.26. Se dau n puncte G 1 ,G 2 ,...,G n !n plan şi un punct M. Să se găsească cte puncte sunt la o distană de punctul M mai mică dect un număr real - dat. 3.27. Se dau n puncte G 1 ,G 2 ,...,G n !n plan şi un punct M. Să se calculeze indicatorul definit astfel8 " ', dacă poligonul G 1 G 2...G n nu este conve#B este pozitiv dacă poligonul este conve#8 " 1, dacă M este interior poligonuluiB " 2, dacă M este pe una din laturile poligonuluiB " -, dacă M este e#terior poligonului.
lungă.
3.2. Se dau coordonatele vrfurilor unui poligon conve#, !n ordinea lor. Să se găsească diagonala cea mai
3.31. Se dau n puncte !n plan şi ecuaia unei drepte. Să se numere cte puncte se află pe dreaptă şi să se afle punctul de distană ma#imă faă de dreaptă. 3.32. Se dau n cercuri concentrice. Să se găsească inelul de arie ma#imă delimitat de două cercuri consecutive. 3.33. Se dau n puncte pe un cerc. Să se ordoneze !n ordine trigonometrică inversă. 3.34. Q funcie 8 {1,2,...,m} > {1,2,...,n} se poate reprezenta !n calculator printrun vector R=(R 1 ,R 2 ,...,R m ) cu m componente, unde R i " (i). Să se verifice dacă funcia , dată prin vectorul R este in9ectivă. 3.35. Se dă o funcie 8 {1,2,..., m} > {1,2,..., n} reprezentată aşa cum se menionează !n prolema 3.34. Să se verifice dacă funcia , dată prin vectorul R este sur9ectivă. 3.36. Se dau funciile 8{1,2,...,m} >{1,2,...,n} şi P 8{1,2,...,n}> {1,2,..., }, reprezentate aşa cum se menionează !n prolema 3.34. Să se determine compunerea celor două funcii date. 3.37. Q aplicaie 8 {1,2,..., n} > {1,2,..., n} i9ectivă se numeşte permutare. Na se poate reprezenta !n calculator aşa cum sa arătat !n prolema 3.34. Se dă o permutare . Să se determine numărul inversiunilor permutării . 3.3. Se dă o permutare aşa cum sa arătat !n prolema 3.37. Să se determine ordinul permutării date. /rin ordinul permutării se !nelege cel mai mic !ntreg k pentru care k este aplicaia identică.
37
3.39. Se dă o permutare f aşa cum s-a arătat în problema 3.37. Să se calculeze inversa permutării f. 3.40. Se dau două permutări f şi g aşa cum s-a arătat în problema 3.37. Să se determine compunerea celor două permutări date. 3.41. La un concurs de patinaj artistic se cunosc cele n note obţinute de un concurent. Să se calculeze punctajul lui, ştiind că la calculul mediei nu se ia în considerare nota cea mai mică şi cea mai mare obţinută (o singură dată în cazul că sunt două note egale, deci se face media aritmetică a n- note!. 3.42. "entru cei n studenţi ai anului înt#i se cunosc notele m ,i i$%,n, la primul e&amen. Se cere să se determine numărul studenţilor cu nota %', numărul studenţilor cu note de şi ) şi să se tipărească lista studenţilor nepromovaţi. 3.43. "entru cele *+ de zile ale unui an se cunosc cantităţile de precipitaţii zilnice p ,i i$%,*+. Se cere să se determine numărul zilelor fără precipitaţii, mediile lunare şi media anuală a precipitaţiilor şi să se listeze zilele cu precipitaţii ce depăşesc cantitatea a. 3.44. Se dau m,n , intervalele [ai-1 ,a ], i $ %,m şi numerele reale x1 ,x2 , ... , xn. "rin frecvenţa f i se înţelege i numărul valorilor x j care se află în intervalul [ai-1 ,a ]. i Să se determine frecvenţele f 1 ,f 2 ,... , f m şi să se listeze indicii j pentru care x j
38
CAPITOLUL 4
PROBLEME CU MATRICE
4.1. CONST!"#$ !N#" %$T"C#
Se dau numerele naturale m şi n şi un şir de numere reale &'i(,i)1,2,...,m & n. Să se genereze matricea $, cu m linii şi n coloane, definită prin i• j
∑ x + a'i, j()
+)1
, 'i • j - i * 1(
'4.1(
%/+
pentru i)1,m şi j)1,n. "entru rezolvarea problemei, algoritmul pe care-l vom descrie foloseşte un tablou unidimensional pentru şirul & şi un tablou bidimensional pentru matricea $. 0eci specificarea problemei este $T# m, n, & #!=T$T# $
nm/ inii mai5i $6 'nm/ an5 mai5i $6 85 5 nin5 55 m:n nm55 ;a56 %ai5 ;5 ;im5n>in5 m:n ;5fini/ ;5 '4.1(6
0eoarece în e&presia ce defineşte elementele matricei $ numitorul este întotdeauna nenul ( j)1,n este natural şi i1', natural! nu vom avea probleme la generarea matricei. "entru a calcula suma elementelor x'+( pentru + de la % la i:j vom folosi o variabilă au&iliară >m. 2ariabilele i,j,+ sunt variabile de ciclare. 3lgoritmul pentru rezolvarea problemei este dat în continuare $gim %$T"C# 5>5 ? a5 m, n, & A5n i?)1 a m 5x5/ A5n j?)1 a n 5x5/ >m?)0 A5n +?)1 a i:j 5x5/ >m?)>m*&'+( >f-p5n $'i,j(?)>mB'i:j-i*1( >f-p5n >f-p5n 5@a5 $ >f-agim
S5 a5a@/ $ nfm fm5i 4.16 m:n 5>5 ;im5n>in5a mai5i 556 &)'&'i(,i)1,m:n( 5>5 n 85 m:n mpn5n5 ;a56
%ai5 ;5 ;im5n>in5 m:n ;5fini/ ;5 '4.1(6
"rogramul "3S43L corespunzător este următorul "rogram matrice5 9:pe sir$arra:;%..%''< of real5 mat$arra:;%..%',%..%'< of real5 2ar m,n, i,j,>integer5
6 "rogramul 7.%. 4onstruirea unei matrice 3 8 6m=n este dimensiunea matricei cerute8 6variabile au&iliare8
39
?sir5 6? este un vector cu m=n componente date8 3mat5 6@atrice de dimensiune m=n definită de (7.%!8 sumreal5 6variabilă au&iliară5 va conţine o suma8 begin Ariteln(BSe calculează o matrice 3 de dimensiune m=nB!5 Criteln(Bdandu-se un vector ? cu m=n componenteB!5 Crite(B 0aţi numărul liniilor matricei B!5 readln(m!5 Crite(B 0ati numărul coloanelor matricei B!5 readln(n!5 Criteln(B 0aţi termenii şirului ?B!5 for i$% to m=n do begin Crite(B&(B,i,B!$DB!5 readln(&;i$% to i=j do sum$sumE&;><5 a;i,j<$sumF(i=j-iE%! end5 Criteln5 Criteln5 Ariteln(B @atricea rezultat esteB!5 Criteln5 for i$% to m do begin for j$% to n do Crite(a;i,j<%!5 Criteln end5 readln end. 4.2. #N#$#$ !N#" %$T"C# "NT-!N D"
Se dau m,n,+ şi numerele întregi x1 ,x2 ,...,x+ . Se cere să se construiască o matrice $ cu m linii şi n coloane astfel înc#t elementele matricei să fie elementele şirului în următoarea ordine (considerăm m$* şi n$7! x1 xE x7 x12 x2 xF xG x11 x3 x4 x9 x10 Gn cazul în care nu e&istă suficiente elemente în vectorul &, deci matricea nu se poate construi, se va da un mesaj de eroare. Specificarea problemei este $T# m,n, +, & #!=T$T# $
;a ;im5n>in5a mai5i6 nm/ mpn5n5 şii &6 85 ;5 ;im5n>in5 +6 mai5 ;5 ;im5n>in5 m:n6
Se observă că elementele şirului sunt puse în ordine pe coloane şi anume pe o coloană de sus în jos, iar pe următoarea coloană de jos în sus. "entru a deosebi cele două cazuri vom folosi o variabilă de control notată +; care ia două valori posibile ' şi %. 0acă valoarea lui +; este ' atunci pe acea coloană elementele din şir se pun încep#nd cu prima linie şi p#nă la linia a m-a, iar dacă valoarea lui >od este % atunci pe acea coloană elementele şirului se pun încep#nd cu linia a m-a şi p#nă la prima linie. 2ariabile folosite & - vector ce conţine numerele date, de lungime + 5 $ - matricea cerută5 m,n - dimensiunile matricei5 - indice în şir5 +; - variabila de control. 3lgoritmul corespunzător este dat în continuare.
40
$gim %$T"C#2 5>5? $T# m,n, +, & a/ m:nH+ ani Tip/5ş5'IA5a pin5 55m5n5 Jn şiI( af5 Ki5 j?)1 ?)1 +;?)0 5p5/ a/ +;)0 ani +;?)1 A5n i?)1,m 5x5/ aij?)x ?)*1 >f-p5n af5 +;?)0 A5n i?)m,1,-1 5x5/ aij?)x ?)*1 >f-p5n >f-;a/ pLn/ Ln; jHn >f-5p5/ #!=T$T# $ >f-;a/
;a ;im5n>in5a mai5i6 nm/ mpn5n5 şii &6 85 ;5 ;im5n>in5 +6
mai5 ;5 ;im5n>in5 m:n6
"rogramul "ascal este "rogram matrice5 6"rogramul 7.. @atrice dintr-un vector8 9:pe sir $ arra:;%..%''< of integer5 mat $ arra:;%..%',%..%'< of integer5 2ar m, n, 6dimensiunile matricei8 i, j, 6indici linie-coloana in matricea 38 >, 6număr natural dat8 l, 6indice în şir8 >od integer5 6variabila de control8 ? sir5 6vector ce conţine numerele date, de lungime + 8 3 mat5 6matricea cerută8 Hegin Ariteln6BSe constuieşte o matrice dintr-un şir de numereB!5 Crite(B0aţi dimensiunile matriceiB!5 readln(m,n!5 Crite(B0aţi dimensiunea şiruluiB!5 readln(>!5 6 0acă elementele şirului nu 8 if m=n 1 > 6 IumpluI matricea se 8 tJen Crite(B"rea puţine elemente in şirB! 6 semnalează eroare 8 else begin for i $ % to > do begin Crite(B&(B,i,B!$B!5 readln(&;iod$'5 repeat if >od $ ' tJen begin for i$% to m do 6 pe coloană de sus in jos 8 begin a;i,j<$ &;l<5 l$lE% end5 >od$% 6se scJimba valoarea lui >od8 end else begin 6 pe coloana 8 for i$m doCnto % do 6 de jos in sus 8 begin a;i,j<$&;l<5 l$lE% end5 >od $ ' 6 se scJimba valoarea lui >od8 end5 j $ jE% until j1n5 6se repeta pana c#nd s-a completat coloana n8 for i$ % to m do 6 tipăreşte linia i a matricei 8 begin
41
end end.
for j $ % to n do Crite(a;i,j<!5 Criteln end
4.3. AOM=#%# AOA!S#
Gn cele ce urmează vom nota prin % m,n'( mulţimea matricelor cu m linii şi n coloane av#nd toate elementele din domeniul . Gn cazul m)n, deci al matricelor pătrate, vom nota % n,n'( $ %A n'(. "rin vom nota mulţimea numerelor întregi, iar prin mulţimea numerelor reale. "rin n'( se notează mulţimea vectorilor cu n componente, toate elemente din domeniul . matricei.
4.1. Se dă o matrice $ % m,n'* (. Să se calculeze raportul dintre cel mai mic element şi cel mai mare element al 4.2. Se dă o matrice $ % m,n'(. Să se adauge a ( nE%!-a coloană acestei matrice, definită prin n
$'i,n*1()
∑ $'i, j( %// , pentru i)1,m. j)1
4.3. Se dă o matrice $ % m,n'* (. Să se formeze un vector cu n componente, astfel înc#t componenta a i-a să fie egală cu elementul ma&im din coloana a i-a a matricei. 4.4. Se dă o matrice $ % m,n'(. Să se determine linia şi coloana care conţin cel mai mic element pozitiv. 4.F. Se dă o matrice $ % m,n'* (. 0acă 8i este valoarea ma&imă din linia i să se calculeze O ) min- 8 i P i) 1,m6 %/. 4.E. Se dă o matrice $ % m,n'(. Să se tipărească indicii liniilor care conţin elemente negative. Să se formeze apoi matricea M, obţinută din matricea $ prin eliminarea acestor linii. 4.7. Se dă o matrice $ % m,n'* (. Să se scJimbe între ele liniile matricei $ astfel ca prima coloană să devină ordonată crescător. 4.G. Se dă o matrice $ % m,n'* ( şi un interval [Q ,R ]. Să se reţină într-un vector & toate elementele matricei aflate în intervalul [Q ,R ].
linie.
4.9. Se dă o matrice $ % m,n'* (. "entru fiecare linie să se scadă din elementele sale valoarea minimă din acea
4.10. Se dă o matrice $ % m,n'(. Să se construiască vectorul & $ ' x1 , x 2 , ..., x + ( %/) ce reprezintă indicii liniilor care conţin valori nule. 4.11. Se dă o matrice $ % m,n'(. Să se tipărească matricea $ completată cu o nouă coloană în care elementul din linia a i-a este egal cu cel mai mare număr negativ din linia a i-a, dacă e&istă elemente negative, respectiv cu %' c#nd nu e&istă elemente negative. 4.12. Se dă o matrice $ % m,n'* ( şi numerele naturale şi + (%
42
pozitive din linia respectivă. 0acă într-o linie nu e&istă elemente pozitive, linia răm#ne nescJimbată. 4.1F. Se dă o matrice $ % m,n'(. Să se calculeze media aritmetică a elementelor matricei aflate deasupra diagonalei principale, precum şi media armonică a elementelor pozitive care se găsesc sub diagonala principală. 4.1E. Se dă o matrice $ % m,n'* (. Să se verifice dacă e&istă două linii proporţionale în matricea dată. 4.17. Se dă o matrice $ % m,n'* (. Să se construiască un vector & de n componente, astfel înc#t &'i( să fie numărul elementelor distincte din coloana a i-a, pentru i$%,,...,n. 4.1G. Se dă o matrice $ % m,n'* (. Să se scJimbe între ele liniile matricei astfel înc#t şirul sumelor >1 , >2 ,... , >m %' să fie ordonat descrescător, unde n
>i )
∑ a , i) 1,m%%. ij
j)1
4.19. Se dă o matrice $ % m,n'M2 (, unde M2 $6',%8 şi se consideră că elementele unei linii sunt cifrele unui număr întreg scris în binar. Să se găsească numerele întregi corespunzătoare liniilor matricei. 4.20. Se dă o matrice $ % m,n'* (. "oziţia ' i0 , j0 ( % se numeşte pn şa dacă
a! a i0 , j 0 %* este ma&im pe coloana j0 b! a i0 , j 0 %7 este minim pe linia i0 %. Să se tipărească toate punctele şa dacă e&istă astfel de puncte sau un mesaj corespunzător în caz contrar. 4.21. Se dă o matrice $ % m,n'* (. Să se formeze matricea M cu m linii şi n coloane unde Sij ) ' aij - ma& (2 , unde max este cel mai mare element al matricei $. 4.22. Se dă o matrice $ % m,n'* (. Să se formeze matricea M cu m linii şi n coloane unde daca i < j a ij , %/ Sij ) ' a i 1* ain * a1j * a mj ( B 4, altfel.
4.23. Se dă o matrice $ % m,n'* (. Se dau numerele x şi . Să se formeze matricea M cu m linii şi n coloane unde
-1, ) Sij 0, 1,
daca
aij ∈ 'x,T(
daca
a ij ∈ x,T6 %
daca
aij ∉ [x,T].
4.24. Se dă $ % m,n'(. Să se formeze matricea M cu m linii şi n coloane unde Sij ) P ma& a i+ P + ) 1,2,...,n6P - aij %). 4.2F. Se dă $ % m,n'* (. Să se formeze matricea M cu m linii şi n coloane, în care elementul ij se defineşte ca suma elementelor matricei $ aflate pe linia i, mai puţin elementul aflat pe coloana j.
43
4.2E. Se dă $ % m,n'(. Să se formeze matricele M şi C cu m linii şi n coloane unde
aij , daca aij este par %)' Sij ) 0, altfel,
aij , daca aij este impar %)% 4ij ) 0, altfel.
4.27. Se dă $ % m,n'* (. Se dau numerele reale x, , @, cu x @. Să se formeze matricea M cu m linii şi n coloane, unde
0 , daca aij < x 1 , daca x ≤ a < T ij %) Sij ) 2 , daca T ≤ aij < @ 3 , daca a ij ≥ @.
4.2G. Se dă $ % m,n'* (. Să se determine vectorii M şi C definiţi astfel
Si )
aij P j ) 1,2,...,n 6 , i ) 1,2,...,m
ma&
m
j )
∑ aij Si ,
j ) 1,2,...,n.
%)*
i)1
4.29. Se dă $ % m,n'(. Kiind dat un număr natural p, să se formeze vectorul & cu m componente, unde xi reprezintă numărul elementelor din linia a i-a a matricei $ care sunt divizibile cu p. 4.30. Se dă $ %A n'(. Să se determine linia ce conţine cel mai mare element al diagonalei principale şi apoi să se scJimbe linia şi coloana cu linia, respectiv coloana înt#i. 4.31. Se dă $ % m,n'* (. Să se formeze un vector de n componente, în care componenta 8i a vectorului să fie egală cu raportul dintre suma elementelor din linia i şi suma elementelor din coloana i. 4.32. Se dă $ %A n'(. Să se calculeze #)%A-%S, unde %A este ma&imul dintre sumele elementelor aflate pe diagonale paralele cu diagonala principală, iar %S este minimul dintre sumele elementelor aflate pe diagonalele paralele cu diagonala secundară. 4.33. Se dă $ %A n'(. Să se ordoneze liniile şi coloanele matricei astfel înc#t elementele de pe diagonala principală să fie ordonate crescător. 4.34. Se dă $ %A n'(. Gn fiecare linie să se scJimbe între ele elementele care se găsesc pe diagonala principală
44
cu cele care se găsesc pe cea secundară. 4.3F. Se dă $ %A n'(. Să se determine vectorii & şi U cu n componente, unde &'i( $ numărul elementelor pozitive din linia i5 U'i( $ numărul elementelor negative din coloana i . 4.3E. Se dă $ %A n'(. Să se calculeze suma primelor n puteri ale matricei $. 4.37. Se dă $ %A n'(. Să se calculeze matricea A $ $:$T , unde $T reprezintă transpusa matricei $. 4.3G. Se dă & n'(. Să se genereze o matrice $ %A n'( astfel înc#t elementele matricei să reprezinte elementele vectorului & scrise în următoarea ordine &'1( &'2( ... &'n-1( &'n( &'4n- 4( &'4n-3( ... &'.( &'n*1( . . ... . . &'3n-2( &'3n-3( ... &'2n( &'2n-1(. 4.39. Se dă & n'(. Să se genereze o matrice pătrată $ de ordin ma&im posibil, astfel înc#t elementele matricei să reprezinte elementele vectorului & scrise în următoarea ordine &'1( &'2( &'F( &'10( ... &'4( &'3( &'E( &'11( ... &'9( &'G( &'7( &'12( ... &'1E( &'1F( &'14( &'13( ... . . . 4.40. Se dă & n'(. Să se genereze o matrice $ pătrată de ordinul m, cu m ma&im posibil, astfel înc#t elementele matricei să reprezinte elementele vectorului & scrise în următoarea ordine &'1( &'2( &'4( &'7( ... &'3( &'F( &'G( ... &'E( &'9( ... &'10( ... 4.41. Se dă & n'(. Să se genereze o matrice pătrată $ de ordinul m, cu m ma&im posibil, astfel înc#t elementele matricei să reprezinte elementele vectorului & scrise în următoarea ordine &'1( &'2( &'E( &'7( &'1F( ... &'3( &'F( &'G( &'14( ... &'4( &'9( &'13( ... &'10( &'12( ... &'11( ... 4.42. Se dau m şi & n'( pentru n)m2. Să se construiască o matrice pătrată de ordinul m, dacă este posibil,
astfel - deasupra diagonalei principale elementele matricei sunt elementele şirului încep#nd cu x1 , scrise în ordine pe linii5 - elementele de pe diagonala principală sunt ai,i $ xi:i - elementele de sub diagonala principală se calculează astfel ai,j $ ma&6 x j, ... , &i 8.
4.43. Se dă & 2n'(. Să se construiască o matrice pătratică de ordinul n astfel se completează diagonala principală de sus în jos cu elemente consecutive din şir încep#nd cu x%5 deasupra diagonalei principale se completează matricea paralel cu diagonala principală, de sus în jos, cu elemente succesive din şir, încep#nd cu xn*1 , iar sub diagonala principală elementul din linia i şi coloana j a matricei este egal cu elementul x j*i al şirului. 4.44. Se dă & 2n'(. Să se construiască o matrice pătratică de ordinul n astfel înc#t
45
min- xi ,. . , xn 6, daca i este par ai,j ) ma&- x+ Px+ <0,+)1 , j6, daca i este impar.
%)7
4.4F. Se dau m, n . Să se formeze matricea $ % m,n'( din elementele şirului %,%,,7,*,),/,%,7,%+,,,%,... scrise în ordine pe linii. (Se va observa că şirul este obţinut din şirul numerelor naturale prin înlocuirea fiecărui număr par p cu o secvenţă formată din numerele 1,p,p2 şi a numărului impar iH1 cu o secvenţă formată din numerele i,i2 ,i3 ( . 4.4E. Se dau m, n . Să se formeze matricea $ % m,n'( din elementele şirului %, ,, %,,*, 7,7,7,7, %,,*,7,, +,+,+,+,+,+, %,, *,7,,+,/, ,,,,,,,, %,,... scrise în ordine pe coloane. (Se va observa că şirul este obţinut din şirul numerelor naturale prin înlocuirea fiecărui număr par p cu o secvenţă formată din p numere toate egale cu p şi a numărului impar i cu o secvenţă formată din numerele 1,2,...,i!. 4.47. Se dau m,n şi & m:n'(. Să se genereze o matrice $ % m,n'( definită astfel
' xi * xi*1*...* xij (B'ij-i*1( , daca xi H 0
aij )
ma& xi , xi*1 ,..., xij 6 ,
daca x i
≤0
%)
pentru i$%,,...,m şi j$%,,...,n. 4.4G. Se dau m,n şi & m:n'(. Să se genereze o matrice $ % m,n'( definită astfel 'i-1(n*j
a ij )
∑
x %)+
)'i-1(n*1
pentru i$%,,...,m şi j$%,,...,n. 4.49. Se dau numere naturale m şi n. Să se construiască matricea $ % m,n'( definită astfel M' , dacă i*j este număr prim $'i,j( $ M% , dacă i*j este număr perfect neprim M , în caz contrar, pentru i$%,,...,m şi j$%,,...,n. 4.F0. Kie M o matrice definită astfel M' , dacă i*j este număr prim M'i,j( $ M M % , altfel, pentru i$%,,...,m şi j$%,,...,n şi fie matricea C de aceleaşi dimensiuni, în care linia i reprezintă numărul 2i*1 scris în baza . Să se determine matricea $ $ M E C, adunare modulo . 4.F1. Să se construiască matricea $ definită prin Mcos(i:j( , dacă i:j m:nB2 $'i,j( $ M M sin(i*j! , în caz contrar, pentru i$%,,...,m şi j$%,,...,n. 4.F2. Se dă a şi fie % (%!$a. Să se formeze matricea pătrată $ de ordinul n de forma %'1( %'12( %'11( %'10(
46
%'2( %'13( %'1E( %' 9( %'3( %'14( %'1F( %' G( %'4( %' F( %' E( %' 7( 2 (în cazul n$7! dacă %'+( ) " %'+-1( * 10 %)/
pentru + $ ,*,..., n:n, unde " p %) reprezintă răsturnatul numărului p (e&emplu răsturnatul numărului %* este numărul *%! 4.F3. Nn labirint în care e&istă numai drumuri (poteci, alei! orizontale şi verticale, se reprezintă cu ajutorul unei matrice, în care un şir de zerouri reprezintă un drum, un şir de % un zid. Se dă o poziţie iniţială în interiorul labirintului. Să se găsească cel mai scurt drum pe care se poate ieşi din labirint.
cuvinte
4.F4. Se dă o matrice cu elemente cuvinte de ma&imum *' de litere sau spaţii. Să se afle frecvenţa vocalelor în
- pe linii5 - pe coloane5 - în matrice. 4.FF. Se dau vectorii $ m'( şi M n'(. Să se formeze matricea C % m,n'( dacă i
∑ a'+( 'i, j( )
+)1 n
∑
%))
S'+(
+) j
Gn cazul în care numitorul este nul, 'i,j($-%. 4.FE. Se dau vectorii $ m'( şi M n'(. Să se formeze matricea C % m,n'( dacă ai : S j '' 4ij ) ma& a1 ,... ,a m , S1 ,... ,Sn 6
Gn cazul în care numitorul este nul se ia ij $ min6a ,i j8. 4.F7. Se dau vectorii $ m'( şi M n'(. Să se formeze matricea C % m,n'( dacă 4ij ) ma& ai , Si , a j * S j 6, i ) 1,2,...,m, j ) 1,2,..n '%. 4.FG. Se dau vectorii $ m'( şi M n'(. Să se formeze matricea C % m,n'( dacă j i
4ij ) ∑ a + • ∑ S p ' +)1
p)1
4.F9. Se dau două matrice $,M % m,n'(. Să se determine matricea C % m,n'( unde 4ij ) ma& a ij ,Sij 6 , i ) 1,m j ) 1,n '*. 4.E0. Se dau două matrice $,M %A n'(. Să se determine matricea C %A n'( definită prin 4ij ) min a i+ * S+j P + ) 1,2,...,n6. '7 4.E1. Se dau două matrice $,M % m,n'(. Să se determine matricea C % m,n'M2 ( unde
47
0 , daca aij ≠ Sij
4ij )
1 , daca aij ) Sij .
'
4.E2. Se dau două matrice $,M % m,n'(. Să se găsească mulţimea indicilor i pentru care n n
∑ aij < ∑ Sij .'+ j)1
j)1
4.E3. Se cere să se genereze matricea $, pătratică de ordinul n, definită astfel MC'j,i(, dacă i
$ M
M
'/
C
& şi A fiind vectori coloană de dimensiune 2n cu componente reale, să se întocmească un algoritm şi să se scrie un program pentru rezolvarea sistemului & $ A. 4.EG. Se dau numerele întregi x 1 , x 2 ,... , x n ∈ [0, 2 n ( . ' Să se tipărească matricea pătrată de ordinul n care are proprietatea că linia a i-a a acestei matrice reprezintă numărul xi în baza doi. 4.E9. Se dă $ % m,n'M2 (. Să se determine numerele a căror reprezentări în baza sunt date de coloanele matricei. 4.70. Se dă & n'(. Să se formeze matricea $ %A n'( cu elementele
ma& x+P+ ≥ j >i + ≤ i6 , daca j ≤ i si ∃ x H0, ) j, j*1,... ,i 2 aij ) min x+ P j ≤ + ≤ i6, daca j ≤ i si ∃ x ≤ 0, ) j,j*1,... ,i ') ' xi * xi*1*...* x j (B'j-i*1(, daca jHi .
48
CAPITOLUL 5
SUBALGORITMI
F.1. #!N"!N#$ !NO %!=W"%"
Se consideră, trei mulţimi $, M, C. Se cere un program care afişează - elementele mulţimii $ în ordine crescătoare5 - elementele mulţimii M în ordine crescătoare5 - elementele mulţimii C în ordine crescătoare5 - elementele mulţimii $ M în ordine crescătoare5 - elementele mulţimii M C în ordine crescătoare5 - elementele mulţimii C $ în ordine crescătoare. Qezolvare. "entru realizarea programului este necesară construirea a patru proceduri specificate în continuare - o procedură pentru citirea unei mulţimi C"T'n,$( #!=T$T# n,$ pim5> 8ai pin ii56 - o procedură pentru ordonarea unui şir OON',&( $T# ;5 ina56 , nm/ mpn5n5 85i &6 & 85 n mpn5n56 #!=T$T# & a i5şi5a ;in >agim 8m a85a? 6 x1 < x2 ... xn 8
- o procedură pentru calculul reuniunii a două mulţimi #!N'n,m,$,M,nm,$!M( $T# ;5 ina56 n, nm/ 55m5n5 mimii $6 m, nm/ 55m5n5 mimii M6 $, mim5a a1 , a2 , ... , an 6 6 M mim5a 1 , 2 , ... , m 6 6 #!=T$T# nm, nm/ 55m5n5 5ninii 6 $!M $!M ) $ M 6 - o procedură pentru tipărirea unei mulţimi T"A$'n,$,X( $T# ;5 ina56 n, nm/ 55m5n5 mimii $6 $, mim5a a1 , a2 , ... , an 6 6 X aa5 n>i;5a nm55 mimii6 #!=T$T# afişa5a 55m5n5 mimii - o procedură pentru ordonarea şi apoi tipărirea unui şir T"AOON',&,X( $T# ;5 ina56 , nm/ mpn5n5 85i &6 &, 85 n mpn5n5 aia5 6 X aa5 n>i;5a nm55 mimii6 #!=T$T# :;na5a mpn5n5 85i & şi : afişa5a 55m5n5 ;na5 5>/ - o procedură pentru calculul reuniunii a două mulţimi, cu ordonarea şi tipărirea rezultatului T"A#!N'n,m,$,M,nm,$!M(.
49
a55aşi >5mnifiai5 a a p5;a #!N, ;a, Jn p>, >5 ip/5ş5 $!M.
3lgoritmul pentru rezolvarea problemei, descris în limbajul "SRN040, este următorul $gim #x5mp1 5>5? CX5am/ C"T'n,$(
$ 5 85 a5 nin5 Jn mpn5n55 6 >a5 55 n 55m5n5 a5 mimii $6 Ci5ş5 mim5a M6 Ci5ş5 mim5a C6
CX5am/ C"T'm,M( CX5am/ C"T'p,C( CX5am/ T"AOON'n,$( CX5am/ T"AOON'm,M( CX5am/ T"AOON'p,C( CX5am/ T"A#!N'n,$,m,M,n1,$M( CX5am/ T"A#!N'm,M,p,C,m1,MC( CX5am/ T"A#!N'p,C,n,$,p1,C$( Sf-agim.
Tip/5ş5 p5 $M ?) $ ! M6
Subalgoritmii apelaţi mai sus sunt descrişi în continuare Sagim OON',&( 5>5? 5p5/ Ki5 >X?) 0 A5n i?) 1, -1 5x5/ a/ x i H x i*1 %' atunci Kie &&$ x i 7 %% Ki5 x i ?) x i*1 7 % Ki5 xi*1 ?) xx7%* Ki5 >X?)1 >f-;a/ >f-p5n pLn/Ln; >X)0 >f-5p5/ >f-OON
O;n5a@/ mpn5n55 i &6 5xamin5a@/ a5 mpn5n556 ip5@a / >n ;na56
5in5 / n-a f> ;na56
Sagim #!N'n,$,m,M,n1,$!M( 5>5? A5n i?)1, n 5x5/ $!M i ?) $i 7 %7 sf-pentru Ki5 n1?)n A5n j)1, m 5x5/ Ki5 i?)1 CLimp ' M j ≠ $i ( >i 'i ≤ n( % e&ecută i$iE% sf-c#ttimp a/ iHn ani Ki5 n1?)n1*1 %+ sf-dacă >f-p5n >f-#!N Sagim T"AOON',&,X( CX5am/ OON'p,&( CX5am/ T"A$',&,X( >f-#!N
O;n5a@/ şi api ip/5ş56 55 n mpn5n5 a5 85i &6 X)nm55 mimii 5p5@5na/ Jn 85 &6
Sagim T"A#!N'n,$,m,M,n1,$!M,X( 5>5? CX5am/ #!N'm,M,p,C,m1,MC( CX5am/ T"AOON',&,X( >f-T"A#!N
50
$!M ?) $ M6
$!M?) $ M6 O;n5a@/ şi ip/5ş5 p5 $!M6
9raducerea algoritmului în limbajul "3S43L este următoarea "rogram e&emplu%5 9:pe sir $ arra: ;%..*'< of real5 s* $ string;*<5 2ar n, m, p, n%, m%, p% integer5 a, b, c, ab, bc, ca sir5
6 "rogramul .% 8 6operaţii cu mulţimi reprezentate ca vectori8
6a,b,c conţin elementele a trei mulţimi de numere 8
"rocedure cit(var n integer5 var a sir5 cJ s*!5 var i integer5 begin Crite(Bnr. elementelor mulţimii B, cJ, B esteB!5 readln(n!5 for i $ % to n do begin Crite(cJ, B;B, i, B<$B!5 readln(a;i
64iteşte n si 8 6 mulţimea a cu n elemente8 6cJ$numele mulţimii citite8
69ipăreşte mulţimea a cu8 6numele cJ av#nd n elemente8
6rdonează crescător elementele8 6vectorului ? cu r componente8
"rocedure tipordon(r integer5 var & sir5 numestring!5 var && real5 i, scJ integer5 begin ordon(r, &!5 tipar(r, &, nume!5 end5 "rocedure reun(n, m integer5 3,H sir5 var n%integer5 var 3NHsir!5
64alculeaza 3 MH8
51
var i, j integer5 begin n% $ n 5 for i $ % to n do 3NH;i< $ 3;i<5 for j $ % to m do begin i $ %5 CJile (H;j<13;i
64alculează reuniunea,8 6ordonează elementele şi8 6tipăreşte rezultatul8
6programul principal8
F.2. N!%## A"%#
Să se scrie un program care determină primele n numere prime (nH3!, folosind o funcţie care stabileşte dacă un număr este prim sau nu. Specificarea problemei $T# n #!=T$T# 'p j ,j)1,n(
n N, nH36 p1 ,p2 ,...,pn >n pim55 n nm55 pim56
"entru rezolvarea problemei vom utiliza o funcţie de tip boolean VA"%'n(V care întoarce ItrueI dacă numărul natural n este prim şi IfalseI în caz contrar. 3lgoritmul funcţiei are la bază ideea de a căuta divizori ai lui n J ntre primele nF numere naturale. 3lgoritmul poate fi util în multe probleme, motiv pentru care Mlvom descrie ca subalgoritm ce poate fi apelat oric#nd este nevoie de el. 2ectorul A va reţine cele n numere prime. Gn variabila i vom avea următorul candidat, număr natural care uneori este prim. "rimele două numere prime fiind şi *, la început vom iniţializa pe i cu . "rin + s-a notat numărul numerelor prime găsite. Subalgoritmul TQ"QU@R este următorul Sagim NA"%#'n,A( 5>5? Ki5 i?)F p1?)2 p2?)3 +?)2 5p5/
52
S5 a/ n nm55 pim56
a/ pim'i( ani Ki5 +?)+*1 +?)+*1 p+ ?)i ?)i >f-;a/ Ki5 i?)i*2 pLn/ Ln; +)n >f-5p5/ >f-NA"%# >f-NA"%# Knia A"%'n( A"%'n( 5>5? 5>5? pim?)5 A5n i?)2, nB2 5x5/ a/ n m; i ) 0 ani pim?)fa>5 >f-;a/ >f-;a/ >f-p5n Sf-A"%
"rogramul "3S43L cerut este următorul "rogram e&emplu5 9:pe vector $ arra:;%..)))< of integer5 2ar n, i integer5 " vector5
6"rogramul .. Văseşte primele n numere prime 8
function prim(n integer! boolean5 var i integer5 begin prim $ true5 for i $ to n div do if n mod i $ ' tJen tJen prim $ false5 false5 end5 "rocedure TQ"QU@R(ninteger5 2ar "vector!5 2ar >integer5 begin i $ 5 > $ 5 ";%<$5 p;<$*5 repeat if prim(i! tJen begin >$ >E%5 ";><$i end5 i$ iE5 until > 1 n5 end5 begin Crite(Bcate numere prime va intereseazăDB!5 readln(n!5 TQ"QU@R(n,"!5 Criteln(Bprimele Criteln(Bprimele B, >, B numere prime sunt sunt următoareleB!5 următoareleB!5 Kor i$% to n do begin Crite(";i<7!5 Uf i mod $ ' tJen Criteln end end.
6 numărul numerelor găsite 8 6 variabila contor in " 8 6 2ectorul numerelor prime 8 60acă n e prim atunci 9QNR8
6 Un vectorul " se obţin 8 6 primele n numere prime 8
6programul principal8
F.3. AOM=#%# AOA!S#
53
5.1. Să se calculeze valoarea într-un punct a unui polinom şi a tuturor derivatelor sale, folosind pentru aceasta - o procedură de derivare a unui polinom; - o funcţie care întoarce ca rezultat valoarea polinomului într-un punct x dat. 5.2. Se dau polinoamele P, Q, R : P = pm X m + ... + p 1 X X + p0 , , n Q = qn X X + ... + q1 X X + q0 , , k R = r k k X X + r 0. + ... + r 1 X Să se tipărească produsele P • Q, Q • R, R • P 217 în ordinea indicată. 5.3. olosind un su!al"oritm pentru efectuarea produsului P = Q polinoamele polinoamele (x + 1)n pentru n = 1,2,...,12.
•
R 21# a două polinoame
Q şi R, tipăriţi
5.4. Se cere pro"ramul pro"ramul care, folosind folosind cel mult trei şiruri, determină rezultatul: a$ reuniunii a n mulţimi; !$ intersecţiei a n mulţimi. 5.5. Se cere pro"ramul pentru calculul: a$ produsului a n matrice pătratice; !$ puterii a n-a a unei matrici pătratice. 5.6. Se cere pro"ramul de calcul al produsului a n polinoame. polinoame. 5.7. Se cere un pro"ram care calculează, cu a%utorul unui su!al"oritm, media aritmetică a elementelor ma&ime corespunzătoare fiecărei linii a unei matrici, iar apoi afişează această valoare pentru trei matrice distincte A, B, C. 5.8. ie f 1 , , f 2 , , ..., f n n polinoame. polinoame. Se cere un pro"ram care calculează valoarea sumei sumei celor n polinoame polinoame într-un într- un punct dat folosind: folosind: - o procedură de calcul a sumei a două polinoame; - o funcţie de calcul a valorii unui polinom polinom într-un punct folosind folosind sc'ema sc'ema lui (orner. 5.. ie f şi ! două polinoame. Se cere să se calculeze valoarea funcţiilor f" ! şi !" f # ntr-un ntr-un punct dat, folosind o funcţie de calcul calcul a valorii unui polinom într-un punct. 5.10. olosind dezvoltarea în serie:
3 5 7
1 x 1• 3 x 1• 3• 5 x arcsin x = x + • + • + • + . 2 3 2• 4 5 2• 4• 6 7
21)
să se definească o funcţie *+S+ care calculează $r%&'n x cu precizia ε = 106 . 22 Să se tipărească apoi valorile: ' = arcsin
54
1 , ' = 2,3,... ,m 221. '
5.11. ie şirul x1 ,x ,x2 ,...,x ,...,xn. Se cere un pro"ram care determină şi tipăreşte cea mai lun"ă secvenţă din şirul dat care are o anumită proprietate P folosind: folosind: - o funcţie care descrie proprietatea P şi şi întoarce lun"imea secvenţei care are proprietatea P şi şi începe cu x k 222 - o procedură care determină secvenţa cerută. /0e e&emplu, proprietatea * poate cere ca doi termeni vecini să ai!ă semne diferite$. 5.12. olosind un su!al"oritm care rezolvă ecuaţia f(x) = 0 /care /care are o soluţie soluţie unică în intervalu intervalull *$,$ prin metoda în%umătăţirii, în%umătăţirii, tipăriţi ta!elul de mai %os: '
3!servaţie. 4adicalul r =
n
' 22
3
5
2
...
...
...
...
. . .
. . .
. . .
1
...
...
' 22
m 225 se calculează prin rezolvarea ecuaţiei - n = m 226.
5.13. Se dau m,n,p 8 ,x2 ,...,x ,...,xn/ 1 , ,2 ,..., ,...,m/ 1 , ,2 ,..., ,..., p de numere între"i. *entru fiecare şi trei şiruri X x 1 ,x şir se cere să se calculeze calculeze şi să se afişeze afişeze frecvenţ frecvenţele ele de apariţie ale cifrelor cifrelor ,1, ..., ) în scrierea numerelor din şirurile date. 5.14. ie o "rupă de studenţi care au susţinut 5 e&amene într-o sesiune. Să se scrie pro"ramul care afişează: - primii 6 studenţi în ordinea mediei "enerale "enerale o!ţinute; - studenţii care nu au promovat cel puţin trei e&amene. 5.15. Să se scrie un pro"ram care "enerează un şir aleator de m numere între"i şi care sta!ileşte frecvenţa de apariţie în acest şir a: - numerelor prime; - numerelor divizi!ile cu 1. 3!servaţie. *entru "enerarea unui număr aleator se vor folosi funcţia şi respectiv procedura predefinită 4+8039 şi 4+8039<. 5.16. ie n şi ,..., xn un şir de numere naturale date. Să se scrie un pro"ram care "ăseşte: şi x1 , , x2 ,..., a$ media aritmetică a acestor numere; ,2 ,..., ,...,n unde ' se o!ţine în felul următor: !$ ma&imul ma&imul din şirul 1 , 1 = x 1 , ' = ( x 1,2,. ..,n ,n.. 227. x ' 6' x '1 ) 7 ( x x ' + x '1 ) , ' = 1,2,... c$ Să se scrie o funcţie !ooleană care sta!ileşte dacă cele două şiruri au şi alte elemente comune în afara primului. 5.15. 0ouă numere prime p, q se numesc "emeni dacă p = q + 2. Să se determine primele n perec'i de "emeni. 5.18. =rei numere între"i $, , %, $ % se numesc pita"orice dacă %2 = $2 + 2 22#, iar două triplete ( $1 , 1 , %1 ) 22) şi ( $2 , 2 , %2 ) 2 sunt considerate a fi asemenea dacă $1 $2
=
1 2
=
%1 %2
21.
'=1,2,...,n;. Se cere să se afişeze mulţimea tripletelor pita"orice din Se dă n şi mulţimea mulţimea de numere numere între"i X > 9x :''=1,2,...,n;. mulţimea dată şi clasele determinate de relaţia de asemănare pe această mulţime.
55
5.1. ie A1 , A2 , ... , An 22 n mulţimi de numere. Să se scrie pro"ramul care determină mulţimea: A = (...( A1 ∆ A2 ) ∆ A3 ) ∆ ... ∆ An1 ) ∆ An 2, folosind pentru aceasta o procedură de calcul a mulţimii: A ∆ B = (A B) ∪ (B A) 2. 3!servaţie. *entru rezolvarea pro!lemei se vor utiliza cel mult trei şiruri. 5.20. ie < o mulţime de su!intervale ale intervalului *$,. a$ Să se formeze o diviziune X a intervalului *$, $ = x0 8 x1 8 x 2 8 ... 8 x n = 25 care are ca puncte capetele su!intervalelor din !$ Să se calculeze valorile ' = f( x ' ) 26, unde f( x ' ) 27 este numărul de su!intervale din < în care se află x ' 2#. 5.21. tiind că şirul X
,2,6,2,,#,2,,),,1,... este o!ţinut din şirul numerelor naturale prin eliminarea numerelor prime şi scrierea după fiecare număr compus a divizorilor săi proprii, să se "enereze următoarea matricea de ordinul n
A =
x1 x 2n . . . .
.
.
.
.
.
.
x2
x n+2
.
.
.
.
.
x 2n+1
x3
x n+3
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. x 3n3
x n1
.
.
.
.
x n+1
2).
x 2n1
x n
. x 3n2
Să se tipărească în final A, A2 , ... , An . 2 5.22. Se dau n 8 şi numerele x1 , x 2 , . .., x n 21. Se cere pro"ramul care "enerează matricea de dimensiune mxk 22 care are pe liniile sale în ordine elemente din şirul: x1 , x 2 , ... , x n , x1 , x2 , ..., xn , ... . 2 5.23. tiind că şirul 9 x n ; 2: 1,2,,2,5,2,,7,2,,,2,5,11,... este format din şirul numerelor naturale în care fiecare număr compus este înlocuit prin divizorii săi proprii, să se "enereze matricea:
A =
x1 x m+1 . x (m1)•m+1
x m
x2
.
.
.
x m+2
.
.
. x 2m
.
.
.
.
x(m1)•m+2
.
.
. x m2
25.
.
5.24. Să se scrie un pro"ram care rezolvă ecuaţia matriceală: A • X + B = C 26, unde A,B,C ∈27 9 3x3 2# şi X este vectorul necunoscută. 5.25. Să se scrie un pro"ram pentru rezolvarea unui sistem liniar de patru ecuaţii cu patru necunoscute folosind
56
metoda lui ?ramer. *ro"ramul va sta!ili mai înt@i dacă sistemul este compati!il şi unic determinat. 5.26. Se dau n şi vectorii X, cu n componente numere reale. Să se calculeze valorile:
!( x' ), daca x' 8 0, ' = f( x' ) = >( x' ), daca x' = 0, 2) ?( ), daca x @ 0, ' ' pentru i>1,2,...,n, unde: !( x ' ) = ma&{ x1 , x 2 , .. ., x '} ,
{
}
?( ' ) = min ' , ... , n ,
25
pentru '>1,2,...,n, iar >( x ' ) 251 este media aritmetică a numerelor pozitive din şirul A x n 252B cu valoare mai mică dec@t ' 25. 5.27. Se dau m,n şi o matrice Amxn ( n ≥ 10) 25 ale cărei elemente sunt cifre de la la ) şi în care fiecare linie a matricei reprezintă un număr în !aza zece. Să se scrie un pro"ram care face o permutare a liniilor matricei astfel înc@t în final cele m numere reprezentate pe liniile matricei să fie în ordine crescătoare. 5.28. Să se scrie un pro"ram care calculează sumele: a$ 3 C 1n 7 C 2n + 11 C 3n ... + (1 )n1 (4n 1)C nn / 255 3
!$
( C 0n ) 0B
3
( C 1n )
+
3
+ ... +
1B
( C nn ) nB
256.
5.2. Să se scrie un pro"ram pentru calculul sumei: =
1 $1 • $ 2 •...• $ k
+
1 $2 • $3 •...• $k+1
+ . .. +
1 $nk+1 •...• $n
, 257
unde { $ n } 25# e o pro"resie aritmetică pentru care raţia şi primul termen se cer utilizatorului. 5.30. 0acă numerele $1 , $ 2 , ..., $ n+1 25) sunt primii n+1 termenii ai unei pro"resii "eometrice, să se calculeze, printr-un pro"ram, sumele:
a$ n =
!$ n = ′
1 p p $2 $1
+
$1 $2
$1
1 p
$3
+
1 26 + ... + p p $ p2 $n1 $n
$2 $3
$2
+ ... +
$n $ n+1
$n
261.
3!servaţie. 4aţia şi primul termen al pro"resiei vor fi furnizate pro"ramului de către utilizator.
57
σ ∈
5.31. Se dau n şi numerele reale $1 8 $ 2 8 ... 8 $ n 262. Să se scrie pro"ramul care tipăreşte permutarea Sn 26 pentru care suma n
n =
∑
2 ( $' $ (') ) 26 σ
'=1
este ma&imă, respectiv minimă. 5.32. ie f(X)= $0 • X n + $1 • X n1+...+ $ n1 • X + $ n • < m , 265 unde $ ' ∈ D , ' = 0,n , 266 iar X,< m 9 mxm 267 şi fie matricele A,B ∈ 9 mxm 26#. Să se scrie un pro"ram care calculează f(A) + f(B) şi f(A+B). 5.33. E dau " R şi n . Să se scrie un pro"ram care calculează suma: n
∑
k=1
cos kα 2 cos kα
sin sin
2
k α
26) k α
5.34. 0acă x1 , x 2 27 sunt rădăcinile reale ale ecuaţiei de "radul doi /cu coeficienţi reali$: $1 • x 2 + $ 2 • x + $3 = 0 271, să se scrie pro"ramul care calculează suma:
n
=
∑
k=1
x1k 3k x 2
x 2k x13k 2 . 272 2k k x1 x 2
Cn cazul în care ecuaţia de "radul doi nu are rădăcini reale se va da un mesa% de eroare corespunzător. prin:
5.35. Se dau m,n . Să se scrie pro"ramul care "enerează şi tipăreşte matricea A cu m linii şi n coloane definită
P('+ F),
2
2 $'F = R( ' , F ),
Q('+F),
daca '+ F8 min(m,n)
daca min(m,n) ≤
'+ F ≤ ma&(m,n) 27
daca ma& (m,n)8'+F
unde P(k) este numărul prim cel mai apropiat de k, Q(k) este numărul pătratelor perfecte mai mici dec@t k, iar R($,) este cmmdc/$,$. 5.36. Să se scrie un pro"ram care determină primele m numere naturale n %mm% ( n, 2 n 1 ) @ 1 275. 5.37. Să se scrie un pro"ram care determină cel mai mic număr natural n
58
∈ Ν
∈ Ν
27 cu proprietatea
care are e&act m divizori primi
proprii. 5.38. ie n
D
∈ Ν
276 Să se scrie un pro"ram care calculează suma:
m
∑
=
6
6m
•
ϕ (6) 277
unde însumarea se face după divizorii naturali ai lui m /inclusiv 1 şi m$, iar
27# este indicatorul lui
ϕ ( n) = 27) numărul numerelor naturale mai mici dec@t n şi prime cu n, ∀ n /cu convenţia ϕ (1) = 1 2#1 $.
∈
D
2#
n
5.3. ie
m=
∑
k • C k 2n 2#2 unde n , n E1. Să se scrie un pro"ram care
k=0
calculează valoarea pe un punct x dat a funcţiei:
f(x) =
n
1 m
•
∑
2
( k x ) • %2k 2n. 2#
k=0
5.40. ie ( p1 , p2 , p3 ) ( p1 8 p 2 8 p 3 ) 2# un triplet format din numere prime aflate la aceaşi distanţă unul faţă de altul, adică p3 p2 = p2 p1 = 6 @ 0, 2#5. Să se determine primele n triplete pentru care este multiplu de 2 / n ≤ 10 2#6$. 5.41. Se dau m,n şi o matrice A G m,n() care are ca elemente numere naturale. Să se scrie un pro"ram care "enerează vectorul F ce conţine drept componente toate elementele matricei care sunt prime între ele două c@te două. 5.42. Să se scrie un pro"ram care determină primele n numere prime pentru care suma cifrelor este un număr divizi!il cu 11. 5.43. Se dă o matrice A av@nd ca elemente caractere alfa!etice. Să se scrie pro"ramul care sta!ileşte dacă un cuv@nt dat apare pe vreuna din liniile sau coloanele matricei, iar în caz afirmativ tipăreşte poziţiile din matrice unde începe şi respectiv se termină cuv@ntul căutat. 5.44. Se dau n şi funcţia
f(n) =
n
∑
k 2 C n ( k + 1), n p$r
k=0 n
∑ k=1
2#7
1
, kB
n 'mp$r
a$ Se cere pro"ramul care "enerează primele m elemente ale şirului x' = f(!(')), '=1,2,...,n, unde !(n) reprezintă suma cifrelor numărului n din scrierea sa în !aza zece. !$ Să se afişeze frecvenţa de apariţie a fiecărei valori din şirul x'.
59
60
CAPITOLUL 6
PROBLEME REZOLVATE CU MATRICE
6.1. RHIAJ<< KLRH PHRMAH
Se dau n persoane şi matricea A GP n(B2 ) unde
1, 6$%$ pEr&N$nE>E ' &' F &E %OnN&% 2## $'F = 0, 'n %$3 %Nn-r$r Să se "ăsească persoanele care nu au nici o cunoştinţă. 4ezolvare. Specificarea pro!lemei este: ALH n, A/ RHILALH k,P/
9 n = nOmrO> pEr&N$nE>Nr ; 9 A = m$-r'%E p-r$- E Nr'nO> n ; 9k = nOmrO> pEr&N$nE>Nr %$rE nO $O n'%' N; 9%OnNS-'nT. P = On E%-Nr %O k %NmpNnEn-E; 9P rET'nE %E>E k pEr&N$nE fr %OnNS-'nTE ;
*entru rezolvarea pro!lemei, în matricea dată se caută liniile care au numai zerouri. Cn această căutare este nevoie de două varia!ile au&iliare ' şi F, indici în matricea A. +l"oritmul pentru rezolvarea acestei pro!leme este dat în continuare. A>!Nr'-mO> PHRMAH E&-E $-E n, A/ U'E k=0/ PEn-rO ' = 1,n ExE%O- U'E F=1/ CV--'mp (FWn) S' ($'F=0) ExE%O- F=F+1 &f%V--'mp $% F@n $-On%' k=k+1/ pk =' &f$% &fpEn-rO REO>-$-E k,P/ &f$>!Nr'-m.
9n = nOmrO> pEr&N$nE>Nr ; 9A = m$-r'%E p-r$- E Nr'nO> n ;
a scrierea pro"ramului *ascal este necesar să verificăm corectitudinea datelor, respectiv faptul că dacă persoanele ' şi F se cunosc vom avea $'F>1, dar atunci şi $ F'>1, deci matricea A tre!uie să fie simetrică. +ici s-a optat pentru o altă soluţie: nu se citeşte matricea A ci perec'ile de persoane care se cunosc, matricea A fiind construită în pro"ram. *ro"ram G83S=8=<; Far n, H, i,% : !Ite; * : arraIJ1..2K of !Ite;
A*ro"ramul 6.1.B A 4elaţia de cunoştinţe intre persoaneB A n > numărul persoanelor B AH > nr. pers. care nu au nici o cunoştinţaB A * > vector cu H componente ceB Areţine cele H persoane fără cunoştinţeB
61
a : arraIJ1..2,1..2K of !Ite;
A + > matrice de ordinul n B
L
A =4< 84. *<4S3+8< B
A 8=++4< 9+=4< B for i :> 1 to n do for % :> 1 to n do aJi,%K :> ; Nriteln /O0aţi perec'ile de persoane care se cunosc intre ele.O$; Nriteln /O*ersoanele se codifica prin numerele 1,2,...,n.O$; Nriteln /Ontroduceţi cate doua numere pe o linie /separateO, Oprin spaţiu$O$; Nriteln /O*entru terminarea introducerii tastaţi: O$; A =4<+ 0+=<34, G <98+4<+ <34 <438+=< B Nrite /OD O$; readln /i,%$; N'ile /iP$ and /%P$ do !e"in if /iQ>n$ and /%Q>n$ t'en !e"in aJi,%K :>1; aJ%,iK :>1 end AifB; Nrite /OD O$; readln /i,%$; endAN'ileB; A +G=+4< *<4S3+8< +4< 8G +G G83S=8=< B H:>; for i :> 1 to n do !e"in % :> 1; N'ile /%Q>n$ and /aJi,%K>$ do % :> %R1; if % P n t'en !e"in H:>HR1; *JHK:>i endAifB; endAforB; A =*+44<+ 4<G=+=<34 B Nriteln; Nrite /O*ersoanele care nu au cunoştinţe: O$; if HP t'en for i:>1 to H do Nrite/pJiK:5$ else Nriteln /O nu e&ista O$; <80. 6.2. PALRALH GA
Să se realizeze un pătrat ma"ic de ordin impar. 4ezolvare. *rin pătrat ma"ic se înţele"e o matrice pătrată de ordin n cu elementele A1, 2, ..., n2B aşezate astfel înc@t suma elementelor de pe fiecare linie, coloană sau dia"onală este aceeaşi. u această precizare specificaţia pro!lemei este următoarea: ALH n/ RHILALH A/
9 n , n@1, rEprE'n- Nr'nO> m$-r'%E' ; 9A=m$-r'%E E Nr'nO> n, %$rE rEprE'n- ; 9p-r$-O> m$!'%/ E%' &Om$ E>EmEn-E>Nr pE ; 9 f'E%$rE >'n'E, %N>N$n &$O '$!Nn$> E&-E $%EE$S' ;
Cn "eneral al"oritmul de construire a unui pătrat ma"ic este complicat. 0acă n > 2k R1 atunci e&istă mai mulţi al"oritmi care o!ţin pătratul ma"ic. Fom folosi următoarea metodă: - se începe cu $1k = 1. - 0acă $'F > k atunci $'1,F+1 :> k R1, dacă locul este li!er, altfel $'+1,F :> k R1.
62
- irul indicilor se consideră circular, adică după n urmează 1, înaintea lui 1 este n. <&cepţie de la re"ulă: dacă $1n > k atunci $2n:> HR1. HxEmp>O: 17 2 1 11
2 1 # 15 5 7 1 16 6 1 2 22 12 1) 21 1# 25 2 )
*entru trecerea la noua poziţie se recomandă să se folosească formulele: m1= ('+n2) mNO>N n + 1 m2= F mNO>N n + 1. A>!Nr'-mO> PDGA
ALH n/ PEn-rO '=1,n ExE%O- PEn-rO F=1,n ExE%O- U'E $*',F = 0 &fpEn-rO &fpEn-rO U'E '=1/ F=n ' 2 +1/ $*',F=1/ PEn-rO k = 2,nn ExE%O- m1 = ('+n2) mN n + 1/ m2 = F mN n + 1/ $% $*m1,m2 Y 0 $-On%' $% (m1=n) S' (m2=1) $-On%' m1 = 2/ m2 = n $>-fE> m1 = '+1/ m2 = F &f$% U'E $*m1,m2=k/ U'E '=m1/ F= m2/ &f$% &fpEn-rO RHILALH A/ &f$>!Nr'-m
9 E %$>%O>E$ On p-r$- m$!'% ; 9 A%E&-$ E&-E N m$-r'%E p-r$- E Nr'nO> n ; 9 %$rE $rE &Om$ E>EmEn-E>Nr pE f'E%$rE >'n'E, ; 9%N>N$n &$O '$!Nn$> $%EE$S' ; 9 n , n@1, rEprE'n- Nr'nO> m$-r'%E' ; 9 'n'T'$>'$rE m$-r'%E ; 9 f'x$rE >N%O> E pNrn'rE; 9 %$>%O>O> pN'T'E' Orm-N$rE;
9 $-r'O'rE nNO$ $>N$rE ; 9 S' nNO$ pN'T'E ;
*ro"ramul *ascal ec'ivalent este următorul: *ro"ram ma"ic;
Gses rt; Far n, m1, m2, i, %, H : inte"er; a : arraIJ1..1),1..1)K of inte"er;
A *ro"ramul 6.1.B A Se calculează un pătrat ma"ic. B A +cesta este o matrice pătrata de ordinul n B A care are suma elementelor pe fiecare B A linie, coloană sau dia"onală aceeaşi B A n 8, nP1, reprezintă ordinul matricei B A varia!ile curente pentru noua poziţie B A dau poziţia curenta in pătrat B A valoarea ce se scrie in pătrat B A *ătratul ma"ic B
Le"in Triteln/OSe construieşte un pătrat ma"ic cu n liniiO$;
63
4epeat Nrite /On>O$; readln /n$ until /n in J1..1)K$ and 3dd/n$; for i :> 1 to n do for % :> 1 to n do aJi,%K :> ; i:> 1; %:> n div 2 R 1; aJi,%K:>1; for H :> 2 to nDn do !e"in m1 :> /iRn-2$ mod n R 1; m2 :> % mod n R 1; if aJm1,m2K QP t'en if /m1>n$ and /m2>1$ t'en !e"in m1 :> 2; m2 :> n end else !e"in m1:>iR1; m2 :> % end; aJm1,m2K :> H; i :> m1; % :> m2; end; lrScr; for i :> 1 to n do !e"in Nriteln; for % :> 1 to n do Nrite /aJi,%K:$; end; Nriteln; Nriteln /OSuma ma"ica > O, nD/nDnR1$ div 2$; readln; <80.
A iteşte n B A iniţializare matrice B A fi&are locul de pornireB
A calculul poziţiei următoare B
A atri!uire noua valoare B A =ipărirea rezultatului B A tipăreşte linia i B
6.3. PRMBIHGH PRMPH 6.1. Se dau n localităţi. Cntr-o matrice A sunt marcate drumurile directe între localităţi astfel: $ 'F = 1, 2#) dacă e&istă drum direct între localităţile ' şi F/ $ 'F = 0, 2) dacă nu e&istă drum între ' şi F, pentru ',F>1,2,...,n. 6.1.1. Să se determine dacă din localitatea x se poate a%un"e în localitatea I. 6.1.2. Să se determine localităţile în care se poate a%un"e din localitatea x. 6.1.3. Să se determine toate drumurile de la k la > pentru k şi > date. 6.2. Se dau n persoane şi matricea A cu elementele $ 'F = 1, 2)1 dacă pEr&N$nE>E ' şi F se cunosc; $ 'F = 0, 2)2 în caz contrar, pentru ',F>1,2,...,n. 6.2.1. Să se determine persoanele care le cunosc pe toate celelalte. 6.2.2. Să se determine dacă cele n persoane pot fi împărţite în două /sau mai multe$ "rupe astfel înc@t nici o persoană dintr-o "rupă să nu cunoască pe nimeni din celelalte "rupe. 6.2.3. Să se determine persoana care are cele mai multe cunoştinţe.
64
6.2.4. 0acă n E6, să se verifice dacă e&istă trei persoane care se cunosc între ele, sau trei care nu se cunosc între
ele.
6.3. Se dau n relaţii de rudenie prin matricea A>($'F ), '>1,2, ...n, F>1,2, unde $ '2 2) este copilul lui $'1 2) pentru fiecare '>1,2,..., n. 6.3.1. Să se "ăsească: copiii lui k, părinţii lui k, strămoşii lui k, pentru k dat. 6.3.2. Să se "ăsească: persoanele care nu au fraţi, persoanele care au numai fraţi vitre"i. 6.3.3. Să se "ăsească verii primari şi secundari ai unei persoane date. 6.3.4. Să se "ăsească toate familiile /"rupele formate din persoanele care sunt rude între ele$. 6.4. Se dau n localităţi şi matricea A cu elementele $'F , ',F>1,...,n, unde $'F este e"al cu costul construirii drumului dintre localităţile ' şi F, dacă se poate construi un drum, respectiv dacă nu se poate construi un drum. Să se "ăsească o reţea de drumuri care lea"ă toate localităţile şi este de cost minim. 6.5. Se dau n , G > 9$1 ,$2 ,...,$n ; şi D : G & G --P G o operaţie peste mulţimea G. +ceastă operaţie poate fi identificată cu o operaţie definită pe GZ > A1,2,...,nB şi reprezentată printr-o matrice M cu elementul N'F > k dacă şi numai dacă $'$ F > $k /deci 'DO F>k $. 0eci operaţia D, definită peste o mulţime ar!itrară G, poate fi studiată prin intermediul operaţiei DO definită pe mulţimea GZ şi reprezentată în calculator prin matricea M. 6.5.1. Să se verifice dacă: a$ operaţia D este comutativă; !$ e&istă element neutru /st@n"a şi dreapta$. 6.5.2. Să se rezolve ecuaţiile: $X > şi X$ > . 6.5.3. 0@ndu-se o su!mulţime de indici [ > 9'1 , '2 , ..., 'mB U GZ şi o operaţie Udatţ prin matricea M, să se verifice dacă [ este parte sta!ilă în raport cu operaţia U. 6.5.4. Să se verifice dacă operaţia dată este asociativă.
element. element.
6.5.5. Să se verifice dacă operaţia admite element neutru la dreapta şi în caz afirmativ să se precizeze acest 6.5.6. Să se verifice dacă operaţia admite un element neutru la st@n"a şi în caz afirmativ să se precizeze acest 6.5.7. Să se verifice dacă operaţia admite un element neutru.
6.5.8. Se ştie că operaţia are ca element neutru pe k. *entru un F G, V să se verifice dacă acest element are element simetric la dreapta faţă de operaţia dată. 6.5.. ie k elementul neutru al operaţiei. *entru un F\ G, să se verifice dacă acest element are element simetric la st@n"a faţă de operaţia dată. 6.5.10. ie k elementul neutru al operaţiei. Să se determine un vector s , ale cărui componente sunt &1 ,&2 ,...,&n , unde &' este dacă ' nu are element simetric şi este F dacă F este simetricul lui '. 6.5.11. Să se verifice dacă structura al"e!rică / G ,D$ este un "rup. 6.6. Se dă o relaţie R printr-o matrice cu elementele $ 'F = 1, 2)5 dacă ' este în relaţie cu F /deci 'RF$, $ 'F = 0, 2)6 dacă ' nu este în relaţie cu F /deci 'YRF $,
65
pentru ',F>1,2,...,n. 6.6.1. Să se verifice dacă relaţia R este refle&ivă. 6.6.2. Să se verifice dacă relaţia R este simetrică. 6.6.3. Să se verifice dacă relaţia R este antisimetrică. 6.6.4. Să se verifice dacă relaţia R este tranzitivă. 6.6.5. Să se determine relaţia RZ complementară, definită astfel: $RZ dacă şi numai dacă $R nu are loc. 6.6.6. Să se determine relaţia inversă R 1. 6.6.7. Să se determine relaţia complementară R% definită astfel: $R% prin definiţie dacă $YR . 6.6.8. 0acă se dau două relaţii R1 şi R2 , să se determine compunerea celor două relaţii: L > R1 o R2 înseamnă că /$L% dacă şi numai dacă e&istă astfel ca $R1 şi R2%$. 6.7. Se dau mulţimile A şi B: A = 9 $1 , $ 2 ,... , $ m ; B = 9 1 , 2 ,... , n ;
2)7.
3 relaţie R între A şi B poate fi reprezentată printr-o matrice cu elementele:
1 , daca $' R + F 2)# = r 'F 0 , altfel .
nu.
6.7.1. iind date două relaţii R1 şi R2 peste aceleaşi mulţimi, să se verifice dacă relaţia R1 este inclusă în R2 sau 6.7.2. Să se verifice dacă R1 > R2 . 6.7.3. Să se construiască matricea relaţiei R1 U R2 /reuniune$. 6.7.4. Să se construiască matricea relaţiei R1 W R2 /intersecţie$. 6.7.5. ie R o relaţie omo"enă peste G. Să se construiască relaţia Rk , unde Rk > Rk 1U R /adică Rk 1 compus cu R$.
6.7.6. ie R o relaţie omo"enă peste G. Să se determine matricea relaţiei R+ de înc'idere tranzitivă a lui R / R+ > R U R2 U... U Rn$ 6.8. Se dau două operaţii N1 şi N2 peste mulţimea G >A1,2,...,n;, reprezentate ca în pro!lema 6.5. 6.8.1. Să se verifice dacă operaţia N1 este distri!utivă la dreapta faţă de operaţia N2. 6.8.2. Să se verifice dacă operaţia N1 este distri!utivă la st@n"a faţă de operaţia N2. 6.8.3. Să se verifice dacă structura al"e!rică (G,N1 ,N2 ) este inel. 6.8.4. 0acă (G,N1 ,N2 ) este inel, N1 operaţia aditivă, N2 operaţia multiplicativă, '1 elementul neutru al operaţiei aditive, iar '2 elementul neutru al operaţiei multiplicative, să se verifice e&istenţa divizorilor lui zero în inel.
66
6.8.5. Să se verifice dacă structura al"e!rică (G,N1 ,N2 ) este corp. 6.. Se dau două structuri al"e!rice finite cu c@te o operaţie, (G 1 ,N1 ) şi (G 2 ,N2 ), reprezentate ca în pro!lema 6.5, cu G 1 = G 2 = A1,2,...,nB. Se dă şi aplicaţia f : G 1 --P G 2 , reprezentată printr-un vector U cu n componente astfel: U ' > F dacă şi numai dacă f(')> F. a$ Să se verifice dacă f este un morfism. !$ Să se verifice dacă f este izomorfism. 6.10. ie A, B, C trei mulţimi finite şi relaţiile R1 peste AxB şi R2 peste BxC, reprezentate prin matricele lor, ca în pro!lema 6.7. Să se construiască relaţia compusă L > R1 U R2. 6.11. Se dau n localităţi. Cntr-o matrice A=($'F ), ',F=1,2,..., n, sunt marcate lun"imile drumurilor directe dintre localităţi: $ 'F = , 2)) dacă e&istă drum direct între ' şi F şi este distanţă între ' şi F; $ 'F = 0, dacă nu e&istă drum direct între ' şi F. 6.11.1. Să se determine drumul de lun"ime minimă între două localităţi date. 6.11.2. Să se determine matricea =( ' )F a drumurilor, unde 'F > distanţa minimă între localităţile ' şi F, pentru ',F=1,2,...,n. 6.11.3. 0acă (',F) este distanţa minimă între ' şi F, atunci notăm prin δ /i$ > ma& A d/i, %$X % > 1,2,...,n B şi localitatea ' se numeşte cea mai centrală dacă δ /i$ > min A δ /%$X % > 1,2,..., n B 2 Să se determine localitatea cea mai centrală. 6.12. Se dau n intersecţii de străzi într-un oraş. Cntr-o matrice A=($'F ), ',F>1,2,...,n, sunt marcate sensurile de circulaţie pe străzile oraşului: $'F = 1 , dacă se poate circula dinspre ' spre F, $'F = 0 , în caz contrar. 6.12.1. Să se determine dacă e&istă în oraş străzi care formează un circuit. 6.12.2. 0acă în fiecare intersecţie numărul sensurilor care intră în intersecţie coincide cu numărul sensurilor care ies din ea, să se determine un circuit care parcur"e fiecare sens o sin"ură dată, indiferent din ce intersecţie se porneşte. 6.13. Se dau rezultatele la meciurile de fot!al a celor n ec'ipe pe primele m etape. Se cere clasamentul. 6.14. Gn pluton de soldaţi formează o coloană de defilare care are m r@nduri, cu n soldaţi pe un r@nd. 0e pe fiecare r@nd este ales cel mai scund soldat, iar dintre cei aleşi cel mai Unalt primeşte primul stea". +l doilea stea" este repartizat similar - se ale" din fiecare r@nd soldaţii cei mai înalţi, iar dintre cei aleşi cel mai scund primeşte al doilea stea". Cn cazul în care e&istă mai mulţi soldaţi cu aceeaşi înălţime, se ale"e primul dintre ei. Să se afişeze înălţimile purtătorilor de stea". Falorile m, n şi înălţimile soldaţilor se dau. 6.15. a un concurs de frumuseţe pentru c@ini sunt n participanţi şi m criterii de selecţie, iar rezultatele se reprezintă într-o matrice X de dimensiune m & n. *entru fiecare criteriu ]'] se cunosc: GAX(') > puncta%ul ma&im ce se poate o!ţine la criteriul ]'] şi G<(') > limita inferioară a puncta%ului pentru criteriul ]']. 6.15.1. Să se dea numărul c@inilor care nu îndeplinesc condiţiile de participare. 6.15.2. Să se decidă dacă e&istă c@ine c@şti"ător la fiecare criteriu.
67