Sunteți pe pagina 1din 9

ve ctori

Vectori

Sa se elaboreze algoritmul structurat pt crearea unui vector cu opusele elementelor unui


vector dat.
opus:
5 -5
46 -46

Invers: 5 1/5

n=7
v: 5 7 45 2 3 46 78
a: -5 -7 -45 -2 -3 -46 -78

{
Read n, (x(i), i=1, n);
Do for(i=1, n, 1)
a(i) = x(i);
end do;

write (a(i), i=1, n);


}
Vectori

Să se elaboreze algoritmul structurat (schemă logică sau pseudocod) pentru determinarea


mediei aritmetice a elementelor unui vector.

n=6
X: 3 5 78 1 34 6

{
Read n, (x(i), i=1,n);
s=0;
Do for(i=1, n ,1)
s=s+x(i);
end do;

ma=s/n;

write ma;
}
Vectori

Sa se elaboreze algoritmul structurat pentru verificarea ca elementele unui vector sunt în


ordine strict crescătoare.

N=4
X: 3 57 56 78 ….

{
Read n, (x(i), i=1,n);

verificare=0;

Do for(i=1,n,1)
if x(i) > x(i+1) then
{ verificare=1;
i=n;
}
End if;
End do;

If verificare == 0 then write “Vectorul este crescator”;


else write “Vectorul nu este crescator”;
end if;
}
Vectori

Sa se verifice daca un numar dat este palindrom.

/ - catul impartirii
% - restul impartirii

P1 P2 P3
12321 / 10 = 1232 1232/10 = 123 123/10 = 12
12321 % 10 = 1 1232%10 = 2 123%10 = 3
Oglindit=0*10 +2 Oglindit = 1*10 +2 = 12 Oglindit = 12*10 +3 =123….

{
Read numar;
oglindit=0;
aux=numar;

while aux != 0
{
cifra_oglindit = aux % 10;
oglindit = oglindit * 10 + cifra_oglindit;
aux=aux/10;
}
End while;

If(numar == oglindit) then write “ Numarul este palindrom”;


Else write “Numarul nu este palindrom”;
End if;
}
Vectori

Crearea unui vector cu elementele dintr un vector dat care verifica proprietatea de
palindrom.

x: 1 45 56 56 56 363 34 54 65 4 78987 76 i
a: 1 363 4 78987 j

{
Read n, (x(i), i=1, n);
oglindit=0;
j=0;
do for(i=1, n, 1)
{
aux=x(i);
while aux != 0
{
cifra_oglindit = aux % 10;
oglindit = oglindit * 10 + cifra_oglindit;
aux=aux/10;
}
End while;

If x(i) == oglindit then { j++; (echivalent j=j+1;)


a(j) = x(i);
}
End if;
End do;

nr=j;

Write (a(j), j=1, nr);


}
Vectori

Sa se elaboreze algoritmul structurat pentru compactarea unui vector, prin eliminarea


elementelor pătrate perfecte.

X: 3 5 9 67 8 25 n= 6
X: 3 5 67 8 n=4

{
Read n, (x(i), i=1, n);
Verificare=0;
d=2; //divizorul de la care se porneste
Do for(i=1, n, 1)
aux = x(i);
while (aux!=1){
p=0;
while(aux%d==0) { // cat timp numarul copiat in aux este divizibil cu divizorul d
aux=aux/d; //atunci se efectueaza impartirea
p++; } //creste puterea numarului
End while;
if p>0 && p%2 == 1 then verificare=1; //daca puterea este > 0 si nu este divizibila cu 2,
atunci numarul nostru nu este patrat perfect
d++; //se trece la urmatorul divisor (creste cu 1)
}
End while;

If verificare == 0 then {
x(i) = x(i+1);
n--;}
End if;
End do;

Write (x(i), 1, n);


}
Vectori

Sa se determine daca multimea A este identica cu multimea B

A: 4 7 2 8
B: 7 2 8 4

{
Read n, m, (a(i), 1, n), (b(j), 1 , m);
verificare=1; //presupunem ca nu gasim elementul
Do for(i=1, n, 1){
Do for (j=1, m, 1)
If (a(i) == b(j)) then verificare=0;
End if;
End do;
If verificare == 1 then i=n;
}
End do;

If verificare == 0 then write “Multimile sunt identice”;


Else write “Multimile nu sunt identice”;
}
Vectori

Se da un vector cu notele studentilor. Sa se elaboreze algoritmul care sa numarul de studenti


care au promovat.

X: 5 4 7 2 10 8

Programul va afisa studenti: 4

{
Read n, (x(i), i=1, n);
studenti=0;

do for( i=1, n, 1)
if x(i) >=4.5 then studenti++;
end if;
end do;

write studenti;
}

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