Documente Academic
Documente Profesional
Documente Cultură
programarii
Algoritmi. Scheme logice.
Introducere in Matlab
Generaliti
Un calculator este o maina ce permite rezolvarea unor probleme
prin executarea unui lan de instruciuni.
O succesiune de instruciuni, ce pornind de la niste date de intrare,
prin prelucrare obtine rezultate, se numete program.
Instruciunile ce pot fi recunoscute i executate de microprocesor
sunt simple i limitate ca numr, pentru a nu complica structura
hardware dar consistente pentru a fi utilizat eficient puterea de
calcul.
Limbajele de programare sunt limbaje artificiale, folosite n tiina
calculatoarelor, pentru a scrie secvene de instruciuni (programe),
care pot fi executate de calculator. Similar limbajelor naturale,
limbajele de programare au vocabular, gramatic i sintax.
Limbajele de programare trebuie s aib structuri logice simple i
reguli gramaticale foarte precise.
Problema
Date de
intrare
Rezultate
Algoritm
Cum ajungem
la rezultate
Limbaj de
programare
Scrierea
programului
Execuia
programului
Obinerea de
rezultate
Matlab
Un exemplu de mediu de programare este MATLAB (MATrix
LABoratory), un program interactiv pentru rezolvarea de
probleme stiinifice. De la an la an firma productoare
(MathWorks, 1984, SUA - http://www.mathworks.com/) adaug
funcii noi (Toolbox-uri), cu care se ce pot rezolva problemele
specifice unui domeniu de activitate.
Student Edition of Matlab este o varianta minimala, destinata
initierii in arta programarii, care apeleaza la editorul de texte
Notepad pentru creerea programului (fisierului cu instructiuni,
ce trebuie sa aiba extensia .m). Pentru executia programului este
suficient ca in fereastra de comenzi Matlab sa se tasteze numele
lui, urmat de tasta enter. Anterior trebuie informat Matlab-ul de
locul in care se afla fisierul cu programul, prin comanda cd. Ex:
cd d:\amatlab
amatlab, pe discul d:
Adunarea a 2 numere
a) Identificarea datelor si a algoritmului
Identificarea variabilelor (a, b, c)
b) Alegerea limbajului si scrierea programului
c) Rularea programului
programului
Concluzii
a) Datele sunt identificate prin nume si stau in aceeasi
memorie cu programul. Rezultatul este identificat
printr-un nume, este o variabila ce sta tot in aceeasi
memorie.
b) Numerele afisate de program pot crea confuzii datorita
faptului ca nu sunt oferite explicatii asupra provenientei
lor
c) Programul nu este flexibil, schimbarea datelor de
intrare necesitand schimbarea programului (a fisierului
ex1.m)
Afisarea
disp(text explicativ)
disp(variabila)
if conditie
grup1 instructiuni
else
grup 2 instructiuni
end
Operatori relationali
<
<=
>
mai mic
mai mic sau egal
mai mare
>=
==
identic
~=
diferit
Size
1 by 1
Elements
1
Bytes
8
Density Complex
Full
No
11 12
13
14
15
21
22
23
24
25
31
32
33
34
35
m(2,1)
Ex:
c=
ans =
50
21
a(4)
a=
ans =
culoare
galben
magenta
cyan
rou
verde
albastru
alb
negru
simbol
.
o
x
+
*
:
-.
--
Efect trasare
punct
cerc
marcare cu x
marcare cu plus
linie continu
stelue
puncte
linie punct
linie ntrerupt
Reprezentarea
grafica a puctelor
prezentate in
vectorii q (abscisa
axa x) si
w (ordonata axa
y)
plot(q) este
echivalenta
cu plot(x,q),
unde x este
un vector cu
elementele:
1, 2, 3 , 4,
START
STOP
Blocul de nceput i
Blocul de sfrit al
schemei logice
Blocul de calcul
Calculul ce trebuie executat
se scrie in interiorul
dreptunghiului
CITETE
Blocul intrare
lista mrimi
SCRIE
Blocul ieire
lista mrimi
Blocul de decizie
DA
NU
C
Variabile
Operatori matematici:
Constante
+ - * /
Identificatori
Semnul de atribuire
:=
Operatori logici:
< > >= <= <>
a,b
x:=-b/a
nu
CITETE
a=0
da
SCRIE
Ec. imp.
SCRIE
x=,x
Matlab, initiere
STOP
citete
n
i:=1
citete
a(i)
scrie
min
NU
i:=i+1
DA
DA
i<=n
i<=n
NU
min:=a(1)
i:=2
i:=i+1
DA
min<=a(i)
NU
min:=a(i)
STOP
citete
n
i:=1
citete
a(i)
scrie
s=,s
NU
i:=i+1
DA
DA
i<=n
i<=n
NU
i:=i+1
s:=0
i:=1
s:=s+a(i)
STOP
citete
n
i:=1
citete
a(i)
NU
DA
scrie
ordonare
gata
STOP
NU
i:=i+1
DA
DA
s=0
i<=n-1
i<=n
NU
s:=0
i:=1
i:=i+1
S:=1
DA
a(i)<=a(i+1)
NU
t:=a(i)
a(i):=a(i+1)
a(i+1):=t
citete
v, n
i:=1
citete
a(i)
scrie
val. nu e n ir
NU
i:=i+1
DA
DA
i<=n
i<=n
NU
i:=i+1
NU
i:=1
v = a(i)
DA
scrie
val. gsit
STOP
citete
v, n
NU
i:=1
citete
a(i)
DA
j=1 sau
i=n
scrie
val. nu e n ir
i:=k
NU
i:=i+1
v < a(k)
DA
i<=n
NU
DA
NU
v = a(k)
a(i)
i:=1
j:=n
j:=k
k:=INT ((i+j)/2)
DA
scrie
val. gsit, k
STOP
ciclul cu test
iniial
ciclul cu test
final
SECVENA
DECIZIA
s1
DA
NU
s2
...
s1
sn
SELECIA
s1
s2
.....
sn
s2
DA
NU
c
NU
DA