Sunteți pe pagina 1din 16

Introducere

Un algoritm este o metod de rezolvare a unei probleme printr-un numr finit de pai. Printr-un pas se nelege o operaie executabil de ctre un operator. Putem spune c un algoritm seamn cu un proces de calcul (un complex de operaii) cu o reet. !u orice proces de calcul este un algoritm. Un program de calculator este un complex de instruciuni scrise ntr-un anumit limba" numit limba" de programare ce transcriu operaiile dintr-un algoritm pentru operator. #nstruciunile unui limba" de programare trebui s fie neles at$t pentru programator c$t i pentru operator. Proprietile algoritmilor generalitatea (pentru rezolvarea mai multor probleme din aceeai sfer) finitudinea determinismul (s cuprind toate cazurile posibile) unicitatea (la aceleai intrri s obin aceleai ieiri dar prelucrarea s fie unic) claritatea%precizia (la orice operaie executat s se tie ce operaie urmeaz) &in punct de vedere structural un algoritm cuprinde urm. etape' iniializarea prelucrarea furnizarea rezultatelor Un algoritm are ( sau mai multe date de intrare. )ceste date se mai numesc i date iniiale. *peratori logici' )!& *+ !*, - . .)lgoritmii n principal cei pentru prelucrarea datelor pot fi exprimai n diferite modaliti' text liber pseudocod sc/em logic limba" de programare. )lgoritmii sunt n special pentru prelucrare automat a datelor. constante variabile Prezentarea unui algoritm' text sc/em logic pseudocod limba" de programare 0tructuri de date *rganizare datelor este un proces cu urm. activiti' identificarea datelor clasificarea i descrierea proprietilor sau caracteristicile datelor gruparea datelor n colecii de date destinate prelucrrii reprezentarea extern pe suportul te/nic al datelor identificarea definirea i descrierea procedurilor de preluare i stocare a datelor

1n calculator datele sunt memorate pe supori de memorie extern sub forma unor colecii de date uniform structurate numite fiiere. *rganizarea uniform se face prin nregistrri. &e regul toate nregistrrile dintr-un fiier n aceeai zon' gsim acelai tip de dat. 2odalitatea structurrii nregistrrilor o tie doar programatorul n cazul unui fiier. ,abela este un fiier care conine colecii de date dar i structura nregistrrilor. 1n funcie de obiectele pe care le reprezint datele se clasific' date elementare sau scalare (entiti indivizibile) colecii de date (mulime de date elementare ntre care se definesc i se descriu anumit relaii) #. &atele elementare pot fi tratate sub 3 aspecte' !ivelul fizic ce corespunde modului de organizare i reprezentare intern a datelor. * dat elementar se memoreaz ntr-o zon de memorie situat la o anumit adres. 4a poate conine date numerice alfanumerice sau de un tip declarat fiind reprezentate n cod binar. 1n acest caz cea mai mic unitate de adresare fiind bitul. !ivelul logic ce corespunde modului de organizare i prelucrare a datelor de ctre utilizatori. Pentru identificarea unic a datelor utilizatorul va specifica pentru fiecare urm. elemente' identificatorul de dat sau numele asociat datei. mulimea valorilor pe care le poate lua data respectiv n procesul prelucrrii. verificarea ncadrrii n domeniul de valori (modelele de validare) atribute' tipul datei (numeric simpl vector ...) precizia de reprezentare intern a datei (pentru numere reale exist reprezentare cu simpl sau dubl precizie) alte caracteristici (alinierea modalitatea de alocare a memoriei asociate datei ...) ##. 0e numete structur de date o colecie de date pentru s-a definit un mecanism de selectare i identificare a componentelor. Pe baza acestor mecanisme sau n ele se pot introduce relaii care s asigure ordonarea datelor dup criteriile dorite i s faciliteze n acest mod prelucrarea lor. 1ntre date exist relaii ce se pot grupa n 3 categorii' )partenena datelor la entitate. 5egturile dintre entitile de acelai tip sau de tipuri diferite &in alt punct de vedere o structur de date poate fi' 0ecvenial (localizarea unei componente se face prin parcurgerea tuturor componentelor care se afl naintea sa n ordinea existent) 6u acces direct (dac o component din structur poate fi localizat fr a ine cont de celelalte componente) 6omponentele unei structuri date pot fi' &ate elementare 0tructuri de date &up tipul componentelor structurile se pot grupa n' structuri de date omogene (conin componente de acelai tip) structuri de date eterogene (cu componente de tipuri diferite) 5a fel ca i datele elementare structuri de date pot fi reprezentate at$t n memoria intern c$t i n memoria extern'

fiierul (colecie de date uniform structurat pe baza unor elemente de structur numite nregistrri) baz de date (colecie de fiiere i tabele mpreun cu un mecanism de gestionarea lor numit sistem de gestiune a bazelor de date- 078&) banca de date (o colecie de baze de date mpreun cu toate elementele implicate n gestionarea ei const$nd n ec/ipamente module soft for de munc suport financiar ...)

&in punct de vedere a modului de alocare a zonelor de memorie' structuri de date statice (alocarea zonei de memorie se face n momentul compilrii i nu se sc/imb) structurile de date dinamice (alocarea zonei de memorie se face numai n momentul executrii modulului care utilizeaz aceasta aceste zone put$nd fi modificate eliberate realocate pe toat durata de execuie a programului respectiv). 0e numete tip de structur o mulime ordonat de date ntre care s-a stabilit o relaie (sau mai multe) i care folosete pentru realizarea operaiilor specifice structurii un grup de operatori de baz cu o anumit semantic. !oiuni privind limba"ele de programare 5imba" de programare 9 este un ansamblu de simboluri cuvinte instruciuni si semnificaii atribuite acestora utilizat pentru descrierea algoritmilor inteligibil(accesibil) at$t operatorului uman cit si executantului. ,ranscrierea unui algoritm este un program. Programul este o succesiune de instruciuni aparin$nd unui limba" de programare prin care se descriu operaiile si ordinea de executare a acestora pentru rezolvarea automata a unei probleme date(pentru transcrierea unui algoritm). )vem mai multe tipuri de limba"e de programare' 5imba"e procedurale(limba"e universale) 9 deoarece nu sunt limitate la un anumit tip de probleme 078& 5imba"e de programare pe obiecte (orientate spre obiecte) *rice limba" de programare presupune definirea urmtoarelor' )lfabetul 7ramatica :ocabularul Punctuaia 0emantica )lfabetul 9 mulimea caracterelor alfabetice numerice speciale. :ocabularul 9 dat de totalitatea cuvintelor folosite de limba"ul de programare 6uvintele pot fi' ;. cuvinte rezervate 9 acestea au o semnificaie prestabilita pentru limba"ul de programare(funcii proceduri etc.) 6uvintele rezervate se mai numesc si cuvinte c/eie. )tunci c$nd sunt obligatorii in cadrul unor elemente de limba" (instruciuni pri ale programului). )numite limba"e mai utilizeaz si cuvinte rezervate opionale.

3. cuvinte utilizator - sunt de fapt identificatorii(nume pentru constante variabile fiiere proceduri etc.) cuvintele utilizator trebuie sa respecte anumite reguli de constituire cum ar fi sa nceap cu o litera sa nu conin anumite caractere speciale fiecare limba" precizeaz de regula ce caractere pot sa conin identificatorii. 0pre exemplu' !+<6+, nu !+-6+,. 7ramatica - cuprinde sintaxa si morfologia ;. sintaxa - metoda de formare a propoziiilor si frazelor instruciunilor 3. morfologia cuprinde ansamblul regulilor de modificare a formei cuvintelor. Punctuaia - reprezint un ansamblu de reguli privind utilizarea semnelor speciale numite 9 de punctuaie conform prevederilor din sintaxa. 0emantica 9 definete sensul atribuit cuvintelor si instruciunilor. #n general prima forma a unui program este obinuta prin intermediul unui modul al limba"ului de programare numit 4&#,*+ 9 program sursa. Unele limba"e de programare accepta si alte editoare pentru realizarea programelor sursa.

*bservaie ' marea ma"oritate a programelor surse sunt sub forma unui fiier text. &e la programul sursa pentru executarea unui program se trece la o forma mult mai apropiata de sistemul de operare si de maina pe care se dorete sa se lucreze. 6ompilare 9 procedura soft=are care realizeaz traducerea programului sursa in cod intern rezult$nd aa zisul program obiect. 4lementele ale limba"ului de programare Pascal. Pascalul face parte din categoria limba"elor de programare de nivel nalt procedural folosind cu succes recomandrile date de teoria programrii structurate. * mulime ordonata de instruciuni asociate unui algoritm de programare accesibile unui operator. #nstruciunea reprezint exprimarea in forma riguroasa impusa de limba"ul de programare a unei operaii si precizeaz funcia sau operaia si operatorii

0 se determine un algoritm eficient prin care s se preia elementele unei matrice de n linii i m coloane de numere reale. 0 se determine minimul. maximul pentru fiecare linie i coloan i la nivel de matrice cu poziiile acestor valori. 0 se determine media elementelor nenule pentru fiecare linie coloan i la nivel de matrice. *80.' una din condiiile ca algoritmul s fie eficient este ca parcurgerea elementelor matricei s se fac de c$t mai puine ori. 1n final se vor afia toate rezultatele obinute.
type inreg=record suma=record x,y:integer; end;

s:real; nr:integer; end; var n,m,i,j,t,p,nr:integer; a:array[1..50,1..50]of real; po !xl,po !xc,po !nl,po !nc:array[1..50,1..50]of integer; po !max,po !min:array[1..50]of inreg; max!l,max!c,min!l,min!c:array[1..50]of real; nrmax!l,nrmax!c,nrmin!l,nrmin!c,nrmax,nrmin:array[1..50]of integer; max,min,s:real; sl,sc:array[1..50]of suma; "egin #rite$%nr. linii:%&;readln$n&; #rite$%nr. coloane:%&;readln$m&; for i:=1 to n do for j:=1 to m do "egin #rite$%a[%,i,%,%,j,%]:%&;readln$a[i,j]&;end; for i:=1 to n do "egin max!l[i]:=a[i,1];min!l[i]:=a[i,1]; nrmax!l[i]:=1;nrmin!l[i]:=1; po !xl[i,nrmax!l[i]]:=1;po !nl[i,nrmin!l[i]]:=1; if a[i,1]'(0 t)en "egin sl[i].s:=sl[i].s*a[i,1]; sl[i].nr:=sl[i].nr*1 end; for j:=+ to m do "egin if max!l[i]'a[i,j] t)en "egin max!l[i]:=a[i,j]; nrmax!l[i]:=1; po !xl[i,nrmax!l[i]]:=j end else if max!l[i]=a[i,j] t)en "egin nrmax!l[i]:=nrmax!l[i]*1; po !xl[i,nrmax!l[i]]:=j end; if min!l[i](a[i,j] t)en "egin min!l[i]:=a[i,j]; nrmin!l[i]:=1; po !nl[i,nrmin!l[i]]:=j end else if min!l[i]=a[i,j] t)en "egin nrmin!l[i]:=nrmin!l[i]*1; po !nl[i,nrmin!l[i]]:=j end; if a[i,j]'(0 t)en "egin

end; end; for j:=1 to m do "egin max!c[j]:=a[1,j];min!c[j]:=a[1,j]; nrmax!c[j]:=1;nrmin!c[j]:=1; po !xc[j,nrmax!c[j]]:=1;po !nc[j,nrmin!c[j]]:=1; if a[1,j]'(0 t)en "egin sc[j].s:=sc[j].s*a[1,j]; sc[j].nr:=sc[j].nr*1 end; for i:=+ to n do "egin if max!c[j]'a[i,j] t)en "egin max!c[j]:=a[i,j]; nrmax!c[j]:=1; po !xc[j,nrmax!c[j]]:=i end else if max!c[j]=a[i,j] t)en "egin nrmax!c[j]:=nrmax!c[j]*1; po !xc[j,nrmax!c[j]]:=i end; if min!c[j](a[i,j] t)en "egin min!c[j]:=a[i,j]; nrmin!c[j]:=1; po !nc[j,nrmin!c[j]]:=i end else if min!c[j]=a[i,j] t)en "egin nrmin!c[j]:=nrmin!c[j]*1; po !nc[j,nrmin!c[j]]:=i end; if a[i,j]'(0 t)en "egin sc[j].s:=sc[j].s*a[i,j]; sc[j].nr:=sc[j].nr*1 end; end; end; max:=max!l[1]; min:=min!l[1]; for i:=+ to n do "egin if max'max!l[i] t)en max:=max!l[i]; if min(min!l[i] t)en min:=min!l[i]; end; t:=0;p:=0; for i:=1 to n do if max=max!l[i] t)en for j:=1 to nrmax!l[i] do "egin t:=t*1; po !max[t].x:=i; po !max[t].y:=po !xl[i,j] end; for i:=1 to n do

sl[i].s:=sl[i].s*a[i,j]; sl[i].nr:=sl[i].nr*1 end;

if min=min!l[i] t)en for j:=1 to nrmin!l[i] do "egin p:=p*1; po !min[p].x:=i; po !min[p].y:=po !nl[i,j] end; for i:=1 to n do "egin #riteln$%maximul pe linia '%,i,%( este:%,max!l[i]:5:+,% ,, minimul pe linia '%,i,%( este:%,min!l[i]:5:+&; #rite$%po itiile maximului: %&; for j:=1 to nrmax!l[i] do if po !xl[i,j]'(0 t)en #rite$po !xl[i,j],% %&; #rite$%,, po itiile minimului: %&; for j:=1 to nrmin!l[i] do if po !nl[i,j]'(0 t)en #rite$po !nl[i,j],% %&; end; for i:=1 to m do "egin #riteln$%maximul pe coloana '%,i,%( este:%,max!c[i]:5:+,% ,, minimul pe coloana '%,i,%( este:%,min!c[i]:5:+&; #rite$%po itiile maximului: %&; for j:=1 to nrmax!c[i] do if po !xc[i,j]'(0 t)en #rite$po !xc[i,j],% %&; #rite$%,, po itiile minimului: %&; for j:=1 to nrmin!c[i] do if po !nc[i,j]'(0 t)en #rite$po !nc[i,j],% %&; end; #riteln$%maximul pe matrice:%,max:5:+&; #rite$%po itiile maximului: %&; for i:=1 to t-1 do #rite$po !max[i].x,% %,po !max[i].y,%,%&; #rite$po !max[t].x,% %,po !max[t].y&; #riteln$%minimul pe matrice:%,min:5:+&; #rite$%po itiile minimului: %&; for i:=1 to p-1 do #rite$po !min[i].x,% %,po !min[i].y,%,%&; #rite$po !min[p].x,% %,po !min[p].y&; s:=0;nr:=0; for i:=1 to n do if sl[i].s'(0 t)en "egin #riteln$%media pe linia '%,i,%( este:%,sl[i].s,sl[i].nr:5:+&; s:=s*sl[i].s; nr:=nr*sl[i].nr end else #riteln$%nu exista elemente nenule pe linia '%,i,%(%&; for i:=1 to m do if sc[i].s'(0 t)en #riteln$%media pe coloana '%,i,%( este:%,sc[i].s,sc[i].nr:5:+& else if s'(0 t)en #riteln$%media elem nenule pe matrice este:%,s,n:.:+& else #riteln$%nu exista elemente nenule in matrice%&; readln

end.

0e citesc de la tastatur 3 vectori v; de >n? elemente i v3 de >m? elemente. 0 se fac un algoritm eficient i structurat reprezentat printr-o sc/em logic i limba" de programare 6are s rezolve urmtoarele operaii' sortarea vectorul v; prin intersc/imbare (metoda bulelor) sortarea vectorului v3 prin metoda seleciei (minim maxim i locurile lor). #nterclasarea celor 3 vectori i afiarea at$t a vectorului v@ rezultat c$t i a poziiilor iniiale pentru fiecare valoare a acestuia n vectorii de provenien v; v3. dup memorarea acestora. 0 se afieze de asemenea vectorul v; n forma iniial i forma ordonat i v3 la fel.

type vector=record n,o,v,p:integer; end; var v1,v+,v/:array[1..50]of vector; n,m,i,j,0,x,p,u,tmp,min,max,nrmin,nrmax:integer; o0:"oolean; po max,po min:array[1..50]of integer; "egin #rite$%nr elemente v1:%&;readln$n&; for i:=1 to n do "egin #rite$%v1[%,i,%]=%&;readln$v1[i].n&; v1[i].o:=v1[i].n;v1[i].p:=i end; #rite$%nr elemente v+:%&;readln$m&; for j:=1 to m do "egin #rite$%v+[%,j,%]=%&;readln$v+[j].n&; v+[j].o:=v+[j].n;v+[j].p:=j end; o0:=true; #)ile o0'(false do "egin o0:=false; for i:=1 to n-1 do if v1[i].n(v1[i*1].n t)en "egin tmp:=v1[i].n; v1[i].n:=v1[i*1].n; v1[i*1].n:=tmp; o0:=true end end; p:=1;u:=m; #)ile $p'u& do "egin for i:=p*1 to u do if min(v+[i].n t)en "egin min:=v+[i].n; nrmin:=1; po min[nrmin]:=i end else if min=v+[i].n t)en "egin nrmin:=nrmin*1; po min[nrmin]:=i

end; j:=1; for i:=p to p*nrmin-1 do "egin tmp:=v+[i].n; v+[i].n:=v+[po min[j]].n; v+[po min[j]].n:=tmp; j:=j*1 end; p:=p*nrmin; max:=v+[p].n;nrmax:=1;po max[nrmax]:=p; for i:=p*1 to u do if max'v+[i].n t)en "egin max:=v+[i].n; nrmax:=1; po max[nrmax]:=i end else if max=v+[i].n t)en "egin nrmax:=nrmax*1; po max[nrmax]:=i end; j:=nrmax; for i:=u do#nto u-nrmax*1 do "egin tmp:=v+[i].n; v+[i].n:=v+[po max[j]].n; v+[po max[j]].n:=tmp; j:=j-1 end; u:=u-nrmax; end; 0:=0;i:=1;j:=1; #)ile $i'=n&and$j'=m& do "egin 0:=0*1; if v1[i].n'v+[j].n t)en "egin v/[0].n:=v1[i].n; v/[0].p:=i;v/[0].v:=1; i:=i*1 end else "egin v/[0].n:=v+[j].n; v/[0].p:=j;v/[0].v:=+; j:=j*1 end end; if i(m t)en for tmp:=j to m do "egin 0:=0*1;v/[0].n:=v+[tmp].n; v/[0].p:=tmp;v/[0].v:=+; end else for tmp:=i to n do "egin 0:=0*1;v/[0].n:=v1[tmp].n; v/[0].p:=tmp;v/[0].v:=1; end; #rite$%v1 ordonat : %&; for i:=1 to n do #rite$v1[i].n,% %&; #riteln;#rite$%v1 initial : %&; for i:=1 to n do #rite$v1[i].o,% %&;

#rite$%v+ ordonat : %&; for i:=1 to m do #rite$v+[i].n,% %&; #riteln;#rite$%v+ initial : %&; for i:=1 to m do #rite$v+[i].o,% %&; #rite$%v/ ordonat : %&; for i:=1 to 0 do #rite$v/[i].n,% %&; for i:=1 to 0 do #riteln$%elementul [%,i,%] din v/ se afla in vectorul ''v%,v/[i].v,%(( pe po itia [%,v/[i].p,%]%&; readln end.

Problema 3. 0 se calculeze suma elementelor de rang impar ale unui vector de dimensiune n dat. 4lementele vectorului sunt numere reale i se introduc de la tastatur.
var x:array[1..100]of real; n,i:"yte; s:real; "egin #rite$%dimensiunea vectorului %&;readln$n&; for i:=1 to n do "egin #rite$%x[%,i,%]=%&;readln$x[i]& end; s:=0; for i:=1 to n do if odd$i& t)en s:=s*x[i]; #riteln$%suma = %,s:10:+& end. sc)ema logic1

cod

START

citeste n

citeste x[i], i=1,n

s=0 i=1

NU i=impar

DA

s=s+x[i] i=i+1

DA i<=n

scrie s

STOP

Problema 4 &eterminarea ultimei apariii a unei valori date ntr-un vector neordonat de dimensiune n. cod
var x:array[1..100]of real; n,i,po :"yte; a:real; "egin #rite$%dimensiunea vectorului %&;readln$n&; for i:=1 to n do "egin #rite$%x[%,i,%]=%&;readln$x[i]& end; #rite$%valoarea cautata %&;readln$a&; po :=0; for i:=1 to n do if x[i]=a t)en po :=i; if po '(0 t)en #riteln$%po itia = %,po & else #riteln$%valoare negasita%& end. sc)ema logic1

START

citeste n,v

citeste x[i], i=1,n

po !=0 i!=1

i=n DA x[i]=v po !=i

i=i+1 NU po =0 scrie "n# exista" scrie po DA

STOP

Problema 5 &eterminarea elementului maxim dintr-un vector i a tuturor apariiilor sale.


cod var x:array[1..100]of real; po :array[1..100]of "yte; n,i,po :"yte; max:real; "egin #rite$%dimensiunea vectorului %&;readln$n&; for i:=1 to n do "egin #rite$%x[%,i,%]=%&;readln$x[i]& end; max:=x[1];0:=1;po [0]:=1; for i:=+ to n do if x[i](max t)en "egin max:=x[i];0:=1;po [0]:=i end else if x[i]=max t)en "egin 0:=0*1;po [0]:=i end; #rite$%maximul este %,max:10:+,% pe po itiile %&; for i:=1 to 0 do #rite$po [i],% %& end.

sc)ema logic1
START

citeste n

citeste x[i], i=1,n max!=x[1]$ %!=1$ po [%]!=1$ i!=&

DA i<=n NU x[i]'max NU NU x[i]=max DA max!=x[i]$ %!=1 po [%]!=i$ DA

%!=%+1 po [%]!=i$

i=i+1 scrie "maxim#( este",max,"pe po itii(e",po [i],i=1,%

STOP

Problema 6 0uma elementelor unei matrice dreptung/iulare de dimensiune mAn. cod

var a:array[1..10,1..+0]of real; m,n,i,j:"yte; s:real; "egin #riteln$%nr linii%&;readln$m&; #riteln$%nr coloane%&;readln$n&; for i:=1 to m do for i:=1 to n do "egin #rite$%a[%,i,%,%,j,]=%&; readln$a[i,j]& end; s:=0; for i:=1 to m do for j:=1 to n do s:=s*1a[i,j]; #riteln$%suma%,s& end.

sc/ema logic

START scrie "nr* (inii"

citeste m scrie "nr co(oane"

citeste n

citeste a[i,)]$ i=1,m$ )=1,n

s!=0 i=1

DA i<=m )=1 NU DA )<=n s!=s+a[i,)] )!=)+1

NU i=i+1 scrie "s#ma=",s

STOP

Problema 7 &eterminarea elementelor maxim i minim dintr-o matrice dreptung/iulara de dimensiune mAn. cod
var a:array[1..10,1..+0]of real; m,n,i,j:"yte; min,max:real; "egin #riteln$%nr linii%&;readln$m&; #riteln$%nr coloane%&;readln$n&; for i:=1 to m do for i:=1 to n do "egin #rite$%a[%,i,%,%,j,]=%&; readln$a[i,j]& end; max:=a[1,1];min:=max; for i:=1 to m do for j:=1 to n do if a[i,j](max t)en max:=a[i,j] else if a[i,j]'min t)en min:=a[i,j]; #riteln$%maximul=%,max:10:+&; #riteln$%minimul=%,min:10:+& end.

sc/ema logic
START scrie "nr* (inii"

citeste m scrie "nr co(oane"

citeste n

citeste a[i,)]$ i=1,m$ )=1,n

max!=a[1,1]$ min!=max$ i!=1$ DA i<=m )=1 NU DA )<=n NU NU a[i,)]<min NU min!=a[i,)] a[i,)]'max DA max!=a[i,)] DA

)=)+1 scrie max,min i=i+1

STOP

Problema 8 5a o petrecere ntre prieteni )lin sugereaz s-l sune la telefon pe 6tlin pentru a participa i el la acest ... eveniment. )lin a reuit s str$ng urmtoarele informaii' ;. numrul are B cifre 3. a doua "umtate a numrului (ultimile trei cifre) este de Cori mai mare dec$t numrul format cu cifre de pe poziiile 3 @ C @. dou cifre (a patra i a cincea) sunt identice C. a treia cifr este dublul celei de-a doua iar suma acestora este egal cu prima cifr D. a patra cifr este dublu celei de-a treia sau a doua cifr mrit cu3. 6are este numrul lui 6tlinE rezolvare ;. B cifre 9 abcdefg 3. efgFCAbcd @. dFe

C. cF3Ab D. cGbFa H. dF3Ac si dF3Gc &in H. rezulta cF3 dFC. &in @. rezulta eFC. &in C. rezulta bF;. &in D. rezulta aF@. !umarul este @;3CCfg. &in ;. efgFCAbcd F- efgFCA;3C F- efg F CIH. &eci numarul este @;3CCIH Problema 9 1ntr-o diminea patru biei 2ircea &an 6osmin si +zvan "ucau fotbal n curtea colii dar dintr-o greeal mingea a spart un geam. ) aprut directorul colii i a pus o serie de ntrebri la care a primit urmtoarele raspunsuri' 2ircea ' ;. 4u nu am lovit mingea c$nd s-a spart fereastra. 3. ) fost ideea lui +zvan s "ucam aici. @. 6osmin este vinovat. &an ' C. 4u nu am spart nici o fereastr. D. 6osmin a fcut-o. H. Joc mult mai bine fotbal dec$t +zvan. 6osmin ' B. !u este vina mea. K. &ac tiam c va sf$ri aa nu ncepeam "ocul aici. I. !u am nimic de-a face cu 2ircea. +zvan ' ;(. !u am fcut nici un ru ferestrei. ;;. ) fost 6osmin. ;3. 6$nd am a"uns aici ei "ucau de"a. &irectorul pun$nd i alte ntrebri a neles c bieii au spus c$te o minciun. 6ine a spart fereastra E rezolvare

6osmin nu a spart fereastra altfel D) i ;;) sunt minciuni i deci C)GH) i ;()G;3) sunt adevrate ceea ce nseamn c &an i +zvan nu au spart fereastra. 3) este n contradicie cu ;3) care era adevrat deci 3) este fals =' ;) i @) adevrate. &eci nici 2ircea nu a spart fereastra. 0ingurul rmas este 6osmin dar contradicie cu ipoteza fcut.

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