Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Hotel cu restaurant si Demipensiu...

Croaziera in Mediterana de Vest 1...

Copilot are pica pe Vladimir Putin

MicroSoft Edge: Cum pun Google in...
 Dashcam

Mini server - VMware

betano.ro

Poveste fara sfarșit
 I-auziti voi! - nu vor romani...

Colon iritabil

Perioada de gratie inexistenta

Cel mai ieftin TV LED mic
 Reverse proxy si htaccess pe Raps...

Statie de epurare sau fosa septic...

"enerlux p" afisaj interm...

Adaptor usb3.1gigabit vs Adaptor ...
 

Programarea in limbajul C/C++ pentru liceu

- - - - -
  • Please log in to reply
27 replies to this topic

#1
levy_gh

levy_gh

    Junior Member

  • Grup: Members
  • Posts: 214
  • Înscris: 19.06.2007
Buna ziua,vreu sa invat limbajul de programare C.Ce credeti despre cartea "Programarea in limbajul C/C++ pentru liceu
Editura Polirom" e bun pentru inceput?

PS:Am cumparat cartea "Totul despre c/c++" dar nu imi place pentru ca in compilatoare moderne nu pot compila exemplele din carte.

#2
zalman

zalman

    Member

  • Grup: Members
  • Posts: 297
  • Înscris: 10.09.2007
e foarte fain cartea...poti sa iti iei toate volumele.Sintetizeaza cam tot ce ar trebui sa sti despre c++...daca vrei sa aprofundezi atunci se pune altfel problema...

#3
hdalin

hdalin

    New Member

  • Grup: Members
  • Posts: 5
  • Înscris: 02.12.2007
Nu stiu despre tine, dar pentru mine "programarea in limbajul C/C++ pentru liceu" spune totul. In liceu se invata c++ asa cum era acesta prin anii '90, iar daca incerci sa compilezi un astfel de cod intr-un compilator modern ...  :cursing:

#4
Vv3n0M

Vv3n0M

    Member

  • Grup: Members
  • Posts: 623
  • Înscris: 22.11.2006
nu prea conteaza compilatorul, nici limbajul asa de mult, tehnicile si metodele sunt aceleasi. Un elev olimpic in liceu gandeste mai mult decat un programator...java sa-i spunem. Si Pascal daca faci, tot e bine, daca esti facut pt asa ceva inveti un limbaj in 2 sapt, pornind de la c++ sau pascal. Plus ca Borland C++ 3.1, banalul compilator pt DOS care se invata in liceu, este foarte rapid , mai rapid decat multe compilatoare moderne.  

  Peace.

L.E. Omul a spus

Quote

vreu sa invat
, nu ca vrea sa aprofundeze, deci cartea este numa` buna pt el.

Edited by Vv3n0M, 09 June 2008 - 09:43.


#5
NumeDeCod

NumeDeCod

    Active Member

  • Grup: Senior Members
  • Posts: 1,544
  • Înscris: 11.03.2005

View PostVv3n0M, on Jun 9 2008, 10:40, said:

Un elev olimpic in liceu gandeste mai mult decat un programator...java sa-i spunem. Si Pascal daca faci, tot e bine, daca esti facut pt asa ceva inveti un limbaj in 2 sapt, pornind de la c++ sau pascal. Plus ca Borland C++ 3.1, banalul compilator pt DOS care se invata in liceu, este foarte rapid , mai rapid decat multe compilatoare moderne.
Ai noroc ca probabil programatorii Java nu citesc aria de C++, altfel  sareau toti pe capul tau  :D In ce sens gandeste mai mult? E mai destept adica? Programatorii Java sunt praf, ei nu trebuie sa stie algoritmica, tehnici de optimizare, etc.?

Si un compilator de Turbo C sau ASM este mai rapid, mult mai rapid decat multe compilatoare moderne. Si stii de ce? Fiindca viteza PC-urilor creste, dar compilatorul de acum 20 de ani a fost facut sa mearga la tehnologia de acum 20 de ani. Totusi se mai foloseste in licee Borland C++ din mai multe motive:

- inertie de la un an scolar la altul (anii trec, BC 3.1 lansat in 1991 ramane...)
- PC-uri nu prea grozave (ca deh, trebuie neaparat sa ruleze Windows 95/98...)
- nu e nimeni interesat sa invete la liceu cum sa programezi in real-life cu un IDE "modern". Astia lucreaza (in tara sau in strainatate) pe la firme unde iau salariu de 20 de ori mai mare decat orice profesor.

Olimpiadele din pacate sunt dependente de tehnologia folosita la predare, de-aia si la ele tot in Borland C++ se lucreaza. Desi exista tona de bug-uri in el (inca imi amintesc ca nu puteam sa lucrez cu un struct care avea variabile de tip double. Nu mai zic de afisarea eronata a float-urilor, etc., gasesti pe net destule "probleme minore" din astea.) Probabil olimpicii le-au invatat pe de rost pe toate, ei nu au probleme de-astea.

In nici un caz BC 3.1 nu e mai rapid sau mai bun decat un compilator al secolului XXI. Comparatia este inutila intre un compiler pe 16 biti si un compiler pe 32 sau 64 de biti. Cati dintre viitorii programatori vor lucra de pilda cu BGI? Li se taie pofta de programare din liceu daca nu se documenteaza singuri ca exista Visual Studio 2005 Express (gratuit), ca exista OpenGL/DirectX in loc de modul grafic VGA, si asa mai departe.

Si, evident, nimeni de "sus" nu propune o schimbare. De pilda, o solutie la indemana ar fi renuntarea la Borland C++, trecerea PC-urilor pe Linux, si folosirea GCC-ului, acesta putand fi incadrat lejer in categoria "compilatoarelor moderne".

#6
madlex

madlex

    Active Member

  • Grup: Senior Members
  • Posts: 1,270
  • Înscris: 11.07.2003

Quote

inca imi amintesc ca nu puteam sa lucrez cu un struct care avea variabile de tip double
In BC 3.0 : aveam eroare de compilare daca foloseam numele unei structuri care era identic cu numele unui membru din alta structura folosita in blocul respectiv.
Prioritatea operatorilor era pe apa sambetei, trebuia sa incapsulez totul in paranteze ca sa am efectul dorit.
Asta din ce imi aduc aminte, ca sa pun un + la ce spunea NumeDeCod.

#7
levy_gh

levy_gh

    Junior Member

  • Grup: Members
  • Posts: 214
  • Înscris: 19.06.2007
multumesc pentru raspunsuri,am comandat primul volum.

#8
Vv3n0M

Vv3n0M

    Member

  • Grup: Members
  • Posts: 623
  • Înscris: 22.11.2006

View PostNumeDeCod, on Jun 9 2008, 11:03, said:

Ai noroc ca probabil programatorii Java nu citesc aria de C++, altfel  sareau toti pe capul tau  :D In ce sens gandeste mai mult? E mai destept adica? Programatorii Java sunt praf, ei nu trebuie sa stie algoritmica, tehnici de optimizare, etc.?

Pai sa-ti dau un exemplu banal, ca sa intelegi la ce m-am referit. Am vazut la unchiul meu, acum vreo 2 sapt, cred, ca avea de prelucrat niste baze de date, mySQL. Si mi-am aruncat si eu putin ochii, desi..., si am vazut pe acolo niste chestii de genul : "ordered by", pe cand un programator de liceu se chinuie sa optimizeze pana si bubble sort-ul. La asta m-am referit cand am spus ca gandeste mai mult. Nu am spus ca e mai destept, sau ca cel java (care a fost un exemplu) e "praf", a fost afirmatia ta. Am vrut sa spun doar ca programatorii moderni au "mura-n gura" anumite lucruri, iar o problema de olimpiada nu stiu cat de multi programatori sunt in stare sa o rezolve. Sigur acestia sunt o mica parte, dar sunt, nu ma refer aici la tine, madlex sau dl. OriginalCopy, de multa vreme va privesc posturile cu admiratie.

Peace.

Edited by Vv3n0M, 10 June 2008 - 10:50.


#9
AndreiASM

AndreiASM

    Active Member

  • Grup: Members
  • Posts: 1,021
  • Înscris: 24.06.2007

View PostVv3n0M, on Jun 10 2008, 11:49, said:

Pai sa-ti dau un exemplu banal, ca sa intelegi la ce m-am referit. Am vazut la unchiul meu, acum vreo 2 sapt, cred, ca avea de prelucrat niste baze de date, mySQL. Si mi-am aruncat si eu putin ochii, desi..., si am vazut pe acolo niste chestii de genul : "ordered by", pe cand un programator de liceu se chinuie sa optimizeze pana si bubble sort-ul. La asta m-am referit cand am spus ca gandeste mai mult. Nu am spus ca e mai destept, sau ca cel java (care a fost un exemplu) e "praf", a fost afirmatia ta. Am vrut sa spun doar ca programatorii moderni au "mura-n gura" anumite lucruri, iar o problema de olimpiada nu stiu cat de multi programatori sunt in stare sa o rezolve. Sigur acestia sunt o mica parte, dar sunt, nu ma refer aici la tine, madlex sau dl. OriginalCopy, de multa vreme va privesc posturile cu admiratie.

Peace.

In liceu inveti sa gandesti algoritmic, si nu inveti tehnologii sau sa programezi in n-spe mii de limbaje. Pascal si C++ sunt foarte bune dpdv didactic.
Da, IDE-urile moderne furnizeaza clase care usureaza mult treaba programatorului, adevarat, dar asta nu inseamna ca e inutil sa inveti anumite lucruri. E bine sa pui bazele in liceu si sa te ti de treaba, altfel ajungi mai tarziu sa iti dai seama ca nu sti sa elaborezi algoritmi banali.

Bafta!

#10
madlex

madlex

    Active Member

  • Grup: Senior Members
  • Posts: 1,270
  • Înscris: 11.07.2003

Quote

Pai sa-ti dau un exemplu banal, ca sa intelegi la ce m-am referit. Am vazut la unchiul meu, acum vreo 2 sapt, cred, ca avea de prelucrat niste baze de date, mySQL. Si mi-am aruncat si eu putin ochii, desi..., si am vazut pe acolo niste chestii de genul : "ordered by", pe cand un programator de liceu se chinuie sa optimizeze pana si bubble sort-ul. La asta m-am referit cand am spus ca gandeste mai mult. Nu am spus ca e mai destept, sau ca cel java (care a fost un exemplu) e "praf", a fost afirmatia ta. Am vrut sa spun doar ca programatorii moderni au "mura-n gura" anumite lucruri, iar o problema de olimpiada nu stiu cat de multi programatori sunt in stare sa o rezolve. Sigur acestia sunt o mica parte, dar sunt, nu ma refer aici la tine, madlex sau dl. OriginalCopy, de multa vreme va privesc posturile cu admiratie.

Peace.
NumeDeCod e mai incisiv de obicei, nu ai de ce sa te superi pe el. Dar ce ti-a zis el ti-a zis bine, si ar fi mai multe de zis chiar la afirmatia aceea.
Ai dreptate intr-un fel, programatorul "modern" (intelegand prin modern - limbaje high-level) dispune de niste tehnologii pe care cel low-level trebuie sa le re-implementeze. Intr-o forma primara de rationament, cam asta ar fi explicatia.De aici pana a compara un programator cu experienta (chiar si in Java) cu un olimpic iti garantez ca e ceva.

Olimpiadele la informatica sunt mai mult olimpiade de algoritmica matematica implementata. De aici pana la programarea pe care o intalnesti intr-un mediu comercial este lunga calea. Si datorita mediului, a cerintelor in care se lucreaza, a momentului in care se lucreaza (in care DOS-programming e deja fumat de multa vreme, si noi tehnologii apar pe banda rulanta), a pretentilor care se asteapta de la tine (cunoasterea mai multor limbaje, "cunoasterea" compilatoarelor care le folosesti/le-ai folosit, cunoasterea standardului limbajelor pe care le stii, cunoasterea platformelor pe care le folosesti, a framework-urilor, a hardware-ului caruia "te adresezi", tonele de documentatie pe care trebuie sa le stapanesti ca sa poti realiza un proiect real, si multe altele) fac ca olimpiadistii sa fie niste extremi algoritmicieni, laudati de altfel, dar care in programarea reala, se rezuma doar la ceea ce stiu mai bine - algoritmica.  La fel cum un programator specializat se pricepe foarte bine intr-un anumit domeniu (securitate, retelistica, linux/windows/mac development, end-user applications, game development, graphics engines etc.)  la fel si acesti olimpiadisti se axeaza pe ce stiu ei mai bine, dar de aici pana la a te considera programator, mai este ceva. Nu ii consider "crema" programatorilor (din pctul meu de vedere). Fi sigur ca daca un programator experimentat vrea sa iti rezolve o problema de olimipada va putea. "Olimpiadistii" sunt antrenati pentru probleme de acest tip, nu se nasc sa le rezolve. Totusi, spre deosebire de ei, programatorii "comerciali" sunt cei care sunt izbiti uneori de probleme de care nu au auzit niciodata. Si totusi le rezolva, asta este interesant, nu implementarea unor serii de algoritmi sub o anumita adaptare sau combinare. Nu ai sa auzi sa i se spuna niciodata unui olimpic "make this work" , ci doar "se dau n obiecte, din acestea x sunt, iar y .." - no real life.
Nu o sa vezi niciodata un olimpic studiind urmatoarele: "templating in C++", "calling conventions", "design patterns", notatia ungara, eliminarea subexpresilor si optimizarea codului pentru diverse procesoare/arhitecturi, protocoale, sisteme de fisiere, kernele, "software/hardware interrupts", particularitati ale OS-urilor, avantaje/dezavantaje in cadrul diferitor framework-uri/widget-uri, "cross platform programming", cripto-analiza, "network programming", "guidelines on coding for client programmers" mai exact outsourcing (si ff multe altele, dar nu are rost sa le enunt).. fiindca pur si simplu nu il intereseaza pentru rezolvarea problemelor de olimpiada. E o mare diferenta.(iti spun asta fiindca am trecut prin ambele situatii)

Cat despre ce ai vazut tu in codul unchiului tau, este vorba probabil de un query MYSQL, e o tehnologie, nu are legatura cu Java in particular. Acelasi lucru il puteai vedea si in C++ in anumite conditii.
Nu e idee deloc buna sa compari MYSQL cu un algoritm de sortare bubble sort. In primul rand, despre bubblesort, este un algoritm de sortare care a fost interzis in a mai fi predat in mai multe institutii de invatamant (din afara), fiindca este un algoritm pur teoretic, ineficient, doar simplu de implementat. NU prea ai ce sa "optimizezi" la el cand este "praf" din start. Este un algoritm comparativ ca si performanta cu greedy, interschimba valorile pana ii iese si lui o sortare, si chiar pentru a verifica ca sirul este sortat, mai face "un tur de pista". Totusi profesorii nostri continua sa il predea, si mai si incurajeaza elevii sa il invete ca fiind "principalul" algoritm de sortare pe care trebuie sa il stie.
Te sfatuiesc sa "optimizezi" alti algoritmi si sa studiezi diferentele, si aplicabilitatea lor.

Asa cum ti-a zis si AndreiASM, din liceu si facultate chiar, macar gandirea sa ti-o formezi, dar totusi nu ai terminat cu studiul. Adevaratul studiu dupa parere mea, se face acasa, cu carticele scrise de programatori si nu traducatori (aka Tudor Sorin), care au experienta atat practica cat si pedagogica, si s-au straduit sa concretizeze totul intr-o carte, nu sa scoata manuale pe banda pentru profit si reputatie. Cand ai sa citesti o carte de Addison Wesley, sau Bruce Eckel care sunt foarte mari pedagogi, ai sa simti diferenta intre calitate si superficialitate, ai sa simti cu adevarat ca cineva a "muncit" ca tu sa intelegi si sa inveti mai bine. (si nu sunt numai cei enuntati, dar sunt preferatii mei). Si mai este un lucru de spus aici, limbajul "mama" al intregului domeniu IT este engleza. Va trebui sa te obisnuiesti cu asta, ca esti fan sau nu. Avand in vedere ca majoritatea documentatilor, si articolelor scrie pentru programare sunt in engleza, manualele, editorialele ,cartile si cursurile de facultate sunt traduceri. Iar asta nu este nimic rau, pana nu iti dai seama ca pentru un termen tehnic care in limba engleza are un nume, tu cunosti inca 4 alternative in limba romana, si numai sti cum sa te exprimi: romana, engleza sau mixt?! Sfatul meu in cazul asta este sa citesti doar in limba engleza, si doar volume consacrate, nu orice carticica scoasa sau tradusa de vreun amator, sau profesor de facultate. Termenii tehnici nu ar trebui niciodata tradusi, pentru a nu crea confuzii, la fel cum se procedeaza in alte domenii.

Cheers

PS: @levy_gh:
Daca vrei o carte buna de C++ incepe cu "Thinking in C++" - Bruce Eckel. Ai tot ce ai nevoie in ea (chiar si bazele C-ului) iti descrie tehnici folosite in mediul real de lucru, si incearca sa combine totul intr-o atmosfera relaxanta si chiar "fun". Din cate stiu eu sunt doua editii, iar cartea este publicata gratis sub format digital (fara sa dai nici un ban, decat pentru versiunea pe "hartie") aici.

Edited by madlex, 10 June 2008 - 13:31.


#11
msmihai

msmihai

    Senior Member

  • Grup: Senior Members
  • Posts: 5,271
  • Înscris: 02.09.2006
Algoritmica , dupa cum a spus si AndreiASM, este esentiala pentru programatorii incepatori . Dau si eu un exemplu in acest sens. La materia "Programare Orientata Obiect" ( in C++ ) , am avut de proiectat clase precum Vector , Map , etc. . Desigur, ele existau si in STD dar era foarte important sa intelegem concepte precum clase template, iteratori, etc.  Atat timp cat se face programare in unitatile de invatamant, limbajul nu conteaza. Problema e ca nu se prea face...

#12
madlex

madlex

    Active Member

  • Grup: Senior Members
  • Posts: 1,270
  • Înscris: 11.07.2003
Aia nu prea e algoritmica mai mult decat "design" sau constructie in termeni romanesti. Dar da, este argumentabil.
Algoritmul in informatica are aceasi notiune ca in matematica. O rezolvare a unei probleme specifice in pasi. Nu face sens sa consideram "problema" adaugarea unui element intr-un vector, scoaterea lui, fiindca tin de o logica banala care se rezuma in cateva linii. Insa putem considera algoritm sortarea lui, hashing-ul pentru acel Map si altele.

Deci,in momentul in care scrii o clasa, scrii o functionalitate, nu un algoritm. Fiindca acea clasa implementeaza "franturi" (snippets) de cod care functioneaza in conjuctie cu alte implementari si nu are nici o utilitate practica prin simpla ei existenta. Evident clasele pot implementa algoritmi, dar nu reprezinta in sinea lor un algoritm, deci nu fac obiectul algoritmicii. Diferenta provine de la faptul ca un algoritm este unitar si nu fractionat. Dealtfel programarea "afiliata" algoritmicii este programarea procedurala, nu cea orientata pe obiecte. Dar cum am zis, interpretabil.

Algorithm

Cheers
Note: STL probabil ai vrut sa zici.

Edited by madlex, 10 June 2008 - 15:22.


#13
Vv3n0M

Vv3n0M

    Member

  • Grup: Members
  • Posts: 623
  • Înscris: 22.11.2006

View Postmadlex, on Jun 10 2008, 13:46, said:

NumeDeCod e mai incisiv de obicei, nu ai de ce sa te superi pe el. Dar ce ti-a zis el ti-a zis bine, si ar fi mai multe de zis chiar la afirmatia aceea.
Ai dreptate intr-un fel, programatorul "modern" (intelegand prin modern - limbaje high-level) dispune de niste tehnologii pe care cel low-level trebuie sa le re-implementeze. Intr-o forma primara de rationament, cam asta ar fi explicatia.De aici pana a compara un programator cu experienta (chiar si in Java) cu un olimpic iti garantez ca e ceva.

Olimpiadele la informatica sunt mai mult olimpiade de algoritmica matematica implementata. De aici pana la programarea pe care o intalnesti intr-un mediu comercial este lunga calea. Si datorita mediului, a cerintelor in care se lucreaza, a momentului in care se lucreaza (in care DOS-programming e deja fumat de multa vreme, si noi tehnologii apar pe banda rulanta), a pretentilor care se asteapta de la tine (cunoasterea mai multor limbaje, "cunoasterea" compilatoarelor care le folosesti/le-ai folosit, cunoasterea standardului limbajelor pe care le stii, cunoasterea platformelor pe care le folosesti, a framework-urilor, a hardware-ului caruia "te adresezi", tonele de documentatie pe care trebuie sa le stapanesti ca sa poti realiza un proiect real, si multe altele) fac ca olimpiadistii sa fie niste extremi algoritmicieni, laudati de altfel, dar care in programarea reala, se rezuma doar la ceea ce stiu mai bine - algoritmica.  La fel cum un programator specializat se pricepe foarte bine intr-un anumit domeniu (securitate, retelistica, linux/windows/mac development, end-user applications, game development, graphics engines etc.)  la fel si acesti olimpiadisti se axeaza pe ce stiu ei mai bine, dar de aici pana la a te considera programator, mai este ceva. Nu ii consider "crema" programatorilor (din pctul meu de vedere). Fi sigur ca daca un programator experimentat vrea sa iti rezolve o problema de olimipada va putea. "Olimpiadistii" sunt antrenati pentru probleme de acest tip, nu se nasc sa le rezolve. Totusi, spre deosebire de ei, programatorii "comerciali" sunt cei care sunt izbiti uneori de probleme de care nu au auzit niciodata. Si totusi le rezolva, asta este interesant, nu implementarea unor serii de algoritmi sub o anumita adaptare sau combinare. Nu ai sa auzi sa i se spuna niciodata unui olimpic "make this work" , ci doar "se dau n obiecte, din acestea x sunt, iar y .." - no real life.
Nu o sa vezi niciodata un olimpic studiind urmatoarele: "templating in C++", "calling conventions", "design patterns", notatia ungara, eliminarea subexpresilor si optimizarea codului pentru diverse procesoare/arhitecturi, protocoale, sisteme de fisiere, kernele, "software/hardware interrupts", particularitati ale OS-urilor, avantaje/dezavantaje in cadrul diferitor framework-uri/widget-uri, "cross platform programming", cripto-analiza, "network programming", "guidelines on coding for client programmers" mai exact outsourcing (si ff multe altele, dar nu are rost sa le enunt).. fiindca pur si simplu nu il intereseaza pentru rezolvarea problemelor de olimpiada. E o mare diferenta.(iti spun asta fiindca am trecut prin ambele situatii)

Cat despre ce ai vazut tu in codul unchiului tau, este vorba probabil de un query MYSQL, e o tehnologie, nu are legatura cu Java in particular. Acelasi lucru il puteai vedea si in C++ in anumite conditii.
Nu e idee deloc buna sa compari MYSQL cu un algoritm de sortare bubble sort. In primul rand, despre bubblesort, este un algoritm de sortare care a fost interzis in a mai fi predat in mai multe institutii de invatamant (din afara), fiindca este un algoritm pur teoretic, ineficient, doar simplu de implementat. NU prea ai ce sa "optimizezi" la el cand este "praf" din start. Este un algoritm comparativ ca si performanta cu greedy, interschimba valorile pana ii iese si lui o sortare, si chiar pentru a verifica ca sirul este sortat, mai face "un tur de pista". Totusi profesorii nostri continua sa il predea, si mai si incurajeaza elevii sa il invete ca fiind "principalul" algoritm de sortare pe care trebuie sa il stie.
Te sfatuiesc sa "optimizezi" alti algoritmi si sa studiezi diferentele, si aplicabilitatea lor.

Asa cum ti-a zis si AndreiASM, din liceu si facultate chiar, macar gandirea sa ti-o formezi, dar totusi nu ai terminat cu studiul. Adevaratul studiu dupa parere mea, se face acasa, cu carticele scrise de programatori si nu traducatori (aka Tudor Sorin), care au experienta atat practica cat si pedagogica, si s-au straduit sa concretizeze totul intr-o carte, nu sa scoata manuale pe banda pentru profit si reputatie. Cand ai sa citesti o carte de Addison Wesley, sau Bruce Eckel care sunt foarte mari pedagogi, ai sa simti diferenta intre calitate si superficialitate, ai sa simti cu adevarat ca cineva a "muncit" ca tu sa intelegi si sa inveti mai bine. (si nu sunt numai cei enuntati, dar sunt preferatii mei). Si mai este un lucru de spus aici, limbajul "mama" al intregului domeniu IT este engleza. Va trebui sa te obisnuiesti cu asta, ca esti fan sau nu. Avand in vedere ca majoritatea documentatilor, si articolelor scrie pentru programare sunt in engleza, manualele, editorialele ,cartile si cursurile de facultate sunt traduceri. Iar asta nu este nimic rau, pana nu iti dai seama ca pentru un termen tehnic care in limba engleza are un nume, tu cunosti inca 4 alternative in limba romana, si numai sti cum sa te exprimi: romana, engleza sau mixt?! Sfatul meu in cazul asta este sa citesti doar in limba engleza, si doar volume consacrate, nu orice carticica scoasa sau tradusa de vreun amator, sau profesor de facultate. Termenii tehnici nu ar trebui niciodata tradusi, pentru a nu crea confuzii, la fel cum se procedeaza in alte domenii.

Cheers

mare om, mare caracter.
Pai eu de obicei folosesc quick sort, pt sortari (exista ceva si mai bun pe care as putea sa-l invat?), dar cand ne-a predat profesoara la scoala "metoda bulelor", am reusit eu apoi sa-l fac sa faca un numar de 2 ori mai putine comparatii si fara parcurgerea finala, aiurea care sa vada daca e sortat sau nu :D. Oricum multumec mult madlex pt linkul acela, iau cartea cu mine in vacanta. Am de lucru vara asta. :)

Edited by Vv3n0M, 10 June 2008 - 18:14.


#14
tudor_turcu

tudor_turcu

    Senior Member

  • Grup: Senior Members
  • Posts: 2,377
  • Înscris: 12.09.2003

View Postmadlex, on Jun 10 2008, 13:46, said:

... fac ca olimpiadistii sa fie niste extremi algoritmicieni, laudati de altfel, dar care in programarea reala, se rezuma doar la ceea ce stiu mai bine - algoritmica.  La fel cum un programator specializat se pricepe foarte bine intr-un anumit domeniu (securitate, retelistica, linux/windows/mac development, end-user applications, game development, graphics engines etc.)  la fel si acesti olimpiadisti se axeaza pe ce stiu ei mai bine, dar de aici pana la a te considera programator, mai este ceva. Nu ii consider "crema" programatorilor (din pctul meu de vedere). Fi sigur ca daca un programator experimentat vrea sa iti rezolve o problema de olimipada va putea. "Olimpiadistii" sunt antrenati pentru probleme de acest tip, nu se nasc sa le rezolve. Totusi, spre deosebire de ei, programatorii "comerciali" sunt cei care sunt izbiti uneori de probleme de care nu au auzit niciodata. Si totusi le rezolva, asta este interesant, nu implementarea unor serii de algoritmi sub o anumita adaptare sau combinare. Nu ai sa auzi sa i se spuna niciodata unui olimpic "make this work" , ci doar "se dau n obiecte, din acestea x sunt, iar y .." - no real life.
Nu o sa vezi niciodata un olimpic studiind urmatoarele: "templating in C++", "calling conventions", "design patterns", notatia ungara, eliminarea subexpresilor si optimizarea codului pentru diverse procesoare/arhitecturi, protocoale, sisteme de fisiere, kernele, "software/hardware interrupts", particularitati ale OS-urilor, avantaje/dezavantaje in cadrul diferitor framework-uri/widget-uri, "cross platform programming", cripto-analiza, "network programming", "guidelines on coding for client programmers" mai exact outsourcing (si ff multe altele, dar nu are rost sa le enunt).. fiindca pur si simplu nu il intereseaza pentru rezolvarea problemelor de olimpiada. E o mare diferenta.(iti spun asta fiindca am trecut prin ambele situatii)
Adevarat, dar compari mere cu pere...
Scopul olimpiadelor de informatica nu e de a verifica talentele de mare viitor programator practician sau software engineer a acelor elevi - pentru un olimpic foarte bun ideal e ca inca din timpul facultatii sa se indrepte spre research in computer science (cercetare teoretica, nu aplicativa/inginiereasca), domeniu in care are toate sansele sa castige foarte bine intr-o universitate din vest, daca e cu adevarat bun..

#15
madlex

madlex

    Active Member

  • Grup: Senior Members
  • Posts: 1,270
  • Înscris: 11.07.2003

Quote

Adevarat, dar compari mere cu pere...
Exact asta vroiam sa si subliniez prin "E o mare diferenta.". :-)

Edited by madlex, 10 June 2008 - 19:17.


#16
sanctusd2099

sanctusd2099

    New Member

  • Grup: Members
  • Posts: 1
  • Înscris: 16.07.2008
Am ras in hohote cand am citit ce aberatii scriu unii pe aici...

Quote

Un elev olimpic in liceu gandeste mai mult decat un programator
Nu as prea crede... Eu lucrez in grafica 3D de mai bine de 5 ani si e nevoie de mult mai mult decat un rahat de algoritm. Pentru asta ai nevoie sa combini c++, asm, glsl (pentru OpenGL). Toate astea trebuie sa functioneze in perfecta armonie pentru cu deh.. 1FPS conteaza.
Preaslavitii olimpici la informatica nu ajung decat niste programatori de duzina la corporatii precum microsoft unde jumatate din ce scriu e prost pentru ca nu au avut timp sa aprofundeze ceea ce stiu fiind impinsi de niste profesori care la randul lor habar nu au nimic.
Eu am inceput programarea de unul singur cam din clasa a 2-a (acum am terminat liceul) si lucrez de 4 ani in domeniu. Un coleg de-al meu care e sau a fost in lotul national nu stia macar sa faca o fereastra de windows goala sau sa compileze ceva in devcpp/vistualc. De asm habar nu are si oricum nu stie nici un alt limbaj.
Nu compari mere cu pere.
Compari programatori de duzina cu programatori pentru care lucreaza cei de duzina.

Consider ca pana acum am realizat destule ca sa pot sa imi spun parerea despre preaslavitii "olimpici".
Pacat ca nu mai am acum timp sa imi exprim toata parerea.

#17
gnomemory

gnomemory

    Junior Member

  • Grup: Members
  • Posts: 59
  • Înscris: 12.12.2007

Quote

Consider ca pana acum am realizat destule ca sa pot sa imi spun parerea despre preaslavitii "olimpici".
Pacat ca nu mai am acum timp sa imi exprim toata parerea.

Ei o sa invete ce stii tu destul de repede.
Tu in cat timp sa o sa inveti ce stiu ei ?

#18
neagu_laurentiu

neagu_laurentiu

    Guru Member

  • Grup: Senior Members
  • Posts: 40,605
  • Înscris: 30.07.2003

View Postgnomemory, on 2nd July 2010, 12:10, said:

Tu in cat timp sa o sa inveti ce stiu ei ?
Dar ce stiu ei ?!

Anunturi

Second Opinion Second Opinion

Folosind serviciul second opinion ne puteți trimite RMN-uri, CT -uri, angiografii, fișiere .pdf, documente medicale.

Astfel vă vom putea da o opinie neurochirurgicală, fără ca aceasta să poată înlocui un consult de specialitate. Răspunsurile vor fi date prin e-mail în cel mai scurt timp posibil (de obicei în mai putin de 24 de ore, dar nu mai mult de 48 de ore). Second opinion – Neurohope este un serviciu gratuit.

www.neurohope.ro

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate