Click here to load reader

Fundamentele programării

  • View
    16

  • Download
    2

Embed Size (px)

DESCRIPTION

programare

Text of Fundamentele programării

Fundamentele programrii (I) - Java

DEMIHAI SCORARU 10 MAI 2015

ncepem acum cu adevrat seria de articole dedicate prezentrii fundamentelor programrii. Acesta este primul articol din versiuneaJavaa seriei. Dac v uitai la articolele corespunztoare din versiunile dedicate celorlalte limbaje, vei observa c sunt foarte asemntoare. V rugm s nu ne acuzai decopy & paste Exist un motiv ntemeiat! Vrem s fie asemntoare. Vrem s artm elementele comune ale limbajelor. Nu are rost s reformulm doar de dragul de a prezenta lucrurile puin diferit.

De ce Java?Motivul principal pentru care Java este unul dintre limbajele alese este acela c limbajul este, n momentul scrierii articolului, cel mai folosit n industria software. Nu este un prim loc detaat i probabil nu va rmne n frunte pentru totdeauna. Totui, credem c va avea o via destul de lung i cunoaterea sa este util.

Dup un start care va prea mai dificil comparativ cu alte limbaje, vei vedea c lucrurile devin din ce n ce mai simple. Se spune c n Java lucrurile funcioneaz de la sine, totul este intuitiv i ansele de a grei sunt mai mici. Va trebui s avei puin rbdare. Elementele de baz prezentate n cadrul acestui prim articol vor prea exagerat de complicate. Din fericire, trebuie s tii doar c se poate face, c aa se face i nu de ce trebuie scris att de mult cod.

Datorit faptului c este utilizat de att de muli programatori, multe lucruri au fost deja fcute de alii i limbajul de permite foarte uor s folosim codul scris de alii.

Exist o mulime de tehnologii care utilizeaz limbajulJava. Folosind acest limbaj vom putea dezvolta aplicaii software dintre cele mai diverse. Vom scrie programe care vor rula pe servere, pe calculatoarele obinuite, pe tablete, pe telefoane sau pe diversele dispozitive portabile care sunt lansate acum pe pia. Dei este posibil utilizarea altor limbaje, cam tot ce are legtur cu sistemul de operareAndroidde laGoogleva fi scris, n principiu, nJava.

Mediul de programareExist dou medii de programare preferate n comunitateaJava:EclipseiIntelliJ IDEA. Fiecare are avantajele sale, pe msur ce apar versiuni noi fiecare ncearc s adauge faciliti noi, dar i facilitile deja oferite de cellalt. Chiar i n redacia Gazetei de Informatic prerile sunt mprite. La un moment dat va trebui s alegei unul dintre ele (sau altul dac v place mai mult, dar ansele sunt relativ mici). Ambele sunt disponibile pentru diverse sisteme de operare i sunt relativ uor de instalat. Dar, instalarea acestor medii de programare depete scopul acestui articol. Dac tii folosi un mediu de programare (sau v ajut cineva), o putei face. Pentru a ne pstra neutralitatea, vom oferi o soluie alternativ care nu necesit instalare.

Pe parcursul acestei serii de articole, exemplele vor fi create i rulate folosit un mediu de programare disponibil online. Sunt mai multe disponibile, aa c vom alege la ntmplare. Nu avem criterii clare dup care s alegem aa c Google a ales n locul nostru. O cutare dup java environment online ne-a dus lahttp://ideone.com/. E suficient de bun deocamdat. Dac avei motive s credei c ar fi trebuit s alegem altceva, v rugm s ne atenionai

S ncepemDac accesai site-ul vei ajunge la o pagin care arat cam aa (am eliminat elementele neeseniale):

Observai c avem deja un program scris. Acesta este un fel de program minimal nJava. Nu face nimic. Nu trebuie s nelegei acum ce rol au toate acele texte

Putei apsa butonulRundin dreapta jos i se va executa. Vei ajunge n situaia din imaginea de mai jos.

Observm c execuia s-a ncheiat cu succes, dar n rest nu s-a ntmplat mare lucru. Totui, vedem c adresa paginii afiate s-a modificat (n cazul nostru estehttp://ideone.com/gF0qHX, dar programul fiecruia va fi disponibil la o alt adres). Vom putea ntotdeauna accesa programele scrise folosind aceste adrese.

Dac dorim s facem ceva, ar trebui totui s modificm acest program care nu face nimic. Pentru aceasta putem apsa butonuleditdin stnga-sus. Adresa nu se mai modific, dar acum putem efectua modificri n program.

S nlocuim// your code goes herecu// aici trebuie scris codul. Din motive cunoscute doar de creatorii site-ului, n locul butonuluiRunavem un buton numitIdeone it!Apsndu-l vom rula noul program care, poate v-ai ateptat, nu va face nici el nimic. Pentru a ne pstra modificrile va trebui s apsm butonulSave.

Primul program adevratTradiia spune c primul program scris ntr-un limbaj de programare nou este cel care tiprete mesajulHello World!Noi vom fi mai originali i vom tipriGazeta de Informatic.

Aa cum probabil v imaginai, codul va fi scris n zona n care ne-am jucat. Vom nlocui textul// aici trebuie scris codulcu o comandJavapropriu zis, vom salva i vom rula programul. Comanda respectiv este cea din articolul introductiv:

1System.out.println("Gazeta de Informatic");

Dup rulare, vei observa c n zona din partea inferioar a ecranului a aprut textul dorit.

Tocmai am realizat una dintre operaiile fundamentale efectuate de programele de calculator. Am oferit o informaie n exterior. De data aceasta am scris ceva pe ecran. Programele comunic rezultatele executrii lor furniznd aa numitele date de ieire. Acestea pot lua diverse forme. Cea mai simpl este tiprirea unui simplu text, dar sunt multe altele cum ar fi tiprirea la o imprimant, desene sau filme pe ecran, sunete n boxe etc., dar i informaii codificate care nu pot fi nelese dect de alte programe.

Date de intrare

Programele ne furnizeaz date de ieire. De cele mai multe ori ele au nevoie de informaii din exterior. Acestea le sunt comunicate prin intermediul aa numitelor date de intrare. Dac prin intermediul datele de ieire programele ne furnizeaz informaii, prin intermediul datelor de intrarenoi suntem cei care oferim informaii. i datele de intrare pot lua diverse forme: informaii introduse de la tastatur, micarea mouse-ului, apsarea butoanelor mouse-ului, apsarea unui touchscreen, rostirea n microfon, etc. Poate v imaginai c acele informaii codificate pe care le menionam la sfritul seciunii anterioare, cele care nu pot fi nelese dect de alte programe, reprezint date de intrare pentru aceste alte programe.

Dar, s ne concentrm asupra unui exemplu simplu. Vom cere numele utilizatorului i l vom saluta. Utilizatorul i va introduce numele i dup aceea va aprea mesajulSalut, urmat de nume i de un semn de exclamare. Ca s arate totul bine, vom aduga i un spaiu naintea numelui. De exemplu, dac utilizatorul ar introduce numeleGInfo, mesajul ar fiSalut GInfo!.

Vi se prea complicat comanda prin care era afiat un text. S vedei acum

1String nume = new Scanner(System.in).nextLine();

Site-ul ne permite s specificm date de intrare sub forma unor text nainte de a rula programul. Acestea trebuie introduse n caseta din partea inferioar:

Dac rulm programul, observm c este afiat mesajul ales.

n episoadele urmtoare vei nelege ce este acelString, ce este acelnumei, mult mai ncolo, ce este unScanner

Deocamdat, singura observaie demn a fi luat n considerare este aceea c, n Java, fiecare instruciune se ncheie cu semnul punct i virgul.

Va urma

Fundamentele programrii (II) - Java

DEMIHAI SCORARU 11 MAI 2015

n cadrul acestui episod vom introduce noiunile devariabilitip de dateivom lucra cu numere i texte. Vom presupune c deja tii s utilizai un mediu de programare (fie el i online); dac nu, v recomandm s citii din nou episodul anterior.

VariabileChiar i pentru cele mai simple programe, la un moment dat avem nevoie s pstrm anumite informaii. Nu am avut nevoie de acest lucru atunci cnd doar am afiat un mesaj, dar atunci cnd am avut nevoie de numele utilizatorului a trebuit s pstrm informaia respectiv. S ne amintim ultimul program de data trecut:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15/* package whatever; // don't place package name! */

import java.util.*;import java.lang.*;import java.io.*;

/* Name of the class has to be "Main" only if the class is public. */class Ideone{public static void main (String[] args) throws java.lang.Exception{String nume = new Scanner(System.in).nextLine();System.out.println("Salut " + nume + "!");}}

n linia 12, avem o instruciune prin care prelum informaia introdus de utilizator i o pstrm n ceva de numitnume. Aceasta este o aa numitvariabil.

Variabilele pot fi vzute ca fiind nite recipiente care pstreaz informaii. Practic, cu ajutorul lor ajungem undeva n memoria calculatorului, lum o mic parte din ea i i dm o denumire pentru a o putea folosi ulterior.

Avem nevoie de variabile pentru cele mai diverse scopuri. Dac scriem un program care controleaz un roboel, vom avea nevoie de variabile care s conin poziia acestuia, orientarea sa etc. n schimb, dac programul nostru simuleazun joc de fotbal, am avea nevoie de variabile pentru a pstra scorul.

n principiu, dac trebuie s inem minte ceva, cel mai simplu este s punem acel ceva ntr-o variabil.

Majoritatea limbajelor moderne necesit declararea unei variabile nainte ca aceasta s poat fi utilizat.Javaeste un astfel de limbaj. Mai mult, limbajulJavane oblig s specificm i ce tip de variabil dorim.

Dac revenim la linia 12 a programului nostru, observm c naintea denumiriinume, apare cuvntulString. Acesta este tipul variabileinume. Vom vedea exact ce nseamn puin mai ncolo.

nJava, pentru a declara o variabil, trebuie s precizm tipul acesteia, urmat de denumirea sa. Pentru un meci de fotbal, am putea avea o variabil declarat astfel:

1int goluriGazde;

Tipul esteint(vom vedea ce nseamn), iar denumirea estegoluriGazde(vom vedea i de ce denumirea arat oarecum ciudat). Urmeaz semnul;, cel care separ instruciunile nJava. Deci, declararea unei variabile este o instruciune.

Termenul va

Search related