scheme logice ecuatii
Post on 23-Nov-2015
156 Views
Preview:
DESCRIPTION
TRANSCRIPT
-
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,
)(*)(*)(* cpbpappS , 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
-
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
)(*)(*)(* cpbpappS .
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 i sunt numere reale.
- Ramura 2. , din care rezult
, unde i 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 ).
-
LUC
RA
REA
DE LA
BO
RA
TOR
Nr. 3
- Schem
e log
ice (schem
e blo
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 (log10).
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).
-
LUC
RA
REA
DE LA
BO
RA
TOR
Nr. 3
- Schem
e log
ice (schem
e blo
c)
10
Figura 2a. Schem logic pentru rezolvarea problemei I.A.1
-
LUC
RA
REA
DE LA
BO
RA
TOR
Nr. 3
- Schem
e log
ice (schem
e blo
c)
11
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.
-
LUC
RA
REA
DE LA
BO
RA
TOR
Nr. 3
- Schem
e log
ice (schem
e blo
c)
13
Figura 3a. Schem logic pentru tabelarea funciei din paragraful II.B.1
-
LUC
RA
REA
DE LA
BO
RA
TOR
Nr. 3
- Schem
e log
ice (schem
e blo
c)
14
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 VA VB
A B
y
x
E D C
Pentru un caz concret, s se foloseasc urmtoarele date numerice:
mcmbmamlkNPkNmq 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):
cbal
Pa
b
l
qbV
l
dPdc
b
l
qbV
B
A
2
2
Relaiile de calcul pentru forele tietoare (din Rezistena Materialelor):
Pqblcbax
qbcbabax
axqbaax
ax
A
A
A
A
VQ(x),,
VQ(x),,
VQ(x),,
VQ(x),,0
Relaiile de calcul pentru momentele ncovoietoare (din Rezistena Materialelor):
cbaxPbaxqbxlcbax
baxqbxcbabax
axqxbaax
xax
2VM(x),,
2VM(x) ,,
2VM(x),,
VM(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
top related