Informatica. Profilul real - Clasa 9 - Manual. Profilul real Clasa 9 Manual... · Ati invdtat deja...

10
ifl NTSIERUL EDUGATTE! NATIONALE Mariana Milogescu lnlorlnalioi Profilul real Specializarea: matematici-inlormalici, gtiinte ale naturii Monuolpedruc-loso o D(- o @ EDmTRA DTDACTrcA g PEDAGOGTCA, R.A"

Transcript of Informatica. Profilul real - Clasa 9 - Manual. Profilul real Clasa 9 Manual... · Ati invdtat deja...

Page 1: Informatica. Profilul real - Clasa 9 - Manual. Profilul real Clasa 9 Manual... · Ati invdtat deja o parte din acegti algoritmi: algoritmul lui Euclid pentru gdsirea celui mai mare

ifl NTSIERUL EDUGATTE! NATIONALE

Mariana Milogescu

lnlorlnalioi

Profilul realSpecializarea:

matematici-inlormalici, gtiinte ale naturii

Monuolpedruc-loso o D(- o

@EDmTRA DTDACTrcA g PEDAGOGTCA, R.A"

Page 2: Informatica. Profilul real - Clasa 9 - Manual. Profilul real Clasa 9 Manual... · Ati invdtat deja o parte din acegti algoritmi: algoritmul lui Euclid pentru gdsirea celui mai mare

Evaluare

4. Aplicarea algoritmilor............. ......76

4.1. Rezolvarea problemelor de matematicd .'......764.2. Rezolvarea problemelor de fizicd .......... ........80

5. Implementarea algoritmilor.............,.... ...........83

5.1. Caracteristicile limbajului de pro9ramare................ .'.'..'...835.2. Structura programului ................ ...................845.3. Structurile de contro|.................. ...................86

Il.;

rf

Page 3: Informatica. Profilul real - Clasa 9 - Manual. Profilul real Clasa 9 Manual... · Ati invdtat deja o parte din acegti algoritmi: algoritmul lui Euclid pentru gdsirea celui mai mare

1. Informatica gi societatea

1.1. Prelucrarea informafiilorGalculatorul a fost inventat de om pentru a prelucra informatia. El il ajutd sdprelucreze foarte ugor, intr-un timp extrem de scurt, cu foade mare acurate{e, omare cantitafe de informalie foarte complexd.

Prelucrarea informa[ieieste veche de c6nd lumea. Prelucrarea voluntari a infor-maliei s-a fdcut insi abia atunci c6nd babilonienii au scris primele semne cuneiformepe tdblilele de lut. Agadar, prima manifestare a prelucrdrii informa{iei a fost scrisu/.lncd din antichitate, pot fi puse in evidenld doud tipuri de prelucriri de informa[ii:

/ prelucrarea textelor = scrisul;/ prelucrarea numerelor = calculul numeric.

Prelucrarea automati a informatiei a fost posibilS o dati cu aparilia calculatoarelorelectronice. Agadar, scopul utilizdrii unui calculator este de a prelucra informatia.lnformatia prelucrati poate fi formatd din texte, numere, imagini sau sunete gi estepistrati pe diferite medii de memorare, in diferite formate, sub formd de date.

Transformarea datelor in informatii nu este un atribut exclusiv al calculatorului. Acestfenomen a apirut o datd cu omul. De la primele reprezentdri ale unor cantitili cu aju-torul degetelor, al pietricelelor sau al be[igoarelor, gi de la manipularea manuald aacestor obiecte pentru a afla c6te zile mai sunt pdnd la un anumit eveniment sauc6te animale au fost vdnate sau c6!i rdzboinici are tribul vecin, putem spune cd areloc un proces de transformare a datelor in informalii. Degetele, pietricelele gi belelereprezintd datele, iar ceea ce se obline prin manipularea lor (numdrul de animalevOnate, numdrul de zile, numdrul de rizboinici) reprezinti informafia. Cele cedeosebesc un astfel de proces de o prelucrare cu ajutorul calculatorului sunt vitezade obfinere a informatiilor gi modul de reprbzentare a informafiilor sub formd de date.

Calculatorul nu gtie sd prelucreze decdt giruri de cifre binare, care pot fi modelatefizic prin impulsuri de curent, cu doui niveluri de tensiune, ce corespund celordoud cifre binare: 0 gi 1. Prin urmare, datele vor fi codificdri binare ale informalieiexistente in exteriorul calculatorului. Dacd, intr-o prelucrare manualS, datele suntreprezentate de obiecte care pot fi manipulate de om (befigoare, pietricele saudegete), in cazul unei prelucrdri automate datele vor fi reprezentate prin obiecte pecare le poate manipula calculatorul, adicd giruri de bi[i.

Agadar, din punct de vedere al unei prelucrdriautomate a informafiei, diferenla din-tre datd gi informalie este:r' lnformalia este un mesaj care inlituri necunoaqterea unui anumit eveniment gi

are caracter de noutate. lnformafiile sunt interpretate de oameni.r' Dala este reprezentarea informaliei in interiorul calculatorului. Calculatorul nu in!e-

lege conlinutul acestor date, el numai le prelucreazd, prin operalii specifice fiecdruitip de datd. ln urma prelucr5riidatelor, calculatorut poate fumiza omului informa[ii.

Page 4: Informatica. Profilul real - Clasa 9 - Manual. Profilul real Clasa 9 Manual... · Ati invdtat deja o parte din acegti algoritmi: algoritmul lui Euclid pentru gdsirea celui mai mare

Informatica qi societatea

Pentru a rezolva o anumitd sarcind, trebuie sd cunoagtem modul in care se poateface acest lucru. Agadar, trebuie sd gdsim o anumitd metodi, adicd un set de pagipe care trebuie s6-i executim ca sd realizdm sarcina. Acest set de pagi formeazdalgoritmul pentru rezolvarea problemei respective. lnilial, studiul algoritmilor a fosto disciplind a matematicii, prin care se cduta sd se gdseascd un set unic deinstrucliuni prin care sd se descrie rezolvarea oricdrei probleme dintr-o anumitdcategorie. Ati invdtat deja o parte din acegti algoritmi: algoritmul lui Euclid pentrugdsirea celui mai mare divizor comun dintre doui numere, algoritmul impdrlirii unuinumdr, algoritmul extragerii rdddcinii pdtrate dintr-un numdr, algoritmul conversieiunui numdr reprezentat in baza zece intr-un numdr reprezentat intr-o alti bazd denumeratie etc. Cu timpul, descrierea metodei de rezolvare a unei probleme cuajutorul algoritmilor s-a extins giin alte domenii de activitate.

La fel ca gi omul, gi un calculator, pentru a putea rezolva o anumitd sarcind, trebuie,,sd aibd cunogtin{e" despre modul in care se poate face aceasta, adicd sd cunoas-cd algoritmul de rezolvare a problemei. Aceastd informalie i se transmite calculato-rului prin intermediul unui program. Deoarece limbajul natural (limbajul prin carecomunicd oamenii) nu este inleles de calculator, care este construit astfel incdt sdpoatd prelucra numai cifre binare, programul prin care i se comunicd algoritmul estescris intr-un limbaj de programare. Limbajul de programare este un limbaj artificialcare, prin exprimdri simbolice (instructiuni), descrie operaliile de prelucrare pe caretrebuie sd le execute calculatorul. Eliipermite omuluisi comunice cu calculatorul (sd iidea comenzi pe care sd le execute), deoarece fiecare instrucliune din limbajul deprogramare va fi tradusi intr-un grup de instrucfiuni magind (instrucfiuni in limbajmagini), adici un gir de bi{i care au o anumitd semnificalie pentru calculator. Acestlimbaj se numegte limbaj magind deoarece este propriu fiecdrui tip de magind (calcu-lator), fiind implementat - cu ajutorul circultelor electronice - in procesor.

Agadar, o sarcind se poate rezolva cu ajutorul calculatorului numai daci modul incare se rezolvd poate fi descompus in pagi, pentru a putea fi descris cu ajutorulunui algoritm, deoarece calculatorul este o magini algoritmici.

Dezvoltarea prelucririi automate a informaliilor cu ajutorul calculatorului s-a fdcutin doud direc[ii:r' dezvoltarea echipamentelor, astfel inc0t acestea sd fie capabile sd stocheze

cdt mal multd informalie, pe care sd o prelucreze cu vitezd cdt mai mare,

folosind algoritmi cdt mai complecgi;/ gisirea de noi algoritmi, cat mai performanli, pentru rezolvarea problemelor

complexe giimbunitilirea tehnicilor de reprezentare 9i comunicare a lor.

1.2. InformaticaFolosirea catculatorului a dus Ia aparitia unei noi gtiinle gi a unui nou domeniu de

activitate: informatica.

Page 5: Informatica. Profilul real - Clasa 9 - Manual. Profilul real Clasa 9 Manual... · Ati invdtat deja o parte din acegti algoritmi: algoritmul lui Euclid pentru gdsirea celui mai mare

lnformatica

Primul calculator electronic a apdrut in anul 1946, ca urmare a unei cereri precise dinpartea armatei americane, care a fost capabilS si finan[eze un proiect atdt de costi-sitor. Apoi, administralia americand a cumpdrat primul calculator non-militar ?n 1951 ,

pentru recensdm6ntul populaliei. Doi ani mai tOrziu a fost construit primul calculatordestinat uneifirme particulare, c6nd General Electric a cumpdrat un calculator pentruuzina sa din Louisville. incepdnd din 1953, firma IBM a inceput sd pdtrundd gi ea pepiala de calculatoare, prezentdndu-gi in mediile gtiintifice propriile calculatoare.Astfel, calculatoarele au inceput sd pdtrunda gi in mediile universitare. Dezvoltareacontinud a echipamentelor electronice de calcula fdcut ca, din 1965, informatica sinu mai fie doar o activitate anexd, ci si se transforme ea insigi intr-o industrie.in contextul uneicregteri puternice a pie[ei, calculatorul a devenit o unealtd folositd intoate domeniile de activitate.

La primele calculatoare electronice, programele erau scrise in cod magind (binar)sau erau cablate sub formd de circuite electronice. Modificarea unui program 9iintroducerea unuia nou erau foarte complicate, deoarece insemna introducerea pro-gramului bit cu bit. Din necesitatea rezolvdrii acestei probleme, au apdrut primelesisteme de operare gi primele limbaje de programare numite limbaje de nivel inalt: in1956, limbajul Fortran orientat pe calcule tehnico-gtiin[ifice, giin l960limbajulCobolorientat pe aplicatii economice care folosesc putine opera[ii de calcul, dar care mani-puleazd un volum mare de date. Limbajele de programare s-au dezvoltat continuu,pentru a se adapta la noile echipamente hardware, la noile sisteme de operare gi lanoile cerinte ale utilizatorilor - care insemnau de fapt noi sarcini pe care trebuia sd lerezolve calculatorul, adicd noi algoritmi, orientafi pe rezolvarea anumitor probleme. in1971 a fost creat in universitdtile elveliene limbajul Pascal, primul Iimbaj structurat(fiecare prelucrare elementard este consideratd ca un bloc, iar blocurile pot fi inchise- incapsulate - unele in altele). O dati cu aparitia microcalculatoarelor, acest limbajs-a rispdndit foarte mult. Limbajul Basic a fost creat in Statele Unite, in 1975, ca unlimbaj interactiv, gi nu putea fi folosit decdt pe microcalculatoare. El permiteaabordarea programirii gi de citre persoane care nu erau specialiste in informaticd.ln 1971 a fost creat de firma Bell-Telephone limbajul C, pentru a permite realizareasistemului de operare Unix. Este un limbaj foarte performant, care posedd at6tconceptele limbajelor structurate de nivel inalt, cdt gi conceptele limbajelor de nivelscizut, care ii permit accesul la hardware. Programele scrise in limbajele apdruterecent au crescut productivitatea programatorilor. Limbajele de nivel inalt au pusbazele ingineriei programirii.

La inceputul anilor '60, in mediile universitare au inceput sd se formeze departa-mente pentru cercetarea gi studierea calculatoarelor. Cu timpul, a apdrut o bogatdliteraturi de specialitate, iar cursurile din domeniul informaticii au inceput si fieorientate pe subdomenii gi si fie gradate pe niveluri de dificultate. Astdzi, infor-matica este divizatd in urmitoarele noud subdomenii.1. Algoritmi gi structuri de date. Studiazd metodele prin care se pot ob(ine apli-

calii care si prelucreze diferite clase de informalii, modul in care vor fi repre-zentate informa[iile care vor fi prelucrate gi metodele de optimizare a pagilor ne-cesari pentru realizarea aplicaliilor. Scopul acestui subdomeniu este de a iden-tifica problemele care pot fi descrise cu ajutorul algoritmilor, de a gdsi modul incare trebuie procedat pentru a descoperi algoritmul gi metodele de analizd qi

comparare a caracteristicilor algoritmilor pentru a obline algoritmic6t maieficienti.

Page 6: Informatica. Profilul real - Clasa 9 - Manual. Profilul real Clasa 9 Manual... · Ati invdtat deja o parte din acegti algoritmi: algoritmul lui Euclid pentru gdsirea celui mai mare

Informatica qi societatea

2.

3.

4.

6.

7.

8.

9.

Limbaje de programare. Studiazd notaliile (limbajele) prin care vor fi repre-zentali algoritmii gi structurile de date, astfel incdt aplica[ia sd poatd fi prelu-cratd. Aceste limbaje sunt apropiate de limbajul natural gi pot fi ugor traduse insecvenfe de comenzi pe care si le in[eleagd calculatorul. Scopul acestui sub-domeniu este de a gisi noitehnicide reprezentare gicomunicare a algoritmilor.

Arhitectura calculatoarelor. Studiazi modul in care sunt organizate diferitecomponente hardware ale calculatorului gi modul in care sunt conectate, pentrua putea ob[ine un sistem eficient, sigur 9i util. Scopul acestui subdomeniu estede a realiza magini algoritmice cit mai bune folosind cunogtinlele despre algo-ritmi deja dob6ndite gitehnologia existentd.

Sisteme de operare. Studiazd felulin care trebuie sd fie organizate programelecare controleazi gi coordoneazd toate operaliile din sistemul de calcul. Scopulacestui subdomeniu este de a face un calculator sd rezolve in acelagi timp maimulte sarcini, fdri ca pagii algoritmilor care descriu rezolvarea acestor sarcini sdinterfereze unii cu alfii, iar atunci cdnd este cazul sd se poati realiza comuni-carea intre diverqi algoritmi.

5. lngineria programirii. Studiazd metodele prin care poate fi automatizat5activitatea de proiectare a aplicaliilor 9i de prelucrare a informa[iilor, astfel incdtsd se oblini programe corecte, eficiente, fdri erori gi ugor de exploatat.

Galcule numerice gi simbolice. Studiazd descrierea fenomenelor din lumea re-

al5 prin intermediul formulelor matematice, care pot fi manipulate algebric astfelincdt sd se oblind modele matematice ugor de descris prin algoritmi. Scopul aces-tui subdomeniu este de a gdsi modele matematice care sd permitd descrierea gi

reprezentarea in calculator a fenomenelor complexe, cum sunt: zborul avioane-lor, curenlii marini, traiectoria satelililor gi a planetelor, migcarea particulelor etc.

Sisteme de gestiune a bazelor de date. Studiazd modul in care pot fi orga-nizate cantitdli mari de date ce nu necesitd, in prelucrare, calcule matematicecomplexe. Este cazul informaliilor prelucrate ?n procesele economico-sociale, Inintreprinderi gi in administralie. Prelucrarea acestor date trebuie si se facdeficient, firi erori, cu asigurarea securitdlii lor.

lnteligenla artificiali. Studiazd modulin care percepe gi ralioneazi mintea umand,

cu scopul de a putea fi automatizate aplicalii pe care omul le realizeazd prin metode

,,inteligente', care sunt dificil de descris cu ajutorul algoritmilor, ca de exemplu in!e-legerea unui limbaj, crearea de noiteorii matematice, compunerea muzicii, creareaoperelor de arti, luarea deciziilor in urma evaluirii unor situalii complexe (stabilirea

unui diagnostic in medicind, mutarea pieselor la jocul de gah etc.).

Animalie gi robotici. Studiazi metodele prin care pot fi generate gi prelucrate

imaginile 9i modul In care se poate rispunde unei situalii din exterior prin

actionarea unui robot,

1.3. Etapele rezolylrii unei problemeOrice prelucrare automatd a informaliilor presupune definirea urmitorului lan[:

tntriri @t"u,tt

Page 7: Informatica. Profilul real - Clasa 9 - Manual. Profilul real Clasa 9 Manual... · Ati invdtat deja o parte din acegti algoritmi: algoritmul lui Euclid pentru gdsirea celui mai mare

Informatica

Din aceasti cauzd, pentru orice rezolvare a unei probleme cu ajutorul calcula-torul u i, trebu ie parcurse urmitoarelor etape:

1. analiza problemei;2. elaborarea modului de rezolvare a problemei;3. codificarea intr-un limbaj de programare a modului de rezolvare a problemei;4. testarea programului gi corectarea erorilor.

1. Analiza problemei. Aceastd etapd constd in formularea enunlului problemei dincare vor rezulta specificatiile complete gi precise ale programului care va rezolvaproblema. Aceste specifica[ii trebuie sa lini cont de condiliile concrete de realizarea programului. Specificaliile sunt:r' Functia programului. Prin ea, se determini ceea ce urmeazd sd realizeze pro-

gramul.r' ldentificarea fluxului de informatii. Aceasta presupune identificarea infor-

mafiilor de intrare gi, respectiv, a informatiilor de iegire care vor fi descrisecu ajutorul datelor: date de intrare gi, respectiv, date de iegire.

Fiecdrui tip de informa[ie ii corespunde un anumit mod de stocare in mediul de me-morare, adici un anumit tip de dati. intre datele prelucrate de un program existddiferite relalii. Modul in care vor fi aranjate aceste date in mediul de memorare de-pinde de legdtura dintre ele.

2. Elaborarea modului de rezolvare a problemei. Aceastd etapd constd ingdsirea metodei prin care sd s ; poatd rezolva problema. Ea presupune identifica-rea prelucrdrilor care se fac asupra datelc r de intrare pentru a obline datele deiegire. Descrierea acestor prelucrdri se face cu ajutorul algoritmului de rezolvare aproblemei. Aceasti fazd este cea mai importantd gi cea mai grea, deoarece presu-pune definirea logicd a unei secvenle de operafii pe care sd le poatd executacalculatorul, astfelinc6t si se oblini rezultatele dorite.

3. Codificarea intr-un limbaj de programare a modului de rezolvare a problemei.Algoritmul de rezolvare a problemei este transpus intr-un limbaj de programare ales inconformitate cu specificul problemei care trebuie sd fie rezolvatd, pentru a fi comunicatcalculatorului.

4. Testarea programului gi corectarea erorilor. Pentru testarea programului se vafolosi o multime de seturi de date de intrare, care trebuie sd prevadd toate situa[iilecare pot si apari in exploatarea curentd a programului. Testarea constd in executarearepetati a programului, pentru fiecare set de date de intrare. Dacd aceastd mullime deseturi de date nu este aleasd corect, programul nu va fi testat pe toate traseele algo-ritmului giin etapa de exploatare pot apdrea erori. in aceastd etapd se pun in evidenfderorile de sintaxd, erorile de logicd gi dacd reprezentarea externi a rezultatelor areaspectul grafic dorit. Erorile de sintaxi apar din scrierea incorectd a instruc[iunilor gi elevor fi corectate in program. Erorile de logicd apar din cauza metodei de rezolvare alesegi ele vor trebui identiflcate in cadrul algoritmului gi corectate in program.

Agadar, pentru ca un calculator si poati produce informafii, trebuie ca, la rdndulsiu, si primeasci doui categoriide informafii:/ Descrierea modului in care realizeazd sarcina, adici algoritmul, care i se co-

municd sub forma unui program.

Page 8: Informatica. Profilul real - Clasa 9 - Manual. Profilul real Clasa 9 Manual... · Ati invdtat deja o parte din acegti algoritmi: algoritmul lui Euclid pentru gdsirea celui mai mare

Informatica qi societatea

/ lnformatiile de care are nevoie algoritmul c,a sd realizeze acea sarcind care i secomunicd sub formd de date de intrare.

Scop: exemplificarea etapelor de rezolvare a unei probleme.

Enunlul problemei: Fiind date doud numere reale a Si 4 sd se rezolve ecualia degradul intdi cu acegfi coeficienli: ax + b = O.

in urma analizeiproblemei, se obline specificalia programului:/ Funclia programului. Dacd pentru ecuafia de gradul int6i ax + b = 0 existd o

solulie reald, se calculeazd; Tn caz contrar, se afigeazi un mesaj.r lnformafiile de intrare sunt coeficien[ii ecuafiei, iar suportul extern prin care se

vor introduce este tastatura. Reprezentarea intemd a informaliei se va face prindatele de intrare a gi b.

u lnformatia de iegire va fi solutia ecua[iei, dacd existS, iar dacd nu existS, un mesaj.Suportul extem pe care va fi reprezentatZi informalia de iegire este ecranul mo-nitorului. Reprezentarea intemd a soluliei ecua$ei se va face prin data de iegire x.

Metoda folositi pentru rezolvarea problemei va fi algoritmul matematic de rezol-vare a ecualiei de gradulint6i.

Pentru testarea programului, se va considera cd un set de date de intrare esteformat de perechea de coeficienli (a; b), iar o mullime completd de seturi EAr'de date de intrare poate fi{(0; 0), (0; 1.5), (2.5; 1.5)}. -rffi

1.4. AlgoritmulDatele de intrare sunt supuse unui proces de prelucrare, pentru a se obfine datelede iegire. in funclie de rezultatele care se doresc, prelucrarea datelor este realizatddupd un anumit algoritm.

:Algdritmul.reprezinte,o:mulfime.oldonati;$!,'finitii derp{gi.,lexecutabilipiiii:::carle.,se,definegte,fird echivoc modul in carelsepoate reali'2a-o.anumiti saicind:

intre datele de intrare gi datele de iegire ale algoritmului existd o relalie binedeterm inatd de insdgi construclia algoritmului.

in activitSfile zilnice intdlnim la tot pasul algoritmi: algoritmul de utitizare a maginiide spdlat rufe sau vase (exprimat prin setul de instrucliuni din cartea tehnicd a ma-ginii sau de pe capacul maginii de spdlat), algoritmul de inregistrare pe o casetdvideo (exprimat prin setul de instrucliuni din cartea tehnici a videorecorderului),algoritmul de interpretare a muzicii (exprimat prin partiturd), algoritmul de con-struire a unui model de avion sau de navi (exprimat prin setul de instrucliuni careinso[esc piesele care compun modelul), algoritmul de rezolvare a unei problemematematice (exprimat printr-un set unic de operalii prin care se descrie modul derezolvare a oricdrei probleme dintr-o categorie de probleme). De fapt, aproape toa-

Page 9: Informatica. Profilul real - Clasa 9 - Manual. Profilul real Clasa 9 Manual... · Ati invdtat deja o parte din acegti algoritmi: algoritmul lui Euclid pentru gdsirea celui mai mare

Informatica

te ac[iunile noastre se desfdgoard dupd un algoritm bine definit. Un exemplu dealgoritm al activitdfilor zilnice este o convorbire telefonicd:

Pasul f. inceput.Pasul 2- Mergi la telefon.Pasul 3. Ridicd microreceptorul telefonului.Pasul 4. Dacd are ton, formeazd numdrul de telefon; altfel, pleacd la vecin gi

mergi Ia Pasul 10.Pasul 5. Dacd telefonul este ocupat, inchide telefonul gi mergi la Pasul 1 1,'

altfel, agteaptd sd rdspundd.Pasul 6. Dacd nu rdspunde, pune microreceptorulin furcd gi mergi la Pasul 12;

attfel, incepidisculia cu persoana care a rdspuns.Pasul 7. Dacd a rdspuns persoana cdutatd, mergila Pasul 9; altfel, cere sd

vind la telefon persoana cdutatd.Pasul 8. Dacd percoana cduta6 nu poate sd vind la telefon, mergi la Pasul 13,'

attfel, agteaptd sd vind la telefon.Pasul 9. Discutd la telefon cu persoana cdutatd gi mergi la Pasul 13.Pasul 1O. Anuntd la seruiciul ,Deranjamente telefoane' cd aitelefonul defect gi

mergi la Pasul 14.Pasul 11. Agteaptd 15 minute gi mergila Pasul2.Pasul 12. Agteaptd 1 ord gi mergi la Pasul 2.Pasul 13- inchide telefonul-Pasul 14- Terminat.

Un exemplu de algoritm matematic este rezolvarea ecualieide gradulintii:axz+b=0

unde a g. h sunt coeficienfii ecua[iei gi pot lua orice valori din domeniul numerelorreale, lar zreprezintd un numdr care se calculeazi gi care poate lua gi el orice va-loare reali, astfel incdt sd fie Tndeplinitd relalia definitd prin ecua[ie. Algoritmul derezolvare a ecuafiei va prezenta un set unic de operalii, prin care se calculeazS va-loarea lui z, oricare ar fi valorile pentru a gi b:

Past,l f . inceput.Pasul 2. Comunicd valorile pentru a 9i b.Pasul 3. Compard a = 0- Dacd este adevdrat, executd Pasu! 4; altfel, executd

Pasul 7.Pasul 4. Compard b = O- Dacd este adevdrat, executd Pasul 5; altfel, executd

Pasul 6.Pasul 5. Comunicd mesajul "Ecua{ia are o infinitate de solulii". Mergi la Pasul 9.Pasul 6. Comunicd mesajul"Ecuafia nu are solutji". Mergila Pasul g.

Pasul 7. Calculeazd z = -b/a.Pasul 8. Comunicd valoarea lui z-Pasul9. Terminat.

NunrSrul de pagi este finit (9 pagi). Toli pagii reprezinti acliuni care se pot executa:cornpard, calculeaz5, comunicd. O dati defiriit acest algoritm, pagii lui se vor exe-cuta pentru orice valori ale lui a gi b, deci algoritmul descrie rezolvarea unei pro-bleme generale. La fiecare executare a algoritmuluicare descrie o problemd gene-ralS va fi tratat un caz particular, adicd se rezolvi ecualia de gradul intdi pentru va-

Page 10: Informatica. Profilul real - Clasa 9 - Manual. Profilul real Clasa 9 Manual... · Ati invdtat deja o parte din acegti algoritmi: algoritmul lui Euclid pentru gdsirea celui mai mare

10 Informatica qi societatea

loriprecizateale luia gib, ca de exemplu2xz- 4 = 0 (a= 2, b = -4) sau Oxz- 4 =0 (a = 0, b =-4) sau Oxz-0 = 0 (a = 0, b = 0).

Agadar, algoritm ii au urmdtoarele proprietif i :

/ Claritatea. Orice algoritm trebuie si fie precis definit, si prezinte clar toate etapele

care trebuie parcurse pdnd la ob[inerea solu[iei, fdrd sd formuleze nimic ambiguu./ Finitatea. Algoritmul trebuie sd fie format dintr-un numdr finit de pagi, prin exe-

cutarea cirora sd se ajungi la rezolvarea problemei gi ob[inerea rezultatelor./ Succesiunea determinati a pagilor. Pagii care compun algoritmul trebuie exe-

cutaliintr-o ordine bine determinatd. De obicei, ei se executd in ordine secvenli-ald (ordinea in care au fost scrigi). in cazul in care apare necesitatea schimbdrii

acestei ordini, trebuie sd se precizeze clar pasul care urmeazd sd fie executat./ Universalitatea. Algoritmul trebuie si permitd rezolvarea unei clase de proble-

me, care sunt de acelagi tip gi care diferd intre ele numai prin datele de intrare.

EI trebuie sd ofere posibilitatea de a rezolva orice problemi din acea clasd de

probleme./ Realizabilitatea. Pagii care compun algoritmul trebuie sd reprezinte operalii

care se pot executa cu resursele disponibile./ Eficienta. Operaliile care compun algoritmul trebuie alese astfel incdt solulia

problemei sd fie oblinutd dupd un numdr minim de pagi, cu precizia prestabilitd

sau cu o precizie satisfdcitoare.

Rispundefi:1. Ce este un algoritm? Ce sunt pagii algoritmului?

2. Determinali algoritmul pentru prepararea unui ceai. ldentificali proprietdlile unui

algoritm, in cazul acestui algoritm.3. Citi[i o reletd din cartea de bucate. Determinali algoritmul pentru prepararea res-

pectiwlui produs culinar.

4. Da[i patu exemple de probleme a cdror rezolvare nu poate fi descrisi cu ajutorul

algoribnului gi patru exemple de probleme a cdror rezolvare poate fi descrisi cu

ajutorul algoritmului.