0% au considerat acest document util (0 voturi)
3 vizualizări10 pagini

PST - Unit 5

Un diagramă de flux de date (DFD) este o reprezentare grafică care arată cum se mișcă datele printr-un sistem sau proces. Folosește simboluri precum procese, stocuri de date, entități externe și fluxuri de date. Un DFD simplu este prezentat pentru a arăta cum ar funcționa un proces care verifică dacă un număr este par sau impar, cu un input, un proces de verificare și o afișare a rezultatului. DFD-urile sunt utilizate frecvent pentru a modela sisteme complexe, dar sunt excesive pentru sarcini simple ca aceasta.

Tradus de

ScribdTranslations
Drepturi de autor
© All Rights Reserved
Respectăm cu strictețe drepturile privind conținutul. Dacă suspectați că acesta este conținutul dumneavoastră, reclamați-l aici.
Formate disponibile
Descărcați ca PDF, TXT sau citiți online pe Scribd
0% au considerat acest document util (0 voturi)
3 vizualizări10 pagini

PST - Unit 5

Un diagramă de flux de date (DFD) este o reprezentare grafică care arată cum se mișcă datele printr-un sistem sau proces. Folosește simboluri precum procese, stocuri de date, entități externe și fluxuri de date. Un DFD simplu este prezentat pentru a arăta cum ar funcționa un proces care verifică dacă un număr este par sau impar, cu un input, un proces de verificare și o afișare a rezultatului. DFD-urile sunt utilizate frecvent pentru a modela sisteme complexe, dar sunt excesive pentru sarcini simple ca aceasta.

Tradus de

ScribdTranslations
Drepturi de autor
© All Rights Reserved
Respectăm cu strictețe drepturile privind conținutul. Dacă suspectați că acesta este conținutul dumneavoastră, reclamați-l aici.
Formate disponibile
Descărcați ca PDF, TXT sau citiți online pe Scribd

UNITATEA 5

Diagrama Fluxului de Date (DFD)


Un Diagrama de Flux de Date (DFD) este utilizată de obicei pentru a reprezenta fluxul de date în cadrul unei
sistem sau proces. Verificarea dacă un număr este par sau impar este o calculare simplă care
poate fi reprezentat folosind un DFD, deș i poate părea excesiv pentru ceva atât de simplu
task. Cu toate acestea, iată un DFD de bază pentru a ilustra cum ai putea reprezenta acest proces:

Simboluri DFD utilizate:


Proces: Reprezintă calculul sau acț iunea care se desfăș oară.
Fluxul de date: Reprezintă fluxul de date între procese ș i stocuri de date.
Depozit de date: Reprezintă un loc unde sunt stocate datele.
Iată un DFD simplu pentru a verifica dacă un număr este par sau impar:

+-----------+ +-----------------+
Intrare --> Verificare -----> | Afi ș are Pară |
Număr Par/Impar sau impar | --> Ieşire
Proces Rezultat |
+-----------+ +-----------------+
Explicaț ie:
Aceasta este fluxul de date care reprezintă intrarea, care este numărul pe care doriț i să
verifică (de exemplu, "Număr" date).

Verificare proces par/impar: Acesta este procesul în care se efectuează calculul. Acesta
verifică dacă numărul introdus este par sau impar.
Afiș are rezultat par sau impar: Acest proces afiș ează rezultatul calculului,
indicând dacă numărul este par sau impar. Rezultatul este trimis ca date de ieș ire.
Vă rugăm să reț ineț i că, într-un scenariu din viaț a reală, această sarcină simplă ar fi de obicei
implementat ca o funcț ie sau câteva linii de cod într-un program mai degrabă decât folosind un DFD.
Diagrama fluxului de date sunt folosite mai frecvent pentru modelarea sistemelor ș i proceselor complexe
cu multiple intrări, ieș iri ș i interacț iuni.

DIAGRAMA FLUXULUI DE DATE (DFD)

Un diagramă de flux de date (DFD) este o reprezentare grafică sau vizuală utilizând un
un set standardizat de simboluri ș i notaț ii pentru a descrie operaț iunile unei afaceri prin date
miș care. Ele sunt adesea elemente ale unei metodologii formale, cum ar fi Sistemele Structurate
Metoda de Analiză ș i Proiectare (SSADM).

Caracteristicile DFD

DFD-urile sunt utilizate frecvent în timpul analizei problemelor.


DFD-urile sunt destul de generale ș i nu se limitează doar la analiza problemelor pentru software.
specificaț ia cerinț elor.
DFD-urile sunt foarte utile în înț elegerea unui sistem ș i pot fi utilizate eficient în timpul
analiză.
Se consideră un sistem ca o funcț ie care transformă intrările în ieș irile dorite.
DFD-ul îș i propune să surprindă transformările care au loc într-un sistem pentru a
introduceț i datele astfel încât, în cele din urmă, să fie generate datele de ieș ire.
Procesele sunt reprezentate prin cercuri denumite, iar fluxurile de date sunt reprezentate prin denumiri
săgeț ile care intră sau ies din bule.
Un dreptunghi reprezintă o sursă sau un cuplaj ș i este un originator sau consumator net de date.
O sursă de alimentare este de obicei în afara principalului sistem de studiu.

Componentele DFD

Diagramă de Flux de Date are 4 componente:

Transformarea inputului în output într-un sistem are loc datorită procesului


funcț ie. Simbolurile unui proces sunt dreptunghiulare cu colț uri rotunde, ovale, dreptunghiuri
sau un cerc. Procesul este denumit o propoziț ie scurtă, într-un cuvânt sau o frază pentru a exprima
esenț ă
Fluxul de dateFluxul de date descrie transferul de informaț ii între diferite părț i
sistemelor. Simbolul săgeată este simbolul fluxului de date. Un nume relevant ar trebui să
fii dat fluxului pentru a determina informaț iile care sunt mutate. Fluxul de date de asemenea
reprezintă materialul împreună cu informaț iile care sunt mutate. Schimbările de material sunt
modelat în sisteme care nu sunt doar informative. Un flux dat ar trebui să transfere doar un
un singur tip de informaț ie. Direcț ia fluxului este reprezentată de săgeată care poate
de asemenea, să fie bidirecț ional.
DepozitDatele sunt stocate în depozit pentru utilizare ulterioară. Două linii orizontale
reprezentarea simbolului magazinului. Depozitul nu este pur ș i simplu restricț ionat la a fi un date
fisier, mai degrabă, poate fi orice, cum ar fi un folder cu documente, un disc optic, o arhivă
cabinet. Data warehouse-ul poate fi vizualizat independent de implementarea sa. Când
fluxul de date din depozit este considerat ca citire de date ș i atunci când datele circulă
în depozit se numeș te introducerea de date sau actualizarea de date.
TerminatorTerminatorul este o entitate externă care se află în afara sistemului
ș i comunică cu sistemul. Poate fi, de exemplu, organizaț ii precum băncile,
grupuri de oameni precum clienț i sau diferite departamente ale aceleaș i organizaț ii,
care nu face parte din sistemul modelat ș i este o entitate externă. Sistemele modelate de asemenea
comunică cu terminatorul.

Reguli pentru crearea DFD


Numele entităț ii ar trebui să fie simplu ș i uș or de înț eles fără nicio complicaț ie
asistenț ă (ca comentarii).
Procesele ar trebui să fie numerotate sau puse într-o listă ordonată pentru a fi uș or de referit.
DFD-ul ar trebui să menț ină coerenț a între toate nivelurile DFD.
Un DFD single poate avea un maximum de nouă procese ș i un minimum de trei.
procese.

Simboluri utilizate în DFD


Cutie pătrată: O cutie pătrată defineș te sursa sau destinaț ia sistemului. De asemenea, este ș i
entitate numită. Este reprezentată printr-un dreptunghi.
Sageată sau Linie: O săgeată identifică fluxul de date, adică oferă informaț ii despre
date care sunt în miș care.
Grafic cu cercuri sau bule: Reprezintă un proces care ne oferă informaț ii. Este
de asemenea, numită cutie de procesare.
Dreptunghi Deschis: Un dreptunghi deschis este o magazie de date. În aceasta, datele sunt stocate fie
temporar sau permanent.
Niveluri de DFD
DFD foloseș te ierarhia pentru a menț ine transparenț a, astfel încât să poată fi create DFD-uri multilaterale.
Nivelurile DFD sunt următoarele:

DFD de nivel 0: Reprezintă întregul sistem ca o singură bulă ș i oferă o


imaginea de ansamblu a sistemului.
DFD de nivel 1: Reprezintă principalele funcț ii ale sistemului ș i modul în care acestea interacț ionează
unii cu alț ii.
DFD de nivel 2: Reprezintă procesele din cadrul fiecărei funcț ii a sistemului ș i modul în care
ei interacț ionează între ei.
DFD de nivel 3: Reprezintă fluxul de date în cadrul fiecărui proces ș i cum sunt datele
transformat ș i stocat.

Avantajele DFD
Ne ajută să înț elegem funcț ionarea ș i limitele unui sistem.
Este o reprezentare grafică care este foarte uș or de înț eles, deoarece ajută la vizualizare.
conț inuturi.
Diagrama fluxului de date reprezintă o diagramă detaliată ș i bine explicată a sistemului
componente.
Este utilizat ca parte a fiș ierului de documentaț ie a sistemului.
Diagrama fluxului de date poate fi înț eleasă atât de o persoană tehnică, cât ș i de una netehnică.
pentru că sunt foarte uș or de înț eles.

Dezavantajele DFD
Uneori, DFD poate confunda programatorii în ceea ce priveș te sistemul.
Diagrama fluxului de date durează mult timp pentru a fi generată, ș i de multe ori din această cauză
motivele pentru care analiș tii sunt refuzaț i să lucreze la acesta.

FUNCȚII

Definiț ie
O funcț ie poate fi definită ca un subprogram destinat să efectueze o sarcină specifică.
Într-un program C, o definiț ie a unei funcț ii va conț ine un nume, iar perechea de paranteze conț ine zero sau mai multe
parametrii ș i un corp. Parametrii folosiț i în paranteză trebuie declaraț i cu tip
iar dacă nu sunt declarate, vor fi considerate de tip întreg.

Forma generală a funcț iei este :


tip funcț ie nume <arg1,arg2,arg3, ————,argn>)
tip de date arg1, arg2;
tip de date argn;
{
corpul funcț iei;
——————————
——————————
——————————
return (<ceva>);
}
Din forma de mai sus, componentele principale ale funcț iei sunt
• Tip de returnare
• Numele funcț iei
• Corpul funcț iei
• Declaraț ia de retur

Tip întoarcere
Se referă la tipul de valoare pe care l-ar returna către partea apelată a programului. Poate
are vreo tipuri de date de bază precum int, float, char etc. Atunci când o funcț ie nu ar trebui
pentru a returna orice valoare, poate fi declarat ca tip void

Exemplu
funcț ie fără nume(- - - - - - - - - -);
int nume_functie( - - - - - - - - - - );
char funcț ia nume ( — - - - - - - );
Numele Funcț iei
Numele funcț iei poate fi orice nume care respectă regulile de sintaxă ale variabilei. A
numele funcț iei este relevant pentru funcț ionarea acesteia.
Exemplu
output( ); citeș te datele();

Argumente formale
Argumentele se numesc argumente formale (sau) parametri formali, deoarece acestea
reprezentaț i numele elementelor de date care sunt transferate în funcț ie din apelul
porț iunea programului.
Orice variabilă declarată în corpul unei funcț ii se spune că este locală acelei funcț ii,
alte variabile care nu au fost declarate fie ca argumente, fie în corpul funcț iei, sunt
considerat "globol" pentru funcț ie ș i trebuie definit extern.

Exemplu
int celMaiMare (int a, int b)
{
————————————
————————————
————————————
return( );
}
a, b sunt argumentele formale.

Corpul funcț iei

Corpul funcț iei este o instruire compusă care defineș te acț iunea ce trebuie să fie efectuată de funcț ie.
Ar trebui să includă una sau mai multe instrucț iuni de tip "return" pentru a returna o valoare apelantului
parte a programului.

Exemplu
int celMaiMare(int a, int b)
{
dacă ( a > b)
return(a); corpul funcț iei.
altfel
return(b);
}

Declaraț ia de returnare

Fiecare subprogram funcț ie în C va avea o instrucț iune de returnare. Această instrucț iune este utilizată în
funcț iile subprograme pentru a returna o valoare programului/functiei apelante. Această declaraț ie poate
pot apărea oriunde în corpul unei funcț ii ș i putem avea mai mult de o instrucț iune de returnare
în interiorul unei funcț ii.

Formatul general al instrucț iunii return este


return;
(sau)
return (expresie);

Dacă nu se returnează nicio valoare din funcț ie către programul apelant, atunci nu este nevoie de
instructiunea return trebuie să fie prezentă în interiorul funcț iei.

Avantajele funcț iei

Principalele avantaje ale utilizării unei funcț ii sunt:


• Uș or de scris o funcț ie mică corectă
Uș or de citit ș i de depanat o funcț ie.
• Mai uș or de întreț inut sau de modificat o astfel de funcț ie
Funcț iile mici tind să fie auto-documentate ș i foarte uș or de citit
Poate fi apelată de un număr nelimitat de ori în orice loc cu parametrii diferiț i

CATEGORII DE FUNCȚII

O func ț ie, în func ț ie de faptul dacă argumentele sunt prezente sau nu ș i o valoare este
returnat sau nu.
O funcț ie poate aparț ine unuia dintre următoarele tipuri.
1. Funcț ie fără argumente ș i fără valori de returnare.
2. Funcț ie cu argumente ș i fără valori de returnare.
3. Funcț ie cu argumente ș i valori de returnare

Funcț ii avansate

a. Prototipuri de funcț ii
b. Apelarea funcț iilor prin valoare sau prin referinț ă
c. Recursie.

a. Prototipuri de Funcț ii

Func ț iile definite de utilizator pot fi clasificate în trei moduri pe baza formalită ț ii
argumentele transmise ș i utilizarea declaraț iei return.

a. Funcț ii fără argumente ș i fără valoare de returnare


b. Funcț ii cu argumente fără valoare de returnare
c. Funcț ii cu argumente ș i valoare de returnare.

A. FUNCȚII FĂRĂ ARGUMENTE Ș I FĂRĂ VALOARE DE RETURNARE

O funcț ie este invocată fără a trece vreo argumente formale din partea apelantă
al unui program ș i, de asemenea, funcț ia nu returnează nici o valoare funcț iei apelante.
Nu există comunicare între porț iunea apelantă a unui program ș i o funcț ie apelată
bloca

Exemplu:
#include <stdio.h>
main()
{
void mesaj( ); Declaraț ia funcț iei
mesaj( ); Apelarea funcț iei
}
void mesaj( )
{
printf ("COLEGIUL JUNIOR AL GUVERNULUI \n");
HYDERABAD
}

B. FUNCȚIE CU ARGUMENTE Ș I FĂRĂ VALOARE DE RETUR

Acest tip de funcț ii transmite câteva argumente formale unei funcț ii, dar funcț ia
nu returnează nicio valoare apelantului. Este o comunicare de date într-o singură direcț ie între un
apelarea porț iunii programului ș i blocul de funcț ii.

Exemplu
#include <stdio.h>
main()
{
void patrat(int);
printf ("Introduceti o valoare pentru n \n");
scanf ("%d", &n);
pătrat(n);
}
void patrat (int n)
{
int valoare;
valoare = n * n;
printf ("patratul lui %d este %d ",n,value);
}
C. FUNCȚIE CU ARGUMENTE Ș I VALOARE DE ÎNTOARCERE

Al treilea tip de funcț ie transmite câteva argumente formale către o funcț ie dintr-un apel.
o parte a programului ș i valoarea computerului este transferată înapoi apelantului. Datele sunt
comunicată între porț iunea apelantă ș i blocul de funcț ii.
APELAREA FUNCȚIILOR PRIN VALOARE SAU PRIN REFERINȚĂ

Argumentele sunt trimise func ț iilor ș i valorile lor sunt copiate în


func ț ia corespunzătoare. Acesta este un fel de schimb de informa ț ii între apelantul
funcț ia ș i funcț ia apelată. Acesta este cunoscut sub numele de transmiterea parametrilor. Este un mecanism prin
ce argumente sunt trimise funcț iei apelate pentru procesarea necesară. Există două
metode de trecere a parametrilor.

1. Apel prin valoare


2. Apel prin referinț ă.

1. Apel prin valoare:


Când valorile argumentelor sunt transmise de la funcț ia apelantă către o funcț ie apelată,
aceste valori sunt copiate în funcț ia apelată. Dacă se fac modificări la aceste valori în
funcț ia apelată, nu există modificări ale valorilor originale în cadrul funcț iei apelante.

2. Cal prin referinț ă:


În această metodă, valorile reale nu sunt transmise, ci adresele lor sunt transmise.
Nu există copiere de valori deoarece loca ț iile lor de memorie sunt referite. Dacă orice
modificarea se face asupra valorilor din funcț ia apelată, apoi valorile originale se schimbă
în interiorul funcț iei apelante. Transmiterea adreselor necesită cunoaș terea indicilor.

RECURSIUNE

Una dintre caracteristicile speciale ale limbajului C este suportul său pentru recursie. Foarte pu ț ine
limbajele de programare vor susț ine această caracteristică. Recursia poate fi definită ca procesul de
funcț ia prin care se poate apela singură. Funcț ia care se apelează singură din nou ș i din nou fie
direct sau indirect este cunoscut ca funcț ie recursivă.

Funcț ia normală este de obicei apelată de funcț ia main ( ) prin intermediul numelui său.
Dar, funcț ia recursivă va fi apelată de ea însăș i în funcț ie de satisfacerea condiț iei.

De exemplu,
main ( )
{
f1( ) ; ——— Funcț ie apelată de main
——————
——————
——————
}
f1( ) ; ——— Definirea funcț iei
{
——————
——————
——————
f1( ) ; ——— Funcț ie apelată de ea însăș i
}
În cele de mai sus, funcț ia principală ( ) a apelat o funcț ie denumită f1( ) invocând-o cu
numele său. Dar, în interiorul definiț iei funcț iei f1( ), există o altă invocare a funcț iei ș i aceasta
este funcț ia f1( ) din nou.

Programe exemple despre Recursie

//Scrie un program pentru a găsi factorialul unui număr dat non-negativ


număr întreg folosind o funcț ie recursivă.
#include<stdio.h>
principal( )
{
int rezultat, n;
printf( " Introduceț i orice număr întreg non-negativ ");
scanf ( " %d", & n);
rezultatul = fact(n);
printf ( " Factorialul lui %d este %d \n", n, rezultat);
}
fact( n )
int n;
{
int i ;
i = 1;
dacă ( i == 1) return ( i);
else
{
i = i * fact ( n - 1);
return ( i );
}
}

BASICILE FIȘ IERELOR

Operaț iuni cu fiș iere precum fopen(), fclose(), fprint(), fscan()

Cu ajutorul acestor funcț ii, utilizatorul poate deschide un fiș ier cu specificaț iile fiș ierului de date.
creează ș i scrie informaț ii în fiș ier ș i poate închide fiș ierul.

Următoarele sunt funcț iile legate de procesarea fiș ierelor.


a. FUNCȚ IA DESCHIDERE A FIȘ IERULUI fopen()
b. FUNCȚ IA ÎNCHIDEREA FIȘ IERULUI fclose()
c. FUNCȚ II DE INTRODUCERE A FIȘ IERELOR getc() ș i fscanf()
d. FUNCȚ II DE IEȘ IRE A FIȘ IERULUI putc() ș i fprintf()

A. FUNCȚIA fopen()

Această funcț ie este utilizată pentru a deschide un fiș ier de date. În plus, această funcț ie returnează un pointer către un
fiș ier. Utilizarea funcț iei este
file pointer = fopen( nume_fisier, modul);
Unde pointerul de fiș ier este un pointer la un tip FILE, numele fiș ierului este nume
fiș ierul în care datele sunt stocate sau recuperate (ar trebui să fie închis între ghilimele duble) ș i
modul denotă tipul de operaț iuni care trebuie efectuate asupra fiș ierului (acest lucru trebuie de asemenea închis)
în cadrul ghilimelelor duble). Dar, înainte de a face această alocare, pointerul de fiș ier ș i fopen() ar trebui
să fie declarate ca variabile de tip pointer FILE astfel:

FILE *pointer_fisier, * fopen();

Modul poate fi unul dintre următoarele tipuri.

SEMNIFICAȚ IA MODULUI

"r " - citeș te din fiș ier


"w" - scrie în fiș ier
„a” - adaugă un fiș ier, adică se adaugă date noi la sfârș itul fiș ierului
r+", deschide un fiș ier existent pentru actualizare.
„w +” - creează un fiș ier nou pentru citire ș i scriere
„a +” - deschide un fiș ier pentru adăugare, creează unul nou dacă fiș ierul nu există
deja
Exemple
1. fptr = fopen("[Link]", "w");
2. file= fopen("[Link]", "r +");

B. FUNCȚIILE fclose ()

Fi ș ierele care sunt deschise ar trebui închise după toate opera ț iile dorite.
efectuat pe el. Acest lucru poate fi realizat prin această funcț ie. Utilizarea acestei funcț ii este:
fclose (pointer de fiș ier);

Unde pointerul de fiș ier este valoarea returnată a funcț iei fopen().

Exemple:
fclose (fiș ier de intrare);

C. FUNCȚIILE getc() & fscanf()

1. func ț iile getc ( ): această func ț ie este utilizată pentru a citi un singur caracter dintr-o dată dată
fiș ier, ori de câte ori un fiș ier este menț ionat de un pointer de fiș ier. Utilizarea acestei funcț ii este

getc (pointer de fiș ier);

Funcț ia fscanf(): Această funcț ie este folosită pentru a citi date formatate dintr-o sursă specificată.
fiș ier. Utilizarea generală a acestei funcț ii este
fscanf (f ptr, "Ș ir de control", & list);

unde fptr este un pointer de fi ș ier pentru a primi date formate

Lista specificaț iilor pentru datele de tip string de control

Listează lista variabilelor care trebuie citite


fscaf (infile , "%d %d ," & no, &marks);

D. FUNCȚIILE putc() ș i fprint()

Exemplu
Funcț ia putc( ): Această funcț ie este folosită pentru a scrie un singur caracter într-un fiș ier referit
prin pointerul de fiș ier. Utilizarea acestei funcț ii este
putc (ch, pointer de fiș ier)
Unde
ch - caracterul care trebuie scris
pointer de fiș ier - un pointer de fiș ier către fiș ierul care primeș te caracterul.

Funcț ia fprintf (): această funcț ie este utilizată pentru a scrie date într-un format într-un fiș ier dat.
Informaț iile specificate sunt scrise în fiș ierul specificat.

Forma generală de utilizare pentru această funcț ie este:


fprintf (fptr, "Ș ir de control", list):
Unde
Pointerul de fiș ier Fptr pentru a scrie date formatate

Lista specificaț iilor de date pentru ș iruri de control

listă - listă de variabile care trebuie scrise.

Exemplu
fprintf (fisier ieș ire, "%d %f", de bază, brut);

S-ar putea să vă placă și