fjtello / SQL-C-sharp

Common programming and coding tips and howtos
0 stars 0 forks source link

SQL [#bernoulli] #34

Open fjtello opened 7 years ago

fjtello commented 7 years ago

print 'Generación de secuencia de valores mediante una distribución de Bernoulli';

declare @longitudSecuencia as int; set @longitudSecuencia = 1000; declare @probabilidadExito as decimal(6, 4); set @probabilidadExito = 50; declare @casosFavorables as int; set @casosFavorables = 0;

declare @favorable as bit; declare @contador as int; set @contador = 0; declare @aleatorio as decimal(6, 5); declare @v as table (id int identity(1,1), aleatorio decimal(6,5), favorable tinyint);

while(@contador < @longitudSecuencia) begin set @contador = @contador + 1; set @favorable = 0; set @aleatorio = rand()

if(@aleatorio < (@probabilidadExito / 100.0)) set @favorable = 1;

SET @casosFavorables = @casosFavorables + @favorable;

insert into @v (aleatorio, favorable) values (@aleatorio, @favorable);

end

select @probabilidadExito probabilidadExito, 100.0 (@casosFavorables 1.0 / @longitudSecuencia) [% casosFavorables], (100.0 (@casosFavorables 1.0 / @longitudSecuencia)) / @probabilidadExito [Proximo a uno];

select * from @v order by aleatorio