Tema 1

Exercitiul 1

	Pentru transformarea numarului dint-o baza in alta am folosit reprezentarea
acestuia sub forma de vector. Pentru inceput am inversat sirul sursa primit ca
parametru al functiei, apoi l-am intransformat intr-un vector de numere intregi
folosind codurile ascii. Folosind operatiile aritmetice aplicate asupra numerelor
mari (reprezentate sub forma de vector ca in cazul de fata) am transformat mai
intai numarul in baza 10 daca nu era deja si apoi din baza 10 in baza b2 data ca
parametru. In final am revenit la reprezentarea rezultatului sub forma de sir de
caractere.
	Fisiere sursa: baza.m si inmultire.m

Exercitiul 2

	Pentru a construi matricea in zigzag initializam matricea rezultat cu 0.
Parcurgem toate elementele de la 0 la n^2 - 1 si in acelasi timp ne deplasam cu
indicii i si j pe diagonalele matricii, atribuind elementului de pe acea pozitie
valoarea de la pasul respectiv. Se va face distinctia intre diagonalele pare si
cele impare, diferenta fiind directia de deplasare (la unele ne deplasam de sus
in jos, iar la celelalte invers).
	Fisiere sursa: zigzag.m

Exercitiul 3

	Pentru a genera arborele corespunzator codului Morse folosesc cell arrays.
In functia 'morse' generez arborele incepand de la ultimul nivel catre primul.
Pentru a codifica un caracter folosesc o functie recursiva de cautare care atunci
cand gaseste respectivul caracter intoarce codul lui. Pentru a deccodifica un
caracter urmez calea indicata de codul sau in arbore si returnez caracterul sau,
daca nu exista, caracterul '*'. Functiile care fac codificare/decodificare
multipla se folosesc de cele doua functii descrise mai sus, apelandu-le pentru
fiecare caracter primit. In cazul decodificarii multiple mai intai despart sirul
primit ca argument intr-un vector de siruri de caractere dupa spatiile din sir.
	Fisiere sursa: morse.m, morse_decode.m, morse_encode.m, cautare.m,
multiple_decode.m, multiple_encode.m

Exericitul 4

	Acest exercitiu reprezinta un joc X si 0 pe o tabla 3x3. Pentru salvarea in
memorie a tablei de joc am folosit un vector linie T. Initial acesta contine doar
spatii, urmand apoi sa se adauge X si 0. La inceput se prezinta instructiunile
jocului, iar apoi jucatorul alege caracterul cu care doreste sa joace. Daca alege
X va incepe jocul, iar in caz contrar va incepe calculatorul. Pentru a introduce
mutarea sa jucatorul va introduce o valoare de la 1 la 9, pozitiile corespunzatoare
fiind afisate in instructiuni. Cat timp mai exista loc liber pe tabla jucatorul
si calculatorul muta alternativ. In caz ca unul din ei castiga sau se umple tabla
se va afisa scorul dintre ei, iar jucatorul va fi intrebat daca doreste sa mai
joace, iar in caz contrar jocul se opreste. Pentru a juca eficient, calculatorul
verifica mai intai daca poate muta astfel incat sa castige, apoi daca poate bloca
jucatorul, iar apoi la plasa intr-unul din colturi, pe centru sau pe orice alta
poziti libera.  
	Fisiere sursa: joc.m, isWon.m, mutarePlayer.m, mutarePC.m, afisare.m,
freespace.m