Creeaza.com - informatii profesionale despre


Cunostinta va deschide lumea intelepciunii - Referate profesionale unice
Acasa » scoala » informatica
Notiuni generale despre programare

Notiuni generale despre programare


NOTIUNI GENERALE DESPRE PROGRAMARE

PROGRAMUL.  MODUL DE PROGRAM .APLICATIE

Programul este o succesiune de instructiuni legate logic , care executa o sarcina complexa . Ordinea in care sunt scrise instructiunile in program este determinanta pentru actiunile pe care le declanseaza .

O parte din program cu o singura functie bine definita poarte numele de modul de program. Programul poate fi compus din mai multe module de program.

O aplicatie este in general , formata dintr-o multime de programe si module de programe , fiecare executand sarcini bine definite . Se utilizeaza termenul de aplicatie pentru sarcini de complexitate mai mare cum ar fi evidenta personalului si calcului salariilor , urmarirea decontarilor cu clientii si furnizorii, urmarirea mijloacelor fixe , etc.

Problema structurii aplicatie-program-modul de program este importanta deoarece impartirea aplicatiei in programe si programele in module de program este esentiala pentru mentinerea claritatii in programare . O asemenea structurare permite testarea si corectarea simpla a programelor,corectiile afectand in general doar anumite secvente de program usor localizabile .Ca regula de stil de programare se recomanda impartirea aplicatiei in programe si a programelor in module de program conform logicii interne ceruta de necesitatile de prelucrare .Este utila utilizarea comentariilor in interiorul programelor mai complexe . O comentare corecta , desi poate fi plictisitoare pentru utilizator , isi arata eficienta la orice modificare anterioara a programului .



EXPRESII VARIABILE DE MEMORIE FUNCTII

O expresie este o entitate care prin evaluare genereaza o noua valoare de tip Carácter,Numweric,Logic sau Data calendaristica . O expresie poate fi un singur numar , o variabila , sau poate fi complexa . De obicei formeaza expresii cu diferite combinatii ale urmatoarelor elemente :

nume de campuri din baze de date ;

variabile de memorie ;

constante (literale) ;

functii  si operatori ;

elemente de tablou.

CONSTANTE

Sunt date predefinite care un isi schimba valoarea in timpul executarii comenzilor . Constantele pot fi :

  1. numerice
  2. de tip carácter
  3. de tip date calendaristice
  4. logice

Constantele numerice sunt siruri de cifre zecimale continand eventual punctul zecimal si fiind precedate eventual de semn

Tip constanta

Exemplu

Numar intreg

Numar real

Constanta in notatia stiintifica

1.2E-5

Constantele de tip carácter sunt formate din unul sau mai multe caractere incluse intre o pereche de apostrofuri , ghilimele sau paranteze drepte. Daca sirul de caractere contine unul din acesti delimitatori ,el va trebui inclus intre alte caractere delimitator.

Exemple:

"hello !"

'hello !'

[ hello !]

[ hello "FOXPRO "! ]

Constantele logice iau valorile adevarat , TRUE , sau fals,FALSE. Ele se reprezinta prin .T .t. , .Y. , .y. pentru adevarat si .F. , .f. , .N. , .n. pentru fals.

Constantele de tip data calendaristica se includ intre o pereche de acolade :

VARIABILE DE MEMORIE

Sunt definite de programator si au rolul de a memora diferite informatii in afara bazelor de date . Ele se utilizeaza ca variabile temporare pentru calcule intermediare , ca variabile de control pentru programe in interiorul expresiilor, etc.

Variabilele de memorie se caracterizeaza printr-un nume de maximum 10 caractere alfanumerice (un se admite spatiul ), trebuind sa inceapa obligatoriu printr-o litera . Ele pot avea orice tip permis de FOXPRO .

Daca printr-o eroare de programare variabile de memoria au acelasi nume cu campuri din bazele de date , orice utilizare a numelui respectiv face referire la baza de date .Referirea la variabila de memorie se face precedand numele variabilei cu M. sau M-> .

Exemplu :

Variabila nume poate fi referita prin M.nume sau M->nume

In general pentru a putea fi utilizate variabilele de memorie trebuie sa contina valori .Operatia prin care unei variabile de memorie I se atribuie o valoare se numeste atribuire .

Instructiunile de atribuire in FOXPRO sunt :

  1. STORE expresie TO lista_de_variabile
  2. variabila=expresie

Daca variabila de memorie un exista inca in momentul atribuirii , atunci operatia de atribuire se numeste initializare .

Variabilele de memorie pot fi de orice tip permis in FOXPRO , in functie de expresia care li se atribuie .

Exemplu:

STORE DATE ( ) TO vdata

STORE 50 TO vnum

STORE "Hello ! " TO vcar

STORE .T. TO vlog

Afisarea variabilelor de memorie disponibile la un moment dat se va face prin comanda DISPLAY MEMORY

Sintaxa comenzii este :

DISPLAY MEMORY [ LIKE sablon ]

Comanda are ca efect afisarea numelui , tipului , continutului si starii pentru toate variabilele de memorie definite curent . De asemenea se afiseaza numarul de variabile de memorie definite si numarul de octeti folosit pentru memorarea lor .

Clauza LIKE sablon permite afisarea selectiva a variabilelor . Sablonul permite caracterele " si "* ".

Exemplu :

DISP MEMO LIKE A*

In momentul in care variabilele de memorie un mai sunt necesare , ele pot fi sterse pin instructiunea RELEASE

Sintaxa instructiunii are doua forme :

  1. RELEASE lista_de_var
  2. RELEASE ALL [ LIKE sablon | EXCEPT sablon ]

Prima forma va sterge din memorie doar variabilele ce apar in lista.Adoua forma permite stergerea tuturor variabilelor al caror nume nu respecta un sablon precizat .

ELEMENTE DE TABLOU (masive )

Masivele sunt siruri contigue delocatii de memorie. Masivul se identifica prin nume si fiecare locatie de memorie individuala - fiecare element i din sir se identifica prin pozitia sa numerica in cadrul sirului- prin indice .

Masivele sunt variabile de memorie cu un carácter special, au atribute asemanatoare da un identice ,cu variabilele . De exemplu , sunt eterogene ( un au tip ) -adica fiecare element are tip propriu si sunt initializate la crearea masivului , cu valoarea logica fals ( .F. )

Dupa dimensiune , masivele se clasifica in unidimensionale sau vectori (siruri ) respectiv multidimensionale ( in cazul bidimensional se numesc matrici ).

Declararea masivelor se face prin comenzile DECLARE sau DIMENSION in care se declara numele masivului si numarul maxim de elemente pentru fiecare dimensiune . De exemplu un masiv A cu 2 linii si trei coloane se poate declara astfel :

DECLARE A( 2,3 )

Referirea elementelor masivului se face prin nume si indicele curent . De exemplu , pentru a initializa elementul de pe linia 1 si coloana 3 din matricea A definita anterior putem folosi instructiunea

A(1,3)=" Hello ! "

Puteti initializa fiecare element al masivului la o valoare folosind comanda STORE sau operatorul = ( egal ) . Cand COMPATIBLE este OFF si includeti numele masivului ( fara dimensiuni) in STORE sau = , fiecare element al masivului este initializat cu aceasi valoare .

Exemplu :

SET COMPATIBLE OFF

DIMENSION A(10,10)

STORE 0 to A

DISPLAY MEMORY LIKE A

In exemplul anterior fiecare element al masivului este initializat cu 0 ( zero ).

FUNCTII

Functia este o componenta a sistemului de gestiune a bazelor de date care se aplica unor operanzi si reintoarce utilizatorului un rezultat ( o valoare numerica ,un sir de caracter , o valoare logica etc).Rolul si mecanismul de functionare este cel cunoscut din matematica.Functiile se impart in mai multe clase in functie de natura operanzilor carora li se aplica dar este dificila o delimitare clara in categorii distincte .

Functiii de tip carácter

Functie

Semnificatie

ALLTRIM

(expr_car)

Returneaza un sir de carácter din care a eliminat spatiile nesemnificative. Expr_car este sirul initial ce contine spatii nesemnificative

ASC (expr_car)

Returneaza codul ASCII al primului carácter din expresie .Orice alt carácter din expr_car este ignorat .

AT (expr_car1 ,

expr_car2

[,expr_num[ )

Returneaza pozitia unei expresii de tip carácter in alta :

Expr_car1 - sirul care se cauta

Expr_car2 - sirul in care se cauta

Expr_num - a cata aparitie a expr_car1 in expr_car2 se cauta ( implicit) expr_num=1 , adica se cauta prima aparitie )

Daca expr_car1 nu se gaseste in expr_car2 se returneaza 0 .Cautarea realizata prin AT ( ) tine cont de scrierea cu litere mici si mari; pentru a nu face diferente se foloseste functia ATC ( )

BETWEEN (expr_1,expr_2,expr_3)

Indica daca o expresie de tip carácter numerica sau data calndaristica se afla intre alte doua expresii de acelasi tip.Functia retureaza (.T.) daca expr_car1 este mai mare sau egala cu expr_2 si mai mica sau egala cu expr_3  ( expr_2<=expr_1<=expr_3) si (.F.) in caz contrar .

CHR (expr_num)

Returneaza caracterul al carui cod ASCII este dat de valoaarea expresiei expr_num. Functia inversa este ASC ( ) .

CTOD ( expr_car)

Converteste o expresie de tip sir de caractere intr-o expresie de tip data.Expresia de tip carácter trebuie sa contina o data valida cuprinsa intre "1.1/100" si "12/31/9999". Formatul implicit pentru expr_car este "ll/zz/aa",dar acesta poate fi modificat prin SET DATE si SET CENTURY. Daca secolul un este spcificat ,la introduerea datei se considera implicit secolul 20

ISALPHA

Returneaza (.T.) daca expresia caracter incepe cu o litera .Toate celelalte caractere sunt ignorate

ISLOWER


Returneaza (.T.) daca expresia caracter incepe cu o litera mica . Toate celelalte caractere sunt ignorate

ISUPPER

Returneaza (.T.) daca expresia carácter incepe cu o litera mare .Toate celelalte caractere sunt ignorate

LEN

Returneaza lungimea unei expresii de tip carácter

LOWER

Converteste toate literele din expr_car in litere mici

LIKE

Compara doua expresii de tip carácter. Expr_car1 poate contine caracterele asterisc si "?"pentru cautari globale . Functia returneaza (.T.) daca expresia din expr_car2 se potriveste cu sablonul expr_car1 si returneaza (.F.) in caz contrar

LEFT

(expr_car,expr_num)

Returneaza caracterele din stanga.

Expr_car -expresia din care se extrag caractere

Expr_num- numarul de caractere returnate

OBSERVATIE :

Functia LEFT( ) este identica cu o functie SUBSTR ( ) cu pozitia de inceput 1

LTRIM (expr_car)

Elimina spatiile nesemnificative dintr-o expresie.Se foloseste de obicei in combinatie cu functia STR ( ) pentru a converti numere in siruri de caractere .

OCCURS

( expr_car1 , expr_car2)

Returneaza numarul de aparitii ale unei expresii in interiorul celeilalte.

Expr_car1-expresia care se cauta;

Expr_car2- in care se cauta.

Daca o expresie nu se gaseste in cealalta , se returneaza 0

PADL

( expr, expr_num

[, expr_car ] )

Aliniaza la dreapta

PADR

( expr, expr_num

[, expr_car ] )

Aliniaza la stanga

PADC

( expr, expr_num

[, expr_car ] )

Centreaza

Expr-expresia care se aliniaza

Expr_num-numarul de pozitii pe care se face alinierea

Expr_car-textul de fundal , peste care se suprapune expresia de aliniat.Implicit aceasta expresie este vida , se va face o aliniere simpla

REPLICATE

(expr_car,expr_num)

Returneaza un sir de caractere rezultat din repetarea expresiei de tip caracter de un numar de ori.

Expr_car-sirul de caractere ce se repeta

Expr_num - indica de cate ori se va repeta expresia.

RIGHT

(expr_car, expr_num)

Returneaza caracterele cele mai din dreapta.

Expr_num - indica numarul de caractere pe care il va avea noul sir .daca se indica un numar de caractere mai mare decat lungimea expresiei expr_car se va returna tot sirul de caractere desemnat de expr_car.

RTRIM (expr_car)

Elimina spatiile nesemnificative dintr-o expresie . Functia este identica cu TRIM( ).

SPACE

(expr_num)

Returneaza un sir compus din spatii .

Expr_num -numarul de spatii returnate

STR (expr_num1 [,expr_num2 [,expr_num3 ]] )

Converteste un numar intr-un sir de caractere.

Expr_num1 - numarul de convertit

Expr_num2 - numarul pe care se va face conversia incluzand punctul zecimal si cifrele zecimale .Daca se specifica o lungime mai mare decat numarul de cifre rezultate se vor adauga spatii in stanga numarului .Daca se specifica o lungime mai mica decat numarul de cifre rezultate ,se vor returna un sir de asteriscuri ce vor indica depasirea

Expr_num3-numarul de pozitii zecimale ce se returneaza . Daca se specifica mai putine zecimale decat are numarul se va face o trunchiere pe numarul de pozitii specificat

SUBSTR

(expr_car, expr_num

[,expr_num2 ])

Returneaza un numar specificat de caractere dintr-o expresie de tip caracter .

Expr_car- expresia din care se extrag caracterele

Expr_num-pozitia in cadrul expresiei expr_car din care incepe extragerea.Prima pozitie intr-o expresie de tip caracter este 1

Expr_num2-numarul de caractere extrase.Daca parametrul lipseste se vor extrage toate caracterele pana la sfarsitul expresiei.

TRIM (expr_car)

Elimina aspatiile nesemnificative dintr-o expresie.Functia este identical cu RTRIM ( )

UPPER ( expr_car)

Converteste toate literele din expr_car in litere mari

Functii numerice

Exista functii numerice corespondente pentru toate functiile trigonometrice,exponentiale,logaritmi,radicali,valoarea lui Pi ,etc.

Functia

Semnificatia

INT (expr_num)

Returneaza partea intreaga a unei expresii numerice

ROUND(expr_num1,

expr_num2)

Rotunjeste o expresie numerica cu un numar de zecimale precizat.SET DECIMALS este ignorat .

Expr_num-expresia de rotunjit

Expr_num2-numarul de zecimale la care se face rotunjirea. Daca se precizeaza o valoare negativa,se va returna un numar intreg avand in fata punctului zecimal un numar de zerouri precizat prin expr_num2.

Exemplu :

ROUND(1234.1962,-1) produce 1230.0000

ROUND(1234.1962,-2) produce 1200.0000

ROUND(1234.1962,-3) produce 1000.0000

VAL(expr_car)

Returneaza valoarea numerica a unui sir de caractere compus din cifre.Daca primul caracter din sir nu este o cifra VAL( ) returneaza 0

Functii de tip data calendaristica

Functia

Semnificatie

CDOW

(expr_data)

CMONTH

(expr_data)

DATE ( )

DAY (expr_data)

DOW (expr_data)

DTOC

(expr_data [ , 1 ] )

DTOS (expr_data)

GOMONTH (expr_data, expr_num)

MONTH (expr_data)

SECONDS ( )

TIME ( )

YEAR (expr_data)

Functii referitoare la fisiere baza de date

Functia

Semnificatia

ALIAS

( [ nr_zona ])

SELECT ( [ 0 | 1 ] )

BOF

( [alias | nr_zona ])

DELETED

( [alias | nr_zona   ])

EOF

( [nr_zona | alias ])

FCOUNT

( [nr_zona | alias ])

FOUND

( [nr_zona | alias ])

RECCOUNT

( [nr_zona | alias ])

RECNO

( [nr_zona | alias ])

RECSIZE

( [nr_zona | alias ])

Atle tipuri de functii

Functia

Semnificatia

COL ( )

ROW ( )

PCOL ( )

PROW ( )

MEMORY ( )

ISCOLOR ( )

DISKSPACE ( )

FILE (fisier)

PRINTSTATUS ( )

LASTKEY ( )

IIF

(expr_log,

expr_1, expr_2 )

Comantarea programelor





Politica de confidentialitate


creeaza logo.com Copyright © 2024 - Toate drepturile rezervate.
Toate documentele au caracter informativ cu scop educational.