1.Notiuni introductive e8s10sg
2.Conceptul de algoritm-proprietati
3.Elementele componente ale unui algoritm
4.Clasificarea algoritmelor
5.Reprezentarea algoritmilor prin scheme logice
5.1.Simboluri de baza
5.2.Structuri fundamentale de control utilizate in elaborarea schemelor
logice
5.3.Scheme logice cu structura secventionala
5.4.Scheme logice cu structura alternativa
5.5.Scheme logice cu structura repetitiva
6.Exemple complexe
1. Notiuni introductive
Una din caracteristicile prelucrarii datelor economice o constituie faptul
ca rezultatele obtinute intr-o etapa de prelucrare stau
la baza calculelor cu care incepe etapa urmatoare.
Asistam la o dinamica a rezultatelor, la o schimbare succesiva
a acestora in functie de conditiile care se impun pe parcursul prelucrarii.
Oastfel de abordare se numeste algoritmica, in sensul ca
la baza rezolvarii problemelor economice se situeaza un set de
reguli (matematice si logice) care pote fi asimilat unui algoritm.
Pentru utilizarea calculatoarelor in rezolvarea unor probleme algoritmice
aufost comcepute limbaje specializate=limbaje algoritmice. De exemplu: Pascal,
Basic, Cobal, precum si limbajele proprii sistemelor de gestiune a bazelor de
date Foxpro, Oracle, Paradox.
Lotus: nu este un limbaj algoritmic, este un limbaj de calcul tabelar. Limbajele
algoritmice permit reluarea proceselor de calcul pe baza acelorasi reguli de
prelucrare, dar cu seturi de date de intrare diferite.
2.Conceptul de algoritm
Un algoritm este o succesiune de operatii, care in sensul prelucrarii
electronice transforma un set de date de intrare = date primare intr-un
set de date de iesire numit rezultate finale.
Proprietatile algoritmului a) generalitate b) finititudine c) consistenta d) claritate a) Generalitatea este proprietatea conform careia algoritmul se aplica
unei clase de probleme reprezentand o solutie general valabila si nu
una dedicata unui caz particular. b) Finititudinea este proprietatea conform careia algoritmul rezolva
problema intr-un numar finit de pasi. Aceasta inseamna
ca orice algoritm trebuie sa aiba conditii clare de incheiere
a procesului de prelucrare. c) Consistenta (integritate) este proprietatea conform careia datele
de intrare trebuie sa permita in orice situatie obtinerea
oricareia din datele de iesire. d) Claritatea se refera la obligativitatea utilizarii unor notatii
a datelor folosite fara ambiguitati si exprimarea rezultatelor
fara posibilitati de interpretare.
3.Elementele componente ale unui algoritm a) datele sau operanzii b) operatorii c) expresii a) Datele (operanzii) cu care se realizeaza procesul de prelucrare pot
fi analizate dupa criteriile:
--Dupa rolul datelor in procesul de prelucrare: a) date de intrare b) date de iesire c) date intermediare a) Datele de intrare reprezinta ceea ce se introduce din mediul extern
ca informatie primara ce urmeaza a fi luate in considerare
in procesul de prelucrare.
Acestea se mai numesc date primare.
De exemplu: in gestiunea stocurilor de produse finite datele primare pot
fi: stocul initial, intrarile si iesirile din magazie; evidenta contractelor
de livrare sunt: cantitatea contractata, pretul,cantitatea livrata,data
livrarii.
Informatiile primare se iau din documentele care circula in cadrul
firmei. b) Datele de iesire sunt datele obþinute prin procesele de prelucrare
in urma aplicarii algoritmului de calcul. c) Datele intermediare se mai numesc zone de lucru sau variabile de lucru. Servesc
pentru pastrarea temporara a unor rezultate intermediare. Este
foarte important in procesul de proiectare a unui algoritm sa identificam
si sa notam cu claritate datele de intrare, datele de iesire si
varibilele de lucru.
--Dupa modul in care isi modifica datele valoarea
in timpul procesului de prelucrare: a) constante b) varibile a) Constantele sunt acele date care nu-si modifica valoarea pe parcursul
prelucrarii. b) Variabilele sunt datele care se modifica pe parcursul prelucrarii.
Putem vorbi de varibile de intrare si iesire; ele se modifica cand
algoritmul se aplica unui nou set de date.
--Dupa natura datelor: a) date numerice b) date alfanumerice sau siruri de date c) date alfabetice d) date logice e) date calendaristice a) Datele numerice sunt numere intregi sau reale cu sau fara
semn (punct zecimal) b) Datele alfanumerice sunt siruri de caractere copuse din litere, cifre sau
caractere speciale: procent %, asterex. Se plaseaza intre ghilimele
sau apostrof. d) Datele logice sunt date ce pot avea doua valori: adevarat sau
fals. e) Datele calendaristice sunt date cu o structura standard pentru vehicularea
fie a zilei, a datei ori a orei. Aceste date pot fi de tip:TIME hh/mm/ss sau
de tip DATE zz/ll/aa.
Se vorbeste de constante numerice, alfanumerice si logice, precum si de varibile
alfanumerice, numerice si logice; de variabile de intrare numerice si alfanumerice
(si logice) alfabetice.
--Dupa structura lor: a) date elementare nestructurate (scalari) b) date structurate numite si date grupate b) Datele structurate trebuie analizate distinct in functie de suportul
de memorie pe care sunt pastrate.
Suportul de memorie poate fi:
-memoria interna RAM
-memoria externa magnetica: Floppy Disk, Hard Disk
Datele care se pastreaza in memoria externa pe parcursul
prelucrarii sunt plasate in celule de memorie independent daca
este vorba de scalari sau de liste liniare, daca este vorba de date grupate.
Listele liniare reprezinta zone de memorie in care sunt plasate
datele dintr-un grup de date. Intre celulele de memorie se stabileste
prin intermediul sistemului de operare, un mecanism de identificare (accesare)
a fiecarui element al listei.
Se intalnesc trei tipuri de liste liniare: a) simple inlantuite b)dublu inlantuite c)circulare a) a1 a2 ai an m1a ---?m2a ---?……-?mia ---?….---?mnat
Fiecare element contine adresa elementului urmator (intr-un singur
sens i?i+1) b) Listele dublu inlantuite se disting prin faptul ca fiecare
element conþine adresa precedentului, ceea ce permite parcurgerea in dublu sens. c) In cazul listelor circulare, ultimul element al listei contine si adresa primului element al listei.
Exemplu: grup de date ce se reprezinta printr-o lista liniara-vectorii
si matricele; vanzarile unei firme pe o saptamana
(6-7 elemente).
Pe Floppy Disk sau pe Hard Disk datele se memoreaza sub forma
de fisiere.
Ex: fisierul ANGAJA|I; penru fiecare membru al colectiei de date ce se memoreaza
in fisier, se constituie o inregistrare. Un fisier se compune din
mai multe inregistrari; o inregistrare se compune din mai
multe campuri (o zona elementara ce pastreaza
valori ce descriu caracteristicile inregistrarii).
Ex: inregistrarea ANGAJA|I are urmatoarele campuri: nume,
data nasterii, sex, stare civila, marca, profesie, salariu.
In momentul in care o inregistrare este adusa in
memoria interna penru prelucrare, ea va fi reprezentata pe o zona
continua de memorie RAM.
Din punct de vedere al disciplinei de exploatare, listele liniare sunt tratate
in trei moduri (feluri). a) lista de tip COADA b) lista de tip STIVA c) lista de tip COADA COMPLET. a) O lista de tip COADA are proprietatea ca adaugarile
se fac numai la un capat al cozii, iar stergerile si prelucrarile
la celalalt capat. Se numeste FIFO (first in first out). b) STIVA este o lista in care adaugarile, stergerile
si respectiv orice prelucrare se face numai la un capat. Disciplina se numeste LIFO (last in first
out).
Fisiere=files; Inregistrare=record; Campuri=fields Stiva=stack coada=queue.
OPERATORII sunt simbolurile ce desemneaza operatiile la care sunt supuse
datele. Avem categoriile de operatori:
-operatori aritmetici: +, -, impartit, inmultit, radical,
parte intreaga, slash /.
-operatori relationali
-operatori logici
-operatori pentru prelucrarea sirurilor de caractere
-operatii speciale
Operatorii relationali sunt folositi pentru compararea datelor <-less;
>-greather; =-equal; <>-not equal; between; >=; <=;
Operatorii logici sunt: NOT, AND, OR.
Operatorii pentru prelucrarea sirurilor de caractere sunt:
-operatori de concatenare (alipire) a sirurilor de caractere
-operatori ce permit eliminarea spatiilor nesemnificative
-operatori ce permit eliminarea sau schimbarea spatiilor nesemnificative cu
asterix, etc.
Cu ajutorul operatorilor se construiesc expresii. Avem expresii logice care
au ca rezultat o constanta numerica; expresii logice-in
urma evaluarii au ca rezultat TRUE sau FALSE.
Expresiile logice se pot construi cu operatori relationali si/sau operatori
logici
Sunt folosite si expresii complexe in care intalnim si operatori
numerici si relationali si logici.
Prioritatea de executie este: se efectueaza operatii aritmetice, relationale
si ultimele cele logice. Intotdeauna o expresie complexa de acest
gen va avea ca rezultat o constanta logica.
Pe baza algoritmilor se construiesc programe. Programele sunt ansambluri de
date si instructiuni prin care setul de date de intrare este prelucrat si transformat
in setul de date de iesire.
Instructiunile unui program respecta un ansamblu de reguli de scriere
si logica, reguli care definesc sitaxa instructiunii. Aceste reguli de
sintaxa sunt proprii fiecarui limbaj de programare, ele sunt concepute
asemeni standardelor limbajelor de vorbire, in sensul ca se manipuleaza
un fond de cuvinte si simboluri si un ansamblu de reguli gramaticale (sintaxa
limbajului).
Fond de cuvinte = vocabularul limbajului.
In concluzie, pentru a transforma un algoritm intr-un program trebuie
invatate regulile de sintaxa ale limbajului de programare.