Fundamentele programării (I) - Python

Continuăm seria de articole dedicate prezentării fundamentelor programării, cu versiunea în Python. Dacă vă uitați la articolele corespunzătoare din versiunile dedicate celorlalte limbaje, veți observa că sunt foarte asemănătoare. Vă rugăm să nu ne acuzați de copy & paste… Există un motiv întemeiat! Vrem să fie asemănătoare. Vrem să arătăm elementele comune ale limbajelor. Nu are rost să reformulăm doar de dragul de a prezenta lucrurile puțin diferit.

De ce Python?

Motivul principal pentru care Python este unul dintre limbajele alese este faptul că acest limbaj este considerat cel mai ușor pentru a învăța programare. În universitățiile din S.U.A, Python este cel mai folosit limbaj pentru a învăța programare.

 

Acest limbaj a fost creat cu scopul de a fi foarte ușor de citit și înțeles, înlaturând orice piedici ce fac învățarea conceptelor de bază ale programării (algoritmi, structuri de date etc.) un lucru foarte dificil. Este succesorul unui limbaj numit ABC, al cărui scop a fost chiar acela de a face inițierea elevilor în programare mult mai ușoară.

Spre deosebire de alte limbaje, Python este un limbaj dinamic, interpretat și cu o sintaxă foarte naturală. Este suficient să înţelegi limba engleză la un nivel mediu pentru a citi și întelege un program scris în Python, fără nici o problemă. Ce este un limbaj dinamic și interpretat? Pe scurt, într-un limbaj dinamic nu trebuie să specifici ce tip de date folosești, iar într-un limbaj interpretat, există un alt program, numit interpretor, care se va uita la codul tău, linie cu linie, și va executa ceea ce tu i-ai descris prin cod. Vom vorbi mai multe detalii despre teoria limbajelor într-un alt articol.

python3-I-top-universities-v2

Python este un limbaj matur, cu peste 20 de ani de dezvoltare, cu o comunitate foarte numeroasă și prietenoasă, fiind regăsit pe majoritatea platformelor cunoscute de dezvoltare. Vine preinstalat pe platforme cu sisteme UNIX/Linux, iar instalarea pe Windows este foarte ușoară.

Ne vom juca cu Python și vom rezolva diferite probleme de programare, vom face paralele cu alte limbaje și vom crea aplicații mai serioase și complexe, cu uz practic în viața de zi cu zi. Chiar dacă Python pare un limbaj de jucarie, el vine la pachet cu foarte multe biblioteci și utilități direct implementate în limbaj, oferindu-ne o putere foarte mare de modelare și construire a unor aplicații foarte serioase.

Mediul de programare

Python fiind un limbaj interpretat, odată instalat, vă permite să vă jucați cu el, neavând nevoie sa instalați un editor anume. Se poate folosi un simplu terminal, scrieti python, apăsați Enter și puteți începe să programați în Python.

O variantă mult mai comună este folosirea unui mediu de programare realizat specific pentru Python. Recomandarea noastră este PyCharm, un mediu de programare matur, creat și susținut de compania JetBrains. Există o licență gratuită, pentru comunitate și uz personal, însă nu prezintă la fel de multe elemente ca licența pentru uz comercial.

Dacă Python a fost instalat corespunzător, se poate folosi orice editor text, dar pentru a ne simplifica munca, pe parcursul acestei serii de articole, exemplele vor fi create și rulate folosit un mediu de programare disponibil online. Sunt mai multe disponibile și în cazul Python am ales aproape la întâmplare http://ideone.com/. Din fericire ni se pune la dispoziție și posibilitatea de a scrie cod Python. E suficient de bun deocamdată. Dacă aveți motive să credeți că ar fi trebuit să alegem altceva, vă rugăm să ne atenționați…

Să începem...

Dacă accesați site-ul veți ajunge la o pagină care arată cam așa (am eliminat elementele neesențiale):

Screen Shot 2015-05-04 at 21.49.43

Observați că avem deja un program scris. Acesta este un fel de program minimal în Java care nu face nimic. Nu avem nevoie de el. Dar, apăsând butonul din stânga jos (cel pe care scrie Java), putem alege un alt limbaj și Python 3 (fiind cea mai nouă versiune a limbajul) este în listă.

python3-I-run

După cum puteți obeserva, pe ecran va apărea doar o singură linie # your code goes here, linie ce reprezintă un comentariu. Spre deosebire de alte limbaje despre care am mai discutat, nu avem nevoie de nici un fel de cod de început de care trebuie să ținem cont.

Puteți apăsa butonul Run din dreapta jos și se va executa. Veți ajunge în situația din imaginea de mai jos.

python-I-dupa-run

Observăm că execuția s-a încheiat cu succes, dar în rest nu s-a întâmplat mare lucru. Totuși, vedem că adresa paginii afișate s-a modificat (în cazul nostru este http://ideone.com/1xMvO1, dar programul fiecăruia va fi disponibil la o altă adresă). Vom putea întotdeauna accesa programele scrise folosind aceste adrese.

Dacă dorim să facem ceva, ar trebui totuși să modificăm acest program care nu face nimic. Pentru aceasta putem apăsa butonul edit din stânga-sus. Adresa nu se mai modifică, dar acum putem efectua modificări în program.

Să înlocuim # your code goes here cu # aici trebuie scris codul. Din motive cunoscute doar de creatorii site-ului, în locul butonului Run avem un buton numit Ideone it! Apăsându-l vom rula noul program care, poate v-ați așteptat, nu va face nici el nimic. Pentru a ne păstra modificările va trebui să apăsăm butonul Save.

Primul program adevărat

Tradiția spune că primul program scris într-un limbaj de programare nou este cel care tipărește mesajul Hello World! Noi vom fi mai originali și vom tipări Gazeta de Informatică.

Așa cum probabil vă imaginați, codul va fi scris în zona în care ne-am "jucat". Vom înlocui textul # aici trebuie scris codul cu o comandă Python propriu zisă, vom salva și vom rula programul. Comanda respectivă este cea din articolul introductiv:

print("Gazeta de Informatica")

După rulare, veți observa că în zona din partea inferioară a ecranului a apărut textul dorit.

python3-I-print

Tocmai am realizat una dintre operațiile fundamentale efectuate de programele de calculator. Am oferit o informație în exterior. De data aceasta am scris ceva pe ecran. Programele comunică rezultatele executării lor furnizând așa numitele date de ieșire. Acestea pot lua diverse forme. Cea mai simplă este tipărirea unui simplu text, dar sunt multe altele cum ar fi tipărirea la o imprimantă, desene sau filme pe ecran, sunete în boxe etc., dar și informații codificate care nu pot fi înțelese decât de alte programe.

Date de intrare

Programele ne furnizează date de ieșire. De cele mai multe ori ele au nevoie de informații din exterior. Acestea le sunt comunicate prin intermediul așa numitelor date de intrare. Dacă prin intermediul datele de ieșire programele ne furnizează informații, prin intermediul datelor de intrare noi suntem cei care oferim informații. Și datele de intrare pot lua diverse forme: informații introduse de la tastatură, mișcarea mouse-ului, apăsarea butoanelor mouse-ului, apăsarea unui touchscreen, rostirea în microfon, etc. Poate vă imaginați că acele informații codificate pe care le menționam la sfârșitul secțiunii anterioare, cele care nu pot fi înțelese decât de alte programe, reprezintă date de intrare pentru aceste alte programe.

Dar, să ne concentrăm asupra unui exemplu simplu. Vom cere numele utilizatorului și îl vom saluta. Utilizatorul își va introduce numele și după aceea va apărea mesajul Salut, urmat de nume și de un semn de exclamare. Ca să arate totul bine, vom adăuga și un spațiu înaintea numelui. De exemplu, dacă utilizatorul ar introduce numele GInfo, mesajul ar fi Salut GInfo!.

La fel ca și pentru comanda de afișare pe ecran, comanda de citire este foarte simplă.

python3-I-ginfo

După rulare, veți observa că în zona din partea inferioară a ecranului a apărut textul dorit.

python3-I-input

Va urma

În episodul următor vom vedea cum lucrăm cu numere și texte. Veți înțelege puțin mai mult din programul pe care l-am folosit ca model în cadrul acestui episod.