Sunteți pe pagina 1din 16

UNIVERSITATEA TEHNIC GHEORGHE ASACHI DIN IAI

Facultatea de Construcii i Instalaii


Programul de licen Construcii Civile, Industriale i Agricole, anul I
Disciplina Programarea Calculatoarelor i Limbaje de Programare

















LUCRAREA DE LABORATOR Nr. 3
Scheme logice (scheme bloc)








Prof.dr.ing. Fideliu Pule-Criniceanu









Iai, Decembrie 2011


LUCRAREA DE LABORATOR Nr. 3 - Scheme logice (scheme bloc)
3
PARTEA I. Cele mai utilizate blocuri grafice
pentru schemele logice
I.1. Blocuri simple i utile n schemele logice
Definiii, pe scurt:
- Un algoritm este descompunerea n pai elementari a rezolvrii unei probleme.
- O schem logic este reprezentarea grafic a unui algoritm. O schem logic se mai numete
i diagram cu blocuri, deoarece utilizeaz blocuri grafice standardizate pentru a prezenta paii
unui algoritm.
Blocurile unei scheme logice sunt legate prin sgei verticale, (de sus n jos) sau (de jos n
sus), i prin sgei orizontale, (de la stnga la dreapta) sau (de la dreapta la stnga). Sgeile
arat fluxul de informaii. Dei unii algoritmi pot fi foarte compleci, fluxul trebuie s fie (aproape)
ntotdeauna vertical i de sus n jos..

Cele mai folosite blocuri grafice pentru schemele logice sunt:

Bloc de capt: (dreptunghi rotunjit)


Acest tip de bloc grafic este utilizat pentru a arta nceputul sau sfritul unui algoritm
(schemei logice). n principiu, ntr-o schem logic, trebuie s existe numai un bloc de nceput (start)
i numai unul de oprire (stop).


Acest bloc poate fi folosit numai n dou moduri:


Dei, de obicei, numai un singur bloc de stop este folosit n schele logice, din motive de
uurare a lucrului, pot fi puse mai multe blocuri de stop. De asemenea, anumite ramuri de ooprire
trebuie s apar distinct de alte ramuri. Trebuie precizat c, n cazul existenei a mai mult dect a
unui bloc de oprire, programarea structurat devine imposibil i, n funcie de limbajul de
programare, scrierea unui program de calculator poate deveni imposibil.

Bloc de intrare / ieire: (paralelogram)


Blocurile de intrare/ieire arat operaii de transfer de date n memoria calculatorului sau,
respectiv, din memoria calculatorului. Se permite ca, ntr-un astfel de bloc, numai o sgeat s intre
i numai una s ias..


Exemple de utilizare:



Input
a, Xu1, Np
Output
L, xS, f7
STOP
START
Citete
Ms, g1, H3p
Scrie
Jee2a, St, kof
LUCRAREA DE LABORATOR Nr. 3 - Scheme logice (scheme bloc)
4

n blocuri de intrare se pot utiliza cuvinte precum: Input, Read, Get, Obtain, Citete,
Memoreaz, Obine, Introdu. Pentru blocuri de se pot utiliza cuvinte precum: Output, Write, Print,
Display, Show, Scrie, Afieaz, Tiprete.


Bloc de proces (aritmetic, de calcul) : (dreptunghi)


Un bloc de proces este utilizat n principal pentru atribuiri logice sau aritmetice. De asemenea,
se pot prezenta operaii generale, un grup de operaii sau procese. Acest bloc poate avea doar o
sgeat de intrare i doar una de ieire.



Exemple de utilizare:



n acest tip de blocuri, semnul egal (=) nu arat existena unei ecuaii n sens matematic dar
trebuie interpretat ca o atribuire: valoarea expresiei din stnga este atribuit variabilei din dreapta
semnului egal. De asemenea, o notaie mult mai bun ar fi fost o combinaie dintre semnul dou
puncte i semnul egal (:=) utilizat, de exemplu, n pseudo-code i limbajul Pascal. Totui, din
considerente de simplitate i pentru c utilizarea este foarte larg rspndit, convenia cu (doar)
semnul egal se va folosi n cadrul acestui material documentar.


Bloc de decizie: (romb) sau (triunghi)



Blocurile de decizie arat posibilitatea continurii unui algoritm (a unei scheme logice)n
funcie de una sau mai multe condiii. Unele condiii pot fi aritmetice (cnd se compar dou
expresii aritmetice ntre ele) sau logice (o expresie logic fiind evaluat).


Exemple de utilizare:





Semnul dou puncte (:) din interiorul unui bloc de decizie arat comparaia dintre cele dou
expresii aritmetice situate la dreapta, respectiv la stnga acestui semn. Utilizarea semnului (:) este o
simplificare a semnului dublu dou puncte (::).
x a
&
x b
Nu
Da
Da
L mA
Nu
U(s) : y2

<
Read
N, (A(i),i=1,N)
Write
D, Area, G(1,5)
Print
Gamma, H8
Tiprete
VD7u, k22
A = B+C Y = (x-1)*(r+s) i = i+1
A > B
Da Nu
x1 : Ve
> =
<
LUCRAREA DE LABORATOR Nr. 3 - Scheme logice (scheme bloc)
5
O alt simplificare folosit de muli programatori este utilizarea unui triunghi n loc de romb
pentru blocurilr de decizie cu dou ieiri. Ca urmare, se pot vedea exemplele de utilizare a
blocurilor de decizie de tip triunghi n cele ce urmeaz:


Bloc conector n pagin:


Acest tip de bloc este utilizat pentru a lega pri ale schemelor logice din aceeai pagin.
ntotdeauna trebuie s existe cel puin un conector numerotat de la care fluxul trebuie s continue
ctre un conector unic cu acelai numr de la care se continu fluxul.

Exemplu de conectare de la un
punct desemnat cu numrul 3 (la
stnga) i continuarea sa (la
dreapta):


Bloc conector la pagin:


Acest tip de bloc este folosit pentru a arta continuarea fluxului unei scheme logice de la o
pagin la alta. Blocul conine o liter. Aceeai liter va trebui s fie coninut de pagina de la care se
continu ct i de pagina care continu scheme logic.


Exemplu de
utilizare pentru un
conector la pagin:


I.2. Schem logic pentru un exemplu de algoritm
liniar
S se calculeze aria unui triunghi.

Soluie
- date de intrare: a, b i c (laturile triunghiului)
- date de ieire: S (suprafaa triunghiului)
- analiza problemei: se va folosi formula lui Heron,
) ( * ) ( * ) ( * c p b p a p p S = , unde p este semiperimetrul
triunghiului, p = (a+b+c)/2. Din motive de simplicitate, n aceast
rezolvare presupunem c cele trei laturi sunt compatibile (a+b>c,
b+c>a i a+c>b).
- algoritm:
pasul 1. Se citesc a, b i c.
P3 : h = > z : alpha No A+B<0 Yes
i N
Yes No
3
3
i = i+1
Pagin coninnd
schema logic de
continuat
Urmtoarea
pagin. Conine
continuarea
schemei logice.
D
D
START
Input
a, b, c

p = (a+b+c)/2

) ( * ) ( * ) ( * c p b p a p p S =

Output
S
STOP
LUCRAREA DE LABORATOR Nr. 3 - Scheme logice (scheme bloc)
6
pasul 2. Se calculeaz semiperimetrul p = (a+b+c)/2.
pasul 3. Se calculeaz suprafaa triunghiului
) ( * ) ( * ) ( * c p b p a p p S = .
step 4. Se afieaz suprafaa S.
- schema logic (a se vedea figura alturat).
I.3. Schema logic a unui algoritm cu ramificaii
Problema de rezolvat
Rezolvai ecuaia liniar de gradul doi cu coeficieni constani.
Soluia problemei
O ecuaie de gradul doi liniar cu coeficieni constani se poate scrie, la modul general, dup
cum urmeaz:


unde i sunt coeficienii ecuaiei, numere reale. este soluia (numr real sau complex).

Date de intrare: numere reale.
Date de ieire: numr real sau complex.
Analiz: O modalitate de a rezolva ecuaie este aceea de a calcula un discriminant, adesea
notat cu . n cele ce urmeaz se noteaz acest discriminant cu (deoarece literele greceti nu sunt,
de obicei, disponibile n programarea calculatoarelor), unde

.
Dac , atunci cele dou soluii ale ecuaiei vor fi:

. n acest caz, se pot


releva trei posibiliti:
- Ramura 1. i, de aceea,

, unde

sunt numere reale.


- Ramura 2. , din care rezult

, unde

sunt de asemenea numere


reale.
- Ramura 3. , cu soluiile complexe

sau

,
unde . De asemenea, folosind dou notaii noi, soluiile complexe pot fi rescrise
ca

, unde

este partea real i

este partea imaginar a


soluiei. Trebuie precizat c att partea real (

) ct i cea imaginar (

) sunt numere
reale.
Dac atunci ecuaia degenereaz ntr-o ecuaie de gradul nti: . n acest caz,
trebuie analizate dou situaii:
- Ramura 1. , i ca urmare

, unde este numr real.


- Ramura 2. , rezultnd o ecuaie degenerat nc o dat: . Atunci apar alte dou
subramuri:
o subramura 1. , i nu exist soluii (imposibilitate).
o subramura 2. c=0 i orice (real sau complex) este soluie a problemei (infinitate
de soluii sau identitate).
Schema logic de rezolvare a problemei
Schema logic a rezolvrii acestei probleme este prezentat n figura 1. n aceast figur sau
utilizat notaii precum: * pentru nmulire, ^ pentru ridicare la putere, sqrt pentru rdcin ptrat.
De asemenea trebuie precizate i urmtoarele:
LUCRAREA DE LABORATOR Nr. 3 - Scheme logice (scheme bloc)
7
- pentru a mpri (de exemplu) la se poate scrie sau, altfel,
nsemnnd c se mparte mai nti la i apoi la
- comentariile (sau textele) sunt afiate dac aceste sunt ncadrate ntre dou caractere
apostrof (sau ntre dou ghilimele). n acelai timp, variabilele (precum ) nu
necesit apostrof sau ghilimele pentru a fi afiate. ntre dou elemente de afiat (variabile
sau texte) trebuie inserate virgule pentru delimitare
- pentru c indicii (ca n notaiile

) nu pot fi utilizai de obicei n programarea


calculatoarelor, se vor folosi notaii nlocuitoare (precum ).

L
U
C
R
A
R
E
A

D
E

L
A
B
O
R
A
T
O
R

N
r
.

3

-

S
c
h
e
m
e

l
o
g
i
c
e

(
s
c
h
e
m
e

b
l
o
c
)

8




Figura 1. Schem logic descriind rezolvarea ecuaiei liniare de gradul doi cu coeficieni constani
LUCRAREA DE LABORATOR Nr. 3 - Scheme logice (scheme bloc)
9
PARTEA a II-a. Exemple de scheme logice simple
II.A. Algoritmi simpli ramificai
II.A.1. Problem de rezolvat
Calculai valoarea real a urmtoarei expresii aritmetice:


unde i sunt numere reale date. Se presupune c .
II.A.2. Rezolvarea problemei
Date de intrare:
Date de ieire: care ia valori numai n domeniul numerelor reale.
Analiz: Expresia este definit pe patru ramuri. Pentru a obine valoarea expresiei reale ,
trebuie puse condiii de existen pe primele trei ramuri:
- Ramura 1:

; ;
- Ramura 2: ;


- Ramura 3:
II.A.3. Schema logic de rezolvare a problemei
n figurile 2a i 2b se prezint de fapt dou scheme logice de rezolvare. n aceste figuri sau
folosit urmtoarele notaii: * pentru nmulire, ^ pentru ridicare la putere, sqrt pentru rdcin
ptrat, log10 pentru logaritm n baza 10 (log
10
).
De asemenea, trebuie artate i urmtoarele:
- comentariile (sau textele) sunt afiate dac aceste sunt ncadrate ntre dou caractere
apostrof (sau ntre dou ghilimele). n acelai timp, variabilele (precum ) nu necesit
apostrof sau ghilimele pentru a fi afiate. ntre dou elemente de afiat (variabile sau texte)
trebuie inserate virgule pentru delimitare
- dei se calculeaz n funcie de anumite valori (variabilele - , i constante),
nu este considerat o funcie n adevratul sens ci o valoarea real unic a unei expresii.
De aceea nu se folosete notaia n schema logic.
- Figura 2b este o form mai scurt pentru schema logic (fr repetarea acelorai blocuri)
- Figura 2a prezint o schem logic folosit pentru a scrie un program de calculator care
respect cu strictee instruciunile condiionale, cu ramurile da/nu clar delimitate.
Schema logic din figura 2b nu poate fi folosit pentru structuri condiionale structurate
(ramurile fiind rupte de trimiterile prin conectorii 1 i 2).

L
U
C
R
A
R
E
A

D
E

L
A
B
O
R
A
T
O
R

N
r
.

3

-

S
c
h
e
m
e

l
o
g
i
c
e

(
s
c
h
e
m
e

b
l
o
c
)

1
0




Figura 2a. Schem logic pentru rezolvarea problemei I.A.1
L
U
C
R
A
R
E
A

D
E

L
A
B
O
R
A
T
O
R

N
r
.

3

-

S
c
h
e
m
e

l
o
g
i
c
e

(
s
c
h
e
m
e

b
l
o
c
)

1
1



Figura 2a. Schem logic pentru rezolvarea problemei I.A.1 (variant)

LUCRAREA DE LABORATOR Nr. 3 - Scheme logice (scheme bloc)
12
II.B. Algoritmi cu iteraii
II.B.1. Problem de rezolvat
S se tabeleze urmtoarea funcie real:


pentru cu pasul . Variabilele sunt numere reale date. Se
presupune c i .
II.B.2. Rezolvarea problemei
Problema este derivat din cea descris la paragraful II.A.1, unde expresia este considerat
de aceast dat ca fiind o funcie ce trebuie tabelat pe un interval cu un pas dat .
Date de intrare:
Date de ieire: cupluri de valori de tipul . Prima valoare a lui este . Urmtoarea
valoare este , apoi i aa mai departe pn cnd ia o valoare apropiat de (i mai
mic dect) sau egal cu . Mai precis, ultima valoare va fi n intervalul .
Analiz: Pentru fiecare valoare a lui funcia este definit pe patru ramuri. De aceea, pentru
obinerea valorii corespunztoare a funciei reale , urmtoarele condiii trebuie satisfcute:
- Ramura 1:

; ;
- Ramura 2: ;


- Ramura 3:
II.B.3. Schema logic de rezolvare a problemei
Schema logic total de rezolvare a acestei probleme se prezint n figura 3a. Pentru notaii i
observaii este bine de urmrit i cele din paragraful II.A.3.
n figura 3b se prezint aceeai schem din figura 3a n partea dreapt. n aceast poriune,
principala parte a schemei logice este notat cu *. n partea din stnga se prezint aceeai schem
logic folosind un bloc global cu coninut *. Aceast schem (din stnga) a fost artat n scopul
reliefrii iteraiilor ce starteaz cu valoarea iniial a lui (adic, ), continu cu operaii curente (*),
apoi valoarea este incrementat cu pasul ( ) pn cnd ultima valoare depete limita
superioar a lui (adic, ).
Partea din stnga a figurii 3b este, de fapt, un model pentru a fi utilizat de fiecare dat cnd
sunt necesare iteraii cu un numr finit de pai.


L
U
C
R
A
R
E
A

D
E

L
A
B
O
R
A
T
O
R

N
r
.

3

-

S
c
h
e
m
e

l
o
g
i
c
e

(
s
c
h
e
m
e

b
l
o
c
)

1
3



Figura 3a. Schem logic pentru tabelarea funciei din paragraful II.B.1
L
U
C
R
A
R
E
A

D
E

L
A
B
O
R
A
T
O
R

N
r
.

3

-

S
c
h
e
m
e

l
o
g
i
c
e

(
s
c
h
e
m
e

b
l
o
c
)

1
4




Figura 3b. Schem logic pentru tabelarea funciei din paragraful II.B.1
LUCRAREA DE LABORATOR Nr. 3 - Scheme logice (scheme bloc)
15
II.B.1. Problem de rezolvat
Grinda din figura urmtoare este ncrcat dup cum se observ. S se calculeze funciile i s
se deseneze diagramele pentru forele tietoare i momentele ncovoietoare.

q (N/m)
l
P (N)
a b c d
V
A
V
B

A B
y
x
E D C

Pentru un caz concret, s se foloseasc urmtoarele date numerice:
m c m b m a m l kN P kNm q 3 , 4 , 2 , 12 , 80 , 20 = = = = = = .
II.B.2. Rezolvarea problemei
Date de intrare:
Date de ieire: tripletele de valori i reprezentrile grafice pentru forele tietoare,
, i momentele ncovoietoare, . Pentru , se stabilete un pas (de exemplu, lungimea
grinzii mprit la 200). Prima valoare a lui este . Urmtoarea valoare este , apoi i aa
mai departe pn cnd ia valoarea .
Analiz:
Relaiile de calcul pentru reaciuni sunt (a se vedea un manual de Rezistena Materialelor):

( ) c b a
l
P
a
b
l
qb
V
l
d
P d c
b
l
qb
V
B
A
+ + +
|
.
|

\
|
+ =
+
|
.
|

\
|
+ + =
2
2

Relaiile de calcul pentru forele tietoare (din Rezistena Materialelor):

| |
( | ( )
( |
( | P qb l c b a x
qb c b a b a x
a x q b a a x
a x
= + + e
= + + + e
= + e
= e
A
A
A
A
V Q(x) , ,
V Q(x) , ,
V Q(x) , ,
V Q(x) , , 0

Relaiile de calcul pentru momentele ncovoietoare (din Rezistena Materialelor):
| |
( |
( )
( |
( | ( ) c b a x P
b
a x qb x l c b a x
b
a x qb x c b a b a x
a x
q x b a a x
x a x

|
.
|

\
|
= + + e
|
.
|

\
|
= + + + e

= + e
= e
2
V M(x) , ,
2
V M(x) , ,
2
V M(x) , ,
V M(x) , , 0
A
A
2
A
A



LUCRAREA DE LABORATOR Nr. 3 - Scheme logice (scheme bloc)
16
II.B.3. Schema logic de rezolvare a problemei
Schema logic de rezolvare a problemei se prezint n figura 4.



Figura 4. Schema logic de rezolvare a grinzii simplu rezemate din II.B.1