Scheme logice: Introducere (I)


Cândva, cu mult timp în urmă, cineva întreba: “pe când un serial despre schemele logice?” Ei bine, nu îmi propun să fac chiar un serial, dar cum din nou am de lucru cu ele (ca introducere într-un curs de programare pentru începători), m-am gândit să pun aici câte una alta, poate cândva cuiva vor folosi, cel puţin la o căutare via Google. Şi am să încep spunând că în spaţiul online instrumentul meu preferat este LucidChart, despre care am scris anul trecut aici. Între timp desigur webaplicaţia a evoluat, a evoluat mult. Are şi plan gratuit, şi planuri comerciale.

imagine

Să spunem că planul gratuit va fi suficient pentru cei mai mulţi, pentru că limitarea este de 25MB… dar dacă nu inserezi în schema logică propriile imagini îţi ajunge spaţiul fără probleme; iar a doua limitare este că schemele logice nu pot conţine mai mult de 60 de obiecte, ori la aşa număr trebuie să fie scheme logice foarte-foarte complicate. Pentru începători – şi nu numai – planul gratuit e suficient. Desigur, dacă aveţi pretenţii mai mari şi nevoia de colaborare cu alţii, veţi apela la planurile contra cost.

Dar subiectul era scheme logice. Ce sunt ele? Nu ştiu dacă am mai dat deja vreo definiţie într-un articol şi nici nu am stat să caut o definiţie oficială. Eu aş explica astfel schemele logice: un mod de a descrie (deci vizual, pe hârtie) un algoritm. Aşa cum o casă necesită un plan, o proiectare, la fel este şi pentru problemele de informatică. Am înţeles – şi ştiu că mă repet – că astăzi schemele logice sunt pe cale de dispariţie. Nu se mai predau (dacă se predau, rog să fiu contrazis). Cu toate acestea, rămân un instrument extraordinar de important pentru a te apropia de programare. Îmi amintesc de fiica mea cea mare (14 ani), ce reacţie a avut când a trebuit să transforme în cod o schemă logică primită (destul de complexă): “e floare la ureche!” Corect: o schemă logică făcută bine e uşor de transpus în cod. Îţi comunică în plus clar ideile. O schemă logică o va şti citi şi un chinez şi un american şi un francez. Sunt un… “limbaj universal”.

imagine

Pentru ca să fie universal, trebuie desigur respectate câteva reguli. Şi vom începe atunci cu blocurile folosite în scheme logice. Pentru moment vorbim de trei tipuri, ilustrate mai sus:

  • avem mai întâi blocul pentru începutul (Start) şi finalul (Stop) unei scheme logice; orice schemă logică începe şi se termină cu un astfel de bloc; ca formă e un dreptunghi cu colţurile foarte rotunjite (sau oval, dacă preferaţi)
  • apoi sunt esenţiale blocurile de citire şi respectiv de scrie de date; care ar fi logica unei scheme logice, a unui algoritm, dacă nu ar avea ceva date de intrare şi ceva date de ieşire? ca formă e un paralelogram
  • în fine, ca în tot acest “desen” să se şi întâmple ceva, avem nevoie de blocurile de operaţii, unde se întâmplă efectiv ceva: adunări, scăderi… orice operaţii; observaţi că am folosit := ca semn pentru atribuire (unii folosesc o săgeată de la dreapta la stânga); dacă am pune egal (cum vom pune de fapt în programare) pentru unii va fi ceva ilogic: păi dacă a egal cu a+1 simplific cu a şi rămâne 0 egal cu 1! aici nu e logică matematică ci atribuire: valoarea lui a devine vechea valoare plus 1 (adică dacă a este 5, după executarea blocului va fi 6)

Vedem mai joc aceste trei blocuri ilustrate într-o schemă logică penibil de simplă :). Avem două numere, să le aflăm suma. Am lăsat captura cu elemente din LucidChart ca să vedeţi puţin contextul: în secţiunea Flowchart aveţi “ingredientele” pentru scheme logice. Foarte uşor se desenează o schemă logică: LucidChart oferă posibilitatea alinierii uşoare, a tragerii rapide a conexiunilor între blocuri… ce mai: e o comoară! În schema logică de mai jos vedeţi blocurile de început şi sfârşit, precum şi blocuri pentru citirea datelor de intrare (a şi b), respectiv pentru scrierea rezultatului (suma). Blocul din mijloc este cel care face ce trebuie să facă de fapt schema logică: suma numerelor.

imagine

O schemă logică scrisă în LucidChart poate fi cu uşurinţă făcută vizibilă altora. Mergeţi în meniul Share şi din tabul Publish alegeţi Web Page. Bifaţi, click dreapta pe link şi copiaţi-l. Gata. De exemplu schema logică de mai sus o puteţi vedea la https://www.lucidchart.com/documents/view/46bd-878c-500d3a76-b8cd-1e410abee305. Apăsaţi Ctrl şi săgeată în sus sau în jos pentru zoom.

imagine

Acum vine tema de casă ;). Încercaţi să scrieţi următoarele scheme logice (dacă daţi click pe linkuri veţi vedea soluţiile, deci mai bine încercaţi singuri, apoi apelaţi la soluţie).

Desigur, pe moment sunt probleme banale. Mai introducem un bloc în următorul articol.


Apreciază articolul:

1 stea2 stea3 stea4 stea5 stea (7 evaluări, media: 5,00 din 5)
Loading...Loading...

0 comentarii


Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile necesare sunt marcate *