Presentation is loading. Please wait.

Presentation is loading. Please wait.

Tablouri unidimensionale

Similar presentations


Presentation on theme: "Tablouri unidimensionale"— Presentation transcript:

1 Tablouri unidimensionale
Algoritmi fundamentali Data: 28-XII-2008 Clasa: a VIII-a Disciplina: INFORMATICA-OPTIONAL Scoala Ungheni cu clasele a I-VIII-a Jud Arges Realizat de Ghena Mihaela

2 Oare de ce dai daca apesi butonul acesta ??
Maxime si Minime Căutare binară Căutari de elemente Căutare liniară Parcurgeri Sume si numărări Oare de ce dai daca apesi butonul acesta ??

3 Puţină teorie. Dacă vreţi binenţeles.
Daca nu apăsaţi

4 Cautari de elemente

5 Probleme

6 {Cunoscandu-se numele, inaltimea si greutateaa n elevi sa se afiseze
numele acestora in ordinea descrescatoare a inaltimi. Daca exista doi elevicu aceeasi inaltime se va afisa cel care are greutatea mai mare.}

7 uses crt; var aux,i,j,n,k,min:integer; a,e:array[1..100] of string; b,c,d,f:array[1..100] of integer; aux1:string; begin clrscr; writeln('Dati numarul de elevi 1<=n<=100 ');readln(n); writeln('Dati numele,inaltimea si greutatea celor ',n,' elevi:'); for i:=1 to n do begin readln(a[i]); readln(b[i]); d[i]:=b[i]; readln(c[i]); end; for i:=1 to n-1 do for j:=i+1 to n do if b[i]<b[j] then begin aux:=b[i]; b[i]:=b[j]; b[j]:=aux; for i:=1 to n do for j:=1 to n do if b[i]=d[j] then begin e[i]:=a[j]; f[i]:=c[j]; d[j]:=0; j:=n; end; for i:=1 to n-1 do if b[i]=b[i+1] then if f[i]<f[i+1] then begin aux1:=e[i]; e[i]:=e[i+1]; e[i+1]:=aux1; aux:=f[i]; f[i]:=f[i+1]; f[i+1]:=aux end; for j:=1 to n do begin write ('Numele: ',e[j],' ','Inaltimea: ',b[j],' ','Greutatea: ',f[j]); writeln; end; readln end.

8 {Se citesc n numere intregi
{Se citesc n numere intregi. Sa se afiseze cel mai mare numar obtinut din prima cifra a fiecarui numar.}

9 var d:array[1..20] of byte; a,i,c,aux,j,nr,n:longint; begin write('dati nr de nr');readln(n); writeln('Dati elem: '); for i:=1 to n do readln(a); aux:=a; while aux<>0 do begin c:=aux mod 10; aux:=aux div 10; end; d[i]:=c end; for i:=1 to n-1 do for j:=i+1 to n do if d[i]<d[j] then begin aux:=d[i]; d[i]:=d[j]; d[j]:=aux end; for i:=1 to n do nr:=nr*10+d[i]; writeln('Cel mai mare nr este: ',nr); readln end.

10 {Se citesc de la tastatura n numere naturale
{Se citesc de la tastatura n numere naturale. Se cere sa se sorteze sirul in ordinea crescatoare a numarului de apaitii a cifrei 1 in reprezentarea in baza 2 a numerelor.In cazul in care doua numere au aceeasi numar de cifre egale cu 1 in reprezentare lor binara atunci ele vor aparea in ordinea in care sunt citite de la tastatura.}

11 for i:=1 to n-1 do for j:=i+1 to n do if b[i]>b[j] then begin aux:=b[j]; b[j]:=b[i]; b[i]:=aux {b[i]retine poz dupa sortare} end; k:=0; for i:=1 to n do begin for j:=1 to n do if (b[i]=c[j]) and (b[i]>k) then write(d[j],' '); k:=b[i] readln end. var a,b,c,d:array[1..100]of longint; aux,n,k,i,j:integer; begin writeln('Dati nr de elemente ');readln(n); for i:=1 to n do begin write('a[',i,']=');readln(a[i]); d[i]:=a[i]; j:=0; while a[i]>0 do begin if a[i] mod 2=1 then j:=j+1; a[i]:=a[i] div 2 {in a[i] o sa am doar valoarea 0} end; b[i]:=j; c[i]:=j;{retine pozitiile inainte de sortare}

12 {Dandu-se un vector cu maxim 100 de numere naturale, sa se localizeze elmentul maxim si toate elementele dinaintea lui sa se ordoneze crescator, iar cele de dupa el descrescator.}

13 var a,b:array[1..100]of integer;
max,aux,n,k,i,j:integer; begin writeln('Dati nr de elemente ');readln(n); max:=-maxint; for i:=1 to n do begin write('a[',i,']=');readln(a[i]); if a[i]>max then begin max:=a[i]; end; for i:=1 to n do if a[i]=max then k:=i; for i:=1 to k-1 do for j:=i+1 to k do if a[i]>a[j] then begin aux:=a[i]; a[i]:=a[j]; a[j]:=aux writeln; for i:=k+1 to n-1 do for j:=i+1 to n do if a[i]<a[j] then begin aux:=a[i]; a[i]:=a[j]; a[j]:=aux; end; writeln('Vectorul ordonat conform cerintei: '); for i:=1 to n do write (a[i],' '); readln end.

14 Maxime si Minime

15 Probleme

16 {Se dau doi vectori x,y cu n componente
{Se dau doi vectori x,y cu n componente. Primul contine nume de elevi, iar al doilea notele la informatica. Se cere sa se afiseze numele elevilor cu nota cea mai mica. Daca mai multi elevi au aceasta nota vor fi afisati toti.}

17 uses crt; var i,n,min:integer; x:array[1..100] of string; y:array[1..100] of integer; begin clrscr; writeln('Dati numarul de elevi 1<=n<=100 ');readln(n); writeln('Dati numele celor ',n,' elevi:'); for i:=1 to n do readln(x[i]); writeln('Dati mediile celor ',n,' elevi: '); for i:=1 to n do read(y[i]);readln; min:=y[1]; for i:=2 to n do if y[i]<min then min:=y[i]; for i:=1 to n do if min=y[i] then write(x[i],' '); readln; end.

18 {Sa se realizeze programul pentru determinare elementului maxim si a tuturor pozitilor unde apare el intr-un vector A de numere intregi cu dimensinea N.}

19 var a:array[1..100]of longint;
max,n,k,i,j:integer; begin writeln('Dati nr de elemente ');readln(n); for i:=1 to n do begin write('a[',i,']=');readln(a[i]); end; max:=-maxint; if (a[i]>max) then max:=a[i];end; writeln('Nr maxim este ', max ); writeln('pozitile maximului in vector sunt: '); for i:=1 to n do if a[i]=max then write (i,' '); readln end.

20 {Sa se determine elementele cu numar maxim de divizori si elementele cu
numar minim de divizori dintr-un vector x de numere intregi.}

21 var a,b:array[1..100]of integer;
max,min,n,k,i,j:integer; begin writeln('Dati nr de elemente ');readln(n); for i:=1 to n do begin write('a[',i,']=');readln(a[i]); k:=0; for j:=1 to a[i] do begin if a[i] mod j=0 then begin k:=k+1; b[i]:=k end end; max:=-maxint;min:=maxint; if (b[i]>max) then max:=b[i]; if b[i]<min then min:=b[i] writeln('Componenetele cu nr maxim de divizori sunt: '); for i:=1 to n do if b[i]=max then write (a[i],' '); writeln;writeln('Componenetele cu nr minim de divizori sunt: '); if b[i]=min then write (a[i],' '); readln end.

22 {Se da un vector continand litere
{Se da un vector continand litere. Sa se afiseze frecventa aparitiei fiecarei litere in vector si literele cu cea mai mare frecventa, respectiv cea mai mica frecventa de aparitie.}

23 var a,b:array[1..100]of char;
c,d,e:array[1..100] of integer; max,min,n,k,i,j,l:integer;aux:char; begin writeln('Dati nr de elemente ');readln(n); for i:=1 to n do begin write('a[',i,']=');readln(a[i]); end; for i:=1 to n-1 do for j:=i+1 to n do if a[i]>a[j] then begin aux:=a[j]; a[j]:=a[i]; a[i]:=aux l:=1; for i:=ord('A') to ord('Z') do begin k:=0; for j:=1 to n do if i=ord(a[j])then k:=k+1; c[l]:=k; l:=l+1; end; for i:=ord('a') to ord('z') do begin if i=ord(a[j]) then k:=k+1; d[l]:=k;

24 min:=maxint;max:=-maxint;
for i:=1 to l do begin e[i]:=c[i]+d[i]; end; for i:=1 to l do begin if (e[i]<min) and (e[i]>0) then min:=e[i]; if e[i]>max then max:=e[i] writeln('Litera/Literele cu cea mai mare frecventa de aparitie este/sunt:'); for i:=1 to l do if e[i]=max then write(chr(64+i),' ');writeln; writeln('Litera/Literele cu cea mai mica frecventa de aparitie este/sunt:'); if e[i]=min then write(chr(64+i),' '); { for i:=1 to n do write (a[i],' ');} readln end.

25 {Se citeste de la tastatura un sir cu n elemente numere naturale,
nu neaparat distincte. Sa se afiseze elementul care apare de cele mai multe ori in sir. Daca exista mai multe astfel de elmente,se vor afisa toate.}

26 var a,b:array[1..100]of longint;
max,n,k,i,j:integer;aux:longint; begin writeln('Dati nr de elemente ');readln(n); for i:=1 to n do begin write('a[',i,']=');readln(a[i]); end; for i:=1 to n-1 do for j:=i+1 to n do if a[i]>a[j] then begin aux:=a[j]; a[j]:=a[i]; a[i]:=aux k:=1;j:=0; if a[i]=a[i+1] then inc(k) else begin j:=j+1 ; b[j]:=k; if i=n-1 then b[j+1]:=1; k:=1; max:=-maxint; for i:=1 to j+1 do if b[i]>max then max:=b[i]; {write(max:5);writeln;} k:=1; if b[i]=max then begin write(a[k],' '); k:=k+b[i] end else k:=k+b[i]; readln end.

27 {Se considera un sir cu n numere naturale
{Se considera un sir cu n numere naturale. Se cere sa se afiseze un numar din sir care in scrierea sa cat mai multe cifre distincte. Daca exista mai multe numere cu aceasta proprietate se va afisa primul dintre ele.}

28 var t,k,i,j,l,n,aux:longint;
a,b,c,d:array[1..100]of longint; begin write('Dati n: ');readln(n); for i:=1 to n do begin write('a[',i,']=');readln(a[i]); t:=1;k:=0;d[i]:=a[i]; repeat k:=k+1; b[k]:=a[i] mod 10; a[i]:=a[i] div 10; until a[i]=0; for j:=1 to k-1 do for l:=j+1 to k do if b[j]>b[l] then begin aux:=b[j]; b[j]:=b[l]; b[l]:=aux end; for j:=1 to k-1 do if b[j]<>b[j+1] then t:=t+1; c[i]:=t end; l:=c[1]; for i:=2 to n do if l<c[i] then begin l:=c[i]; k:=i ; write('primul numarul cu cele mai multe cifre distincte este',d[k]:5); readln end.

29 Cautare binara a)pe structura “repeat..until”
b)pe structura “while..do”

30 a) program cautare_binara; var n,i,j,aux,x,ls,ld,mij:integer;
a:array[byte] of integer; begin write('n=');readln(n); for i:=1 to n do write('a[',i,']='); readln(a[i]); end; write('x=');readln(x); for i:=1 to n-1 do for j:=i+1 to n do if a[i]>a[j] then aux:=a[i]; a[i]:=a[j]; a[j]:=aux; ls:=1; ld:=n; repeat mij:=(ls+ld) div 2; if a[mij]=x then writeln('cautare cu succes') else if a[mij]>x then ld:=mij-1 ls:=mij+1; until (a[mij]=x) or (ls>ld); if ls>ld then write('nu exista ',x,' in vector'); readln end.

31 b) program cautarebinara; var n,i,j,aux,x,ls,ld,mij,sw:integer; ls:=1;
a:array[byte] of integer; begin write('n=');readln(n); for i:=1 to n do write('a[',i,']='); readln(a[i]); end; write('x=');readln(x); for i:=1 to n-1 do for j:=i+1 to n do if a[i]>a[j] then aux:=a[i]; a[i]:=a[j]; a[j]:=aux; ls:=1; ld:=n; mij:=(ls+ld) div 2; sw:=0; while (a[mij]<>x) and (ls<=ld) do begin if a[mij]>x then ld:=mij-1 else ls:=mij+1; end; if a[mij]=x then writeln('este in vector') writeln('nu exista ',x,' in vector'); readln end.

32 Cautare liniara

33 program cautare_liniara;
var a:array[1..50] of integer; x:integer; i,n,sw:byte; begin write('n=');readln(n); for i:=1 to n do write('a[',i,']='); readln(a[i]); end; write('x=');readln(x); sw:=0; if a[i]=x then sw:=1; if sw=0 then write(x,' nu se afla in vector') else write('cautare cu succes'); readln end.

34 Parcurgeri Sume si numarari

35 Probleme

36 {Scrieti un program care tipareste elementele pare aflate pe pozitii
divizibile cu 3 dintr-un vector de nr intregi.} var a:array[1..30] of integer; s,n,i:integer; begin write ('n= ');readln(n); for i:=1 to n do begin write ('a[',i,']=');readln(a[i]) end; i:=3; while i<=n do begin if a[i] mod 2=0 then write(a[i]:5); i:=i+3; readln end.

37 {Fiid dat un vector de numere intregi,sa se determine suma elementelor pozitive din vector.}
var a:array[1..30] of integer; s,n,i:integer; begin write ('n= ');readln(n); for i:=1 to n do begin write ('a[',i,']=');readln(a[i]) end; s:=0; for i:=1 to n do if a[i]>0 then s:=s+a[i]; writeln('Suma este: ', s); readln; end.

38 {Sa se afiseze doar elementele pare dintr-un vector de numere intregi
var a:array[1..30] of integer; s,n,i:integer; begin write ('n= ');readln(n); for i:=1 to n do begin write ('a[',i,']=');readln(a[i]) end; for i:=1 to n do if a[i] mod 2=0 then write ('Numerele sunt: a[i],','); readln end.

39 {Se citeste de la tastatura un vector cu n componente de tip intreg.
Se cere sa se construiasca si sa se afiseze un nou vector cu componentele patrate perfecte din vectorul initial.} var a,b:array[1..100] of integer; n,i,j,p,k:integer; begin write ('n= ');readln(n);k:=0; for i:=1 to n do begin write ('a[',i,']=');readln(a[i]); if a[i]>=0 then for j:=1 to trunc(sqrt(a[i])) do if j*j=a[i] then begin k:=k+1; b[k]:=a[i] end; writeln('Componentele patrate din vectorul dat sunt: '); for i:=1 to k do write(b[i], ' '); readln end.

40 {Sa se calculeze suma elementelor negative si de valoare para dintr-un vector de nr intregi}
var a:array[1..30] of integer; s,n,i:integer; begin s:=0; write ('n= ');readln(n); for i:=1 to n do begin write ('a[',i,']=');readln(a[i]); if (a[i]<0) and (a[i] mod 2=0) then s:=s+a[i]; end; writeln('Suma este: ',s); readln end.

41 {Se da un vector v cu n elemente numere intregi.Sa se copieze
intr-un vector u elementele pozitive ale vectorului initial} var a,b:array[1..30] of integer; n,i,j:integer; begin write ('n= ');readln(n);j:=0; for i:=1 to n do begin write ('a[',i,']=');readln(a[i]); if a[i]>0 then begin j:=j+1; b[j]:=a[i] end; for i:=1 to j do write(b[i],' '); readln; end.

42 {Se da un vector de numere reale.Sa se determine procentul
de numere din vector mai mici strict decat MA si procentul de numere din vector mai mari strict decat MA,unde am notat cu MA media aritemtica a componentelor din vector.} var a:array[1..30] of real; n,i,p,k:integer;ma,s:real; begin s:=0; write ('n= ');readln(n); for i:=1 to n do begin write ('a[',i,']=');readln(a[i]); s:=s+a[i]; end; ma:=s/n; for i:=1 to n do if a[i]>ma then k:=k+1 else if a[i]<ma then p:=p+1; writeln('Procentul celor strict mai mari decat MA este: ',k/n*100:5:2,'%'); write(' Procentul celor strict mai mici decat MA este: ',p/n*100:5:2,'%'); readln; end.

43 {Scrieti un program care citeste de la tastatura cele n numere reale ce compun vectorul a si apoi cele m numere reale ce constituie componentele vectorului b si afiseaz pe ecran cate din componentele lui a sunt strict mai mici decat toate componentele vectorului b.} var a,b:array[1..30] of real; n,i,m,j:integer; begin write ('n= ');readln(n);write ('m= ');readln(m); for i:=1 to n do begin write ('a[',i,']=');readln(a[i]); end; for j:=1 to m do begin write ('b[',j,']=');readln(b[j]); for i:=1 to n do if a[i]<b[i] then write(a[i]:5:2,' '); readln; end.

44 {Fiind dat un vector v cu n elemente numere intregi ,sa se construiasca
alti doi vectori :primul care va contine numai elemente pare ,iar al doilea numai elem impare din vectorul initial} var a,b,c:array[1..30] of integer; n,i,m,p:integer; begin write ('n= ');readln(n);m:=0;p:=0; for i:=1 to n do begin write ('a[',i,']=');readln(a[i]); if a[i] mod 2=0 then begin inc(m); b[m]:=a[i]; end else begin inc(p); c[p]:=a[i]; end; readln end.

45 {Fie un vector x de numere intregi
{Fie un vector x de numere intregi. Sa se formeze un vector y de numere intregi, in care y[i] sa fie restul impartiri lui x[i] la suma cifrelor lui x[i].} type vector=array[1..100] of integer; var x,y:vector;aux,s:integer; i,n,c:byte; begin Writeln('Dati dimensiunea vector,<=100 ');read(n); writeln('Introduceti cele ',n,' componente:'); for i:=1 to n do begin readln(x[i]);aux:=x[i];s:=0; while aux<>0 do begin c:=aux mod 10; s:=s+c; aux:=aux div 10 end; y[i]:=x[i] mod s; for i:=1 to n do write(y[i],' '); readln end.

46 {La codificarea unui text scris cu cel mult primele n litere mici ale afabetului englez, se folosesc cele mai mici n numere naturale care au exact 3 divizori naturali. Pentru litera 'a' se foloseste cel mai mic nr cu proprietatea respectiva, pentr 'b' cel mai mic numar diferit de cel folosit pentru 'a',si asa mai departe. a)Sa se afiseze, separate prin cate un spatiu, cele n numere folosite la codificare. b)Pentru un text dat de la tastatura,se cere sa se afiseze codificarea textului, fiecare caracter fiind inlocuit cu numarul corespunzator si orice doua coduri conscutive vor fi separate printr-un spatiu.}

47 var n,i,d,j,c:integer; a:array[1..25] of char; b:array[1..25] of integer; begin writeln('Dati nr de litere -vezi enunt');readln(n); writeln('Dati textul'); for i:=1 to n do read(a[i]); i:=4; repeat d:=2;c:=1; while(d<=i) do begin if (i mod d=0) then c:=c+1; d:=d+1 end else d:=d+1; end; if c=3 then begin j:=j+1; b[j]:=i; end; i:=i+1 until j=n; writeln('Nr cu 3 divizori folosite la codificare: '); for i:=1 to n do write(b[i], ' ' ); writeln; writeln('Textul dat se codifica astfel:'); for i:=1 to n do begin c:=ord(a[i])-ord('a'); write(b[c+1],' '); readln end.

48 {Sa se calculeze cmmdc(x1,x2,x3,...,xn)}
type vector=array[1..100] of integer; var a:vector;cmmdc:integer; i,n:byte; begin Writeln('Dati dimensiunea vector,<=100 ');read(n); writeln('Introduceti cele ',n,' componente pozitive nenule:'); for i:=1 to n do read(a[i]); readln; cmmdc:=a[1]; for i:=2 to n do begin while a[i-1]<>a[i] do if a[i-1]>a[i] then a[i-1]:=a[i-1]-a[i] else a[i]:=a[i]-a[i-1]; end; cmmdc:=a[n]; writeln('Cmmdc este: ',cmmdc); readln end.

49 {Cate numere perfecte exista in tabloul x=(x1,x2,
{Cate numere perfecte exista in tabloul x=(x1,x2,..,xn) de numere intregi citite de la tastatura. Un numar este perfect daca este egal cu suma divizorilor sai mai mici ca el.} var a:array[1..100]of integer; d,s,n,k,i,j:integer; begin writeln('Dati nr de elemente ');readln(n); for i:=1 to n do begin write('a[',i,']=');readln(a[i]); end;k:=0; write('Numerele perfecte sunt: '); s:=0; for j:=1 to a[i] do if a[i] mod j=0 then s:=s+j ; if (2*a[i]=s) and (a[i]>0) then begin k:=k+1; write(a[i],' ') end; end; write('Avem ',k,' numere perfecte. '); readln end.

50 {Cate elemente dintr-un vector de numere intregi sunt prime cu un nr dat.}
var a:array[1..100]of integer; q,n,k,i,j,t:integer; begin writeln('Dati nr de elemente ');readln(n); writeln('Dati un nr. k ');readln(k);q:=k; for i:=1 to n do begin write('a[',i,']=');readln(a[i]); end; writeln('Nr care sunt prime cu ',k ,' sunt: '); t:=a[i]; while a[i]<>k do if a[i]>k then a[i]:=a[i]-k else k:=k-a[i]; k:=q; if a[i]=1 then begin j:=j+1; write(t,' ') end; end; writeln;writeln('Avem: ',j,' nr prime cu ',q); readln end.

51 {Se considera un sir de n numere reale
{Se considera un sir de n numere reale. Sa se scrie un program care elimina di sir valorile ce se afla in afara intervalului [a,b].} var c,d:array[1..30]of integer; a,b,i,n,aux,k:integer; begin writeln('Dati a si b');readln(a);readln(b); writeln('dati nr de componente: ');readln(n);k:=0; for i:=1 to n do begin write('c[',i,']=');read(c[i]); end; if a>b then begin aux:=b; b:=a; a:=aux; end; for i:=1 to n do if (c[i]>=a) and (c[i]<=b) then begin k:=k+1; d[k]:=c[i]; for i:=1 to k do write(d[i],' '); readln end.

52 {Fie un vector de numere intregi
{Fie un vector de numere intregi.Sa se afiseze toate tripletele de numere consecutive din x,in care al treilea numar este media aritmetica a primului cu cel de al doilea.} var i,n:integer; a:array[1..100]of integer; begin write('Dati n: ');readln(n); for i:=1 to n do begin write('a[',i,']=');readln(a[i]); end; for i:=1 to n-2 do if a[i+2]=(a[i]+a[i+1])/2 then write('(',a[i],' ',a[i+1],' ',a[i+2],')'); readln end.

53 {Sa se calculeze ultima cifra a numarului x[1]+x[2]+..+x[n],unde x este
un vector cu n componente numere naturale citite de la tastatura.} var a,b:array[1..30] of integer; i,n,s:integer; begin writeln('Dati nr de componente: ');readln(n); for i:=1 to n do begin write('a[',i,']=');readln(a[i]); end; b[i]:=a[i] mod 10; s:=s+b[i]; writeln('ultima cifra a sumei este: ',s mod 10); readln end.

54 {Fie un vector de numere intregi
{Fie un vector de numere intregi.Sa se afiseze toate tripletele de numere consecutive din x,in care al treilea numar este restul inmpartirii primului la al doilea.} var i,n:integer; a:array[1..100]of integer; begin write('Dati n: ');readln(n); for i:=1 to n do begin write('a[',i,']=');readln(a[i]); end; for i:=1 to n-2q do if a[i] mod a[i+1]=a[i+2] then write('(',a[i],' ',a[i+1],' ',a[i+2],')'); readln end.

55 care trebia sa-i dea bataie de cap cuiva
Testul care trebia sa-i dea bataie de cap cuiva

56 b) var x:array[1..16,1..12] of byte; c) var x:array[1..16] of byte;
1.Stiind ca variabila x este utilizata intr-un program pentru a memora mediile din semestrul al doilea ale uni elev de clasa a XII-a la cele 16 discipline din catalog,stabiliti care este declararea corespunzatoare x ? a) var x:byte; b) var x:array[1..16,1..12] of byte; c) var x:array[1..16] of byte; d) var x:array[1..15] of byte; Next

57 2.Se considera algoritmul reprezentat in limbaj pseudocod:
citeste n; pentru I= 1, n executa citeste ai; citeste p; inceput aux<- ai; cat timp ai <>0 executa s<- s+ ai mod 10; ai<- ai div 10; sfarsit daca s mod p=0 atunci scrie aux; Ce valori vor fi afisate pentru n=5, p=6, a[23, 33, 123, 12, 93]: a) 33, 23, 123 b) 33, 123, 93 c) 23, 12, 93 d) 23, 33, 123, 12, 93 Next

58 3.Se da urmatorul program. Ce face el ?
var a:array[1..30] of integer; s,n,i:integer; begin s:=0; write ('n= ');readln(n); for i:=1 to n do begin write ('a[',i,']=');readln(a[i]); if (a[i]<0) and (a[i] mod 2=0) then s:=s+a[i]; end; writeln('Suma este: ',s); readln end. Next a) calculeaza suma elementelor negative si de valoare para dintr-un vector b) calculeaza suma elementelor negative si numa atat c) calculeaza suma elementelor de valoare para dintr-un vector d) nu face nimic

59 4.Se da urmatorul program:
var a:array[1..30] of integer; s,n,i:integer; begin write ('n= ');redln(n); for i:=1 to n do begin write ('a[',i,']=');readln(a[i]) end; for i:=1 to n do if a[i] mod 2=0 then wrte ('Numerele sunt: a[i],','); readln end. Next Dupa efectuarea acestui program se vor afisa: a)Vectorul b)Si elmetele pare si cele impare dintr-un vector c)Numerele care impartite la 2 dau restul zero d)Nimic deoarece este gresit programul

60 5. Daca vectorul “a” contine –3, 4, 6, 2, 1 atunci vectorul “b” va fi:
2 4 4 2 2 4 1 -3 4 2 J:= 0; For I:= n downto 1 do if (I mod 2= 0) and (a[I] mod 2= 0) then begin inc (j); b[j]:= a[I]; End; Next

61 Mai vreti multe DA NU

62 Puţină teorie. Dacă vreţi binenţeles.
Daca nu apăsaţi

63 Ai răspuns greşit Mai îcearcă
Back

64 Mai pune-ti pofta in cui

65 Gandeşti bine ! Back


Download ppt "Tablouri unidimensionale"

Similar presentations


Ads by Google