Home
Euler
Math Legion
Salut! Am creat acest blog pentru a împărtăși cu voi ideile în stilul meu personal.

Se dau 3 numere naturale (sau întregi) de la tastatură. Se cere algoritmul care verifică dacă aceste numere sunt consecutive.

Rezolvare:

Întotdeauna, înainte de a scrie un algoritm e bine să luăm un exemplu și să observăm ce condiții și variabile intervin, apoi să încercăm să definim pașii pe acel exemplu. Deci, să facem acest lucru și să vedem ce se întâmplă.

FIe numerele 2,4 si 3. Se observă de la început că ele sunt consecutive dar...trebuie să ne gândim cum demonstrăm acest lucru prin calcule. În primul rând ne gândim la o propietate generală a numerelor consecutive și anume aceea că fiecare număr se obține din precedentul la care adunăm 1. Adică: 3=2+1, 4=3+1. Deci putem spune că numerele sunt consecutive dacă diferența dintre două numere este 1. Dar problema ne spune că avem 3 numere. Să facem 2 scăderi nu e greu dar dacă trebuie să verificăm că 100 de numere sunt consecutive? Ar fi ineficient sa calculăm 99 de diferențe chiar dacă ele sunt făcute de computer. Asta se traduce in programare prin "complexitatea algoritmului".  Cu alte cuvinte, numărul de operații efectuate de calculator.

Revenind, metoda cu verificarea diferenței ne rezolvă problema dar destul de rudimentar și ineficient din punct de vedere al cpomplexității algoritmului și al timpului de execuție al programului. Deci trebuie să găsim altă metodă mult mai bună. De exemplu, dacă am face doar o singură scădere? Și anume 4-2=2. Singura problemă este să vedem dacă numărul 3 se află între 2 și 4 sau nu. Dacă da, atunci cele 3 numere sunt consecutive.

Ca să rezum, trebuie calculată diferența dintre cel mai mare număr (maximul) și cel mai mic număr (minimul). Dacă diferența dinttre ele este 2, atunci cel de-al treilea număr se află între maxim și minim iar cele 3 numere sunt consecutive. Dacă diferența dintre maxim și minim nu este 2 atunci numerele nu sunt consecutive. Se deduce simplu că pe lângă cele 3 numere citite de la tastatură (a,b,c), mai intervin 2 variabile (max, min). Sî scriem algoritmul:

var a, b ,c, min, max:int;

START

scrie("Dati 3 numere întregi:"); /îi spunem computerului să afișeze acest mesaj pentru ca utilizatorul să știe ce trebuie să facă la execuția programului

citește (a,b,c); /computerul reține în locațiile de memorie cele 3 valori introduse de utilizator de la tastatură

/Acum începem algoritmul propriu-zis cu stabilirea maximuli și minimului dintre cele 3 numere

dacă a<b atunci max=b /(și min=a, dar nu e necesar să specificăm acest lucru)

                altfel min=b; /(și max=a)

dacă b<c atunci max=c

                altfel min=c;

dacă a<c atunci min=a

                 altfel max=a; /aici se termină determinarea maximului și minimului dintre cele 3 numere

dacă max-min=2 atunci scrie ("Numerele sunt consecutive!")

                            altfel scrie ("Numerele NU sunt consecutive!");

STOP.

Pentru ca să puteți înțelege mai bine algoritmul și logica sa, luați 3 numere oarecare neconsecutive și executați algoritmul cu ele. Apoi luați 3 numere consecutive și repetați procedura algoritmului.

Observație: algoritmul nu este valabil pentru un șir de mai mult de 3 numere.

 

 

Cele mai noi articole

Category: Algebră
Metoda inducției matematice
Inducția matematică este o metodă de aflare a unui rezultat general pornind de la un ...
Category: Algebră
Permutări (clasa a X-a)
Ce sunt permutările? Deși nu am studiat etimologia cuvântului, e foarte probabil ca acesta să fie ...
Category: Utile
O iluzie de
Elevii de clasa a VIII-a se confruntă în ultimul an de scoală cu un orar supraîncărcat exact când ...
Category: Informatică
Algoritm numere consecutive
Se dau 3 numere naturale (sau întregi) de la tastatură. Se cere algoritmul care verifică dacă ...
Category: Algebră
Funcții pare, funcții impare
Să considerăm o funcție unde D este domeniul de definiție al funcției iar C codomeniul său. ...
Cauchy
Mulțumesc pentru că vizitați blogul meu! Reveniți pentru și mai multe noutăți interesante!
 
 

DESPRE SITE
Blog - MateCuprinde articole despre anumite capitole sau subiecte din matematică tratate punctual.
CategoriiToate materialele le găsiți sortate în funcție de categoria în care doriți să le căutați.
MediaMuzica, video și altele...
 

Ultimele articole

  • O iluzie de "management"

    Elevii de clasa a VIII-a se confruntă în ultimul an de scoală cu un orar supraîncărcat exact când ar trebui să se axeze mai mult pe materiile de examen.

    Read more ...

Meniu

Math Legion pe Facebook