Statistics/Basic: Difference between revisions
Content added Content deleted
(Added Algol 68) |
|||
Line 694: | Line 694: | ||
0.80: =============================== (9905) |
0.80: =============================== (9905) |
||
0.90: =============================== (9987) |
0.90: =============================== (9987) |
||
</pre> |
|||
=={{header|Amazing Hopper}}== |
|||
<syntaxhighlight lang="c"> |
|||
#include <basico.h> |
|||
#define TOTAL_BINES 10 |
|||
algoritmo |
|||
/* verifica y obtiene argumento: tamaño de muestra*/ |
|||
tamaño muestra=0 |
|||
obtener total argumentos |
|||
es distinto a '2', entonces{ terminar } |
|||
obtener parámetro numérico(2), mover a 'tamaño muestra' |
|||
/* establece la escala para desplegar barras */ |
|||
escala = 1.0 |
|||
si ' #(tamaño muestra > 50) ' |
|||
#( escala = 50.0 / tamaño muestra ) |
|||
fin si |
|||
/* Generar muestra de tamaño "tamaño muestra" */ |
|||
dimensionar ( tamaño muestra) matriz aleatoria entera ( 10, muestra ) |
|||
decimales '3' |
|||
/* Genera tabla de clases con 10 bines */ |
|||
tabla de clases=0 |
|||
bines(TOTAL_BINES, muestra), mover a 'tabla de clases' |
|||
/* Imprime tabla de clases */ |
|||
token.separador '"\t"' |
|||
imprimir '#(utf8("Tamaño de la muestra = ")), tamaño muestra,NL,NL,\ |
|||
#(utf8("Números entre 0 y 10\n\n")),\ |
|||
" --RANGO--\tM.DE C.\tFREC.\tF.R\t F.A.\tF.R.A.\n",\ |
|||
"-----------------------------------------------------\n"' |
|||
imprimir 'justificar derecha(5,#(string(tabla de clases))), NL' |
|||
/* Calcula promedio según tabla de clases */ |
|||
promedio tabla=0, FREC=0, MC=0 |
|||
ir a subrutina ( calcular promedio de tabla de clases ) |
|||
/* Calcula desviación estándar y varianza */ |
|||
desviación estándar=0, varianza=0 |
|||
ir a subrutina ( calcular desviación estándar y varianza ) |
|||
/* Calcula promedio de la muestra completa e imprime medidas */ |
|||
promedio muestra=0 |
|||
muestra, promediar, mover a 'promedio muestra' |
|||
imprimir ' "Media de la muestra = ", promedio muestra, NL,\ |
|||
"Media de la tabla = ", promedio tabla, NL,\ |
|||
"Varianza = ", varianza, NL,\ |
|||
#(utf8("Desviación estandar = ")), desviación estándar,NL' |
|||
/* Construye barras */ |
|||
tamaño barras=0 |
|||
#(tamaño barras = int(FREC * escala * 5)) |
|||
dimensionar (TOTAL_BINES) matriz rellena ("*", barras) |
|||
#(barras = replicate( barras, tamaño barras)) |
|||
/* arma histograma de salida */ |
|||
sMC=0 |
|||
#(sMC = string(MC)) |
|||
unir columnas( sMC, sMC, justificar derecha(5,#(string(FREC))), barras ) |
|||
/* Imprime histograma */ |
|||
token.separador '" "' |
|||
imprimir ( " M.C. FREC.\n-----------\n",\ |
|||
sMC,NL ) |
|||
terminar |
|||
subrutinas |
|||
calcular promedio de tabla de clases: |
|||
[1:filasde(tabla de clases), 3] coger (tabla de clases), mover a 'MC' |
|||
[1:filasde(tabla de clases), 4] coger (tabla de clases), mover a 'FREC' |
|||
borrar intervalo |
|||
multiplicar(MC,FREC), calcular sumatoria, dividir entre (tamaño muestra), |
|||
mover a 'promedio tabla' |
|||
retornar |
|||
calcular desviación estándar y varianza: |
|||
restar( MC, promedio tabla), elevado a '2', por (FREC), |
|||
calcular sumatoria, dividir entre(tamaño muestra), copiar en 'varianza' |
|||
calcular raíz, mover a 'desviación estándar' |
|||
retornar |
|||
</syntaxhighlight> |
|||
{{out}} |
|||
<pre> |
|||
$ hopper3 basica/estat.bas 100 |
|||
Tamaño de la muestra = 100 |
|||
Números entre 0 y 10 |
|||
--RANGO-- M.DE C. FREC. F.R F.A. F.R.A. |
|||
----------------------------------------------------- |
|||
0 1 0.500 12 0.120 12 0.120 |
|||
1 2 1.500 7 0.070 19 0.190 |
|||
2 3 2.500 9 0.090 28 0.280 |
|||
3 4 3.500 14 0.140 42 0.420 |
|||
4 5 4.500 14 0.140 56 0.560 |
|||
5 6 5.500 3 0.030 59 0.590 |
|||
6 7 6.500 8 0.080 67 0.670 |
|||
7 8 7.500 11 0.110 78 0.780 |
|||
8 9 8.500 7 0.070 85 0.850 |
|||
9 10 9.500 15 0.150 100 1.000 |
|||
Media de la muestra = 4.540 |
|||
Media de la tabla = 5.040 |
|||
Varianza = 8.969 |
|||
Desviación estandar = 2.995 |
|||
M.C. FREC. |
|||
----------- |
|||
0.500 12 ****************************** |
|||
1.500 7 ***************** |
|||
2.500 9 ********************** |
|||
3.500 14 *********************************** |
|||
4.500 14 *********************************** |
|||
5.500 3 ******* |
|||
6.500 8 ******************** |
|||
7.500 11 *************************** |
|||
8.500 7 ***************** |
|||
9.500 15 ************************************* |
|||
$ hopper3 basica/estat.bas 1000 |
|||
Tamaño de la muestra = 1000 |
|||
Números entre 0 y 10 |
|||
--RANGO-- M.DE C. FREC. F.R F.A. F.R.A. |
|||
----------------------------------------------------- |
|||
0 1 0.500 87 0.087 87 0.087 |
|||
1 2 1.500 94 0.094 181 0.181 |
|||
2 3 2.500 109 0.109 290 0.290 |
|||
3 4 3.500 109 0.109 399 0.399 |
|||
4 5 4.500 95 0.095 494 0.494 |
|||
5 6 5.500 99 0.099 593 0.593 |
|||
6 7 6.500 91 0.091 684 0.684 |
|||
7 8 7.500 100 0.100 784 0.784 |
|||
8 9 8.500 106 0.106 890 0.890 |
|||
9 10 9.500 110 0.110 1000 1.000 |
|||
Media de la muestra = 4.598 |
|||
Media de la tabla = 5.098 |
|||
Varianza = 8.235 |
|||
Desviación estandar = 2.870 |
|||
M.C. FREC. |
|||
----------- |
|||
0.500 87 ********************* |
|||
1.500 94 *********************** |
|||
2.500 109 *************************** |
|||
3.500 109 *************************** |
|||
4.500 95 *********************** |
|||
5.500 99 ************************ |
|||
6.500 91 ********************** |
|||
7.500 100 ************************* |
|||
8.500 106 ************************** |
|||
9.500 110 *************************** |
|||
$ hopper3 basica/estat.bas 10000 |
|||
Tamaño de la muestra = 10000 |
|||
Números entre 0 y 10 |
|||
--RANGO-- M.DE C. FREC. F.R F.A. F.R.A. |
|||
----------------------------------------------------- |
|||
0 1 0.500 1039 0.104 1039 0.104 |
|||
1 2 1.500 1014 0.101 2053 0.205 |
|||
2 3 2.500 1005 0.101 3058 0.306 |
|||
3 4 3.500 976 0.098 4034 0.403 |
|||
4 5 4.500 949 0.095 4983 0.498 |
|||
5 6 5.500 995 0.100 5978 0.598 |
|||
6 7 6.500 1039 0.104 7017 0.702 |
|||
7 8 7.500 1009 0.101 8026 0.803 |
|||
8 9 8.500 992 0.099 9018 0.902 |
|||
9 10 9.500 982 0.098 10000 1.000 |
|||
Media de la muestra = 4.479 |
|||
Media de la tabla = 4.979 |
|||
Varianza = 8.310 |
|||
Desviación estandar = 2.883 |
|||
M.C. FREC. |
|||
----------- |
|||
0.500 1039 ************************* |
|||
1.500 1014 ************************* |
|||
2.500 1005 ************************* |
|||
3.500 976 ************************ |
|||
4.500 949 *********************** |
|||
5.500 995 ************************ |
|||
6.500 1039 ************************* |
|||
7.500 1009 ************************* |
|||
8.500 992 ************************ |
|||
9.500 982 ************************ |
|||
$ hopper3 basica/estat.bas 100000 |
|||
Tamaño de la muestra = 100000 |
|||
Números entre 0 y 10 |
|||
--RANGO-- M.DE C. FREC. F.R F.A. F.R.A. |
|||
----------------------------------------------------- |
|||
0 1 0.500 10139 0.101 10139 0.101 |
|||
1 2 1.500 10025 0.100 20164 0.202 |
|||
2 3 2.500 9990 0.100 30154 0.302 |
|||
3 4 3.500 10021 0.100 40175 0.402 |
|||
4 5 4.500 9880 0.099 50055 0.501 |
|||
5 6 5.500 10054 0.101 60109 0.601 |
|||
6 7 6.500 9961 0.100 70070 0.701 |
|||
7 8 7.500 10144 0.101 80214 0.802 |
|||
8 9 8.500 9773 0.098 89987 0.900 |
|||
9 10 9.500 10013 0.100 100000 1.000 |
|||
Media de la muestra = 4.489 |
|||
Media de la tabla = 4.989 |
|||
Varianza = 8.264 |
|||
Desviación estandar = 2.875 |
|||
M.C. FREC. |
|||
----------- |
|||
0.500 10139 ************************************************** |
|||
1.500 10025 ************************************************** |
|||
2.500 9990 ************************************************* |
|||
3.500 10021 ************************************************** |
|||
4.500 9880 ************************************************* |
|||
5.500 10054 ************************************************** |
|||
6.500 9961 ************************************************* |
|||
7.500 10144 ************************************************** |
|||
8.500 9773 ************************************************ |
|||
9.500 10013 ************************************************** |
|||
</pre> |
</pre> |
||