Sunteți pe pagina 1din 17

Algoritm

Algoritmul reprezinta o multime coordonata si finita


de operatii prin care se defineste fara echivoc modul
prin care se poate rezolva o anumita problema.
In analiza oricarei probleme trebuie sa indentificam
datele de intrare( adica datele cunoscute din
problema) . Pentru a putea identifica operatiile de
transformare a datelor de intare ( ceea ce nu se cere)
.
Pe parcursul operatilor de transformare a datelor de
intare - iesire pot aparea si date de manevra acestea
fiind date intermediare ( care ne ajuta sa aflam
datele de intare in date de iesire).

Exemplu :
Se citesc de la tastatura cele 3 laturi ale unui triunghi
l1 l2 l3 se cere sa se calculeze aria triunghiului.
Datele de intrare : l1, l2, l3
Datele de iesire: A
Datele de manevra : Sp ( semiperimatru)
p1: Citeste : l1,l2,l3

p2: SP= ( l1+l2+l3) / 2


p3: A = Sp. ( sp-l1) ( sp= l2) . ( sp-l3)
p4: Scrie A

Proprietatile algoritmului.
1. Claritatea ( orice algoritm trebuie sa fie precis algoritm sa
prezinte clar toate etapele de prelucrare a datelor de intare
pentru a obtine date de iesire fara a lasa loc la interpretari ).
2. Finiturimea ( orice algoritm trebuie sa se execute intr-un nr.
finit de pasi pentru a ajunge la rezultat in caz contrar
spunem ca algoritmul a intrat intr-o bucla infinita).
3. Universalitatea ( trebuie construit astfle incat sa permita
rezolvarea unei intregi clase de probleme de acelasi tip).
4. Eficienta ( operatile care compun un algoritm trebuie alese
astfel sa ajungem la rezultat intr-un nr. cat mai mic de pasii
dar fara a face abatere de la corectitudinea rezolvari).
Exeplu : Se citeste de la tastatura un nr. natural ( n) se cere sa se
calculeze : S= 1+2+3+4+...+n
Varianta 1 : D.I : n

Varianta 2 : D.I : n

D.E : S

D.E: S
S= n.( n+1)
S= 5. 6 = 15

n= 5
S=0
S=0+1
S=0+1+2
S=0+1+2+3
S=0+1+2+3+4
S=0+1+2+3+4+5

Datele
Date reprezinta un model de exprimare a informatiei accesibil
calculatorului cu care aceasta poate lucra pentru a obtine noi informatii.
Din punct de vedere logic data este definita prin identificator , valoriatribute. Indentificatorul datei este numele acesteia.
Indetificatorul datei se formeaza din litere si cifre si incepe intodeauna
cu o litera in identificatorv se atmite doar simbolul special ( anderline - )
si nu se admite spatiul.
Exemplu : x12 , x_12
Valoarea datei reprezinta continutul zonei de memorie in care este
stocata data respectiva. Se defineste ca domeniul de definitie a datei,
multimea valorilor pe care le poate lua data in procesul de prelucrare.
Atributele reperezinta propretatile datelor, cel mai important atribut este
tipul datei.

Tipul datei defineste apartinenta datei respective la o anumita clasa de


date careia ii corespunde un anumit model de reprezentare interna in
memeorie, tot tipul datei determina si reprezentarea interna in memorie,
tot tipul datei determina si setul de recuperatori care se pot aplica pe
data respectiva.
Clasificarea datelor :
1. Dupa momentul in care se produc : date de intare, date de
iesire, date de manevra.
2. Dupa modul in care se pot modifica : variabile si constante.
O variabila este o marime a carei valoare se poate modifica pe
parcursul unui algoritm prin itermediul operetiei de atribuire.
Numele unei variabile se construieste cu regulile de la indentificatorul
datei .
Exemplu: a

a 57 35

a<--- 5
Op. de atribuire <---- Expresiei
Se evalueaza mai intai expresia iar rezultatul obtinut este atribuitul
variabilei cu numele specificat.
Exemplu: a<---a+2// 7
a<---5xa//35
Constanta este o marime a carei valoare nu se poate modifica pe
parcursul unui algoritm.
3. Dupa tip datele se clasifica astfel :
- date de tip numeric pot fi intregi sau reale si pe ele se pot aplica
operatori aritmetici de comparatie si operatori logici.
- date de tip logic pot avea doar 2 valori < true- false si pe ele se pot
aplica doar operatori logici.

- date de tip caracter reprezintat de un singur caracter cuprins intre


apstrofe .
Exemplu : `a` sau `1` = un caracter
- date de tip sir de caractere reprezinta prin mai multe caractere cuprinse
intre ghilimele.
Exemplu : " afara e soare "

Operatori aritmetici
Simuleaza operatile aritmetice:
Adunare: +
Scadere : Imultire: * ( asterisc)
Impartire: / ( sles)

Div : returneaza catul impartiri a doua numere.


Exemplu : a<--- 5 , b<--- 2, c <--- a div b
? b = 2.
Operatorul Mod - returneaza restul impartiri a doua numere .
Exemplu : a<---5
b<---2
c<---a mod b
c---> 1.
Obs! Restul impartiri unui nr . la 10 ne furnizeaza intodeauna ultima cifra
a nr. respectiv.
Exemplu: 62826 mod 10
62826: 100= 628
Proprietatea operatorilor aritmetici:
- Daca intr-o expresie intalnim toti operatorii aritmetici vom evalua mai
inati operatori *,/ ( div si mod) , apoi operatori adunare si scadere .
E= a+b + b+d +a+c
c

c+a ( a+b)3

1. Scrieti expresia intr-o forma acceptata de calculator.


Obs! In informatica pentru a marca prioritatea operatilor se folosesc doar
paranteze routunde.
E<--- (a+b)/c+(a+d)/(c+a)+(a+c)/(( a+b) * (a+b) * (a+b)).
2. E2 = a2+(a+b)+ a2
E2

<--- ( a*a +( a+b) + ( a+b))/ a*b*b*(a*a)*b

nr. * b*b
a. daca n mod 2 =1
* orice nr impar mod 2 = mereu egal cu 1.
b. daca un nr . este divizibil cu 3 sau cu 5.
daca n mod 3 =a sau n mod 5= 0
c. daca n mod 3 = 0 si n mod 5= 0

Operatori logici
Se

aplica pe propoziti, numim propozitie o afirmatie despre care


putem spune ca este adevarata sau falsa.
Aplicatii:
p : Azi sunt la Bucuresti .( falsa)
q : Raul Olt se varsa in Siret .( falsa)
r : Siretul strabate Moldova .( True)
v : 2+3 = 5 .( True)
1. Operatorul logic este un operator unar adica se aplica pe o
singura propozite. Reprezinta negatia logica.
o Tabelul de adevar este urmatorul :
Exemplu: p :2 <5 ( True).

Not p : 2>5 ( F ) .
p : 2+18=21 (F).
Not p : 2+18 nu este egala 21
( 2+18 < 21 ) si ( 2+18> 21).
3
4
p: 2 < 2 ( True)
Not p : 23 > 24 (F)
2. Operatorul logic AND - este un operator binar adica lucreaza
pe 2. propzitii. O propozitie compusa cu AND este adevarata
daca ambele prop. sunt adevarate simultan.
Exemplu: 2+8 = 10
q : 8 > 25
p AND q : A and F ---> F
3. Operatorul logic OR ( sau logic).
Este tot un operator binar , o propozitie compusa cu OR va
fi adevarata sau macar una din propozitia ce o compun este
adevarata.

Exemplu: p : 2+8 = 10 ( A)
q: 8> 25 ( F)
p Or q : A or F ---> ( A)

Prioritatea operatorilor logici.


Daca intr-o expresie intalnim toti operatori logici , ordinea
in care vom face evaluarea este:

- Not
-AND
-OR.
Exemplu : E<--- A and F or A and A or not A
E<---A and F or A and A or not F
E<---F or A or F
E<---A or F
E<---A
Obs!! Se poate schimba prioritatea de evaluare a unei
expresii folosind parantezele routunde.
Exemplu : e<--- a and b or ( not a and not b)
a). a<--- true
b<---true
e<---true and true ( not true and not true)
e<---true and true or ( F and F)
e<--- F and F
e<--- True
b). a <--- F
b <--- F
e<--- T not F and F
e<--- Tand F
e<--- T and T or T

Operatorii relationali

<,<=,=,>=,>,<>
Exemplu : 2+3<= 6
Rezultatul acestor operatori este de tip logic este A sau F.
- Negati apartenenta lui x la intervalul precizat.
a) 2 < = x and x< = 6
x > = 2 and x< = 6
Not ( x > = 2 ) and ( x < = 6)
Not ( x > = 2) or not ( x< = 6 )
( x<2) or ( x>6)

U - Or
- AND

Tema 1.
Alegeti:
1. Datei a i se atribuie valoarea " 2+1". Daca se afiseaza continutul ei
pe ecran veti vedea:
a). "3" b).3 c). "2+1=" d).2+1
2.Datei a i se atribuie expresia " 25+75" . Valoarea datei va fi:
a). " 2575" b). 100 c)."100"

3. Prin negarea expresiei n mod 2<>0 OR n>10 se testeaza daca data


n este:
a). un numar par mai mare deact 10;
b). un numar impar mai mare decat 10 ;
c). un numar par mai mic sau egal cu 10 ;
d). un numar impar mai mic sau egal cu 10;
4. Care dinre expresiile uramatoare testeaza daca n este un numar
nattural multiplu de 3 sau de 5.
a). n>0 and n mod 3= 0 or n mod 5 = 0
b). n>0 and n mod 3= 0 and n mod 5=0
c). n>o and ( n mod 3 = 0 or n mod 5 = 0)
d). n>0 or n mod 3 = or n mod 5 = 0
5. Care dintre expresiile urmatoare testeaza daca n este un numar
natural care nu se divide prin 3 si prin 5.
a). n>0 and n mod 3 <>0 or n mod 5 <>0
b).n>0 and n mod 3<> 0 and n mod 5<>0
c). n>0 and ( n mod 3 <> 0 or n mod 5 <> 0 )
d. n>0 or n mod 3 <> 0 or n mod 5 <>0
6. Care dinte expresiile urmatoare testeaza daca n este un numar
natural care are ultima cifra diferita de 5 si de 0:
a). n>0 and n mod 10 <> 4 or n mod 10<>0
b).n>0and n mod 10 <>5 and n mod 10mod 3 <>0
c).n>0 and ( n mod 10 <> 5 or n mod 10 <>0)
d).n>0 or n mod 10 <>5 or n mod 10<>0
7.Care dinte expersiile urmatoarele testeaza n este un numar
natural care are ultiam cifra 0, 2, 4 sau 8:
a). n>0 and n mod 10 mod 2 = 0 or n mod 10 mod 3 <>0
b).n>0 and n mod 10 mod 2 = 0 and n mod 10 mod 3 <> 0
c). n>0 and (n mod 10) mod 2 = 0 or ( n mod 10) mod 3 <>0

d).n>0 and (( n mod 10 ) mod 3= 0 or ( n mod 10) mod


3 <>0).
8. In urma carei operatii de atribuire, data b va avea valoarea
ultimei cifre a numarului intreg a :
a). b<--- a div 10
b). b<---a-a div 10

c). b<---a-a div 10*10


d).b<---a-a mod 10

Reprezentarea algoritmilor.
Un algoritm poate fi reprezentat prin :
a. schema logica
b. prin pseudocod.

A). Reprezentarea prin schema logica reprezinta un ansamblu


de figuri grafice si figuri chieie prin care se poate descrie un
algoritm.
Figurile grfaice se numesc blocuri.
Elementele unei scheme logice sunt urmatoarele:

1. Blocul teminal = marcheaza inceputul si sfarsitul unei


scheme logice si in el se inscrie unul din cuvintele cheie
START sau STOP .

2. Blocul de intrare-iesire = se inscrie unul din


cuvintele Citeste sau Scrie.
Scrie = corespunde operatiei de prelucrare a valori rezultatului
si afisari acestora de obicei pe ecran.
Citeste= corespunde prelucrari datelor de intrare de obicei de
la tastatura si atribuiri valorii citite variabilelor specifice.

3. Blocul de calcul = in el se inscrie cuvantul :


calculeaza si una sau mai multe operatii de atribuire.

4. Blocul de decizie = ramnifica un algoritm in


functie de valoarea de adevar a unei conditi logice, daca

conditia logica este adevarata se merge pe ramura da in caz


contrar pe conditia logica este falsa se merge pe ramura nu.

cl = conditie logica

5.
unui algoritm.

= Conector uneste doua ramuri ale

6.
= Sageata indica sensul de parcurgere a
schemei logice.

Reprezentarea algoritmurilor prin pseudocod

In pseudocod se folosesc doar cuvinte cheie renuntandu-se


la simbolurile grafice. Cuvintele pe care le putem intalni
sunt uramatoarele : Citeste, Scrie, Calculeaza, Daca, Atunci,
Repeta,Cat timp,Pentru,Executa,etc...
Exemplu: Se citesc doua valori a si b sa se calcculeze suma
celor doua numere.
Citeste a,b
Caluculeaza: S<---a+b
Scrie: S
Structura liniara poate contine doar blocul de intare - iesire,
blocul terminal si blocul de calcul.

Exemplu : Intr-o cutie sunt p.pisici, g.gaini si un om.


Determinati nr. de picioare din curte.
D.I: p,g
D.E: nr.p

Structura liniara : Citeste: p,g


Calculeaza : nr.p
Scrie: p,g

Dobre Beatrice- Ecaterina


Clasa a -IX- a A
Portofoliu - Informatica
Prof: Ciocanel - Loredana

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