Documente online.
Zona de administrare documente. Fisierele tale
Am uitat parola x Creaza cont nou
 HomeExploreaza
upload
Upload




Limbajul informatic - o necunoscuta?

Informatica


Omul are capacitatea

de a construi limbaje..."



WITTGENSTEIN

Limbajul informatic - o necunoscuta?

''Satul planetar'' - o provocare comunicationala

Trasaturile caracteristice societatii planetare a secolului XX au devenit truisme: accelerarea exponentiala a progresului tehnic, mutatiile ecologice, sociale, politice, estetice, au depasit tot ceea ce istoria civilizatiilor a cunoscut anterior. Cunoscutul viitorolog american Alvin Toffler a concentrat īn tripticul conceptual tranzienta - noutate 12512u2014m - diversitate - esenta īntregului ansamblu de fenomene amintit. Pe scurt, tranzienta, nepermanenta este expresia precipitarii ritmului schimbarilor īn īntreaga societate contemporana la toate nivelele si sub toate aspectele sale. Fenomenul īsi are radacinile īn sfera tehnologica si īn cea economica, de aici ea repercutāndu-se asupra tuturor celorlalte domenii ale vietii sociale. Ca urmare, structurile sociale si de productie care corespund fiecare unui anumit tip de activitate, tind sa se modifice, sa se reorganizeze rapid īn functie de tehnologiile si obiectivele noi cu care sunt confruntate.

Schimbarile rapide īn infrastructura societatii au, fireste, repercursiuni īn toate celelalte sfere ale existentei sociale. Personalitatea umana trebuie sa faca fata acestui ritm al schimbarii, trebuie sa parcurga un foarte rapid proces de adaptare profesionala si chiar restructurare comportamentala.

Principal factor al acestei revolutii, calculatorul, este īn acelasi timp si ''unealta'', ''ajutorul'' cel mai propice al omului pentru a face fata noilor provocari sociale. Ascensiunea spectaculara a informaticii dinamizata exponential de aparitia Internetului, patrunderea ei īn mai toate spatiile existentei noastre sociale sI particulare, sta marturie acestui adevar. Integrarea masinii īn formele elevate a muncii omului este motivata tocmai de faptul ca o face mai performanta, īi ridica nivelul cantitativ sI calitativ, adaptānd-o astfel ritmurilor impuse de progresul contemporan.

Datorita calculatoarelor patrunse īn sistemul mass-media, lumea a ajuns sa se masoare pentru fiecare dintre noi la scara globala. ''Satul planetar'' al lui McLuhan este aici si acum. Informatia explodeaza, iar noile mijoace de telecomunicare ce actioneaza īn interiorul structurilor mediatice au facut tandari conceptele traditionale de spatiu si timp. Ele confera informatiei trei virtuti esentiale perfect sintetizate de termenii: plimorfism, ubicuitate, instantaneitate. Informatia este peste tot, ea comunica si se comunica. Īi putem raspunde la provocare doar urmāndu-i pasul, intrānd īn acest mozaic de limbaje, informatii si comunicare cu drept egal de a fi reprezentati.

Deci, calculatorul ne-a devenit (sau trebuie sa ne devina) familiar. Cei mai multi dintre noi stim sa comunicam īntre noi sau sa ne conectam la pulsul lumii cu ajutorul lui. Īnsa numai putini dintre noi stiu cum sa comunice efectiv cu el sI doar o minoritate reuseste ''sa vorbeasca aceeasi limba'' cu calculatorul.

Acest lucru īsi propune textul de fata: sa transforme aceasta ''Black Box'' care este calculatorul īntr-o unealta mai prietenoasa, mai putin misterioasa cu care, daca nu putem vorbi toti aceiasi limba, stim cel putin cum sa ajungem la ea daca vom avea vreodata nevoie.

''Black Box'' - o definitie

Calculatorul numeric sau digital (engl. digit = unitate), pentru care īn terminologia francofona circula si termenul de ordinator, are drept caracteristica fundamentala faptul ca prelucreaza marimi discrete, reprezentarea lor interna facāndu-se prin impulsuri electrice.

Acestea sunt calculatoarele uzuale actualmente īn toate domeniile activitatii sociale. Ele sunt ''instalatii complexe, capabile de a efectua automat, cu rapiditate, precizie si siguranta un numar foarte mare de operatii cu caracter intelectual, care implica īn ultima analiza prelucrarea unor cantitati īnsemnate de valori numerice dupa reguli bine stabilite si īntr-o succesiune prevazuta anterior''.

Avem asadar doua categorii de elemente indispensabile unui proces de prelucrarea automata a datelor (PAD) cu ajutorul calculatorului:

a) un ansamblu de reguli de prelucrare prin care se indica īn fiecare moment masinii ce operatie trebuie sa execute, ordinea operatiilor sI variantelor posibile (atunci cānd desfasurarea prelucrarii depinde de un rezultat intermediar īn procesul de calcul). Acest ansamblu de reguli se numeste algoritm de prelucrare sau de calcul;

b) un ansamblu de date numerice sau alfabetice (informatii) codificate sub forma numerica; ele reprezinta materia prima a prelucrarii.

De remarcat faptul ca, pe baza aceluiasi algoritm se poate prelucra un numar oricāt de mare de ansambluri diferite de date. Elaborarea unui algoritm are prin urmare o foarte mare importanta īn debarasarea intelectului uman de balastul proceselor mentale rutiniere. Transpus sub forma de graf orientat, algoritmul se numeste de obicei schema logica sau organigrama.

Notiunea de software este de prima importanta īn īntelegerea functionarii calculatorului, a posibilitatii si a limitelor sale. Daca īn anii de pionierat ai informaticii specialistii erau preocupati īn special de problemele legate de hardware, informatica actuala porneste de la ideea ca perfectionarea functionala a calculatoarelor īn limitele unui tip dat poate fi obtinuta prin īmbunatatirea softului. Ca o consecinta, pretul softului actualei generatii a crescut mult mai rapid decāt cel al partii fizice.

Comunicarea este posibila!

Cum se comunica efectiv cu calculatorul?

Am amintit la īnceput ca un calculator digital prelucreaza marimi discrete, reprezentarea lor interna facāndu-se cu ajutorul impulsurilor electrice. Asadar, orice informatie exterioara, pentru a fi ''īnteleasa'' si prelucrata de calculator trebuie codificata īntr-un limbaj care sa fie apoi usor de ''citit'' īn impulsuri electrice. Cum se realizeaza efectiv acest lucru? Prin codificare si programare

Codificarea īn general, presupune stabilirea prealabila a unui consens asupra unor echivalente īntre niste semnificatii si niste simboluri de reprezentare. Cu alte cuvinte, codificarea presupune ca odata cu stabilirea obiectului informatiei se determina si toate starile posibile ale fenomenului, iar apoi, fiecareia din aceste stari i se atribuie un simbol de reprezentare.

Informatia discreta, care nu are un aspect cantitativ, poate fi īntotdeauna reprezentata prin numere. Se stabileste o corespondenta īntre fiecare stare posibila si un numar, care apoi poate fi codificat dupa modurile de codificare ale numerelor. Pentru procesarea si transmiterea informatiei prin intermediul calculatoarelor este necasara codificarea numerica binara.

Istoric, primul cod de reprezentare binara a literelor si cifrelor a fost codul Morse. Calculatoarele utilizeaza alte coduri binare. Reprezentarea caracterelor pe suporturi magnetice sau īn memoria calculatorului se face cu ajutorul codului Hollerith.

Doua īmprejurari obiective stau la baza utilizarii calculatoarelor ca auxiliare ale gāndirii umane. Prima dintre ele, afirma Dominique Dubarle, filosof al culturii, este posibilitatea ''de a constitui o reprezentare materiala activitatilor mentale sau, cum spun logicienii, a termenilor gāndirii... A doua dintre aceste posibilitati este aceea de a opera īn mod stiintific, matematic, asupra acestor reprezentari materiale, īntr-un fel care sa corespunda regulat anumitor operatii mentale''. Īn termenii cu care suntem obisnuiti, cele spuse de filosoful francez nu īnseamna altceva decāt posibilitatea formalizarii problemelor pe care intentionam sa le prelucram automat, adica disocierea planului semantic de cel formal si abordarea problemelor numai īn acest din urma plan. Atunci cānd se codifica numeric informatia, nu se face altceva decāt sa se elaboreze o lista completa a elementelor formale care apar īn problema noastra. Sensul fiecarei valori va fi deci substituit īn manipularea lui prin expresia numerica de cod care īi corespunde si care nu este altceva decāt rangul respectivei valori īn lista. Īn acest fel informatia semantica este formalizata; sensul, care nu mai poate fi aflat decāt consultānd lista, a fost desprins de forma. Strict vorbind, analiza rezida īn reducerea a ceea ce īn mod uzual numim cunostiinte la structuri numerice, algoritmizarea nefiind la rāndul ei altceva decāt gasirea unui model formal care sa ne indice, īn termenii unei logici binare stricte, ce operatii urmeaza sa fie efectuate si īn ce ordine pentru obtinerea rezultatelor dorite. Este vorba de gasirea sistemului de relatii care leaga informatiile-date de informatiile-rezultate. Acest sistem reprezinta algoritmul de calcul ce poate fi redat grafic sub forma schemei logice sau organigramei.


Black Box devine White Box

Cu traducerea schemei logice īntr-un limbaj de programare automata (LPA) accesibil masinii se sfārseste traducerea unei probleme pentru a putea fi prelucrata automat. Programul este alcatuit dintr-un set de instructiuni redactate īn limbaj de programare automata si capabile sa determine actiunile masinii, dupa ce īn prealabil au fost introduse īn memoria acesteia.

Programarea reprezinta deci tocmai trecerea de la sirul de operatii al schemei logice la sirul de caractere al programului. Pentru aceasta, trebuie sa reuseasca trecerea de la particularitatile algoritmului la particularitatile functionale ale masinii.

Sub raport calitativ si chiar istoric, exista trei nivele posibile ale codificarii algoritmului īntr-un limbaj accesibil calculatorului: nivelul 0 (programarea īn limbaj masina), nivelul 1 (programarea īn limbaj de asamblare, denumit uneori si limbaj simbolic), si nivelul 2 (programarea īn LPA).

Nivelul limbajului de programare automata este cel mai avansat; el se apropie cel mai mult de limbajele naturale si īn special de forma logica a acestora ipostaziata īn limbajul matematic. Īn aceeasi masura ele sunt mai distantate de limbajul masinii. Limbajele de programare automata au doua caracteristici fundamentale:

1. īn primul rānd ele sunt ''orientate pe problema'', adica structura lor este astfel conceputa īncāt sa ofere facilitati īn prelucrarea unei clase particulare de probleme. De exemplu pāna īn anii '80 majoritatea programelor comerciale au fost scrise īn COBOL iar programele stiintifice erau scrise īn FORTRAN. Ulterior acestea au fost īnlocuite de programe cum ar fi: AUTOCAD, MATCAD si altele pentru probleme tehnico-stiintifice, FOXPRO pentru probleme specifice activitatilor de gestiune, economice si comerciale.

2. īn al doilea rānd, limbajele de programare automata fiind independente de masina pe care sunt folosite, trebuie traduse īn limbajul masinii pentru a fi ''īntelese'' de ea, ceea ce nu se poate face decāt daca īn memorie exista un program de traducere numit compilator. Īn functionarea compilatorului se disting trei faze: a) editarea, care consta īn identificarea elementelor semantice ale textului (semne, constante numerice etc.); b) analiza sintactica, prin care se determina rolul fiecarui element īn functie de pozitia pe care o ocupa īn fraza; c) generarea textului īn limbajul masinii care, spre deosebire de primele doua faze, difera de la masina la masina.

Īn momentul īn care īn calculator exista, īn afara softului (alcatuit din asa numitele programe de asistenta) si programe curente de aplicatii, atunci īntregul ansamblu de programe prezente īn masina constituie sistemul de operare. Un program de aplicatii nu este altceva decāt un algoritm de calcul transpus īntr-o forma accesibila masinii, adica īntr-un limbaj de programare automata pe care calculatorul respectiv īl ''īntelege''. Practic, el este un sir de instrictiuni care se executa de obicei secvential, cu ajutorul lor prelucrāndu-se numai multimi de numere.

Īn limbajul masinii, forma elementara de comunicare cu aceasta si care este īn acelasi timp suportul informational al prelucrarilor efective, instructiunea este alcatiuita din trei parti, rezervate, īn ordine, adresei operatorului, celei a operandului si adresei instructiunii īn memorie.

Operatorul sau functia de prelucrare se alege dintr-un repertoriu de functii pe care masina este capabila sa le execute si care sunt specificate īn documentatia ei.

Operandul este numarul asupra caruia se executa prelucrarea.

Adresa instructiunii este un alt numar care indica locatia respectivei instructiuni īn memorie. O instructiune va arata astfel: 15/114 - 217. Fiecare din numerele componente este, deci, ''denumirea'' unei operatii sau a unei adrese. Cu cāt limbajul de prelucrare automata este mai evoluat īn raport cu limbajul masinii, cu atāt ''denumirile'' sunt mai apropiate de limbajele naturale, ramānānd ca asamblorul sau compilatorul sa traduca aceste ''nume'' īn limbajul masinii. Exista si denumiri de o natura mai speciala, numite etichete (labels), care se folosesc pentru instructiuni sau chiar pentru blocuri de instructiuni (subprograme).

Daca dorim sa facem o paralela cu creierul uman, daca hardware-ul ar fi anatomia, partea lui materiala, software-ul ar constitui ''fiziologia'', modul lui de functionare. Softul este prin definitie ansamblul programelor prezente īn permenenta īn calculator. Aici īsi au sediul ''facultatile lui intelectuale''. Exista doua categorii fundamentale de programe:

a) programele de comanda, care au rolul de a coordona fluxul de lucrari īn asa fel īncāt diversele parti functionale ale masinii sa fie optim folosite īn raport cu ansamblul de lucrari pe care acesta īl are de realizat

b) programele prelucratoare; īntre ele se numara programele de traducere (din limbajul masinii īn limbajul de programare), programele utilitare (de interclasare, tabulare etc) si subprogramele din biblioteca de subprograme.

Inteligenta artificiala se leaga īn special de continutul si structura bibliotecii de subprograme. Ea este depozitara efectiva a ''abilitatilor'' intelectuale ale masinii. Subprogramele care o alcatuiesc nu sunt altceva decāt o colectie de rutine dintr-un anumit domeniu de activitate intelectuala. Atunci cānd utilizatorul īntālneste o etapa stereotipa de calcul, nu mai scrie īn amanuntime calculatorului ce operatii trebuie sa execute, ci cheama numele etichetei subprogramului respectiv. Utilizatorul nu se va concentra īn materialul pe care īl elaboreaza decāt pe activitatea de conceptie, creatoare; iata, deci, cum colaborarea cu masina nu duce la īnecarea intelectuala īn rutina, ci la debarasarea de elementele stereotipe si concentrarea spiritului numai pe ceea ce este creator.

Limbaje: analogii functionale

S-a pus problema daca limbajele de programare automata sunt simple coduri sau tind catre statutul unor complexe semiotice apropiate de limbajele umane. Parerile sunt īmpartite. Evident este faptul ca acestea sunt īnca departe de nivelul limbajelor umane īn ce priveste dimensiunile repertoriului semantic, flexibilitatea īn īntrebuintare, etc. Aceste insuficiente fac sa fie necesare limbaje diferite pentru clase diferite de probleme, limbaje de īnalt nivel pentru scrierea unor alte limbaje de īnalt nivel.

Este necesara totusi consemnarea unor aspecte legate de natura si evolutia limbajelor de programare care spulbera cāteva dintre prejudecatile īn virtutea carora limbajele de programere automata sunt considerate instrumente lingvistice cu totul rudimentare si incapabile de a vehicula semnificatii evoluate. Se admite īn genere ca pentru a-i oferi unui sistem semiotic statutul de limbaj, el trebuie sa īndeplineasca o serie de conditii īntre care cele mai importante sunt:

a) existenta īn plan lexico-semantic a unui dictionar care sa contina o structura de semnificatii analoga structurii conceptelor (de exemplu, sa putem folosi cuvāntul ''bloc'' īn loc de ''cladire cu mai multe nivele'';

b) existenta unei gramatici, adica a unui set de reguli care, pornind de la anumite necesitati de exprimare stabileste corelatii īntre rolul unui cuvānt si pozitia lui īn fraza.

c) ambiguitatea (omonimia, polisemia) care amplifica practic la infinit posibilitatea de expresie a unui limbaj. Ea exista atāt la nivel semantic cāt si sintactic.

Limbajele de programare poseda atāt un repertoriu semantico-formal (dictionar), cāt si un sistem de reguli sintactice de combinare a elementelor dictionarului (gramatica analitica). Īn privinta existentei ambiguitatii, lucrurile nu mai sunt atāt de explicite. Este unanim admis ca un limbaj de programare trebuie sa se caracterizeze prin precizia si univocitatea ternmenilor sai. Nu sunt admise conotatii, sensuri care nu figureaza īn dictionarul masinii. Totusi, īn mod paradoxal, observāndu-se ca un cuvānt poate avea semnificatii diferite īn functie de locul ocupat īn ''fraza'', specialistii au fost pusi īn situatia de a conceda ca si īn limbajele artificiale de acest tip se poate totusi vorbi de ambiguitate.

Un exemplu simplu ar putea fi urmatorul:

Instructiunea X:=X+Y este o instructiune de atribuire si ar putea fi detaliata īn urmatoarele operatii elementare:

PREIA X (ia valoarea din celula X si transfer-o īn acumulator)

ADUNĂ Y (aduna la aceasta valoarea din celula Y)

DEPUNE X (ia rezultatul din acumulator si depune-l īn celula X)

Īn cazul primei subfraze, X desemneaza valoarea continuta de celula respectiva din memorie, īn vreme ce a treia subfraza desemneaza numele aceleiasi celule.

Iata deci, din toate motivele relevate, ca aceste coduri de programare sunt pe buna dreptate numite limbaje. Analogiile cu limbajul uman nu se opresc īnsa aici. Istoriceste si chiar social, un limbaj de programer automata evolueaza īntocmai ca un limbaj uman viu. Gramaticile se dezvolta prin adaugirea, suprimarea sau restructurarea regulilor existente, īn scopul obtinerii unor posibilitati mai complexe de ''expresie''. La nivel semantic, precizia calculelor, deci a transformarilor īn acest plan variaza de la o masina la alta, asa cum limbajele naturale variaza īn īntrebuintarea lor specifica de la o persoana la alta. Labilitatea īn timp a limbajelor de programare este determinata atāt de necesitatea de a rezolva mereu alte probleme, de facturi diferite, cāt si de particularitatile masinilor ale caror hardware evolueaza īntr-un ritm rapid.


Document Info


Accesari: 3283
Apreciat: hand-up

Comenteaza documentul:

Nu esti inregistrat
Trebuie sa fii utilizator inregistrat pentru a putea comenta


Creaza cont nou

A fost util?

Daca documentul a fost util si crezi ca merita
sa adaugi un link catre el la tine in site


in pagina web a site-ului tau.




eCoduri.com - coduri postale, contabile, CAEN sau bancare

Politica de confidentialitate | Termenii si conditii de utilizare




Copyright © Contact (SCRIGROUP Int. 2024 )