Algoritmi!!!
Moderator: Moderatori
Algoritmi!!!
Majoritatea programelor functioneaza greu din cauza algoritmilor pe care este construit! De exemplu exista un algoritm pentru generarea permutarilor mai rapid decat Backtraking? Daca exista atunci de ce se invata inca in licee algoritmi greoi si ineficienti!
-
- Posts: 39
- Joined: Sat Jul 19, 2003 1:18 am
backtracking-ul este "natural" si il intelege toata lumea, e "general" adica se preteaza la o clasa mare de probleme. Cum ar fi sa invatam la sortari siruri numai qsort ? In plus, unii algoritmi care pot fi foarte potriviti in unele situatii nu sunt buni in altele, sau nu se potrivesc conditiilor.
Daca vrei sa faci web-design, sau baze de date de ex., te vei descurca si fara sa sti prea multi alogoritmi, dar poate vei vrea sa faci grafica si atunci fara background puternic o sa fie aproape imposibil. Pe mine ma enerva in faculta ca profii ne puneau sa ii stim pe de rost, cu punct si virgula fara sa puna destul accent pe aplicabilitate (mai ales ca eu nu am o memorie deosebita !! chiar, despre ce vorbeam ?? :lol: ).
Daca vrei sa faci web-design, sau baze de date de ex., te vei descurca si fara sa sti prea multi alogoritmi, dar poate vei vrea sa faci grafica si atunci fara background puternic o sa fie aproape imposibil. Pe mine ma enerva in faculta ca profii ne puneau sa ii stim pe de rost, cu punct si virgula fara sa puna destul accent pe aplicabilitate (mai ales ca eu nu am o memorie deosebita !! chiar, despre ce vorbeam ?? :lol: ).
Pai, is de acord cu voi ca backtracking e dapasit insa e flexibil in sensul ca poti rezolva mult mai multe tipuri de probleme si tre sa retii doar o structura si o formulare, atat, de asta cred ca ramane de actualitate.
Ca exista algoritmi mai buni pentru o chestie sau alta da, insa daca toti programatori si-ar bate capul sa retina zece mii de algoritmi diferiti cred ca ar deveni o specie pe cale de disparitie! 0X
Ca exista algoritmi mai buni pentru o chestie sau alta da, insa daca toti programatori si-ar bate capul sa retina zece mii de algoritmi diferiti cred ca ar deveni o specie pe cale de disparitie! 0X
If you have time to think that life sucks, that you're not making the most out of it!!
Re: Nu te chinui
Care carte? :o Cormen are doar putin peste 800 de pagini... dupa ce carte ai invatat?Wi][iE wrote:...manualul pe care trebuie sa il invatam are in jur de 1300 pagini... :lol: De-abia aici faci algoritmi...
Am masurat-o
Am calculat "ochiometric"...Era asemanatoare ca grosime cu "Programming Windows" de Charles Petzold care are 1300 pagini...dar nu am luat in calcul calitatea hartiei si altele...
Dar si alea 800 pagini sunt destul de mult, pt ca in postul meu despre asta vorbeam
Eu sunt in anul I. Am vazut doar cartea la cineva.
Dar si alea 800 pagini sunt destul de mult, pt ca in postul meu despre asta vorbeam
Eu sunt in anul I. Am vazut doar cartea la cineva.
Will make polys and splines for food...and clothes...
Pentru ca sunt probleme pentru care inca nu se stie alta metoda decat backtracking, si e bine sa intelegi bine algoritmii de baza. Caci sunt sigur ca nu e singurul algoritm care se face in liceu. Doar ca nu prea poti invata divide et impera daca nu ai cea mai vaga idee despre BT. Si e adevarat ca unii se descurca mai bine daca citesc o data despre backtracking, care e banal de inteles, si pe urma se apuca sa studieze algoritmi seriosi. Dar in lumea asta oamenii destepti sunt foarte rari, si profesorii nu trebuie sa se ocupe in principal de aia destepti, ci de mase. Asa ca nu poti zice ca toti cei din clasele voastre se descurca foarte bine cu backtrackingul si ar prefera sa faca QuickSort, sau 2-3 arbori, sau Kruskal.
Daca in schimb vrei sa spui ca proful nu va lasa sa invatati altceva, atunci aflati ca in Romania profesorii nu sunt prea destepti. Oamenii destepti prefera sa faca bani in alte parti, mai ales informaticienii, care daca sunt buni isi gasesc usor un loc de munca cu minim 200 de euro salariu. Si nu numai in Romania.
Algoritmii sunt baza informaticii, a programarii. Fara algoritmi nu exista programare. Si intelegerea lor este esentiala. Foarte bine ca va intereseaza, si foarte bine ca va place.
Daca in schimb vrei sa spui ca proful nu va lasa sa invatati altceva, atunci aflati ca in Romania profesorii nu sunt prea destepti. Oamenii destepti prefera sa faca bani in alte parti, mai ales informaticienii, care daca sunt buni isi gasesc usor un loc de munca cu minim 200 de euro salariu. Si nu numai in Romania.
Algoritmii sunt baza informaticii, a programarii. Fara algoritmi nu exista programare. Si intelegerea lor este esentiala. Foarte bine ca va intereseaza, si foarte bine ca va place.
The grass was greener...
I am death...
I am death...
Permite-mi sa nu fiu de acord.
nu poti sa faci informatica daca ti se impune sa folosesti anumiti algoritmi!
numai asa poti evolua daca incerci sa concepi ceva ce nimeni n-a mai facut!
Dupa parerea mea orice problema sa poate rezolva in mai multe moduri,iar BK nu e nici pe de parte solutia!!!!!!!!!!
nu poti sa faci informatica daca ti se impune sa folosesti anumiti algoritmi!
numai asa poti evolua daca incerci sa concepi ceva ce nimeni n-a mai facut!
Dupa parerea mea orice problema sa poate rezolva in mai multe moduri,iar BK nu e nici pe de parte solutia!!!!!!!!!!
- bloomfield
- Posts: 214
- Joined: Sat Sep 13, 2003 2:55 pm
Algoritmii nu ar trebui "invatati" in sensul de retinuti. Mai degraba ar trebuii intelesi. Invatamantul din romania insa merge mai departe pe principiul tocelii si chiar si in facultate se intampla de cele mai multe ori acelasi lucru ca in liceu.
Chiar cei mai simplii algoritmi si cei mai "prosti" trebuie in continuare studiati pentru ca altfel cum ai putea sa ii intelegi pe cei mai complecsi(oare asa se scrie)? Algoritmii "destepti" sunt de cele mai multe ori construiti pe baza unora mai simplii. Deasemenea algoritmii astia simplii sunt foarte folositori ca baza de comparatie pentru ceilalti. Daca faci un algoritm, faci niste masuratori si zici ca e de zece ori mai bun decat ala facut cu backtracking e clar pentru toata lumea cat de bun e algoritmul tau.
In ziua de azi cunoasterea algoritmilor nici macar nu mai este o necesitate pentru programare. Exista ierarhii de clase care fac o gramada de lucruri (vezi STL, Java sau CLR) si care pot fi folosite pentru a face o multime de aplicatii complexe fara sa ai nevoie sa faci un singur algoritm. Dar cand ai nevoie poti oricand sa te duci sa cauti un algoritm potrivit si sa il implementezi (daca nu il gasesti deja implementat
); nu trebuie sa iti amintesti un algoritm pe care l-ai invatat in liceu.
Chiar cei mai simplii algoritmi si cei mai "prosti" trebuie in continuare studiati pentru ca altfel cum ai putea sa ii intelegi pe cei mai complecsi(oare asa se scrie)? Algoritmii "destepti" sunt de cele mai multe ori construiti pe baza unora mai simplii. Deasemenea algoritmii astia simplii sunt foarte folositori ca baza de comparatie pentru ceilalti. Daca faci un algoritm, faci niste masuratori si zici ca e de zece ori mai bun decat ala facut cu backtracking e clar pentru toata lumea cat de bun e algoritmul tau.
In ziua de azi cunoasterea algoritmilor nici macar nu mai este o necesitate pentru programare. Exista ierarhii de clase care fac o gramada de lucruri (vezi STL, Java sau CLR) si care pot fi folosite pentru a face o multime de aplicatii complexe fara sa ai nevoie sa faci un singur algoritm. Dar cand ai nevoie poti oricand sa te duci sa cauti un algoritm potrivit si sa il implementezi (daca nu il gasesti deja implementat

O barmaniţă virtuală aş putea accepta
...dar o bere virtuală?? Niciodată!
...dar o bere virtuală?? Niciodată!
Cartea de baza in algoritmi e Thomas Cormen, Rivest, Leiserson - Introducere in algortmi, editura Agora editia in romana. Daca vrei, exista si editia chm. Asta ca baza, prezinta destul de bine algoritmii clasici ai informaticii, plus ceva chestii mai avansate pe la sfarsit. Pe urma, Knuth are carti bune, desi nu sunt doar de algoritmi, si in plus costa destul de mult cartile lui.
The grass was greener...
I am death...
I am death...
- AudioVideo
- Posts: 24
- Joined: Fri Jun 13, 2003 8:36 pm
nu stiu ce sa zic. daca te intereseaza notele inveti pe dinafara algoritmi, daca nu incerci lucruri noi. eu am terminat liceul la profilul informatica apoi am renuntat la breasla si am trecut-o pe legi si nu stiu cum e la fac de info doar din auzite.
dar in liceu nu invatam la nici un examen algoritmul pe de rost si de asta cam intarziam si luam note mai mici. dar nu ma deranja. eu zic ca sunt folositori in prima faza.. in scop didactic... si de aici variatiunile tin de fiecare in parte.
cat despre "bk" ... sunt probleme care ajung la un rezultat sigur si corect doar cu el. dejavantajul e viteza desigur... pt asta exista algoritmi eurisitici dar rezultatul lasa de multe ori de dorit.
cred ca totul tine de aplicatia respectiva. nu vei putea folosi niciodata bk intr-un algoritm de pathfinding de ex.
dar in liceu nu invatam la nici un examen algoritmul pe de rost si de asta cam intarziam si luam note mai mici. dar nu ma deranja. eu zic ca sunt folositori in prima faza.. in scop didactic... si de aici variatiunile tin de fiecare in parte.
cat despre "bk" ... sunt probleme care ajung la un rezultat sigur si corect doar cu el. dejavantajul e viteza desigur... pt asta exista algoritmi eurisitici dar rezultatul lasa de multe ori de dorit.
cred ca totul tine de aplicatia respectiva. nu vei putea folosi niciodata bk intr-un algoritm de pathfinding de ex.
euu
Am citit si eu cu interes topicul asta si am ajuns la concluzia ca nu ati inteles scopul educatiei (informatice in special).
Rolul educatiei, printre altele, este sa formeze automatisme. Automatismele fac diferenta in practica. Ce astept eu de la un software engineer? Sa-mi rezolve repede si curat o problema, de fiecare data cand am nevoie. In aceste conditii, un individ care nu a invatat algoritmii si principiile de programare pe de rost, va fi in stare sa-mi rezolve doar 2-3 probleme din 10, pentru simplul motiv ca pe restul nu mi le va rezolva in timp util. Probabil e in stare sa mi le rezolve pe toate, dar ce folos daca nu o face in timp util? Pe de alta parte, apreciez un individ care imi poate spune in cateva cuvinte ce face heapsort sau cum se insereaza un element intr-o lista dublu inlantuita. De ce? Pentru ca asta imi demonstreaza ca individul: 1. are memorie 2. are exercitiu 3. cunoaste principii de programare 4. e un tip ordonat.
Respect oamenii inteligenti care pot indica o rezolvare software a unei probleme fara a folosi vreun algoritm. Problema e ca eu nu caut neaparat genii, ci oameni de echipa, bine pregatiti si cu automatisme de programare bine puse la punct.
Si ma puteti crede ca eu sunt pus in situatia sa angajez software engineers. Puteti ghici pe care dintre voi i-as angaja si pe care nu?
Rolul educatiei, printre altele, este sa formeze automatisme. Automatismele fac diferenta in practica. Ce astept eu de la un software engineer? Sa-mi rezolve repede si curat o problema, de fiecare data cand am nevoie. In aceste conditii, un individ care nu a invatat algoritmii si principiile de programare pe de rost, va fi in stare sa-mi rezolve doar 2-3 probleme din 10, pentru simplul motiv ca pe restul nu mi le va rezolva in timp util. Probabil e in stare sa mi le rezolve pe toate, dar ce folos daca nu o face in timp util? Pe de alta parte, apreciez un individ care imi poate spune in cateva cuvinte ce face heapsort sau cum se insereaza un element intr-o lista dublu inlantuita. De ce? Pentru ca asta imi demonstreaza ca individul: 1. are memorie 2. are exercitiu 3. cunoaste principii de programare 4. e un tip ordonat.
Respect oamenii inteligenti care pot indica o rezolvare software a unei probleme fara a folosi vreun algoritm. Problema e ca eu nu caut neaparat genii, ci oameni de echipa, bine pregatiti si cu automatisme de programare bine puse la punct.
Si ma puteti crede ca eu sunt pus in situatia sa angajez software engineers. Puteti ghici pe care dintre voi i-as angaja si pe care nu?

Trei lucruri aduc pace in inima barbatului: apa, iarba verde si frumusetea femeii. (Dune)
In primu` rand daca nu eshti sigur de sensul unui cuvant evita sa`l foloseshti. Potzi zice ushor programator in loc de software engineer. Mai sus tu te refereai de fapt la software developer, nu engineer. Ca fapt divers. Nu de alta, da` tocmai am trecut pe la nishte seminarii microsoft pe tema asta. aşa ca ma indoiesc ca ai fost pus in situatzia de a angaja software engineer, marite dodo.
Cat despre topic, referitor la algoritmi, sunt curios cat de mult putetzi abera...aşa ca o sa ma abtzin de la a posta inca puţin...
Cat despre topic, referitor la algoritmi, sunt curios cat de mult putetzi abera...aşa ca o sa ma abtzin de la a posta inca puţin...
Traducerea libera a termenului de "software engineer" este "analist programator". Am facut vreo greseala?
Deschide, te rog, e un google si introdu cuvintele "software engineer". Cred ca vei avea o "mica" surpriza.
Deschide, te rog, e un google si introdu cuvintele "software engineer". Cred ca vei avea o "mica" surpriza.
Trei lucruri aduc pace in inima barbatului: apa, iarba verde si frumusetea femeii. (Dune)
Question
Pt dodo_13: cu ce te ocupi (daca vrei poti sa nu raspunzi) ? sunt curios.
Pt arpad: f bine. Daca-ti spun ca nici acum nu stiu sa fac bk ma crezi (asta doar ca fapt divers)? Intr-o zi va trebui sa-l invat, stiu...da mi-i leni...
Pt arpad: f bine. Daca-ti spun ca nici acum nu stiu sa fac bk ma crezi (asta doar ca fapt divers)? Intr-o zi va trebui sa-l invat, stiu...da mi-i leni...
Will make polys and splines for food...and clothes...
Se vedea din modul in care ai formulat penultimul post aici, dar vroiam sa fiu sigur. Multumesc pt raspuns.
(Editat) http://www.aihorizon.com este un site f bun daca vrei algoritmica. Spuneti-mi parerea despre el.
(Editat) http://www.aihorizon.com este un site f bun daca vrei algoritmica. Spuneti-mi parerea despre el.

Will make polys and splines for food...and clothes...
in ciuda faptului ca detest MODUL in care mi se preda disciplina legata de algoritmi, pot sa dau cu parerea spunand ca-s oarecum de "bun simt", pt orice om ce lucreaza ori face research in domeniul IT(indeosebi CS).
pur si simplu, problema e CE si mai ales CUM inveti ca ceea ce ar trebui sa fie "fundamental"(acest cuvant e interpretabil).
cine se gandeste ca tot ce inseamna retele, trasee in viata reala(auto, feroviar, comunicatii etc etc etc) inseamna grafuri, testarea ADN-ului pattern matching mai avansat etc..
dar vreau sa inchei cu altceva.. cine isi pune problema faptului ca "algoritmii" sunt ceva mai abstract decat matematica???
eu personal nu cred ca o sa am de-a face cu algoritmi cam.. deloc, si totusi ii voi invata deoarece ca si mult-urata(de multi) matematica, modeleaza mult gandirea si va ajuta mai tarziu.. of course, nu e obligatoriu sa fie asa pentru toti!
pur si simplu, problema e CE si mai ales CUM inveti ca ceea ce ar trebui sa fie "fundamental"(acest cuvant e interpretabil).
cine se gandeste ca tot ce inseamna retele, trasee in viata reala(auto, feroviar, comunicatii etc etc etc) inseamna grafuri, testarea ADN-ului pattern matching mai avansat etc..
dar vreau sa inchei cu altceva.. cine isi pune problema faptului ca "algoritmii" sunt ceva mai abstract decat matematica???
eu personal nu cred ca o sa am de-a face cu algoritmi cam.. deloc, si totusi ii voi invata deoarece ca si mult-urata(de multi) matematica, modeleaza mult gandirea si va ajuta mai tarziu.. of course, nu e obligatoriu sa fie asa pentru toti!
Si totusi, de ce profii nu incurajeaza elevii sa foloseasca si alti algoritmi!
Cum am reusit eu sa fac problema cu permutarile altu poate reuseste sa faca alta problema si din probleme in probleme am putea revulutiona ceva(binenteles ca aberez)! da totusi ,de ce sa scriu carnatu ala de BK cand pot rezolva problema in cateva linii?
Cum am reusit eu sa fac problema cu permutarile altu poate reuseste sa faca alta problema si din probleme in probleme am putea revulutiona ceva(binenteles ca aberez)! da totusi ,de ce sa scriu carnatu ala de BK cand pot rezolva problema in cateva linii?
-
- Posts: 39
- Joined: Sat Jul 19, 2003 1:18 am
vad ca nimeni nu intelege gravitatea problemei!
daca elevilor nu li se dau dreptul sa improvizeze atunci vor invata exact ceea ce stiu profii! daca nu sunt incurajati sa descopere algoritmi noi atunci peste 10 ani o sa avem nevoie de pentium enspemii pentru a rula Windows xxx! Tra sa gasim solutii noi in rezolvarea problemelor!!!!
oricum eu cand am propus subiectul asta atunci m-am gandit ca o sa postam niste algoritmi si o sa incercam sa descoperim noi metode de a rezolva unele probleme cum ar fi cea cu permutarile!!!!
daca elevilor nu li se dau dreptul sa improvizeze atunci vor invata exact ceea ce stiu profii! daca nu sunt incurajati sa descopere algoritmi noi atunci peste 10 ani o sa avem nevoie de pentium enspemii pentru a rula Windows xxx! Tra sa gasim solutii noi in rezolvarea problemelor!!!!
oricum eu cand am propus subiectul asta atunci m-am gandit ca o sa postam niste algoritmi si o sa incercam sa descoperim noi metode de a rezolva unele probleme cum ar fi cea cu permutarile!!!!
-
- Posts: 39
- Joined: Sat Jul 19, 2003 1:18 am
Asta-i in pascal daca intelegi:
Program Generare_Lanturi;
uses crt;
var st:array[1..30]of byte;
n:integer;
procedure init;
var i,j:integer;
begin
Write('Dati numarul n : '); readln(n);
for i:=1to n do st:=0;
end;
procedure tipar(s:integer);
var i:integer;
begin
for i:=1to s do Write(St,' ');
Writeln;
end;
function valid(p:integer):boolean;
var ok:boolean;
i,j:integer;
begin
ok:=true;
for i:=1 to p-1 do if st[p]=st then ok:=false;
valid:=ok;
end;
procedure bk(p:integer);
var i:integer;
begin
for i:=1to n do begin
st[p]:=i;
if valid(p) then if p=n then tipar(p)
else bk(p+1);
end;
end;
begin
init;
bk(1);
end.
Program Generare_Lanturi;
uses crt;
var st:array[1..30]of byte;
n:integer;
procedure init;
var i,j:integer;
begin
Write('Dati numarul n : '); readln(n);
for i:=1to n do st:=0;
end;
procedure tipar(s:integer);
var i:integer;
begin
for i:=1to s do Write(St,' ');
Writeln;
end;
function valid(p:integer):boolean;
var ok:boolean;
i,j:integer;
begin
ok:=true;
for i:=1 to p-1 do if st[p]=st then ok:=false;
valid:=ok;
end;
procedure bk(p:integer);
var i:integer;
begin
for i:=1to n do begin
st[p]:=i;
if valid(p) then if p=n then tipar(p)
else bk(p+1);
end;
end;
begin
init;
bk(1);
end.
-
- Posts: 39
- Joined: Sat Jul 19, 2003 1:18 am
este evident ca e stufos, am incercat sa fac o trasare (n-am Pascal) si observ ca efortul computational (ca sa zic asa) e mare.
uite cum e fara backup, mai simplu nu cred ca se poate...
declaratii:
cod:
am folosit functia Factorial:
poate parea lung codul, dar am numai doua for-uri si folosesc elemente de tip string.
uite cum e fara backup, mai simplu nu cred ca se poate...
declaratii:
initializari:String[] elem = {"A", "B", "C", "D", "E", "F", "G", "H"}; // elementele
String[][] perm = new String[elem.Length][]; // tablou "zimtat" adica liniile matricei pot fi de lungime arbitrara
for(int i=0;i<elem.Length;i++)
{
perm = new String[Factorial(i+1)];
}
cod:
perm[0][0] = elem[0];
for(int j=1;j<elem.Length;j++)
for(int i=0;i<perm[j].Length;i++)
perm[j] = perm[j-1][i/(j+1)].Insert(i%(j+1),elem[j]);
am folosit functia Factorial:
public Int64 Factorial(Int32 n)
{
return (n==1?1:n*Factorial(n-1));
}
poate parea lung codul, dar am numai doua for-uri si folosesc elemente de tip string.
-
- Posts: 39
- Joined: Sat Jul 19, 2003 1:18 am
mai exact (am modificat sirurile cu "1", "2", "3"):
321
231
213
312
132
123
cu 1,2,3,4,5 este (sa nu ma injurati):
-----------------------------
54321
45321
43521
43251
43215
53421
35421
34521
34251
34215
53241
35241
32541
32451
32415
53214
35214
32514
32154
32145
54231
45231
42531
42351
42315
52431
25431
24531
24351
24315
52341
25341
23541
23451
23415
52314
25314
23514
23154
23145
54213
45213
42513
42153
42135
52413
25413
24513
24153
24135
52143
25143
21543
21453
21435
52134
25134
21534
21354
21345
54312
45312
43512
43152
43125
53412
35412
34512
34152
34125
53142
35142
31542
31452
31425
53124
35124
31524
31254
31245
54132
45132
41532
41352
41325
51432
15432
14532
14352
14325
51342
15342
13542
13452
13425
51324
15324
13524
13254
13245
54123
45123
41523
41253
41235
51423
15423
14523
14253
14235
51243
15243
12543
12453
12435
51234
15234
12534
12354
12345
-----------------------------
de fapt cum fac, iau primul element din sir si il fixez, apoi al doilea si il lipsec inainte de primul apoi dupa primul, apoi iau al treilea element si il plimb din prima pozitie pana la ultima etc... bineinteles ca toate sirurile intermediare le memorez, ca se le parcurg cand mai vine un element.
321
231
213
312
132
123
cu 1,2,3,4,5 este (sa nu ma injurati):
-----------------------------
54321
45321
43521
43251
43215
53421
35421
34521
34251
34215
53241
35241
32541
32451
32415
53214
35214
32514
32154
32145
54231
45231
42531
42351
42315
52431
25431
24531
24351
24315
52341
25341
23541
23451
23415
52314
25314
23514
23154
23145
54213
45213
42513
42153
42135
52413
25413
24513
24153
24135
52143
25143
21543
21453
21435
52134
25134
21534
21354
21345
54312
45312
43512
43152
43125
53412
35412
34512
34152
34125
53142
35142
31542
31452
31425
53124
35124
31524
31254
31245
54132
45132
41532
41352
41325
51432
15432
14532
14352
14325
51342
15342
13542
13452
13425
51324
15324
13524
13254
13245
54123
45123
41523
41253
41235
51423
15423
14523
14253
14235
51243
15243
12543
12453
12435
51234
15234
12534
12354
12345
-----------------------------
de fapt cum fac, iau primul element din sir si il fixez, apoi al doilea si il lipsec inainte de primul apoi dupa primul, apoi iau al treilea element si il plimb din prima pozitie pana la ultima etc... bineinteles ca toate sirurile intermediare le memorez, ca se le parcurg cand mai vine un element.
-
- Posts: 39
- Joined: Sat Jul 19, 2003 1:18 am
n-am de ce sa ma supar.
daca citesc n de la tastatura ca fiind egal cu 3, atunci eu pot sa fac permutari de 3 elemente, dar codul pe care l-am scris nu se limiteaza sa permute numai numere ci si elemente pe care le dai tu sub forma unui sir, pentru ca oricum se ia indexul elementului din sir, care este de la 0 la cat e de lung sirul, nu?
daca citesc n de la tastatura ca fiind egal cu 3, atunci eu pot sa fac permutari de 3 elemente, dar codul pe care l-am scris nu se limiteaza sa permute numai numere ci si elemente pe care le dai tu sub forma unui sir, pentru ca oricum se ia indexul elementului din sir, care este de la 0 la cat e de lung sirul, nu?
-
- Posts: 39
- Joined: Sat Jul 19, 2003 1:18 am
Sa ne intoarcem la discutia despre algoritmi. La noi se fac algoritmi in liceu? Nu se face nici macar informatica. Daca pentru voi conteaza Djikstra ala de se face in a 11-a ca algoritm, sau cautarea binara, atunci aveti niste necazuri serioase. Se fac niste chestii disparate, fara legatura intre ele, fara explicatii, nici macar in manual. Pana la urma, importanta e ideea, nu niste aplicatii banale ale ei. Ar trebui sa facem programare dinamica, dar e cam 3 randuri in orice manual de liceu de clasa a X-a. Cum inveti elevul sa gandeasca? Punand-ul sa invete pe de rost problema damelor si problema colorarii tarilor? ( Va amintesc ca exact asa suna programa pentru bac pana acu' vreo 2 ani, acum au adaugat "si probleme asemanatoare" la imbecilitate). Cea mai grava treaba e ca elevul e pus, atat la bac, cat si, mult mai rau, la concursuri, sa faca lucruri total rupte de ce e in programa. Daca tot isi bat joc de informatica, sa o faca pana la capat, nu sa presupuna ca un elev de-a 10-a stie programare dinamica fara exemple, fara nimic, si sa dea in prostie pe la olimpiade (does "concurs SCOLAR" ring a bell? sa-i zica naibii concurs de informatica pentru studenti si pensionari).
Arpad, nu ma calca pe nervi. Cand ai facut tu programare dinamica in liceu (si da, stiu ca e metoda si nu algoritm)? Cand ai facut algoritmul lui Lee? Cand ai facut Kruskal? Astea se dau frecvent, am inteles, la concursurile "scolare".
Din 55 de participanti la clasa a XII-a la ONI au picat 6 la admitere Facultatea de Info, in Bucuresti. Nusht cu ce note au picat pe la alte facultati, dar la asta au picat cu 4 s-un pic, si au avut cam 100 pct la ONI -pe la mijloc adica. Deci... mai mult de 10% din cei presupus cei mai buni la info nu sunt in stare sa faca macar de 5 niste subiecte relativ medii, pentru un elev bunicel. Aia sigur nu gandesc, ci invata rezolvari date de profi scumpi. Altii, care gandesc (nu, nu ma refer la mine), nici n-au sansa sa ajunga, pentru ca netul e scump, cartile sunt scumpe, programa scolara e 0 barat, si nici o cantitate de inteligenta nu le poate suplini (poate vrei acum sa rescrie elevi de a 9-a, a 10-a istoria algoritmicii... apropo, de Ada de Lovelace ai auzit? Rudele ei se ocupau de algoritmica acum 100 de ani, ca sa nu spui ca informatica e un domeniu nou.
Algoritmica in liceu oi fi facut tu, cu meditatii de 50$/ora cu cine stie fufa, desi in general nici macar de alea nu exista pe la noi. Noi, restul lumii, n-am facut si nu facem.
moderator edit @ Black Shark
ultima parte e un pic cam agresiva
atentie sa nu pornesti vreun flame :oops:
Din 55 de participanti la clasa a XII-a la ONI au picat 6 la admitere Facultatea de Info, in Bucuresti. Nusht cu ce note au picat pe la alte facultati, dar la asta au picat cu 4 s-un pic, si au avut cam 100 pct la ONI -pe la mijloc adica. Deci... mai mult de 10% din cei presupus cei mai buni la info nu sunt in stare sa faca macar de 5 niste subiecte relativ medii, pentru un elev bunicel. Aia sigur nu gandesc, ci invata rezolvari date de profi scumpi. Altii, care gandesc (nu, nu ma refer la mine), nici n-au sansa sa ajunga, pentru ca netul e scump, cartile sunt scumpe, programa scolara e 0 barat, si nici o cantitate de inteligenta nu le poate suplini (poate vrei acum sa rescrie elevi de a 9-a, a 10-a istoria algoritmicii... apropo, de Ada de Lovelace ai auzit? Rudele ei se ocupau de algoritmica acum 100 de ani, ca sa nu spui ca informatica e un domeniu nou.
Algoritmica in liceu oi fi facut tu, cu meditatii de 50$/ora cu cine stie fufa, desi in general nici macar de alea nu exista pe la noi. Noi, restul lumii, n-am facut si nu facem.
moderator edit @ Black Shark
ultima parte e un pic cam agresiva
atentie sa nu pornesti vreun flame :oops:
- Dr. Voidberg
- Moderator
- Posts: 2718
- Joined: Tue Dec 24, 2002 1:17 pm
Atentie la o chestie! La facultatea asta se da admitere la matematica si nu la informatica. Iar anul trecut subiectele au fost criminal de grele.shatter wrote: Din 55 de participanti la clasa a XII-a la ONI au picat 6 la admitere Facultatea de Info, in Bucuresti. Nusht cu ce note au picat pe la alte facultati, dar la asta au picat cu 4 s-un pic, si au avut cam 100 pct la ONI -pe la mijloc adica. Deci... mai mult de 10% din cei presupus cei mai buni la info nu sunt in stare sa faca macar de 5 niste subiecte relativ medii, pentru un elev bunicel.
96 percent of Americans believe that Mr. T still pities the fool.
Radical dreamer
Radical dreamer
Da, au fost mai grele decat in 2002, dar nu se poate invata info fara gandire matematica, deci daca aia au fost pe drept la ONI, ACSL si altele, trebuiau sa stie mate. De fapt, nusht cat de criminale au fost subiectele... eu am facut cam de 6 fara sa stiu materia de-a 12-a, sau bajbaind un pic la algebra, pe care o mai auzisem. Cum poate un olimpic la info sa ia 4 la subiectele alea. Nu poate, decat daca nu prea are in tartacuta mare lucru...