structuri

14
Structuri Limbajul pseudocod

Upload: gaetan

Post on 14-Jan-2016

19 views

Category:

Documents


1 download

DESCRIPTION

Limbajul p seudocod. Structuri. Structura liniara. Structura liniara cuprinde numai instructiuni de citire, scriere , calcul si atribuire. M a rimile cu care se lucreaz a - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Structuri

Structuri

Limbajul pseudocod

Page 2: Structuri

Structura liniaraStructura liniara cuprinde numai instructiuni de citire, scriere, calcul si atribuire. Marimile cu care se lucreazain solutionarea problemelor sunt variabilele si constantele. Variabilele sunt marimi care in timpul executiei unui program se modifica iar constantele raman neschimbate.

Page 3: Structuri

Se citesc doua variabile reale a si b. Sa se interschimbe continutul lor si sa se tipareasca.

Exemplu

real areal bciteste aciteste b aux = ca ←cb←ac←bscrie ascrie b

Page 4: Structuri

Structura alternativaStructura alternative se definese astfel: Daca S1 si S2 sunt structuri si E este o conditie atunci : Daca E atunci S1 altfel S2  Mecanismul de functionare (executare ) este : Pasul 1: Se evalueaza conditiaPasul 2: daca aceasta este indeplinita se executa prima structura (S1)  Daca E atunci S1 Pasul 3: daca la evaluare E-ul nu indeplineste conditia se trece la a doua structura (S2)

Page 5: Structuri

ExempluSa se scrie un algoritm care citeste numarul natural (nr). Daca acesta este 0 atunci se vor citi doua numere intregi a si b si se va tipari suma lor. Contrar se citesc doua numere reale x si y si se va tipari suma lor.

intreg a, b, S1, nr; real x, y, S2;citeste nr; Daca nr=0 atunci citeste a, b; S1←a+b; scrie S1; altfel citeste x, y S2←x+y scrie S2 

Page 6: Structuri

Sa se determine greutatea ideala a unei personae dupa formula:

G= 50+0,75 (I-150) + (V-20)/4 - pentru barbatiG= (50 + 0,75* (I-150) + (V – 20/4)* 0,9 - pentru femei

I – inaltimea V- varsta

Analiza problemei: -date de intrare : nr natural : I , V → tip intreg sex→ s -date iesire : greutatea→g → tip real (kg) Functia programului nostru este de a prelua de la tastatura valorile inaltimii si varstei, a caracterului care precizeaza sexul si de a calcula si a afisa valoarea greutatii ideale a persoanei.

Page 7: Structuri

Structura repetitiva conditionata anterior Aceasta este cat_timp expresie

executa Instructiune;Modul de executie: Pasul 1: se evalueaza expresiaPasul 2: daca valoarea expresiei este “false” se iese din instructiune.Cat_timp;Daca valoarea expresiei este “true” se executa instructiunea apoi se revine la pasul 1.  Observatii:Instructiunea se executa repetat, cat timp caloarea expresisi este “adevarat”. Pentru ca ciclul sa nu fie infinit este obligatoriu ca instructiunea care se executa sa modifice cel putin una din variabilele care intervin in expresie astfel incat aceasta sa poata lua valoarea “false”.Daca expresia are de la inceput valoarea “false” intructiunea nu se repeat nici macar odata.

Page 8: Structuri

Sa consideram urmatoarea problema:  Se cere sa se cantareasca un sac cu grau (avem suficiente greutati de 1 Kg).  Rezolvarea se reduce la a cantari sacul. Solutia se poate exprima astfel:Solutia are 2 componente: o conditie, trascrisa prin “balanta este in dezechilibru”, conditie pe care o notam cu c; o actiune transcrisa prin “adaugarea unei noi greutati de 1 Kg in talerul cu greutati.”, notata cu a, actiune asociata cu EXECUTA;  Folosind notatiile facute, solutia se poate scrie astfel: CAT TIMP c, EXECUTA a Notand greutatea sacului cu g si cu i numarul de greutati puse in balanta, algoritmul complet va fi: 1) initializarea lui i  2) cat timp i != g  3) efectueaza i=i+1  4) afiseaza valoarea lui i

Page 9: Structuri

Instructiunea repetitiva cu numar cunoscut de pasi

Sintaxa structurii instructiuniiPentru contor ← expresia 1 ← expresie 2 Executa InstructiuneModul de executiePasul 1: se evalueaza expresia 1.Pasul 2: se atribuie variabilei contor valoarea expresiei 1Pasul 3: se evalueaza expresia 2Pasul 4: daca valoarea expresiei contor este mai mare decat valoarea expresiei 2 atunci se iese din instructiune. Iar daca valoarea variabilei contor este mai mica sau egala cu valoarea expresisi 2 atunci se executa instructiunea si apoi se incrementeaza valoarea variabilei contor dupa care se revine la pasul 3. Incrementare inseamna marirea contorului cu 1. Observatii : Daca intitial valoarea expresiei 1 este mai mare decat valoarea expresiei 2 instructiunea NU se executa niciodata. In caz contrar , daca instructiunea nu modifica valorile variabilelor care intervin in expresie 2 instructiunea se executa de (expresie 2 expresie 1 +1 ) ori.

Page 10: Structuri

Daca vrem sa calculam suma primelor n numere naturale: S=1 + 2 + 3 + … + n vom repeta instructiunea S=S+i, pentru fiecare i, intre 1 si n. FOR i = 1, n, 1 S = S + i Practic, scrierea instructiunii FOR inlocuieste 3 instructiuni (1, 2 si 4): 1) initializarea lui i cu 1  2) cat timp i <= n  3) efectueaza S=S+i  4) efectueaza i=i+1  5) afiseaza valoarea lui i  Cand scriem structura cat timp i=1, n, 1 inseamna ca i ia valoarea de la 1 la n, din 1 in 1. Am putea alcatui o structura repetitiva cat timp cu alt pas decat 1 (de exemplu 2, 3, etc.) Daca pasul este un numar negativ, inseamna ca valoarea lui i va scadea de la valoarea initiala la valoarea finala.

Exemplu

Page 11: Structuri

 Este o structura conditionata posterior. Are urmatoarea sintaxa:Fie S o structura si E o conditie atunci repeta

S

 pana cand E

Principiul de executie este urmatorul: Pasul 1: se executa S.Pasul 2: daca E este indeplinita se trece la pasul 1, altfel executarea este incheiata.Observatie: S se executa intotdeauna o data, apoi se testeaza daca se mai executa sau nu. Aceasta structura poate fi simulata si cu ajutorul structurii cat timp…. Executa astfel: SCat timp not E executa S

Structura repetitiva “repeta pana cand”

Page 12: Structuri

Sa se calculeze suma primelor n numere natural unde n≥1 folosind structura repeta pana cand.Algoritmul problemei:Pasul 1: i←1 ; s←0Pasul 2: s←0+1=1i←i+1=2pasul 3: i nu este mai mare decat 3, deci S ia valoarea 1+2=3 , iar i←3pasul 4: i nu este mai mare decat 3, deci S va lua valoarea 3+3=6, iar i←4i>n deci se trece la instructiunea urmatoare unde se tipareste 6.   intreg n, i, s ; citeste n i←1 s←0 repeta s←s+i i←i+1   pana cand i>n scrie s

Exemplu

Page 13: Structuri

Bibliografiehttp://193.226.6.120/Miclea/Prg/curs/PDF/A03_Algoritmi.pdf-data:28.03.2011 ora:19.55http://airinei.omad.ro/catinfo/4matoffline/fisa%201%20algo%20gio.pdf-data:30.03.2011 ora:18.35http://ro.wikipedia.org/wiki/Limbaj_pseudocod-data:30.03.2011 ora:20.40

Page 14: Structuri

Realizat de: Iorgoni Cosmina Mihai Mihaela Moise Madalina Nyerges Stefania

Colegiul National “Iulia Hasdeu”, Lugoj Profesor coordonator: Ciociu Elena