CATEGORII DOCUMENTE |
Probleme
Problema nr. 1
Sa se prezinte sub forma de chema logica si instructiunea unui limbaj de programare sau pseudocod un algoritm eficient care sa determine pentru o matrice de n linii si m coloane a carei elemente se citesc de la tastatura urmatoarele:
a) media aritmetica a elementelor de pe fiecare linie
b) media aritmetica a elementelor de pe fiecare coloana
c) valoarea elem. maxim si locul in care acesta se afla de pe fiecare linie
d) valoarea elem. maxim si locul in care acesta se afla de pe fiecare coloana
e) valoarea elem. minim si locul in care acesta se afla de pe fiecare linie
f) valoarea elem. minim si locul in care acesta se afla de pe fiecare coloana
g) elementul maxim la nivel de matrice
h) elementul minim la nivel de matrice
program matricea_de_la_curs;
type matrice=array[1..20,1..20] of integer;
var a:matrice;
max,max2,min,min2,w,z,i,p,maa,m,n,d,e,f,g,minn,maxx,j,s,ma,x,y:integer;
begin
writeln('dati nr de linii si nr de coloane');
write('n=');
readln(n);
write('m=');
readln(m);
for i:=1 to n do
for j:=1 to m do
begin
writeln('a[',i,',',j,']=');
read(a[i,j]);
end;
a) for i:=1 to n do
begin
s:=0;
for j:=1 to m do
s:=s+a[i,j];
ma:=(s div m);
writeln('media aritmetica pe linia ',i ,'=',ma);
readln;
end;
b) for j:=1 to m do
begin
p:=0;
for i:=1 to n do
p:=p+a[i,j];
maa:=(p div n);
writeln('media aritmetica pe coloana ',j,'= ',maa);
readln;
end;
c) for i:=1 to n do
begin
max:=-3200;
for j:=1 to m do
if a[i,j]>max then
begin
max:=a[i,j];
x:=j;
end;
writeln('maximul liniei ',i,' este elementul a[',i,',',x,'] si este egal cu ',max);
readln;
end;
d) for j:=1 to m do
begin
max2:=-3200;
for i:=1 to n do
if a[i,j]>max2 then
begin
max2:=a[i,j];
y:=i;
end;
writeln('maximul coloanei ',j,' este elementul a[',y,',',j,'] si este egal cu ',max2);
readln;
end;
e) for i:=1 to n do
begin
min:=3200;
for j:=1 to m do
if a[i,j]<min then
begin
min:=a[i,j];
w:=j;
end;
writeln('minimul liniei ',i,' este elementul a[',i,',',w,'] si este egal cu ',min);
readln;
end;
f) for j:=1 to m do
begin
min2:=3200;
for i:=1 to n do
if a[i,j]<min2 then
begin
min2:=a[i,j];
z:=i;
end;
writeln('minimul coloanei ',j,' este elementul a[',z,',',j,'] si este egal cu ',min2);
readln;
end;
g) maxx:=-3200;
minn:=3200;
for i:=1 to n do
for j:=1 to m do
if a[i,j]>maxx then
begin
maxx:=a[i,j];
d:=i;
e:=j;
end;
h) for i:=1 to n do
for j:=1 to m do
if a[i,j]<minn then
begin
minn:=a[i,j];
f:=i;
g:=j;
end;
writeln('elementul maxim al matricei este a[',d,',',e,']=',maxx);
writeln('elementul minim al matricei este a[',f,',',g,']=',minn);
readln;
end.
SCHEMA LOGICA:
Problema nr. 2
Se da un vector cu n elemente numere intregi. Sa se mute la sfarsitul vectorului elementele sale nule pastrand ordinea celorlalte elemente.
program ddd;
type vector=array[1..20] of integer;
var v:vector;
n,i,j,k:integer;
begin
write('dati numarul de elemente');
readln(n);
for i:=1 to n do
begin
write('v[',i,']=');
readln(v[i]);
end;
for i:=1 to n-1 do
for j:=i+1 to n do
if v[i]=0 then
begin
k:=v[i];
v[i]:=v[j];
v[j]:=k;
end;
for i:=1 to n do
writeln('v[',i,']=',v[i]);
readln;
end.
SCHEMA LOGICA:
Problema nr. 3
Sa se realizeze un program pentru evaluarea expresiei:
A +B, daca C≥0
E=
A-B, daca C<0
Analizand problema data, se observa ca datele de intrare sunt A, B si C. Algoritmul va testa pe C, si, in functie de valoarea sa, va calcula pe E fie ca A+B, fie ca A-B.
program prg2_pagina_187;
var a,b,c:integer;
e:real;
begin
write('Introduceti valoarea pentru a= ');read(a);
write('Introduceti valoarea pentru b= ');read(b);
write('Introduceti valoarea pentru c= ');read(c);
e:=0;
if (c<0) then e:=(a*a)-b
else
if (c=0) then e:=sqrt((a*a)-b)
else e:=(1/(a*a))-b;
write('E:= ',e:8:2);
readln;
end.
SCHEMA LOGICA:
Problema nr. 4
Sa se verifice daca 2 numere sunt prietene
Doua numere sunt prieten daca primul numar este = cu suma divizorilor celui de-al doilea mai putin el insusi si cel de-al doilea este egal cu suma divizorilor primului numar mai putin el insusi
n=220 1+2+4+5+10+11+20+22+44+55+110
m=284 1+2+4+71+142
s1 = suma divizorilor lui n mai putin el insusi
s2 = suma divizorilor lui m mai putin el insusi
n si m prietene daca s1=m si s2=n
program lalala;
var m,n,s1,s2,i:integer;
begin
write('n=');
readln(n);
write('m=');
readln(m);
for i:=1 to n-1 do
if n mod i=0 then s1:=s1+i;
for i:=1 to m-1 do
if m mod i=0 then s2:=s2+i;
if (s1=m) and (s2=n) then writeln('aceste doua numere sunt prietene')
else writeln('din pacate nu sunt prietene');
readln;
end.
SCHEMA LOGICA:
Probleme de logica:
Problema nr. 5:
In aceasta vara, batranul Trica a murit, lasand proprietatile sale ca mostenire nepotului sau Andi, prietenul meu. El a mostenit si castelul Towertia, bantuit de fantome. Incepand cu ora 12 noaptea pana dimineata se aud in tot castelul doua zgomote descifrabile: un cantat duios la vioara si un ras puternic. Andi a observat anumite obiceiuri:
cand el canta la pian si fantoma nu rade, fantoma care canta la vioara isi schimba activitatea (daca canta-tace, daca tacea-canta); altfel ea face in fiecare minut ce facea in cel precedent;
cand fereastra este inchisa fantoma care rade face ce facea cealalta fantoma in minutul precedent (rade daca cealalta canta, tace daca cealalta tacea);
cand fereastra este deschisa, fantoma care rade face opusul la ceea ce cealalta facea in minutul precedent.
Andi vrea sa stie cum sa scape de fantome (sa le faca sa taca)!
Rezolvare:
3: cand fereastra este deschisa, fantoma care rade face opusul la ceea ce cealalta facea in minutul precedent.
1: cand el canta la pian si fantoma nu rade, fantoma care canta la vioara isi schimba activitatea (daca canta-tace, daca tacea-canta); altfel ea face in fiecare minut ce facea in cel precedent;
2: cand fereastra este inchisa fantoma care rade face ce facea cealalta fantoma in minutul precedent (rade daca cealalta canta, tace daca cealalta tacea)
Problema nr. 6
Duminica, Marius si Radu au fost sa vada la hipodrom cursa de cai. Mai intai s-au dus sa vada caii. Au facut pariuri pe primele cinci locuri.
Radu a crezut astfel:
Doodoo; 2) Azur; 3) Elfy; 4)Candy; 5) Emily.
Marius a pariat astfel:
Azur; 2) Emily; 3)Candy; 4)Doodoo; 5) Elfy
Rezultatele au aratat ca nici unul nu a castigat:
1)Marius nu a ghicit locul nici unui cal
2)Marius nu a ghicit nici macar ordinea a cate doi cai unul dupa altul
Radu a fost mai aproape de realitate:
3)A ghicit locurile a doi cai;
4)A ghicit ordinea finala a doua perechi de cai unul dupa altul.
Care a fost rezultatul ?
Radu |
Doodoo |
Azur |
Elfy |
Candy |
Emily |
Marius |
Azur |
Emily |
Candy |
Doodoo |
Elfy |
Urmarind tabelul de mai sus putem afirma ca:
Pe locul I nu va fi Doodoo sau Azur
Pe locul II nu va fi Emily
Pe locul III nu va fi Candy
Pe locul IV nu va fi Doodoo
Pe locul V nu va fi Elfy
Deci Doodoo poate fi pe locurile II sau V.
Ordinea este:
Elfy |
Doodoo |
Azur |
Candy |
Emily |
Problema nr. 7
Un batranel se duce la piata (mai bine statea acasa) sa vanda niste oua. Un tanar neatent l-a imbrancit si cosul a cazut spargand ouale. vinovatul vrand sa isi rascumpere greseala l-a intrebat :
-Cate oua au fost in cos?
-Nu-mi aduc aminte, dar stiu ca daca le scoteam cate 2,cate 3,cate 4,cate 5 sau cate 6, in cos ramanea mereu un singur ou, iar daca le scoteam cate 7 , nu ramanea nici unul.
Dupa cateva minute de gandire, tanarul a calculat cate oua erau.
Tu poti gasi numarul de oua din cos?
Rezolvare:
batranelul spune ca daca scotea ouale cate 7 nu mai ramanea nici un ou un cos de unde tragem concluzia ca numarul oualor trebuie sa fie un multiplu de 7
mai spune ca daca le scotea cate 2,cate 3,cate 4,cate 5 sau cate 6, in cos ramanea mereu un singur ou de unde rezulta ca din numarul care este multiplu de 7 daca scadem 1 trebuie sa ramana un numar care sa fie divizibil si cu 2 si cu 3 si cu 4 si cu 5 si cu 6
deci cautam un numar care sa aibe ultima cifra 1 sau 6
astfel 7, 14 sunt excluse
incercam 21:7=3
21-1=20:2=10
20:3 nu este divizibil
cautam in continuare
28, 35, 42, 49 sunt excluse
verificam 56:7=8
56-1=55:2 nu este divizibil
63, 70, 77, 84 sunt excluse
continuam cu 91:7=13
91-1=90:2=45
:3=30
:4=25
:5=18
:6=15
Rezulta ca batranelul avea in cos exact 91 de oua.
Politica de confidentialitate | Termeni si conditii de utilizare |
Vizualizari: 4107
Importanta:
Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved