tag:blogger.com,1999:blog-16101833820347812472024-02-20T14:30:24.843+02:00Programare pentru totiPrincipalul obiectiv al meu este de a-i ajuta pe cei care vor sa se initieze in programare, adica sa isi dezvolte gandirea ca programator. Ma voi stradui sa explic cat de amanuntit lucrurile care mi se par mai greu de inteles; pentru orice nelamurire astept mesajul tau. Nu ai nimic de pierdut - ba din contra.Sorinhttp://www.blogger.com/profile/10676454730413114773noreply@blogger.comBlogger6125tag:blogger.com,1999:blog-1610183382034781247.post-33402798926916739722010-04-17T00:54:00.010+03:002010-04-17T02:10:16.962+03:00Programare - Pasul 5O alta instructiune de repetitie este <font color="black"><b>while</b></font> - instructiune cu numar necunoscut de pasi, adica nu stim de la inceput de cate ori se va executa corpul acesteia.<br /><br /><font color="black"><b>Forma generala</b></font><br /><blockquote><font color="blue"><b>while</b> (conditie):<br />         set_instructiuni</font></blockquote><br /><br /><font color="black"><b>while</b></font> e o instructiune cu test initial - adica inainte de a executa setul de instructiuni se testeaza <font color="black"><b>conditia</b></font>; daca aceasta e adevarata se va executa secventa de cod corespunzatoare corpului functiei; in caz contrar nu se executa nimic<br /><br /><font color="black"><b>Exemplu 1</b></font><br /><blockquote><br /><font color="green"><br />parola=' ' <font color="red"># initializam variabila parola</font> <br /><b>while</b> (parola!='Sorin123'):<br />         parola=input("Introduceti parola :")</font><br /></blockquote><br /><br />Programul de mai sus citeste siruri de caractere de la tastatura pana cand sirul citit este <font color="black"><b>Sorin123</b></font>.<br /><br /><font color="black"><b>Observatie</b></font>: nu uita ca se citeste un sir de caractere care trebuie incadrat intre apostrofuri ' '<br /><br /><font color="black"><b>Exemplu 2</b></font><br /><blockquote><br /><font color="green"><br />parola=' ' <font color="red">#initializare variabila parola</font><br />i=0 <font color="red">#contor pentru numarul de incercari</font><br /><b>while</b> (parola!='Sorin123' and i < 3):<br />         parola=input("parola :")<br />         i=i+1<br />         if (parola!='Sorin123'):<br />              print "Parola gresita. Mai ai ",3-i," incercari"<br />         if (i==3):<br />              print "Nu ai nimerit parola!"<br /></font><br /></blockquote><br /><br />In posturile urmatoare voi propune cateva aplicatii ale instructiunilor invatate pana acum. Daca intampini dificultati cere-mi ajutorul; chiar astept intrebari din partea ta unde nu am fost destul de explicit.<br /><br />Pana data viitoare iti urez spor la programat.Sorinhttp://www.blogger.com/profile/10676454730413114773noreply@blogger.com2tag:blogger.com,1999:blog-1610183382034781247.post-21033654922020663112010-04-02T22:36:00.024+03:002010-04-09T23:20:19.064+03:00Programare - Pasul 4Instructiunea <font color="black"><b>for</b></font> e o instruciune de repetitie cu numar cunoscut de pasi. Adica, vom repeta un set de instructiuni de un anumit numar de ori.<br /><br /><font color="black"><b>Forma generala</b></font> <br /><blockquote><br /><font color="blue"><b>for</b> i <b>in range</b>(inceput,sfarsit):<br />       set instructiuni</font><br /></blockquote><br /><font color="black"><b>unde</b></font> :<br /><font color="black"><b><i>i</i></b></font> e variabila contor; <i>in general</i>, ca si contor se folosesc variabilele i,j,k<br /><font color="black"><b><i>inceput</b></i></font> e valoarea cu care se initializeaza variabila contor <br /><font color="black"><b><i>sfarsit</b></i></font> e valoarea care determina sfarsitul repetitiei<br /><br /><font color="black"><b>Observatie:</b></font> setul de instructiuni se repeta de <b><i>sfarsit-inceput</b></i> ori; cand variabila contor primeste valoarea <b><i>sfarsit</i></b> repetitia se termina; <br /><br /><font color="black"><b>Exemplu 1</b></font> <br /><blockquote><br /><font color="black"><b>Codul sursa</b></font><br /><font color="green"><br /><b>for</b> i <b>in range</b>(1,5):<br />       print "Contor =",i</font><br /><br><font color="black"><b>Rezultatul</b></font><br /><font color="green"><br />Contor = 1<br />Contor = 2<br />Contor = 3<br />Contor = 4<br /></font><br /></blockquote><br /><br />Operatorul <font color="black"><b>%</b></font> calculeaza restul impartirii a doua numere intregi (ex. 5%2=1; 9%10=9; 10%5=0)<br /><br />Operatorul <font color="black"><b>/</b></font> calculeaza catul impartirii a doua numere intregi (ex. 5/2=2; 9/10=0; 10/5=2)<br /><br />In continuare vom crea un program care verifica daca un numar este prim sau nu si afiseaza un mesaj corespunzator.<br /><br /><font color="black"><b>Exemplu 2</b></font><br /><blockquote><font color="green"><br /><b>prim</b>=<b>True</b><br />nr=input("Dati un numar = ")<br />for i in range(1,nr):<br />       if (nr%i==0):<br />            prim=<b>False</b><br />if  (prim==<b>True</b>):<br />        print "Numar prim"<br />else:<br />        print "Numar neprim"<br /></font><br /></blockquote><br /><br />In <font color="black"><b>Exemplul 2</b></font> am folosit variabila <b>prim</b> de tip boolean ( poate avea valoarea <b>True</b> sau <b>False</b> ); de asemenea, am folosit operatorul de comparatie <b>==</b>.<br /><br />Pentru orice intrebari/nelamuriri astept comentariile/mesajele tale.Sorinhttp://www.blogger.com/profile/10676454730413114773noreply@blogger.com0tag:blogger.com,1999:blog-1610183382034781247.post-82202080190104426972010-03-31T20:22:00.020+03:002010-03-31T22:03:06.214+03:00Programare - Pasul 3Am invatat sa citim siruri de caractere si numere. Hai sa ne jucam un pic cu ele.<br /><br />Vom crea un program care citeste de la tastatura numele si varsta a doua persoane si afiseaza pe ecran persoana mai tanara. Pentru asta vom folosi instructiunea decizionala <font color="black"><b>if</b></font> care are urmatoarea structura:<br /><blockquote><br /><font color="blue"><b>if</b> contitie:<br />      actiune unu <br /><b>else</b>:<br />      actiune doi<br /></font><br /></blockquote><br /><font color="black"><b>Exemplu 1</b></font><br /><blockquote><br /><font color="green"><br /><b>nume1</b>=input("Nume1 : ")<br /><b>varsta1</b>=input("Varsta1 = ")<br /><b>nume2</b>=input("Nume2 : ")<br /><b>varsta2</b>=input("Varsta2 = ")<br />if (<b>varsta1</b> < <b>varsta2</b>): <br />      print <b>nume1</b>," e mai tanar"<br />else:<br />      print <b>nume2</b>," e mai tanar"<br /></font></blockquote><br /><br />Scrie codul de mai sus si ruleaza programul. Nu uita cand citesti numele sa il introduci intre apostrofuri (ex. <font color="black"><b><i>'Sorin'</i></b></font>)<br /><br />Programul, in starea in care e acum, e corect doar pe jumatate. Am sa iti spun imediat si de ce. Citeste doua varste egale si vezi rezultatul. Ce mesaj primesti ? Care dintre cei doi e mai mare ? Din cate se pare nu am luat in calcul si varianta asta. <br /><br /><font color="black"><b>Observatie: </b></font> Pentru a putea defini mai multe conditii pentru instructiunea decizionala folosim instructiunea <font color="black"><b>elif</b></font>. <br /><blockquote><br /><font color="blue"><b>if</b> contitie:<br />      actiune unu <br /><b>elif</b> conditie:<br />      actiune doi<br /><b>else</b>:<br />      actiune trei<br /></font><br /></blockquote><br /><br />Dupa modificare, programul va arata in halul urmator:<br /><blockquote><br /><font color="green"><br /><b>nume1</b>=input("Nume1 : ")<br /><b>varsta1</b>=input("Varsta1 = ")<br /><b>nume2</b>=input("Nume2 : ")<br /><b>varsta2</b>=input("Varsta2 = ")<br />if (<b>varsta1</b> < <b>varsta2</b>): <br />      print <b>nume1</b>," e mai tanar"<br />elif (<b>varsta2</b> < <b>varsta1</b>):<br />      print <b>nume2</b>," e mai tanar"<br />else:<br />      print "Varstele sunt egale"<br /></font></blockquote><br /><br /><font color="black"><b>Observatie</b></font>: atentie la indentare! Incepand de acum o vom folosi tot mai des. Sfatul meu e sa folosesti doar TAB-ul si nu SPACE-ul atunci cand indentezi. In acest fel ai mai putine sanse sa iti apara erori la rularea codului sursa.Sorinhttp://www.blogger.com/profile/10676454730413114773noreply@blogger.com0tag:blogger.com,1999:blog-1610183382034781247.post-46578005522694092792010-03-27T16:10:00.003+02:002010-03-31T21:55:29.446+03:00Programare - Pasul 2Cum stai cu chefu’ ? Parca ar merge un pic de programare, am dreptate? <br />Intra <a href="http://ls2.fisierulmeu.ro:81/dwn_link/41732798325c999997e60db8a84c7943/4bae6af8/31/31JVT1TRWH63/name/[www.fisierulmeu.ro] python-2.6.3.msi">aici</a>, descarca programul si hai sa ne apucam de lucru.<br /> <br />Deschide IDLE (Python GUI) din Start->All programs->Python 2.6. Click pe File->New window. In fereastra deschisa vom scrie codul sursa.<br /><br />Cele mai folosite functii in Python, ca in orice alt limbaj de programare de altfel, sunt functia de citire ( input ) si functia de scriere ( print ):<br /><br /><font color="black"><b>Observatie</b></font>:Pentru a rula un program se apasa tasta <b>F5</b>.<br /><br /><b><font color="black">Exemplul 1</b></font><br /><blockquote><font color="green"><b>print</b> “Citim doua numere naturale apoi pe afisam”<br />a=<b>input</b>(“a=”)<br />b=<b>input</b>(“b=”)<br /><b>print</b> a,b<br /></font></blockquote><br /><br />Codul <b><font color="black">a=input()</font></b> determina citirea unei valori care i se atribuie variabilei <b><i><font color="black">a</font></i></b>. Poti alege sa afisezi ( sau nu ) un mesaj in cadrul functiei input. <br />In Python nu se specifica in mod explicit tipul variabilelor; acesta e determinat de valoarea atribuita. <br /><br /><font color="black"><b>Observatie</b></font>: cand citim caractere,litere sau cuvinte vom specifica acest lucru prin incadrarea lor intre apostrofuri (ex. <font color="black"><i><b>‘Sorin’</i></b></font> )<br /><br />In Python este critica indentarea; indentarea se refera la aranjarea codului sursa astfel incat instructiunile ce apartin aceluiasi bloc sa fie unele sub altele. Voi reveni cu mai multe detalii cand vom ajunge la programe mai complexe. <br /><br />La afisare variabilele se vor separa de sirul de caractere prin virgule ( vezi exemplul urmator )<br /><br /><font color="black"><b>Exemplul 2</b></font><br /><blockquote><font color="green">nume=<b>input</b>( “Nume : ”)<br />varsta=<b>input</b>(“Varsta : ”)<br /><b>print</b> “Domnul“,nume,”are”,varsta,”ani”<br /></font></blockquote><br /><br /><font color="black"><b>Exemplul 3</b></font><br /><blockquote><font color="green"><br />a=<b>input</b>(“a=”)<br />b=<b>input</b>(“b=”)<br />c=<b>input</b>(“c=”)<br /><b>print</b> “Suma celor trei numere este”,a+b+c<br /></font></blockquote>Sorinhttp://www.blogger.com/profile/10676454730413114773noreply@blogger.com0tag:blogger.com,1999:blog-1610183382034781247.post-38082732614652881102010-03-27T01:25:00.002+02:002010-04-01T15:05:10.371+03:00Programare - Pasul 1Sa zicem ca vrei sa te apuci de programare. Dupa ce iti faci curaj, iti faci un playlist misto, pui telefonu’ pe silentios, te pui sa cauti documentatie. In nici 10 minute ai deja tone de articole. Apare acum intrebarea: ce limbaj de programare sa folosesti ? <br /><br />Aici intervine o mica-mare problema. Ai de ales dintre zeci de limbaje. Te apuci sa cauti pe forumuri, sa ceri pareri in stanga si-n dreapta. La final vei avea urmatoarele recomandari: C, C++, Java, Pascal, etc. <br /><br />In concluzie, nu ai rezolvat problema. Moment in care vin eu cu solutia: <font color="black"><b>Python</b></font>. Se poate sa fi auzit de el. Pentru cei care nu stiu, insa, cu ce se mananca il voi descrie cat mai scurt: <b>limbajul cu cele mai naturale instructiuni</b>, <b>cu cel mai curat cod sursa</b> si <b>cel mai usor/repede de invatat</b>. <br /><br />Evident, am enumerate doar principalele calitati, cele care m-au determinat pe mine sa il incerc. Nu voi intra in detalii acum; daca vrei sa afli mai multe trimite-mi un mesaj sau intra pe site-ul official si convinge-te singur de performantele lui. <br /><br />Acum ca am ales si mediul de lucru putem sa trecem la treaba. In zilele urmatoare voi incerca sa te invat bazele programarii folosind Python. Tot ce am nevoie din partea ta e rabdare, perseverenta si chef de lucru. Restul vine de la sine. <br /><br />Pana data viitoare, te salut !Sorinhttp://www.blogger.com/profile/10676454730413114773noreply@blogger.com0tag:blogger.com,1999:blog-1610183382034781247.post-19474153096052685452010-03-26T22:18:00.001+02:002010-04-01T15:03:43.024+03:00Bine ai venit !Salut.<br /><br />Daca ai ajuns aici :<br /><br />1. Te-ai blocat la a 8-a linie de cod din lucrarea de doctorat si ai nevoie de putin ajutor.<br />2. Te-ai ratacit !<br /><br />Sper sa fie prima varianta ... in caz ca te incadrezi,totusi, pe a 2-a ramura poti folosi butonul back. <br /><br />Am creat blogul cu intentia de a-i ajuta pe cei ce intampina greutati in ale programarii. Nu spun ca voi reusi tot timpul sa te ajut - nu le stiu chiar pe toate - dar ma voi stradui sa iti dau o mana de ajutor. <br /><br />Pentru inceput am sa fac o scurta prezentare a unui limbaj de programare ( inca nu m-am decis care ), urmand ca pe viitor sa postez raspunsuri pentru problemele pe care le voi primi.Sorinhttp://www.blogger.com/profile/10676454730413114773noreply@blogger.com1