Jump to content
zbeng

Intrebari info..eu intreb voi raspundeti!

Recommended Posts

Mi se pare ca intrebarea este pusa intr-un mod cam ciudat, dar in fine.

Dupa parerea mea, sunt foarte importante din 2 motive:

  • 1. Odata ce ai declarat o functie, o poti invoca intr-un singur rand. In schimb, daca nu ai declarat functia, si o sa ai nevoie sa faci acelasi lucru de mai multe ori, o sa trebuiasca sa copiezi codul respectiv de fiecare data. La programe cat de cat serioase, e foarte important sa ruleze cat mai repede, sa fie mic si sa fie eficient.
    2. E mult mai bine structurat, se intelege mai bine daca faci o functiew decat daca trantesti un cod.

Bafta ;).

P.S.: La ce iti trbuie asta :) ?

Link to comment
Share on other sites

ma plictisesc si am zis eu sa intreb si voi sa raspundeti si eu dupa aia voi da raspunsu la intrebare

bv ai raspuns bine

un raspuns mai complet

Raspuns: Sa presupunem ca ai un program in care o anumita secventa se executa de mai multe ori. Poti fi tentat sa copiezi codul de mai multe ori, dar nu este bine, pentru ca la un moment dat daca vei vrea sa modifici in toate locurile codul multiplu, iti va fi foarte greu!

De aceea exista functii si proceduri (se mai numesc metode sau membrii - mai ales in programarea Orientata Obiect)!

Procedurile executa ceva, dar nu ne informeaza despre ce s-a intamplat. Pur si simplu se executa.

Un exemplu de procedura in C arata asa:

void Mesaj(char *str) {

printf("A aparut urmatorul mesaj de eroare: %s",str);

exit(-1);

}


Acest exemplu afiseaza un mesaj de eroare si iese imediat din program. Din program se apeleaza cu:

Mesaj("Date de intrare gresite");


O functie executa un anume cod si ne informeaza despre rezultatul ei. Cel mai simplu exemplu este o functie care spune daca un numar este par sau impar:

int EstePar(int nr) {

if (nr%2==0) {

return 1;

}

else {

return 0;

}

}


Apoi, din cod se poate apela asa:

if (EstePar(n)==1) {

Mesaj("Este par!");

}

else {

Mesaj("Este impar!");

Link to comment
Share on other sites

ma plictisesc si am zis eu sa intreb si voi sa raspundeti si eu dupa aia voi da raspunsu la intrebare.

E o idee buna. Ne mai punem mintea la contributie ;). Totusi, cred ca ar trbui mutat la Challenge-uri(daca ii schimbati putin numele).

Astept urmatoarele intrebari :P.

Link to comment
Share on other sites

Asta-i o intrebare care merita sa te documentezi putin inainte.

Unele motive ar fi:

1. Pentru ca nu exista un algoritm universal care sa poata fi implementat pentru orice tip de problema.

2. Fiecare algorimt are avantajele si dezavantajele sale.

3. Fiind atatia algorimi putem alege pe cel optim pentru problema noastra. Nu vom alege QuickSort pentru a sorta 10 nr intregi.

4. Cum nevoia de a memorara date din ce in ce mai mari, ce nu incap in tipurile de date conventionale creste trebuie sa existe si algoritmi care sa poata sorta aceste date.

Link to comment
Share on other sites

dupa mintea mea raspunsul ar fi

Raspuns: Orice algoritm care are niste date de intrare are 3 cazuri:
- cazul cel mai bun
- cazul cel mai rau
- cazul mediu

Aceste cazuri reprezinta performanta lor si evolutia performantei in functie de numarul datelor de intrare. Spre exemplu, pentru 10 elemente de sortat, nu se poate cunoaste o diferenta in timpul de executie intre mai multi algoritmi. In schimb, la 10000 elemente putem observa diferente intre algoritmi ca si timp de rulare.

Cel mai simplu de scris este Sortarea cu Bule (Bubble Sort). Din pacate este lent. Ca si algoritm rapid putem vorbi despre Quicksort, Mergesort si Heapsort.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...