1 / 11

Situa ţ ie î ncheiere an ş colar

Situa ţ ie î ncheiere an ş colar. Realizator grupa: .............................. Elevi:. Incercăm să răspundem la întrebări cum ar fi :. Cum putem căuta eficient un element într-un şir? Ce modalităţi de ordonare a elementelor unui şir există? Cum se pot interclasa două şiruri?

tejano
Download Presentation

Situa ţ ie î ncheiere an ş colar

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Situaţie încheiere an şcolar Realizator grupa: .............................. Elevi: .............................. ............................... ...............................

  2. Incercăm să răspundem la întrebări cum ar fi: • Cum putem căuta eficient un element într-un şir? • Ce modalităţi de ordonare a elementelor unui şir există? • Cum se pot interclasa două şiruri? • Cum se poate utiliza un limbaj de programare pentru reprezentarea acestor algoritmi? • Cum stabilim, pentru o anumita operaţie cu şiruri, ce algoritm este mai eficient?

  3. PROBLEMA Într-o şcoală elevii sunt identificaţi prin numarul matricol. La sfârşitul anului şcolar se solicită următoarele: - Căutarea unui elev într-o clasa; - Sortarea elevilor unei clase după medii - Interclasarea elevilor claselor în vederea obţinerii unei sortari pe şcoala

  4. OBSERVAŢIE Date de intrare:- n- numarul de elevi- vectorul numerelor matricole a - vectorul mediilor b Orice modificare în vectorul mediilor trebuie făcută şi în celălalt pentru păstrarea corespondenţei.

  5. Căutarea secvenţială a unui elev într-o clasă Secvenţa de program: i=0; while (i<n && a[i]!=x) i++; //sau for(i=0;i<n && a[i]!=x; i++); if (i!=n) cout<<“S-a găsit numărul matricolîn poziţia”<<i+1<<“ si are media”<<b[i]; else cout<<“Nu s-a găsit elementul”;

  6. In vectorul numerelor matricole a=(105,243,138,336,410,255) se cauta elevul cu nr.matricol x=336. Desfasurarea algoritmului: • Pentru i=0,x!=a[0] deci i++(i=1); • Pentru i=1,x!=a[1] deci i++; • Pentru i=2,x!=a[2] deci i++; • Pentru i=3,x=a[3] deci iesim din structura repetitiva si se afiseaza “s-a gasit numarul matricol in pozitia 4 si are media b[3].

  7. Căutare secvenţială într-un tablou ordonat Secvenţa de program:

  8. Căutare binară Secventa de program: st=0;dr=n-1;gasit=0; while (st<=dr && !gasit) { mijl=(st+dr)/2; if (a[mijl]==x) gasit=1; else if (x<a[mijl] dr=mijl-1; else st=mijl+1;} if (st<dr) cout <<“Nu s-a gasit elementul”; else cout<<“S-a gasit elementul in pozitia”<<mijl+1;

  9. Sortarea prin selecţie Secvenţa de program: for (i=0;i<n-1;i++) for (j=i+1;j<n;j++) if (b[i]>b[j]) {aux=b[i];b[i]=b[j];b[j]=aux; aux=a[i];a[i]=a[j];a[j]=aux;} cout<<“Mediile în ordine crescătoare şi elevii corespunzători“<<endl; for (i=0;i<n;i++) cout<<b[i]<<“ pentru elevul “<<a[i]<<endl;

  10. Sortare prin metoda bulelor Secvenţa de program: inversare=0 while (inversare) { for (i=0;i<n-1;i++) if (b[i]>b[i+1]) {aux=b[i];b[i]=b[i+1];b[i+1]=aux; aux=a[i];a[i]=a[i+1];a[i+1]=aux; inversare=1;}} for (i=0;i<n;i++) cout<<“Media “<<b[i]<<“pentru elevul “<<a[i]<<endl;

  11. Interclasarea a doi vectori Secvenţa de program: i=0;j=0;k=0; while ( i<n &&j<m) {if (a[i]<b[j] {c[k]=a[i];i++;} else {c[k]=b[j];j++;} k++;} If (i<n) while (i<n) {c[k]=a[i];k++;i++;} else while (j<m) {c[k]=b[j];k++;j++;} for (k=0;k<n+m;k++) cout<<c[k]<<“ “;

More Related