• Acasă
  • Despre noi
  • Autori
  • Mărturii
  • Arhivă
  • Trimite Articol
  • Contact

WORLDIT

Lumea în 1 și 0.

  • Știri
    • Tehnologie
    • Tehnologie mobilă
    • Securitate
    • Developers
    • Știință
    • Benzi desenate
    • Jocuri
    • Intern
  • Tehnic
    • Browser
    • C#
    • C/C++
    • Challenge
    • HTML/CSS
    • Javascript, Ajax, jQuery
    • Open Source
    • PHP
    • Python
    • Securitate IT
    • Socializare
    • WordPress
    • Altele
  • Recenzii
  • Interviuri
  • Evenimente

Algoritm . Caracteristici . Exemple

5
  • Publicat de bamboocha
  • în C/C++
  • — 20 iul., 2009 at 2:45 pm

Ce este acela un algoritm ?

Pentru a putea rezolva o problema, in informatica, avem nevoie de o succesiune de instructiuni clare si bine definite transpuse intr-un limbaj de programare. Instructiunile trebuie sa respecte anumite reguli impuse de limbajul de programare folosit. Fiecare dintre acestea detine propriul set de reguli, care nu este compatibil cu un alt limbaj de programare, in majoritatea cazurilor. De exemplu, nu putem folosi aceeasi linie de cod pe care o utilizam in Pascal si in C++, deoarece Pascal are propria ortografie si C++ la fel.

Succesiunea de instructiuni explicite si bine definite aranjate dupa anumite reguli poarta denumirea de algoritm.

Un algoritm foloseste date de intrare si furnizeaza date de iesire. In interiorul sau, se mai pot folosi date intermediare.

Iata si cateva proprietati ale algoritmilor:

  • Finititudinea. Este una dintre proprietatile importante ale algoritmilor si consta in faptul ca dupa un anumit numar de pasi procesul trebuie sa se incheie.
  • Generalitatea. Un algoritm trebuie sa poata rezolva nu numai o problema particulara, ci o categorie  de probleme.
  • Optimalitatea. Un algoritm trebuie sa se execute intr-un numar cat mai mic de pasi pentru a se obtine un timp de executie cat mai mic alaturi de un consum mic de memorie. De exemplu, pentru a putea testa daca un numar este prim, este nevoie sa parcurgem doar de la 1 pana la n/2, unde n este numar testat. Pe cand daca am parcurge toate numerele pana la n – 1, ar dura mai mult si algoritmul nu ar fi optim.
  • Un algoritm va avea intotdeauna cel putin o data de iesire ce este legata de datele de intrare.

Sa speram ca ati inteles ce este acela un algoritm si care sunt proprietatile de baza ale acestui. Asadar, sa dam un exemplu de algoritm.

  1. Algoritmul de interschimbare a 2 valori. Sa luam un exemplu din viata de zi cu zi.  Avem 2  pahare. Intr-unul avem compot si in celalalt avem iaurt. Noi dorim sa le schimbam intre ele, astfel ca in paharul in care era compot sa fie iaurt, iar in cel de iaurt sa fie compot. Nu putem sa facem aceasta operatiune fiindca am amesteca iaurtul cu compot si nu e bine de stomacul nostru. Asadar, avem nevoie de un pahar in plus pentru a depozita temporar una dintre ele. Deci, primul pas va consta in punerea iaurtului in paharul auxiliar(ajutator). Acum, avem paharul auxiliar plin cu iaurt, compotul este tot in paharul sau, dar paharul de iaurt este gol. Pasul doi, punem compotul in paharul de iaurt => paharul de iaurt este cu compot, paharul de compot este gol, iar paharul ajutator este cu iaurt. Ce mai ramane de facut este sa rasturnam paharul auxiliar(ce contine iaurt) in paharul de compot. Astfel, am interschimbat continutul celor 2 pahare.
    Poate va intrebati unde este algoritmul ? Tocmai l-am elaborat in limbaj natural. Respecta conditiile ? 1. Se repeta intr-un numar finit de pasi(3). 2.Este optim, adica facem numarul minim de pasi necesari. 3. Avem date de iesire, cele 2 pahare. Avem si o data intermediara, care este paharul auxiliar. Tot ce mai ramane sa facem este sa-l transpunem intr-un limbaj de programare invatat.
  2. In Pascal:

    program interschimbare;
    var pahar1, pahar2, pahar_aux: integer;
    begin
    writeln(„Dati cele 2 valori”);
    readln(pahar1);
    readln(pahar2);
    pahar_aux := pahar1;
    pahar1 := pahar2;
    pahar2 := pahar_aux;
    writeln(„Cele 2 valori s-au interschimbat: pahar1 = „,pahar1, ” , pahar2 = „, pahar2);
    end.

    In C++:

    #include <iostream>;
    int main() {
      std::cout << "Dati cele 2 valori" << std::endl;
      int pahar1, pahar2;
      std::cin >> pahar1;
      std::cin >> pahar2;
      int pahar_aux;
      pahar_aux = pahar1;
      pahar1 = pahar2;
      pahar2 = pahar_aux;
      std::cout <<"Cele 2 valori s-au interschimbat pahar1 = "<< pahar1 << ", pahar2 = " << pahar2 << std::endl;
    }

Cam astia-s pasii pe care trebuie sa ii urmam in rezolvarea unei probleme:

  • Stabilim datele de intrare
  • Stabilim datele de iesire
  • Stabilim date intermediare
  • Rezolvam problema in limbaj natural
  • „Traducem” problema in limbaj de programare

Probleme, necazuri, suparari daca aveti, nu ezitati sa le spuneti.
Puteti citi si variabile, constante si expresii in C++/Pascal care este o continuare a acestui articol.

Etichete: algoritmC++caracteristici algoritminterschimbarePascal

— Porumbel Valentin a scris 6 articole

Nu există o descriere a autorului.

  • Articolul anterior !Yahoo + Microsoft = Love
  • Articolul următor Metoda Greedy

5 Comentarii

  1. Avadanei Andrei spune:
    iulie 20, 2009 la 2:51 pm

    Interschimbarea se poate face prin mai multe moduri :

    XOR : a^=b^=a^=b;
    Adunari/Scaderi : a += b; b = a-b; a-= b;

  2. miculprogramator spune:
    iulie 20, 2009 la 7:55 pm

    Cine-i bamboocha? 🙂

  3. Avadanei Andrei spune:
    iulie 21, 2009 la 12:06 am

    A new WorldIT Writter 😀 Curand va fi prezentat 🙂

  4. PASCAL? spune:
    noiembrie 28, 2011 la 8:13 pm

    Cati ani ai baiatasule?

    Habar n-ai pascal, acum fara suparare…

  5. Adelinna spune:
    ianuarie 25, 2012 la 8:13 pm

    baiiii pana la urma toata viata e un algoritm…


  • Facebook

    WorldIT.info
  • Ultimele Atacuri Cibernetice din Romania – RO Hacked

    [wp_rss_retriever url="https://rohacked.bit-sentinel.com/feed/" excerpt="none" items="5" read_more="false" new_window="true" thumbnail="false" cache="0"] RO Hacked este registrul atacurilor cibernetice din România.
  • Caută

  • Articole Recomandate

    • Recent Posts
    • Tags
    • Număr record de participanți la DefCamp 2015, cel mai important eveniment dedicat securității cibernetice din Europe Centrala si de Estdecembrie 2, 2015
    • La DefCamp 2015 vei afla prin ce tehnici pot fi evitate măsurile de securitate ale sistemelor informatice criticeoctombrie 16, 2015
    • Ultima sansa sa rezervi bilete de tip Early Bird la DefCamp 2015septembrie 1, 2015
    • 15 sfaturi despre cum poti deveni un programator bun venite de la specialisti romaniaugust 4, 2015
    • algoritmica Android antivirus Apple Avadanei Andrei benzi desenate BitDefender blog browser C++ Chrome concurs eveniment Facebook Firefox Google google chrome hacking html5 infografic informatica internet Internet Explorer IT javascript linux Microsoft Mozilla Firefox online PHP programare retea sociala review Romania securitate Tehnologie Twitter web Windows Windows 7 Wordpress WorldIT worldit.info Yahoo! YouTube
  • februarie 2023
    L Ma Mi J V S D
     12345
    6789101112
    13141516171819
    20212223242526
    2728  
    « dec.    
  • Link-uri Sponsorizate

    • laptop second hand

    • Calculatoare Second Hand

    • cod voucher pc garage

  • Home
  • Tehnic
  • C/C++
  • Algoritm . Caracteristici . Exemple
  • Important

    • Bit Sentinel
    • Centrul de Cercetare în Securitate Informatică din România
    • DefCamp
  • Prieteni

    • BetiT.ro
    • bijuterii handmade
    • Computerica | Resurse gratuite PC
    • Descopera.org
    • Gadgeturi si IT – Giz.ro
  • Prieteni

    • PC – Config
    • RO Hacked
    • Stiri IT

Copyright © 2009-2014 WORLDIT. Toate drepturile Rezervate.
Termeni și condiții | Contact | Licența Creative Commons