Cursuri Informatica
Cursuri Informatica
Curs:
Laborator
Sala F113
Proiect
Sala F312
Materiale
platforma Moodle
http://fim.curs.pub.ro/
Informatică Aplicata 1
Structura cursului
Prezenta obligatorie la Laborator
NU se fac recuperari la laborator
numere/variabile/functii uzuale
Ce este MATLAB-ul?
MATrixLABoratory este un limbaj de programare de nivel
inalt, mai exact este un interpretor folosit in
realizarea/programarea calculelor numerice - produs al firmei
MathWorks Inc.
Pachet de programe de inalta performanta pentru calcul si
analiza numerica, simulari si reprezentari grafice in
domeniul stiintei si ingineriei.
MATLAB integreaza analiza numerica cu calculul matriceal, cu
prelucrarea semnalelor si cu grafica intr-un mediu usor de
utilizat. MATLAB este construit pe baza unui soft sofisticat
de calcul matricial de analiza a ecuatiilor liniare.
De ce MATLAB?
Include numeroase funcții built-in
Include instrumente de desenare/vizualizare/simulare
Optimizeaza calculul matriceal
Vasta documentatie si suport online
Poate fi folosit in orice domeniu care utilizeaza modele ce
necesita calcule numerice complex: matematica aplicata, fizica,
chimie, bioinginerie și in orice domeniu tehnic, finante etc
MATLAB & Octave
Creati si folositi scripturi si functii
Sa scrieti mici programe interactive
Procesati fisiere de date
Lucrati cu vectori si matrici
Creati grafice 2D si 3D
MATLAB-ul?
https://uk.mathworks.com/products/matlab.html
http://www.mathworks.com/academia/student_version
Versiune online:
https://uk.mathworks.com/products/matlab-online.html
Site Octave:
https://www.gnu.org/software/octave/
Elementul de baza cu care lucreaza MATLAB-ul este
matricea numerica rectangulara, cu elemente reale sau
complexe.
Matlab simplifica crearea și managementul variabilelor
>> a=10
a=
10
Moduri de lucru (mediu de programare)
Exemple:
save – salveaza toate variabilele in fisierul matlab.mat
save numefisier salveaza toate variabilele/datele in
format binar, numefisier .mat
save numefisier x y - salveaza variabilele x si y in format
binar, numefisier .mat
save -ascii -tabs numefisier.ext se salveaza toate
variabilele in fisierul nume_fisier.ext cu toate datele in
format text si separate de TAB
Exportul fisierelor – functia save
Salveaz toate variabilele din workspace in fisierul tot.mat
ce are formatul .mat (binar)
>> x=[ 1 2 3]
>> y= [4 5 6]
Incarcarea unui fisier de date se face cu functia load
load nume_fisier – variabilele si valorile lor sunt stocate
in workspace si pot si folosite. Implicit se considera
extensia .mat
load masuratori.txt – datele din fisierul masuratori.txt
sunt stocate intr-o variabila numita masuratori. Orice
extensie in afara de .mat indica MATLAB-ului ca datele
sunt incarcate ca date ASCII, text.
Observatii:
1. in practica x este necunoscut, se foloseste aproximarea
δx = | Δx | / | x* | . Daca | Δx | este mic comparativ cu x*, atunci
aproximanta este buna.
2. Daca X = R, se lucreaza cu δx = Δx / x si x = x* − x.
Reprezentarea in virgula mobila a numerelor reale
>> d =[ 2 4 6 ; 6 4 2] ce va rezulta ?
Variabile
ATENŢIE ! Daca unei variabile i se da numele unei funcții
predefinite din MATLAB, functia nu mai poate fi folosita pana
cand variabila nu este stearsa.
>> sin(3)
ans = 0.14112
>> sin(3) =2
sin =
0 0 2
>> sin(3)
ans = 2
>> clear sin - sterg variabila sin si pot sa refolosesc functia sin
Functii si Comenzi pentru Variabile
Datorita faptului ca intr-o sesiune de lucru numarul de variabile
folosite poate fi foarte mare, MATLAB dispune de o serie de
comenzi si functii care sa usureze munca programatorului:
+ Adunare
- Scadere
* Inmultire
/ Impartire la dreapta sau \ Impartire la stanga
.* Inmultire element cu element
./ Impartire la dreapta element cu element
.\ Impartire la stanga element cu element
Functii de aproximare a numerelor
Aceste functii pot fi aplicate unor scalari sau element cu
element unor vectori sau matrici:
ceil – returneaza un nr. intreg rotunjit la cel mai apropiat numar
intreg spre infinit: ceil (5.2)= 6
fix - returneaza un nr. intreg rotunjit la cel mai apropiat numar
intreg spre 0: fix (-5.2)= -5
floor – returneaza un nr. intreg rotunjit la cel mai apropiat numar
intreg spre -infinit: floor (5.2)= 5
round – returneaza un nr. intreg rotunjit la cel mai apropiat numar
intreg: round(5.2)= 5
rem – returneaza restul impartirii argumentelor: rem(-5,2) =-1
mod – returneaza modulul restului impartirii argumentelor : mod(-
5,2)=1
rat – returneaza aproximarea unui nr. cu fractii rationale continue:
rat(5.2) = 5 +1/5
rats – returneaza aproximarea unui nr. cu fractii rationale
rats(5.2)=26/5
Functii de operare cu numere complexe
abs – calculeaza modulul numerelor complexe (valoare absoluta):
abs(3+4i)=5
angle – calculeaza faza numerelor complexe: angle(1+i)=0.7854
unwrap – calculeaza partea reala si imaginara a numerelor
complexe exprimate sub forma polara: unwrap(1+i) =1+i
conj – calculeaza conjugata complexa a numerelor complexe:
conj(3+i)=3-i
imag – calculeaza partea imaginara a numerelor complexe:
imag(3+5i) =5
real – calculeaza partea reala a numerelor complexe:
real(7+2i)=7
complex – construieste numere complexe daca se cunosc partea
reala si imaginara: complex(7,6)=7+6i
isreal – determina daca elementele matricilor sau vectorilor sunt
numere reale: isreal([2 3])=1
Functii putere, radical, exponentiala, logaritm
^ – ridicare la putere a numerelor sau a matricilor: 2^2=4
power – ridicare la putere a numerelor sau a matricilor
element cu element: power(2,2)=4
exp – calculeaza exponentiala: exp(2)=7.3891
log- calculeaza logaritmul natural:log(7.3891)=2
log2- calculeaza logaritmul in baza 2:log2(4)=2
log10- calculeaza logaritmul natural:log10(100)=2
pow2- calculeaza puterea lui 2 :pow2(5)=32
sqrt- calculeaza radicalul de ordinul 2 al numerelor:
sqrt(81)=9
Functii de matematica discreta
factor – intoarce un vector ce contine factorii primi ai unui nr n:
factor(39)= 3 13
factorial – calculeaza factorialul unui numar: factorial(4)=24
gcd – calculeaza cel mai mare divizor comun a doua numere:
gcd(115, 35)=5
lcm- calculeaza cel mai mic multiplu comun a doua numere:
lcm(115, 35)=805
primes- intoarce un vector ce contine numele prime mai mici decat
n: primes(7)= 2 3 5 7
isprime- determina daca elementele unui vector sau matrice sunt
numere prime: isprime([4 5 7])= 0 1 1
nchoosek- calculeaza combinari de n luate cate k: nchoosek(3,2)=3
perms- calculeaza toate permutarile posibile: perms([2,3])= 3 2 ;
23
Functii trigonometrice
Aceste functii pot fi aplicate unor scalari sau elementelor unor
vectori sau matrici. Unghiurile sunt considerate in radiani:
sin, asin, sinh, asinh – calculeaza sinusul, arcsinusul, sinusul
hiperbolic, arcsinusul hiperbolic a argumentului
cos, acos, cosh, acosh - calculeaza cosinusul, arcosinusul,
cosinusul hiperbolic, arcosinusul hiperbolic a argumentului
Tan, atan, tanh, atanh -calculeaza tangenta, arctangenta, tangenta
hiperbolica, arctangenta hiperbolica a argumentului
cot,acot,coth, acoth - calculeaza cotangenta, arcotangenta,
cotangenta hiperbolica, arcotangenta hiperbolica a argumentului
sec,asec,sech, asech- calculeaza secanta, arcsecanta, secanta
hiperbolica, arcsecanta hiperbolica a argumentului
csc,acsc, csch,acsh - calculeaza cosecanta, arcosecanta, cosecanta
hiperbolica, arc0secanta hiperbolica a argumentului
Taste ajutatoare in MATLAB
1. Tasta sageata in sus
>> y=sin(45)
>> y=sine(45)
3. Tasta ;
Stormy Attaway, Matlab, A Practical Introduction to
Programming and Problem Solving, 3rd Edition, 2013 Elsevier
Inc.
Calcul numeric-grafica-aplicatii M. Ghinea, V Fireteanu.
Mathlab. Ed. Teora 2001
http://www.mathworks.com/help/pdf_doc/matlab/getstart.pdf
http://www.mathworks.com/academia/student_center/tutorials/
launchpad.html
Documentatie Octave in format HTML
https://www.gnu.org/software/octave/doc/interpreter/
Curs 2
MATLAB
The Language of Technical
Computing
matrici/vectori/scalari
operatori relationali si logici
instructiuni de control
Baza structurilor de date - Matricea
Matlab-ul lucreaza numai cu un singur tip de obiecte
MATRICEA numerica rectangulara cu elemente reale
sau complexe, sau orice expresie Matlab.
Anm se acceseaza prin A(n,m) - elementele unei
matrici, elementul de la intersectia liniei n cu
coloana m (nu folositi i si j !).
Dimensiunea matricei e data de perechea (n x m).
Indicii incep de la valoarea 1.
Vectorii sunt asimilati :
vector linie – matrice cu o linie (1 x n)
vector coloana – matrice cu o coloana (n x 1).
v(k) – elementul de pe pozitia k din vector
Scalarii sunt asimilati matricilor cu o singura linie si o
singura coloana (1x 1).
Definirea matricilor
A= [1 2; 3 4]+i[5 6; 7 8] sau
A= [1+5i 2+6i; 3+7i 4+8i ]
Cu pas logaritmic
v = logspace( vmin, vmax, nr_puncte)
nr de elemente sunt distribuite logaritmic intre
[10vmin, 10vmax].
Accesarea elementelor. Operatorul :
A = diag(5:-1:1)
A= 6 0 1 0 1
1 4 1 0 1
1 0 4 0 1
0 0 0 2 0
0 0 0 0 1
Operatii matriceale
Adunarea A+ B
Scaderea A– B
Inmultirea A* B
Impartirea la dreapta A/B este echivalent cu A⋅B-1,
daca B este o matrice patratica inversabila
Impartirea la stânga A\B este echivalent cu A-1⋅B, daca
A este o matrice patratica inversabilă,
Ridicarea la putere A^B, A este matrice patratica si B
scalar sau invers, insa A si B nu pot fi simultan matrice
Transpunerea A' = AT
Operatii cu tablouri
Desfasurate dupa regulile calculului scalar, intre elemente
situate pe aceeasi pozitie. Cu exceptia operatiei de
transpunere, pentru celelalte operatii operanzii trebuie sa
aibe aceleasi dimensiuni sau unul dintre operanzi sa fie
scalar .
4 5 2
3 2 0
2 2 5
[n,m] = size(A) – returneaza dimensiunea matricei A:
n- nr de linii si m- nr de coloane
det(A) – returneaza determinantul matricei patratice A
rank(A) – returneaza rangul matricei A
inv(A) – returneaza inversa matricei patratice inversibile
A (inversa unei matrici se calculeaza si asa A^ (-1))
diag(A) – returneaza diagonala principala a matricei A.
conj(A) – returneaza conjugata matricei complexe A
Cateva functii Matlab pentru calcul vectorial
norm(v,p) – returneaza norma p a vectorului v
norm(v)- returneaza norma euclidiana(p=2) a vectorului
dot(v,w) – returneaza produsul scalar al vectorilor de
aceeasi lungime v si w. < u w >= |u| |w| * cos α
;
cross(v,w) – returneaza produsulvectorial al vectorilor v
si w, ( au cate 3 elemente)
sum(v) – returneaza suma elementelor vectorului v
length(v) – returneaza lungimea vectorului v, adica
numarul de elemente
Functii Matlab opereaza pe vectori
Aceste functii opereaza pe vectori (linie sau coloana).
Aplicate pe o matrice (m x n) - matricea interpretata in
maniera coloana x coloana - rezultatul fiind un vector
linie
max, min, sort, sum prod, median, mean, std, any,all
Interpretare linie x linie se obtine folosind transpusa:
exemplu: mean(A')'.
Operatori relationali
0 0 0 0 1 0
1 0 0 1 0 1
0 1 0 1 1 1
1 1 1 1 0 0
Ordinea operatiilor
() % paranteze
‘ ^ % transpusa si ridicare la putere
~ % negatia
* /\ % inmultirea si impartirea
+- % adunarea si scaderea
: % range
< % operatorii relationali
&& % and
|| % or
Operatori relationali si logici
Utilizati la crearea expresiilor logice
Ca date de intrare sunt acceptate doar datele numerice:
-valoarea logica „adevrat” (A) - orice numar diferit de 0
-valoarea logica “fals” (F) - valoarea 0
Datele de iesire nu pot fi decat numerele 1 sau 0,
interpretate ca fiind valorile logice A, respectiv F.
Operatorii relationali pot fi folositi pentru a compara:
tic
for ii = 1:2000
for jj = 1:2000
A(ii,jj) = ii + jj;
end
end
toc % Elapsed time is 12.357 seconds
tic
A = zeros(2000, 2000);
for ii = 1:size(A,1)
for jj = 1:size(A,2)
A(ii,jj) = ii + jj;
end
end
toc % Elapsed time is 2.261 seconds
Instructiunea while
Utilizata pentru repetarea unui set de instructiuni atat timp
cat o conditie specificata este adevarata.
while expresie
grup de instructiuni
end
Exista posibilitatea ca pentru o conditie data sa se cicleze
la infinit. Pentru a evita acest lucru este bine sa
introduceti un numar maxim de iteratii:
it=1;
itmax=1000;
while conditie & (it<itmax)
grup de instructiuni;
it=it+1;
end
Instructiunea while
Exemplu:ghicesc numarul
function[]=ghici(nr)
zic = input(‘Introduceti un nr mai mic ca 10: ’)
if (zic == nr)
disp(‘Felicitari!’)
end
end % trebuie sa rulez de mai multe ori functia
function[]=ghici(nr)
zic = input(‘Introduceti un nr mai mic ca 10: ’)
while (zic ~= nr)
zic = input(‘Introduceti un nr mai mic ca 10: ’)
end
disp(‘Felicitari!’)
end
Instructiunea while
function[s]=suma(v)
s=0;
k=1;
l=length(v);
while (v(k)>0)&(k<=l)
s=s+v(k);
k=k+1;
end
end
Instructiunea break
Iesirea fortata dintr-o bucla, inainte de terminarea ei, da
controlul primei comenzi de dupa end-ul buclei - pentru
ciclurile for sau while
Se recomanda a fi utilizata daca o conditie de eroare a fost
detectata
In cazul unor cicluri imbricate comanda iesirea din ciclul
cel mai interior
Exemplu: x = [1 12 NaN 7 8]
>> for ind=1:length(x)
if x(ind)==NaN
break
end
x(ind)=rem(x(ind-1),5);
end
>> x
Instructiunea break
Iesirea fortata dintr-o bucla, inainte de terminarea ei, da
controlul primei comenzi de dupa end-ul buclei - pentru
ciclurile for sau while
Se recomanda a fi utilizata daca o conditie de eroare a fost
detectata
In cazul unor cicluri imbricate comanda iesirea din ciclul
cel mai interior
Exemplu: inlocuiesc elementele vectorului cu restul
impartirii lor la 5 .
>>x = [1 12 NaN 7 8]
>> for ind=1:length(x)
if x(ind)==NaN
breakend
x(ind)=rem(x(ind),5) end
>> x
Exemple
function p=fbreak(v)
% iese fortat din ciclul la intalnirea unui 0 in vector
%daca nu exista elemente nule, treturneaza produsul lor
n=length(v);
p=1;
for k=1:n
if v(k)==0
disp('elemente nule')
break
else
p=p*v(k);
end
end
Exemple
Scrieti functia pentru a calcula suma primilor N+1 termeni a unei
serii geometrice.
gsum=∑ ∞n=0 an = 1/1-a
Cand N -> ∞ suma converge doar daca a<1
Generalizare:
function gsum = geomInf(a,N)
if(N==inf)
if(abs(a)>=1)
error('Serie geometrica divergenta.');
else
gsum=1/(1-a);
end
else
n=0:N;
gsum = sum(a.^n);
end
Vectorizarea codului – MATLAB fara bucle !!
MATLAB rapid pe operatii cu vectori si matrici si lent cu bucle!
Exemplu:
an = n, bn = 1000-�n ptr n = 1... 1000. Calculati
psum=∑ 1000n=1 an bn
a = 1:1000; b = 1000 - a;
psum=0;
for n=1:1000 %solutie proasta
psum = psum +a(n)*b(n);
end
M files
- ruleaza foarte rapid functiile Built -In in MATLAB
%Apelez functia
mexCallMATLAB(1,&rezultat,2,arg,"conv");
%Apelez functia
mexCallMATLAB(1,&rezultat,2,arg,"conv");
mxDuplicateArray
mexErrMsgTxt
mxMalloc
mxRealloc
mxCreateString
mxDestroyArray
mxFree
mxGetCell
mxGetData
…..
Bibliografie
Stormy Attaway, Matlab, A Practical Introduction to
Programming and Problem Solving, 3rd Edition, 2013 Elsevier
Inc.
Calcul numeric-grafica-aplicatii M. Ghinea, V Fireteanu.
Mathlab. Ed. Teora 2001
http://www.mathworks.com/help/pdf_doc/matlab/getstart.pdf
http://www.mathworks.com/academia/student_center/tutorials/la
unchpad.html
Documentatie Octave in format HTML
https://www.gnu.org/software/octave/doc/interpreter/
Bibliografie
Stormy Attaway, Matlab, A Practical Introduction to
Programming and Problem Solving, 3rd Edition, 2013 Elsevier
Inc.
Instructiuni Conditionate
Sumarul de la pagina 136
Exercitiile din capitolul 4 : 1, 6, 10, 16, 27, 30, 31
Bucle
Sumarul de la paina 183
Exercitiile din capitolul 5 : 1, 6, 7, 8, 9, 13, 40
Exercitiile din capitolul 10 : 1, 2, 6, 7
Curs 3
MATLAB
The Language of Technical
Computing
calcul simbolic
polinoame
sisteme de ecuatii liniare
reprezentari grafice
Aproximari numerice
In Matlab avem urmatoarele functii de aproximare numerica.
Precizia aproximarii poate fi adaptata.
inline - definirea functiei
>> g=inline('sin(x)./(sin(x)+cos(x)+4)')
fplot(numef,lm,specl) - graficul functiei utilizator, unde lm este un
vector cu 2 sau 4 valori indicand limitele pentru x si eventual y,iar
specl este specificatorul de linie acelasi ca la comanda plot.
fminbnd(numef,xmin,xmax)- determinarea valorii minime a unei
functii pe un interval, unde [xmin,xmax] indica intervalul in care
cautam valoarea minima.
fzero(numef, x0) -calculul zerourilor(radacinilor) unei functii,
calculeaza o radacina a functiei cea mai aproape de x0.
quad(numef,a,b)- calculul integralei definite, unde a si b sunt
limitele intre care se integreaza. Putem calcula integrale duble sau
triple cu functiile dblquad(numef, ax,bx,ay,by) sau
triplequad(numef,ax,bx,ay,by,az,bz).
Precizia solutiei
In Matlab, solutiile chiar date de formule exacte sunt intotdeauna
aproximative si de aceea este bine ca inainte de a determina
solutia sa calculam precizia solutiei.
F = 6.27376373225551 % mantisa
D = 307 % exponentul (power of ten)
ans = 6.273763732256170e+307
Datele numerice duc la rezultate efective, iar datele simbolice dau
un rezultat simbolic.
Forma simbolica este un rezultat exact in timp ce forma numerica
este un rezultat aproximativ (deoarece reprezentarea numerica are
un numar infinit de zecimale dupa virgula)
Exemplu: >> a=1/2+1/3
a =0.8333
>> b=sym(1)/sym(2)+sym(1)/sym(3)
b = 5/6
ezplot(f)- graficul expresiei f=f(x) in intervalul implicit
-2*pi < x < 2*pi.
Polinoame
Notatia utilizata la polinoame este una simbolica.
Matlab utilizeaza in calcule un vector ce are ca elemente
coeficientii monoamelor.
Ex :se foloseste vectorul p=[1 0 0 0 -5 4] pentru a
reprezenta polinomul: p=x5 - 5x + 4
Avem la stanga coeficientul monomului de grad maxim.
Avem coeficient zero pentru monoamele care lipsesc (cele
de grad 4, 3 si 2).
Numarul elementelor este cu 1 mai mare decat gradul
polinomului (adica 6, 5 fiind gradul polinomului+1).
Manipularea polinoamelor
In Matlab, manipularea polinoamelor se face prin intermediul mai
multor functii aplicate asupra vectorilor coeficientilor:
w=conv(u,v) - inmultirea a doua polinoame, unde u si v sunt
vectorii coeficientilor polinoamelor care se inmultesc, iar w este
vectorul coeficientilor polinomului produs.
[c,r]=deconv(p,q) - impartirea a doua polinoame,unde c este
vectorul coeficientilor catului, iar r este vectorul coeficientilor
restului.
roots(p) -determinarea radacinilor unui polinom
w=poly(v) -determinarea polinomului ale carui radacini sunt
elementele unui vector v
polyval(vcoef,x)-determinarea valorii polinomului reprezentat de
vectorul coeficientilor vcoef, intr-un punct x. (atentie! x poate fi si
un vector!)
w=polyder(p) -derivata polinomului p , unde w sunt coeficientii
rezultati.
Manipularea polinoamelor
Deseori avem nevoie sa determinam un polinom de un anumit grad
care sa aproximeze un set de date experimentale.
Una dintre metodele de aproximare este metoda celor mai mici
patrate (the least squares method)- in care polinomul de gradul n
trebuie generat:
yn(x)= a0xn+a1xn-1+...an-1x+an
astfel incat cei n+1 coeficienti aproximeaza cel mai bine datele
masuratorilor experimentale. n=1- aproximare lineara, n=2-
aproximare patratica etc.
In Matlab acesti coeficienti sunt calculati cu functia polyfit.
Pentru evaluarea acestei aproximari putem folosi functia polyval.
Manipularea polinoamelor
w=polyfit(x,y,n)-determinarea unui polinom de un anumit grad
care sa aproximeze un set de date experimentale in sensul
metodei celor mai mici patrate, unde w este vectorul coeficientilor
polinomului cautat, vectorii x si y sunt vectorii datelor
experimentale, iar n este gradul polinomului cautat.
respectiv,
Y = b * inv(A)
Rezolvarea sistemelor compatibile determinate
In Matlab, aceasta metoda nu necesita determinarea inversei
matricei coeficienţilor.
X=A\b
respectiv,
Y=b/A
Soluia cu operatorul / este mult mai rapida decat cu formula clasica
a inversarii, acest fapt devenind observabil atunci cand matricile
sunt de mari dimensiuni. Astfel pentru matrici de ordinul 1000
soluia / a fost de 400 ori mai rapida.
Rezolvarea sistemelor compatibile nedeterminate
X=A\b
respectiv,
Y=b/A
Tipul de linie poate fi unul din simbolorile:
- continua (implicit) , -- intrerupta, : puncte, -. linie-punct
Tipul marker-ului:
+ ( semnul +), o (cerc), * (asterisc), . (punct), x (cruce),
s (patrat), d (romb), p (pentagon), h (hexagon), ^ (triunghi
cu un varf in sus), v (triunghi cu un varf in jos), > (triunghi
cu un varf la dreapta), < (triunghi cu un varf la stanga)
Culorile pot fi urmatoarele simboluri:
r (rosu), g (verde), b (albastru), c (bleu), m (mov),
y (galben), k (negru), w (alb).
Reprezentari grafice in spatiu- 3D
In Matlab pot fi reprezentate grafic in spatiul 3D: curbe, suprafete
si corpuri 3-dimensionale. O parte din functiile Matlab destinate
reprezentarilor grafice 3D:
plot3(x,y,z, speclinie) - reprezentarea liniilor in spatiu, x,y,z sunt
vectorii ce definesc punctele de reprezentat, iar speclinie este un sir
de caractere intre ` ` reprezentand tipul liniei ce uneste punctele
definite de x si y, markerul cu care se reprezinta punctele definite de
x si y si culoarea liniei, toate in aceasta ordine.
mesh(x,y,z,c) - reprezentarea grafica a suprafetelor 3D sub forma
unei retele (“mesh”)
surf(x,y,z), surfl(x,y,z,s) - reprezentarea grafica a suprafetelor
pline, cu iluminare
contour(x,y,z) , contourf(x,y,z,v) – reprezentarea grafica doar a
liniilor de contur
fill3 - reprezentarea grafica spatiala a poliedrelor
cylinder (y,n), sphere(n), ellipsoid(xc,yc,zc,rx,ry,rz) -
reprezentarea grafica a unor corpuri tridimensionale
Functii auxiliare pentru reprezentari grafice
Cateva functii auxiliare ce pot controla proprietatile modului de
reprezentare:
title - inserarea unui titlu pentru reprezentarea grafica
axes, axis - controlul aparitiei si stabilirea lungimii unitatilor de
reprezentare pe axele sistemului de coordonate
xlabel, ylabel, zlabel - inserarea etichetelor axelor sistemului de
coordonate
text, gtext - plasarea unui text pe grafic la o anumita pozitie, sau
selectata cu mouse-ul.
hold- pastrarea graficului curent si al proprietatilor sale
subplot - impartirea ferestrei de reprezentare grafica in mai multe
regiuni grafice.
grid - suprapunerea unei retele de linii pe grafic
meshgrid -definirea sub forma de retea de puncte a domeniului de
reprezentare 3D a suprafetelor.
colormap - stabilirea sau returnarea matricei de culoare
shading- stabilirea modului de umbrire pentru suprafetele 3D
Bibliografie
Calcul numeric-grafica-aplicatii M. Ghinea, V Fireteanu.
Mathlab. Ed. Teora 2001
http://www.mathworks.com/help/pdf_doc/matlab/getstart.pdf
http://www.mathworks.com/academia/student_center/tutorials/
launchpad.html
Curs 1 HTML
Schimb de informatii -> calculatoarele sunt inter-conectate ->
retele de calculatoare.
Inter-retele sunt retele de calculatoare conectate intre ele
(retele de retele de calculatoare) – Internet.
DNS: Domain Name System: este un sistem folosit in Interent pentru a traduce
numele domeniilor (ex: www.romtelecom.ro) in adresa IP corespunzatoare.
Listeaza toate numele de domeniu ale routerelor prin care trec datele.
URLul
Afişează paginii Web
Solicită conectarea la server
BROWSER WEB SERVER WEB
Transmite fişierul
Browser de pe calculatorul client se conecteza la un server local (DNS)
Cere adresa IP a paginii de web respective
DNS intoarce clientului adresa IP a paginii respective, de exemplu 1.2.3.4
Clientul trimite o cerere sa afle ce calculator din Internet are adresa 1.2.3.4
Gateways sau Routers: directioneaza date, similar cu sistemul postal
Webserver-ul de pe calculatorul cu adresa 1.2.3.4 recunoaste cererea si trimite fisierul
paginii de web.
Transferul se realizeaza printr protocol de transfer: Hyper Text Transfer Protocol (HTTP)
In ce limbaj e scrisa o pagina de web ?
Incarcam in Browser o pagina oarecare
CTRL+U sau View/PageSource
HTML -codul sursa
HyperText inseamna text asociat cu link-uri – referiri
catre o noua pagina de web.
MarkupLanguage e un limbaj de comunicare in care text-
ul e asociat cu link-uri, imagini, tabele, liste etc.
CSS - Cascading Style Sheets limbaj folosit pentru a
descrie prezentarea – style unui document scris in HTML
Retineti ! HTML - scheletul CSS – hainele, machiajul
Cum edităm o Pagina de Web ?
Orice editor de text poate fi folosit pentru a crea pagini Web.
Unele editoare de text oferă mai multe facilități pentru verificarea erorilor,
colorarea sintaxelor și salvarea unor tipuri de scriere prin completarea
lucrurilor pentru dvs :
Sublime Text – foarte popular cu dezvoltatorii (necesită de curbă de învățare)
Notepad – peWindows PC
Visual Studio - pe Windows PC
TextEdit - pe Mac, dar asigurați-vă că salvați ca text simplu, nu ca fișier .rtf sau
.doc.
XCode - dezvoltatorii de Mac pot fi familiarizați cu XCode
BlueGriffon este un editor de conținut WYSIWYG ("Ceea ce vezi este ceea ce
primești") pentru World Wide Web. Powered by Gecko, motorul de randare al
Firefox, este o soluție modernă și robustă de editare a paginilor Web în
conformitate cu cele mai recente standarde Web.
Atom este un alt editor de platforme, creat de GitHub.
Vim sau Emacs sunt editorae excelente pe care Web-ul a fost construit, dar dacă
nu sunteți deja familiarizat cu acestea, nu este timpul să încerca ți.
Editoare Online
http://code.tutsplus.com/tutorials/javascript-tools-of-the-trade-jsbin--net-36843)
Rețineți că este întotdeauna mai bine să vă conectați (este gratuit) dacă nu dori ți
să pierdeți contribuția / munca personală.
Editoare Online
CodePen - https://codepen.io/ este un editor de cod HTML, CSS, JavaScript
cu care previzualizări codul în browser. Ajută la testarea dispozitivelor
încrucișate, programarea în pereche.
https://www.sitepoint.com/cool-things-codepen-javascript/
– Start→Programs→Accessories→Notepad
– Introduceţi textul.
– Daca salvam fisierul cu numele index.html, devine pagina default a
browser-ului accesand-o prin double click. Putem salva fisierul si sub alt
nume, dar cu extensia .html sau .htm
sau
Cu ajutorul editoarelor HTML precum Visual Studio, Homesite, Adobe
Golive, Microsoft Frontpage, Macromedia Dreamweaver (aplicaţia cea mai
apreciata de profesionisti), CoffeeCup HTML Editor, Netscape Composer.
<!DOCTYPE html>
<html>
<head> <!-- Acesta e antetul doar, cateva
etichete sunt permise in aceasta parte -->
<title> Titlul documentului </title>
</head>
<body> <!--Continutul actual al paginii, text,
imagini, link-uri, tabele -->
</body>
</html>
Tag-ul comentariu
XHTML elementele trebuie inchise corect (s-a adaugat un spatiu
liber inainte />)
XHTML documentul trebuie sa aiba un singur element radacina
<html>
XHTML elementele trebuie sa fie scrise cu litere mici
XHTML elementele trebuie sa fie “properly nested” corect
imbricate
XHTML numele atributelor trebuie scrise cu litere mici (width),
iar valorile atributelor intre “” . Minimizarea atributelor e
interzisa(<option selected=”selected”/>,
<input disabled=”disabled” /> )
XHTML impatit in 32 Module- seturi bine definite de elemente ce
pot fi folosite separat in diverse aparate mici sau aplicatii mai
complexe.
W3C Validare
De peste 15 ani, W3C a dezvoltat și găzduiește unelte gratuite și
open source folosite în fiecare zi de milioane de dezvoltatori web și
designeri web:
Validatorul W3C https://validator.w3.org/ verifică validitatea
marcării diferitelor formate de documente web, cum ar fi HTML
https://validator.w3.org/docs/help.html#validation_basics
Exemplu HTML4:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01
Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
HTML -tags
Tag-uri/etichetele:
<numeTag> continut </numeTag>
cuvinte cheie sau NumeTag, delimitate de paranteze
unghiulare, de ex: <p>, <html>, <h1>
de obicei sunt in pereche, tag de inceput / deschidere
<body> si tag de sfarsit/inchidere </body>
Tag-ul de deschidere poate avea un set de atribute ce
adauga informatie:
Dacă în tag există mai multe atribute, ele trebuie separate prin
spaţiu.
<NumeTag NumeAtribut="Valoare">Textul afectat de tag
</NumeTag>
Exemplu:<img src="poza.gif" alt="Nu s-a gasit poza.gif" />
Intotdeauna se folosesc " " , doar in cazuri speciale folositi ' '
Exemplu: <p title='John "ShotGun" Nelson'> Porecla John </p>
HTML5 -atributul tag-ului
<!DOCTYPE html>
<html>
<head>
<title> Titlul documentului </title>
<meta charset="UTF-8">
</head>
<body> <!--Continutul actual al paginii, text,
imagini, link-uri, tabele -->
</body>
</html>
Setul de caractere HTML
Pentru a afisa corect limbajul HTML, browserul trebuie sa stie
ce set de caractere sa foloseasca:
Exemple:
<!DOCTYPE html>
<html>
<head>
<title> Cursul de informatica </title>
<meta charset="UTF-8">
</head>
<body> Tag-ul title este obligatoriu ptr orice HTML
deoarece: defineste titlul in tab-ul browser-ului,
furnizeaza titlul cand pagina e adaugata in Favorites,
afiseaza titlul in paginile rezultate in procesul de search
</body>
</html>
Structura elementul <head> </head>
Acest element contine informatii despre document (date despre
date), cum ar fi titlul său, cuvinte cheie utilizabile de motoarele de
cautare, descrierea documentului si style-sheet-uri asociate/utilizate
Aceste metadate nu sunt afisate de browser
Poate contine urmatoarele tags:
<title> titlul documentului
<link> defineste relatiile documentului propriu-zis cu alte
documente auxiliare
<base> defineste o adresa de default si un default target
(adica unde sa se deschida link-ul) pentru toate link-
urile dintr-o pagina
<meta> defineste un set de „metadate“=date auxiliare
utilizate in diverse alte scopuri: cuvinte cheie, autor,)
<script> defineste un script client-side (secventa de
instructiuni ce se executa în client)
<style> defineste stilurile de document (style-sheet) folosite
in document
Structura - elementul <body> </body>
Elementele ce apar în corpul unui document sunt de tip bloc ,
tip inline sau tip nedefinit (pot fi atat inline cat si block).Tipul
elementului defineste modul de afisare.
Elemente de tip bloc:
întotdeauna ocupa întregul spațiu disponibil pe ecran
continutul elementului pe o linie noua
Structura - elementul <body> </body>
Elementele de tip bloc :
-containere de text:
<main>, <article>, <aside>, <footer>, <header>
<p> definirea unui paragraf
<div>definirea unei diviziuni logice de text
<pre>definirea unui text preformatat
<blockquote>definirea unui citat de dimensiuni mari
<address> definirea unui informatii specifice de adresa
<br />
<button>, <canvas>, <caption>
-tip header <h1..h6>
-definesc (sau sunt strans legate de) liste <dd>, <dl> <dt>
-definesc tabelele
-alte elemente
<form> definirea unui formular pentru a introduce date
<frameset> definirea unui „frameset“
Structura - elementul <body> </body>
Elemente de tip inline:
întotdeauna ocupa doar spațiul necesar pe ecran
mai multe elemente pe o linie, dacă nu încap se face „ wrap” - unul
în continuarea celuilalt
Structura - elementul <body> </body>
Elemente de tip inline:
-de marcare logica a proprietatilor unei portiuni de text
<em> text scos in evidenta
<strong>text puternic scos in evidenta, etc
-de marcare fizică a proprietăţilor unei porţiuni de text
<i>italic
<b>bold
<s>subliniat
- de marcare a proprietatilor speciale ale unei portiuni de text
<a> anchor (ancoră, legătură hypertext)
<img> imagine
<bdo> redefinirea directiei in care se citeste textul
- de definire a controalelor din interiorul unui formular
<select> lista de selectie
<textarea> camp de introducere a unui text
<label> eticheta unui camp
<button> buton
<option> lista de selectie a unor optiuni de meniu
Elemente bloc vs. inline
Elementele de tip block intotdeauna adauga o linie noua si ocupa
toata latimea disponibila
<div>, <h1>...<h6>, <p> si <form>
Elemente inline ocupa spatiul minim necesar
<span>, <img>, <a>
Exemple:
<div style="background-color:#670067; color:white;
padding:20px;">
<h3> Literatura universala</h3>
<p> Alegeti o carte din literatura japoneza </p>
</div>
Tag heading <h1>..</h1> ... <h6>..</h6> - 6 nivele de titluri
Browsers adauga automat o linie goala inainte si dupa aceste tag-uri.
Exemplu:
<body>
<h1> CEO- Titlu de marimea cea mai mare</h1>
<h2> VP- …. </h2>
<h3 >Director - Titlu de marimea mijlocie</h3>
<h6> Secretara - Titlu de marimea cea mai mica</h6>
</body>
</html>
Atributele de alieniere “right”,”left“,”center” sunt depasite
Search engines folosesc tagul heading pentru a indexa structura
documentului HTML.
Tag-uri de tip bloc/ Containere de text
tag-ul Paragraf <p>
Tag-ul <p> si </p> face trecerea la un paragraf nou
Browser-ul adauga automat o linie goala inainte si dupa titlu.
<p> Continutul paragrafului </p>
In combinatie cu tag-ul <br/> se realizeaza trecerea la o linie noua
Exemplu:
<html>
<head><title>Exemplul de Paragraf</title></head>
<body>
<p>Un<br />a para<br />graf intrerupt</p>
<p> Numarul de linii dintr-un paragraf depinde de
marimea ferestrei browser-ului.Daca redimensionam fereastra browser-
ului, nr de linii ale paragrafului se schimba. </p>
</body>
</html>
Tag-uri de tip bloc/ Containere logice
tag-ul <div>
Tag-ul <div> si </div> folosit la formatarea şi delimitarea unui
bloc de text.
Browser-ul adauga automat o linie goala inainte si dupa titlu.
Atributul style afiseaza o sectiune/ bloc de text albastru-verzui
Exemplu:
<html>
<head><title>Exemplul de Div</title></head>
<body>
<h3>Un titlu oarecare</h3>
<p>Un paragraf oarecare</p>
<div style=" background-color:#66ff99;color:#3C00F4;">
<h3>Text scris in culoarea setata</h3>
<p>Textul e format dintr-un titlu si un paragraf.</p>
</div>
</body>
</html>
Tag-uri de tip bloc/ Text Preformatat tag-ul <pre>
Tag-ul <pre> si </pre> folosit la afisarea unui bloc de text ca in
codul sursa, toate spatiile goale vor fi afisate.
Folosit pentru afisarea codului programelor, a poeziilor
Exemplu:
<html>
<head><title>Text Preformatat</title></head>
<body>
<pre>
<b>A venit, a venit toamna </b>
<i>Acopera-mi inima cu ceva</i>
</pre>
</body>
</html>
Tag-uri de tip bloc/ Indentare tag-ul <blockquote>
Tag-ul <blockquote> si </blockquote> folosit la afisarea
citatelor lungi. Blocul de text e indentat cu un TAB fata de ambele
margini (stanga si dreapta) ale spaţiului disponibil (pagina, celula
de tabel, etc.)
Tag-ul <q> si </q> folosit la afisarea citatelor scurte (adauga „”)
Exemplu:
<html>
<head><title>Citate</title></head>
<body>
Textul urmator este indentat:
<blockquote>Acest bloc de text este indentat cu un TAB fata de
ambele margini ale paginii.</blockquote>
<q> Cogito ergo sum</q>
</body>
</html>
HTML5 elemente semantice
Elementele semantice funcționează identic ca cele de tip bloc, dar
cu noi posibilități de administrare și modificare a aplicației web –
se poate infera informație din pagina (puteți face search doar într-
un anumit element):
Exemplu:
<body>
<p> Aveți următoarea programare
<time datetime="2015-12-13T08:30:00-05:00">
<strong>12 Decembrie la 08:30 AM</strong>
</time>.
</p>
</body>
<figure>
<img src="img_pulpit.jpg" alt="The Pulpit Rock" width="304"
height="228" />
<figcaption>Fig1. - A view of the pulpit rock Norway.</figcaption>
</figure>
Indica doar cum anume sa fie utilizat textul marcat NU si cum
anume sa fie afiasat - asemanatoare tag-urilor folosite la
marcarea paragrafelor sau titlurilor.
Tag-urile stilurilor logice indica doar faptul ca textul este o
definitie, o bucată de cod sau doar o portiune de text care trebuie
scoasa in evidenţă in raport cu contextul.
Tag-urile stilurilor logice nu sunt invechite, dar obtinem efect
mai bun cu CSS
Tag-uri de tip inline/ tag-uri logice
<em>Text accentuat</em>
<strong>Text puternic accentuat</strong>
<dfn>Definitie (cuvant care va fi definit)</dfn>
<code>Secvenţă de cod afişată cu font fix (ex Courier)</code>
<samp>Esantion, similar cu code</samp>
<kbd> Text tastat de utilizator</kbd>
<var>Variabila</var>
<cite>Citatie</cite>
<acronym title=”Org Nat Unite”>O.N.U. </acronym> HTML4
<abbr>O abreviere </abbr> HTML5
<mark> Text marcat</mark>
<ins>Un text subliniat)</ins>
<del>Text marcat ca sters </del>
<sub>Text scris ca indice</sub>
<sup>Acesta e un exponent </sup>
Tag-uri de tip inline/ tag-uri fizice
Indica browser-ului cum anume sa fie afisat textul marcat.
Utilizarea stilurilor fizice are neajunsul ca daca browser-ul nu
poate afisa acel stil el il va substitui cu un altul.
Tag-urile stilurilor fizice nu sunt invechite, dar obtinem efect mai
bun cu CSS
<b> Text ingrosat (aldin)</b>
<i> Textul italic (cursiv) </i>
<u> Text subliniat </u>
<big> Text afisat cu un font mai mare decat restul </big>
<small> Text afisat cu un font mai mic decat restul </small>
<tt> Text monospatiat </tt>
Imbricare
<p><b>bold</b>, <i>italic</i>, <b><i>bold italic</i></b>,
<tt>teletype text</tt>, si <big>big</big> si
<small>small</small> text.
Legaturi/link-uri <a>
Legatura/link-ul (hyperlink-ul) - constructie de baza - poate fi
definita ca o conexiune de la o resursa Web la alta.
Legatura/link are doua capete zise si ancore - sursa/destinatie si o
directie. Ancora destinatie poate fi orice resursa Web :un
document HTML, un element din interiorul unui document
HTML, o imagine, un clip, un sunet, un program, etc.
Tag-ul <a> si </a> defineste un (hyper)link.
Implicit link-urile apar in toate browserele asa:
- un link ne-vizitat este subliniat si albastru
- un link vizitat este subliniat si purple
- un link active este subliniat si rosu
Atributele tag-ului <a> - partea I
name - marcheaza destinatia legaturii, folosit, de obicei, pentru
navigarea în cadrul aceleiaşi pagini.
href - URL-ul fisierului. Adresa poate fi absoluta sau relativa.
type indica tipul fisierului ( .html, audio, video etc. )
title furnizeaza o scurta descriere a fisierului.
target precizeaza fereastra in care va fi incarcat fisierul. Acest
atribut accepta urmatoarele valori:
"_blank" : fisierul se incarca intr-o noua fereastra, fara nume
"_self" : fisierul se incarcă in frame-ul/cadrul curent
"_top" : fisierul se incarca in intreaga fereastra a browser-ului
"_parent": fisierul se incarca in fereastra parinte a ferestrei care
contine link-ul
accesskey ia o valoare care este un caracter. Link-ul poate fi accesat
apasand simultan tasta "Alt" si tasta corespunzatoare caracterului
respectiv.
Atributele tag-ului <a> - partea II
Atributele shape si coords specifica forma si coordonatele unui
link. Ofera posibilitate utilizatorului sa specifice o harta de imagini
senzitive (client-side image maps, prin intermediul elementului
<object>), un numar oarecare de zone in interiorul unei imagini si un
set de documente/resurse catre care sa indice fiecare zona anterior
definita.
Aceste atribute accepta valorile:
-rect - regiune dreptunghiulară, coords="left, top, right, bottom"
-circle - cerc, coords="center-x, center-y, radius"
-poly - un poligon, coords="x1, y1, x2, y2, ..., xN, yN"
-default - specifica intreaga imagine, sau ce a ramas nedefinit
Atributele tag-ului <a> - partea III
Coordonatele sunt relativ la coltul stanga sus al imaginii. (0,0)
Coordonatele pot fi exprimate in pixeli sau procente.
O rază a unui cerc data ca procent este calculata relativ la cea mai
mica dimensiune a imaginii/obiectului (latimea sau inaltimea).
Daca doua sau mai multe regiuni se suprapun are prioritate cea
definita intîi.
Pentru a crea imagini de harti care merg in toate browserele folositi
elementul <area> inauntrul elementului <map>.
Tag-ului <map> <area> si <img>
Atributul usemap este asociat cu atributul name (sau id-ul)
elementului <map> si creaza o relatie de legatura intre elementul
<img> si <map>.
Exemplu:
<img src="planets.gif" width="145" height="126" alt="Planets"
usemap="#planetmap" />
<map name="planetmap">
<area shape="rect" coords="0,0,82,126" href="sun.htm"
alt="Sun">
<area shape="circle" coords="90,58,3" href="mercur.htm"
alt="Mercury">
<area shape="circle" coords="124,58,8" href="venus.htm"
alt="Venus">
</map>
Tag-ul <a>
Tag-ul <a> poate fi folosit in doua moduri
link destinatie
ancora
<a href="http://www.romlit.ro/" target=”_blank”>
htpp://www.google.com/</a>
Atentie! Link-ul apare http://www.google.com/ dar ancora e la
site-ul www.romlit.ro ce se deschide intr-o noua fereastra fara
nume
Mail to link: <a href="mailto:[email protected]">Send
e-mail</a>
Link-ul apare Send e-mail, si se initiaza protocolul de transfer
mailto si nu http.
Exemple Tag-ului <a>
O imagine ca link:
<ul type=”value”>
<li> Primul element al listei neordonate</li>
<li> Al doilea element </li>
<li> A1 treilea element</li>
</ul>
Listele neordonate pot contine text, line breaks, imagini, links, alte
liste, etc.
Liste Neordonate Imbricate
Se insereaza o noua lista in interiorul primei liste.
Exemplu:
<html>
<body>
<ul>
<li>Salate</li>
<li>Aperitiv</li>
<li>Ciorba
<ul>
<li>De burta</li>
<li>De perisoare</li>
</ul>
</li>
<li>Desert</li>
</ul>
</body>
</html>
Liste Ordonate <ol>
<ol type=”value”>
<li> Primul element al listei neordonate</li>
<li> Al doilea element </li>
<li> A1 treilea element</li>
</ol>
Listele ordonate pot contine text, line breaks, imagini, links, alte
liste, etc.
Liste Ordonate Imbricate
Se insereaza o noua lista in interiorul primei liste.
Se pot insera liste neordonate in interiorul celor ordonate si
viceversa.
Felul în care apar afişate listele imbricate diferă mult de la un
browser la altul.
Liste de definitii/ glosar <dl>
Fiecare element este introdus in lista cu ajutorul tag-ului <dt> -
termeni ce trebuie definiti, iar definitiile corespunzatoare se fac
cu tag-ul <dd>.
<dl>
<dt> Termen care urmează să fie definit </dt>
<dd> Definiţia termenului </dd>
<dt> Alt termen </dt>
<dd> Altă definiţie </dd>
</dl>
Elementele listei pot contine text, line breaks, imagini, links, alte
liste, etc.
Browserul numeroteaza elementele listei secvential cu numere sau
litere in functie de valoarea „A” „a” atributului type.
Exemplu legaturi tip ancora in liste
<h1> Meniu </h1>
<ol type=”I”>
<li><a href="#Sal">Salate</a></li>
<li>Aperitive
<ul type=”disc”>
<li>Calde</li>
<li>Reci </li>
</ul>
</li>
<li>Ciorbe</li>
<li><a name="desert">Desert</a></li>
</ol>
<h2><a name="Sal">Salate</a></h2>
<p>Salata Cezar, Salata greceasca, Salata asortata</p>
<h2>Aperitive</h2>
<p>Calde:<br/>Cascaval pane<br/>Creier pane<br/></p>
<h2><a href="http://www.lacena.ro/Meniu_Desert.html#desert">Desert</a></h2>
</body>
</html>
Atributele Standard
Exemplu
Formatarea tag-urilor a fost introdus cu HTML 4.0
Formatarea poate fi adaugata inline, intern si extern folosind un
fisier separat - style sheets CSS.
Inline
<Numetag style="atribut:valoare; atribut:valoare;”> Textul
afectat</NumeTag>
Exemplu:
<html>
<body style="background-color:#606099;">
<p style="font-family:times;color:green"> Text in Times si
verde</p>
</body></html>
Atributul Style- inline
Exemplu:
<html>
<body style="background-color:#3a3b3c;">
<h3 style="background-color:#ff0000;font-
family:arial;">Acesta e un titlu de capitol pe fond rosu si
cu font arial </h3>
<p style="background-color:#0010ff;text-align:right;font-
size:40px;”> Acesta e un paragraf pe fond bleu si
marimea fontului de 40pixeli</p>
</body>
</html>
<head>
<link rel="stylesheet" type="text/css" href="mystyle.css" />
</head>
Style invechit – ASA NU!
<!DOCTYPE html>
<html>
<head>
<title>HTML URAT</title>
</head>
<body bgcolor="lightblue">
<p align="right">
<font face="Consolas" size="62px" color="purple">
<strong>Demo</strong> <em>Text</em>
</font>
<center>
Sample Text
</center>
</p>
</body>
</html>
Bibliografie
HTML prin exemple – Tudor Gugoniu, Ed.Teora 2002
HTML, XHTML,CSS si XML prin exemple – Tudor Gugoniu,
Ed.Teora 2005
Crearea paginilor Web – Ned Suell, Ed. Teora 2002
Totul despre HTML 4 – Rick Darnell, Ed Teora.
http://www.w3schools.com/html/default.asp
Idei ?
Atributele standard
Stiluri – CSS
Frame-uri/Cadre
Atributele Standard
Exemplu
Formatarea tag-urilor a fost introdus cu HTML 4.0
Formatarea poate fi adaugata inline, intern si extern folosind un
fisier separat - style sheets CSS.
Inline
<Numetag style="atribut:valoare; atribut:valoare;”> Textul
afectat</NumeTag>
Exemplu:
<html>
<body style="background-color:#606099;">
<p style="font-family:Arial;color:#004c09;font-size:30px;"> Text
de culoare verde</p>
</body></html>
Atributul Style
Formatarea tag-urilor a fost introdus cu HTML 4.0
Formatarea poate fi adaugata inline, intern si extern folosind un
fisier separat - style sheets CSS.
Inline
<Numetag style="atribut:valoare; atribut:valoare;”> Textul
afectat</NumeTag>
Exemplu:
<html>
<body style="background-color:#606099; font-size:10px;">
<p style="font-family:Arial;color:#004c09;"> Text in Times
si verde</p>
</body></html>
Atributul Style- inline
Exemplu:
<html>
<body style="background-color:#3a3b3c; color:#5d0040;">
<h3 style="background-color:#ff0000;font-
family:arial;">Acesta e un titlu de capitol pe fond rosu si
cu font arial </h3>
<p style="color:#0010ff;text-align:right;font-size:40px;”>
Acesta e un paragraf pe fond bleu si marimea fontului de
40pixeli</p>
</body>
</html>
Exemplu:
<html>
<head>
<style type="text/css">
body {font-family:times; color: #969696; margin: .5in}
h1{font-family: arial; color:blue;}
.page1 {margin:2in; text-decoration:overline;padding:2in;}
.bckg {background-color: #57BCF4;}
</style>
</head>
<body>
<h1 class="page1">Timp liber</h1>
<p>Maine incepe vacanta.</p>
<p class="page1 bckg">Important e ca maine nu mergem la
scoala dar tot trebuie sa facem lectii.</p>
</body></html>
Style extern – in fisier CSS
Un fiser extern - style sheet este ideal cand formatarea se aplica mai
multor pagini. Modificand doar fisierul extern putem sa schimbam
formatarea intregului Web site.
Fiecare pagina de web trebuie sa faca referinta la fisierul extern
folosind tag-ul <link> .
Tag-ul <link> se afla intotdeauna in sectiunea head si are
atributele:
-rel – specifica relatia dintre documentul HTML si resursa, care
poate fi :contents, index, chapter, copyright, stylesheet etc.
-type – tipul MIME (Internet media type) al resursei referite
-href – adresa URL a resursei cu care se face legatura
<head>
<link rel="stylesheet" type="text/css" href="mystyle.css" />
</head>
Stilul external - CSS
Decupati etichetele si continutul lor, definiti clasele, salvati fisierul ca
*.css si faceti legatura in fisierul original (index.html) in sectiunea
<head> si dupa tag-ul <title>.
<head>
< title> Prima mea pagina cu CSS </title>
<link rel="stylesheet" type="text/css" href="mystyle.css" />
</head>
.page1
{ text-align: right; border: 2px solid black;}
. important
{ text-align: center;}
Stilul external - CSS
Puteți modulariza CSS-ul prin separarea fiecărui stylesheet ptr diverse
platforme.
Browser-ul va prelua numai fișierele CSS relevante pe baza interogării
atributului media.
Exemplu:
<head>
<link rel="stylesheet" href="base.css" />
<link rel="stylesheet" href="mobile.css" media="screen and (max-
width: 1000px)" />
<link rel="stylesheet" href="print.css" media="print" />
</head>
@font-face {
font-family: "Demo Font";
src: url(/https/ro.scribd.com/demofont.otf);
}
article {
font-family: "Demo Font", Arial, sans-serif;
}
Definirea stilurilor pentru Text
{line-height: 12px} - marimea spatiului dintre liniile textului.Se exprima in puncte
(pt), pixeli (px), inci (in), centimetri (cm) sau procente (%).
{text-indent: 2in}- stabileste distanta in puncte (pt), inci (in), centimetri (cm) si pixeli
(px).
{margin-top},{margin-right},{margin-bottom},{margin-left}-
stabilesc bordura din exteriorul casetei, spatiul dintre element si
elementele alaturate.Valorile sunt date in ordinea (sus, dreapta, jos,
stanga).
{padding-top},{padding-bottom},{padding-left},{padding-right}-
stabilesc spatiul inserat intre bordura casetei si continut.
Frame-urile nu sunt inca implementate in HTML 5
Declaratie <!DOCTYPE html > se schimba cu :
<frameset rows="*,200">
<frame src="frame1.html" scrolling="yes" />
<frame src="poza.gif" resize=''resize'' />
</frameset>
<audio controls>
<source src="horse.ogg" type="audio/ogg">
<source src="horse.mp3" type="audio/mpeg">
Browserul nu suporta audio.
</audio>
HTML prin exemple – Tudor Gugoniu, Ed.Teora 2002
HTML, XHTML,CSS si XML prin exemple – Tudor Gugoniu,
Ed.Teora 2005
Crearea paginilor Web – Ned Suell, Ed. Teora 2002
Totul despre HTML 4 – Rick Darnell, Ed Teora.
http://www.w3schools.com/html/default.asp
Curs 3
HTML defineste:
.pos1{position:fixed;top:30px;right:50px;}
position:absolute
Exemplu:
<p>Merg la teatru cu <span style="color:#675611;font-
weight:bold">Maria</span > si <span style="color:#f34455;font-
size: 150%">Vasile</span> Popescu</p>
Exemplu <span>
<span style="cursor:auto">auto</span><br>
<span style="cursor:crosshair">crosshair</span><br>
<span style="cursor:default">default</span><br>
<span style="cursor:e-resize">e-resize</span><br>
<span style="cursor:help">help</span><br>
<span style="cursor:move">move</span><br>
<span style="cursor:pointer">pointer</span><br>
<span style="cursor:progress">progress</span><br>
Elementul <span>
<head><style>
span {
float: left;
width: 0.7em;
font-size: 400%;
font-family: Algerian;
line-height: 80%;
}
</style></head>
<body>
<p><span>T</span>text text text text texttext texttext texttext</p>
selector.class:pseudo-class {property:value;}
Combinat cu Pseudo-element :
selector::pseudo-element {property:value;}
Exemplu: afiseaza prima litera a tuturor paragrafelor in rosu.
p::first-letter {color:#ff0000; font-size:200%;}
<p>Un film bun</p>
<p> Merg la NY</p>
Exemplu Pseudo-classe / Pseudo-element
<!DOCTYPE html>
<html>
<head>
<style type=”text/css”>
p i:first-child {color: #007700;}
</style>
</head>
<body>
<p>Merg la <i>teatru</i>. Merg la <i>film</i>. </p> </br>
<p>Merg la<i>restaurant</i>.Merg la <i>sala</i></p>
</body>
</html>
Numele CLASS-ei
document.getElementsByClassName("nume_class");
<html> <body>
<h1>Imagistica Medicala</h1>
<p id="pImg"> Tipuri de aparate medicale</p>
<div id="divCT"> Computer Tomograf</div>
<script>
document.getElementById("pImg").innerHTML="Buna ziua!";
document.getElementById("divCT").innerHTML="Ce faci ?";
</script>
</body></html>
Functii JavaScript
function numele_functiei()
{
cod/declaratii JavaScript;
}
Nu sunt executate de catre JavaScript
// pentru o singura linie
//document.getElementById("myH1").innerHTML="Welcome!";
var i=5; // declar variabila i si ii asignez valoarea 5
/* */ pentru un bloc de text/declaratii
Cum adaug declaratiile JavaScript
<script> si </script>
Declaratiile JavaScript pot fi in sectiunea <body> sau in
sectiunea <head> si/sau in ambele sectiuni din pagina HTML
Pot fi nenumarate tag-uri <script> in pagina HTML
Scripturile pot fi in fisiere externe, intotdeauna cu extensia .js
Fisierele externe contain cod care poate fi utilizat de mai multe
pagini web.
<script src="myScript.js"></script>
Manipularea elementelor in JavaScript
innerHTML - inlocuieste continutul
--depana JavaScript
fN+sN
sN-fN
fN= = 3;
fN+=2;
sN-=1;
Exemplu:
<button onclick="myPar('Vasile','Vasilica')">Try it</button>
<script>
function myPar(tata,mama)
{
alert("Parintii mei " + tata + ", si " + mama);
}
</script>
<script>
function myFct()
{
var x=455;
return x
}
</script>
var myX=myFct();
document.getElementById("suma").innerHTML=myFct();
Variabile in JavaScript
Variabilele declarate cu var in functii sunt variabile LOCALE,
pot fi folosite doar in acea functie. Variabilele LOCALE sunt
sterse dupa executia functiei
Variabilele declarate in afara functiilor sunt GLOBALE, toate
scripturile si functiile din pagina HTML le pot accesa. Variabilele
GLOBALE sunt sterse cand se inchide pagina HTML
Daca se asigneaza o valoare unei variabile care nu a fost
declarata, ea devine GLOBALA, chiar daca se afla in interiorul
unei functii
x=6;
Operatori in JavaScript
De asignare:
= x=y x=y
+= x += y x = x + y
-= x -= y x = x - y
*= x *= y x = x * y
/= x /= y x=x/y
%= x %= y x = x % y
Aritmetici:
+ , - , * , / , % (modul) , ++ (increment), -- (decrement)
Logici:
< , <=, > , >=, ? (operator conditional)( a ? b : c)
if (zi > 5) {
mesaj = "Weekend placut!";
} else {
mesaj = "Bine ați venit la școala!";
}
Instructiuni de control in JavaScript
if (zi > 5) {
mesaj = "Weekend placut!";
} else if (zi< 2) {
mesaj = "E ziua de luni!";
} else {
mesaj = "Bine ați venit la școala!";
}
Instructiuni de control in JavaScript
Buclele pot executa un bloc de cod de mai multe ori.
Buclele sunt folosite dacă doriți să executați același cod de mai
multe ori, dar de fiecare dată cu o valoare diferită.
var sum = 0;
var nr = [4, 9, 16, 25];
function increment(item, index) {
sum += item;
}
numbers.forEach(increment);
alert(sum);
Tipuri de Date in JavaScript
String var nume=”Gheorghe”, var p='Fun Store';
Array
var cul=new Array();
cul[0]="Rosu";
cul[1]="Verde";
cul[2]="Alb"; sau asa
var cul=new Array("Rosu","Verde","Alb"); sau asa
var cul=["Rosu","Verde","Alb"];
Null var bani=null;
Undefined var x;
Obiecte in JavaScript
function checkTime(i)
{
if (i<10)
{
i="0" + i;
}
return i;
}
</script>
</head>
<body onload="startTime()">
<div id="txt"> Atat e ora</div>
</body>
</html>
Exemplu JavaScript: Ce zi e azi?
<body><p id="demo">Afiseaza ziua </p>
<button onclick="ziua()">Ce zi e azi?</button>
<script>
function ziua()
{
var d = new Date();
var zi=new Array(7);
zi[0]="Duminica";
zi[1]="Luni";
zi[2]="Marti";
zi[3]="Miercuri";
zi[4]="Joi";
zi[5]="Vineri";
zi[6]="Sambata";
var x = document.getElementById("demo");
x.innerHTML=zi[d.getDay()];
} </script></body>
JavaScript – schimbarea stilurilor CSS
document.getElementById(id).style.property=new style
<body>
<p id="p1">Hai la film!</p>
<p id="p2">Hai la teatru!</p>
<h1 id="id3">Hai la restaurant!</h1>
<script>
document.getElementById("p2").style.color="blue";
document.getElementById("p2").style.fontFamily="Arial";
document.getElementById("p2").style.fontSize="larger";
</script>
<button type="button"
onclick="document.getElementById('id3').style.color='red' ">
Click Me!</button>
</body> </html>
JavaScript – schimbarea stilurilor CSS
Proprietatile ptr background sunt :
background-color
background-image
background-repeat
background-attachment
background-position
Object.style.background=
"color image repeat attachment position"
<script>
function schimbaBackground()
{
document.body.style.background="#f3f3f3 url('Desert.jpg') no-repeat
right top";
} </script>
JavaScript – schimbarea stilurilor CSS
<script>
function displayBorder()
{
document.getElementById("ex1").style.border="thick solid blue";
}
</script>
JavaScript – exemplu <canvas>
<!DOCTYPE html>
<html>
<head>
<title>HTML Page</title>
<link rel="stylesheet" href="style.css" />
</head>
<body>
<canvas id="demoCanvas" width="800" height="400">
Test Canvas
</canvas>
<script src="script.js"></script>
</body>
</html>
Fișierul style.css :
canvas {
border-style: solid;
border-width: thick;
border-color: #FCA90F;
background-color: #C1D6CD;
}
JavaScript – exemplu <canvas>
Fișierul script.js :
var canvas = document.getElementById("demoCanvas");
var context = canvas.getContext("2d");
context.fillStyle = "#A9B0B3";
context.strokeStyle = "#746C73";
context.lineWidth = 5;
context.beginPath();
context.arc(160, 80, 70, 0, 2 * Math.PI); // metoda arc(x,y, raza, pct initial, pct final)
context.fill(); // metoda fill() umple cu o culoare cercul
context.stroke();
context.beginPath();
context.moveTo(650, 345);
context.lineTo(700, 350);
context.lineTo(665, 315);
context.stroke() ; // am desenat o linie care se termina cu o sageata
context.fillStyle = "#20293F";
context.strokeStyle = "#20293F";
HTML prin exemple – Tudor Gugoniu, Ed.Teora 2002
HTML, XHTML,CSS si XML prin exemple – Tudor Gugoniu,
Ed.Teora 2005
Crearea paginilor Web – Ned Suell, Ed. Teora 2002
Totul despre HTML 4 – Rick Darnell, Ed Teora.
http://www.w3schools.com/html/default.asp