Documente Academic
Documente Profesional
Documente Cultură
--Se da un nr. nat. n. Sa se obtina nr. m din n prin micsorarea cifrelor impare cu 1 si
--marirea celor pare cu 1
--ex: n = 25019 => m = 34108
--goto
inceput:
if @n=0 goto sfarsit
if @n%2=0 set @m=(@n%10+1)*@p+@m
else set @m=(@n%10-1)*@p+@m
set @n=@n/10
set @p=@p*10
goto inceput
sfarsit:print @m
--Se da un nr nat. Sa se det daca cifrele sale sunt in ordine crescatoare(nu strict)
--Pentru a nu pierde valoarea lui n vom utiliza o copie a sa (@m)
--goto
inceput:
if @n=0 goto sfarsit
if @n%2=0 set @m=(@n%10+1)*@p+@m
else set @m=(@n%10-1)*@p+@m
set @n=@n/10
set @p=@p*10
goto inceput
sfarsit:print @m
--CONTINUE
--Se da un nr nat n. Sa se det daca cifrele sale nenule sunt in ordine crescatoare (nu
strict)
--Pentru a nu pierde valoarea lui n vom utiliza o copie a sa (@m)
use MI2022dbStudentiUngureanuMIhai
select * from tNote
select avg(convert(decimal, nota)) from tNote where codCurs = 'POO'
--Sa se mareasca cu 1 notele la POO cat timp media notelor la POO este mai mica decat 8
declare @media decimal(4,2)
inceput:
select @media = avg(convert(decimal, nota)) from tNote where codCurs = 'POO'
print @media
if @media > 8
goto sfarsit
else
update tNote set nota = nota+1 where codCurs = 'POO' and nota<10
goto inceput
sfarsit: print 'sfarsit'
--Cat timp media notelor la engleza este mai mica decat 7,5 sa se mareasca nota
studentilor cu un punct
declare @media decimal (4,2)
--Sa se creeze tabelul tStudenti2 cu coloanele idstudent int identity, nume varchar(40),
cod int
CREATE TABLE tStudenti2
(
IDStudent int identity(1,1) primary key,
nume VARCHAR(40),
cod int
)
print @@version
declare @r int
select * from tStudenti2 where cod = '100002'
set @r = @@rowcount --nr de randuri afectate de ultima comanda
print @r
print @@servername
print @@error