Sunteți pe pagina 1din 23

1.

Să se realizeze schema logică pentru determinarea maximului


unui şir X de n elemente şi a poziţiei lui in cadrul şirului.

START

CITESTE
N

I=1

I=I+1
NU DA
MAX=V[1] I<=N
CITESTE
V[I]
POZ=1

I=2

I<=N DA DA
MAX
<
V[i]
NU MAX=V[i]
AFISEAZA NU
MAX, POZ
POZ=i

1
STOP
2. Să se realizeze schema logică pentru calculul sumei a n
I=I+1
numere reale(X1,X2,X3,………..,XN) citite de la tastatură.

START

S=0

CITESTE
N

I=1

NU I<=N DA
CITESTE
X[I]

AFISEAZA S=S+X[I]
S

I=I+1

STOP

2
3. Să se realizeze schema logică pentru calculul produsului a n
numere reale(X1,X2,X3,………..,XN) citite de la tastatură.

START

P=1

CITESTE
N

I=1

NU I<=N DA
CITESTE
X[I]

AFISEAZA P=P*X[I]
P

I=I+1

STOP

3
4.Să se realizeze schema logică pentru calculul valorii funcţiei
f(x)=xn, cu x şi n daţi de la tastatură.

START

CITESTE
X,N

P=1

I=1

DA I>N NU
P=P*X

I=I+1

AFISEAZA
P

STOP

4
5. Să se realizeze schema logică pentru calculul expresiei:

E=

START

CITESTE
N

S=0

P=1

I=1

DA I>N NU
CITESTE
X

E=S+P

S=S+X

AFISEAZA
X P=P*X

I=I+1
STOP

5
6. Să se realizeze schema logică pentru rezolvarea următoarei
probleme x este suma ce o are de încasat o persoana pentru
munca prestata si y suma care trebuie sa-I fie reţinută. Evidenţiaţi
toate situaţiile ce se pot ivi atunci când trebuie determinata suma
rămasă de plata. Afişaţi rezultatul.

START

CITESTE
X,Y

NU X>Y DA S=X-Y

NU X=Y DA
S=0

S=Y-X

AFISEAZA
S

6
STOP să se determine şi să se
7. Fiind date trei valori reale A,B,C
afişeze cea mai mare dintre ele. Aceeaşi problemă pentru cea mai
mică valoare.
START

CITESTE A,B,C

NU DA
A>B

NU DA
A>C

NU DA
A<C MIN=B MAX=A

MAX=C NU DA
MIN=C B>
C
MIN=A MIN=B MIN=C

MAX=B

NU DA
B>C

MAX=C MAX=B

AFISEAZA MIN,MAX

7
STOP
8. Sa se realizeze schema logica pentru calculul sumei
elementelor unui vector de 5 elemente.
Generalizarea pentru n elemente

START

S=0

I=1

DA I>5 NU
CITESTE
V[I]

AFISEAZA
S
S=S+v[I]

STOP I=I+1

8
- Pe caz general

START

CITESTE
N

S=0

I=1

DA I>N NU
CITESTE
V[I]

AFISEAZA
S
S=S+v[I]

STOP I=I+1

9
9. Sa se realizeze schema logică pentru evaluarea expresiei:

E=

START

CITESTE
A,B

DA A- NU
B2=0

E=((A*A)+B)/(A-(B*B))
AFISEAZA
“Expesia nu
are valoare”

AFISEAZA
E

STOP

10
10. Sa se realizeze schema logică pentru evaluarea expresiei:

E=
START

CITESTE A,B,C

DA NU
C<0

NU DA
C=0
E=A2-B

NU A2-
B>=0
AFISEAZA
E E=
Afiseaza
“Expesia nu
are sens”

AFISEAZA
NU DA E
A=0

E=
Afiseaza
“Expesia nu
are sens”
AFISEAZA
E

STOP

11
11. Fie a,b,c variabile ale caror valori sunt numere reale distincte,
iar x o variabila booleana(0 sau 1). Sa se determine valoarea
variabilei v

V=

START

CITESTE
A,B,C

NU X=1 DA

V=A+B+C
NU C=0 DA

V=(A+B)/C
AFISEAZA
“Expesia nu
are valoare”

AFISEAZA
V

STOP

12
12. Sa se realizeze schema logica pentru determinarea mediei de
varsta a unei colectivitati, cunoscand varsta fiecarui individ, pentru
cazul in care se stie N numarul de membri.

START

S=0

CITESTE
N

I=1

NU I<=N DA
CITESTE
v
M=S/N

AFISEAZA S=S+v
M

I=I+1

STOP

13
- pentru cazul in care nu se stie cati membri sunt

START

S=0

N=0

CITESTE
V

S=S+v

N=N+1

NU DA
MAI
SUN
T?
M=S/N

AFISEAZA
M

STOP

14
13. Sa se realizeze schema logica pentru calculul numarului de
elemente negative, pozitive si nule ale unui vector de n elemente.

START

NEG=0
POZ=0
NULE=0

CITESTE N

I=1

NU DA
I<=N CITESTE V[I]

AFISEAZA NU DA
POZ,NEG,NULE V[I]>0

NU DA POZ=POZ+1
V[I]=0

STOP
NEG=NEG+1
NULE=NULE+1

I=I+1

15
program p1;
type vect=array[1..100] of integer;
var i,n,poz,max:integer;
v:vect;
begin
write('n=');
readln(n);
for i:=1 to n do
readln(v[i]);
max:=v[1];
poz:=1;
i:=2;
for i:=1 to n do
if max<v[i] then begin
max:=v[i];
poz:=i;
end;
write(max,poz);
end.

program p2;
type vect=array[1..100] of real;
var i,n:integer;
s:real;
x:vect;
begin
s:=0;
write('n=');
readln(n);
for i:=1 to n do begin
readln(x[i]);
s:=s+x[i];
end;
write(s);
end.

16
program p3;
type vect=array[1..100] of real;
var i,n:integer;
p:real;
x:vect;
begin
p:=1;
write('n=');
readln(n);
for i:=1 to n do begin
readln(x[i]);
p:=p*x[i];
end;
write(p);
end.

program p4;
var x,n,i,p:integer;
begin
write('n=');
readln(n);
write('x=');
readln(x);
p:=1;
for i:=1 to n do
p:=p*x;
write(p);
end.

program p5;
var x,s,n,e,i,p:integer;
begin
write('n=');
readln(n);
s:=0;
p:=1;
for i:=1 to n do begin

17
readln(x);
s:=s+x;
p:=p*x;
end;
e:=s+p;
write(e);
end.

program p6;
var x,y,s:integer;
begin
write('x=');
readln(x);
write('y=');
readln(y);
if x>y then s:=x-y
else
if x=y then s:=0
else s:=y-x;
write(s);
end.

program p7;
var a,b,c,min,max:real;
begin
write('a=');
readln(a);
write('b=');
readln(b);
write('c=');
readln(c);
if a>b then begin
if a>c then begin
max:=a;
if b>c then min:=c
else min:=b;
end
else begin
min:=b;

18
max:=c;
end;end
else if a<c then begin
min:=a;
if b>c then max:=b
else max:=c
end
else begin
min:=c;
max:=b;
end;
write(min,max);
end.

program p8;
type vect=array[1..100] of integer;
var i,s:integer;
v:vect;
begin
s:=0;
for i:=1 to 5 do begin
readln(v[i]);
s:=s+v[i];
end;
write(s);
end.

program p8_gen;
type vect=array[1..100] of integer;
var i,s,n:integer;
v:vect;
begin
write('n=');
readln(n);
s:=0;
for i:=1 to n do begin
readln(v[i]);

19
s:=s+v[i];
end;
write(s);
end.

program p9;
var a,b,e:real;
begin
write('a=');
readln(a);
write('b=');
readln(b);
if (a-(b*b))=0 then
write('Expresia nu are valoare')
else
e:=((a*a)+b)/(a-(b*b));
write(e);
end.

program p10;
var a,b,c,e:real;
begin
write('a=');
readln(a);
write('b=');
readln(b);
write('c=');
readln(c);
if c>0 then if c=0 then
if (a*a)-b=0 then
begin
e:=sqrt((a*a)-b);
write(e);
end
else

write('Expresia nu are sens')


else if a=0 then

20
write('Expresia nu are sens')
else begin
e:=1/(a*a)-b;
write(e);
end
else begin
e:=(a*a)-b;
write(e);
end;
end.

program p11;
var a,b,c,v:real;x:boolean;
begin
write('a=');
readln(a);
write('b=');
readln(b);
write('c=');
readln(c);
while x do v:=a+b+c;
if c=0 then write('Expresia nu are sens')
else v:=(a+b)/c;
write(v);
end.

program p12;
var s,n,i,m,v:integer;
begin
write('n=');
readln(n);
s:=0;
for i:=1 to n do begin
readln(v);
s:=s+v;
end;
m:=s div n;
write(m);
end.

21
program p12_gen;
var s,n,i,m,v:integer;
begin
s:=0;
n:=0;
i:=0;
repeat
write('v=');
readln(v);
s:=s+v;
n:=n+1;
write('mai sunt membri?(Y/N)');
read(i);
until i<>0;
m:=s div n;
write(m);
end.

program p13;
type vect=array[1..100] of integer;
var i,n,poz,neg,nule:integer;
v:vect;
begin
write('n=');
readln(n);
for i:=1 to n do begin
readln(v[i]);
if v[i]>0 then
poz:=poz+1
else
if v[i]=0 then
nule:=nule+1
else
neg:=neg+1;end;
write(poz,neg,nule);
end.

22
1. 2 buni prieteni matematicieni care nu s-au vazut demult discuta in pauza
unui congres:
- cati ani au copii tai?
- Hai sa-ti raspund cu o ghicitoare: am 3 copii,inmulteste numarul anilor
pe care I-au trait pana acum si obtii 36
- Nu-mi ajunge
- Acum aduna acele numere si vei obtine suma ferestrelor casei de vis –
a – vis
- Mai da-mi o informatie
- Ai dreptate, trebuia sa-ti spun ca celui mai tanar nu-I place ciocolata
neagra.

Rezolvare:
Cele 3 numere care inmultite dau produsul 36 sunt:

1*6*6=36
1*4*9=36
2*2*9=36
2*3*6=36
3*3*4=36
1*1*36=36

Adunate , se obtin urmatoarele sume:

1+6+6=13
1+4+9=14
2+2+9=13
2+3+6=11
3+3+4=10
1+1+36=38

Se observa ca se obtin 2 raspunsuri identice, drept pentru care


solutia va fi 1, 6, 6 - celui mic(1) nu-I place ciocolata neagra.

2. Pentru impodobirea pomului de Craciun cu pachete cadou, o gradinita de


copii are 320 de banane, 240 de bomboane si 200 de mandarine. Care
este numarul de pachete identice ce se pot face din aceste daruri si cate
banane, bomboane si mandarine va avea fievare pachet?

Rezolvare: Problema se rezolva folosind procedeul de calcul pentru cel mai


mic multiplu comun(cmmdc). Astfel
320=26*5
240=24*3*5
200=23*52
deci cmmdc=23*5=40(nunarul de pachete)
Numarul de banane, bomboane si mandarine se obtine prin impartirea
numarului total de banane, bomboane, mandarine la numarul de pachete.
Astfel se obtin 8 banane, 6 bomboane si 5 mandarine in fiecare pachet.

23

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