En ninguno. Intenté buscar alguna sintaxis para que leyendo el pseudocódigo resulte obvio que significa y que sea fácil de recordar. Ahora que lo pienso creo (hace muucho que no lo uso) que vb hacia algo similar.
La idea es no usar operadores o símbolos arbitrarios, sino algo que parezca natural acorde a su significado. Si encuentro o me proponen alguna mejor idea respetando esta consideración, se puede analizar.
Last edit: Zaskar 2012-10-11
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Por otro lado mi úlitma pregunta a Zaskar iba en referencia la posibilidad de definir el tipo de los parámetros de entrada. Por lo que veo sólo se puede decir si pasan "Por Referencia" o "Por Valor", pero no el tipo. Quisiera saber si está en los planes de futuras versiones.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
También me parece bien lo de "retorna ....", pero no lo de poder retornar más de un valor (más allá de que complique la sintaxis, tampoco es una forma común de hacerlo en lenguajes reales). Respecto a los tipos de los argumentos, no implementé todavía una forma de especificar el tipo, porque cuando empecé con lo de subprocesos empecé por lo más básico, y la mayoría de los perfiles no obligan a definir tipos. Pero estaría bueno agregarlo como opcional y para eso escucho sugerencias respecto a la sintaxis.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Funcion stat(x)
Registro reg{ave,stdev}
Vector coeficientes[5] de Reales
n = long(x)
m = suma(x)/n
Para c=0 hasta n-1
coeficientes[c]=(x[c]-m)^2/n
FinPara
reg->ave = m
reg->stdev= raiz(suma(coeficientes))
Retornar reg
FinFuncion
Inicio
Vector values[5] de Reales
values ={12.7,45.4,98.9,26.6,53.1}
res <- stat(values)
Mostrar res->ave
Mostrar res->stdev
Fin
Claro que es necesario definir aparte las funciones long y suma para los vectores (las podes poner en un .psc aparte e importarlas con la instrucción Importar "path/al/archivo.psc"):
Funcion long(vec)
total=0
Para Cada e de vec
total = total +1
FinPara
Retornar total
FinFuncion
Funcion suma(vec)
total = 0
para cada e de vec
total = total + e
FinPara
Retornar total
FinFuncion
Last edit: mncarbone 2014-03-14
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
En ninguno. Intenté buscar alguna sintaxis para que leyendo el pseudocódigo resulte obvio que significa y que sea fácil de recordar. Ahora que lo pienso creo (hace muucho que no lo uso) que vb hacia algo similar.
La idea es no usar operadores o símbolos arbitrarios, sino algo que parezca natural acorde a su significado. Si encuentro o me proponen alguna mejor idea respetando esta consideración, se puede analizar.
Last edit: Zaskar 2012-10-11
Consulta:
¿Se pueden definir el tipo de los parametros de los subprocesos?
En la versión "rebel" acabo de implementarlo con la estructura:
Y luego se puede hacer:
En tu ejemplo: ¿Como se haria la asignación en el caso de esas "salidas multiples"?
Por otro lado mi úlitma pregunta a Zaskar iba en referencia la posibilidad de definir el tipo de los parámetros de entrada. Por lo que veo sólo se puede decir si pasan "Por Referencia" o "Por Valor", pero no el tipo. Quisiera saber si está en los planes de futuras versiones.
También me parece bien lo de "retorna ....", pero no lo de poder retornar más de un valor (más allá de que complique la sintaxis, tampoco es una forma común de hacerlo en lenguajes reales). Respecto a los tipos de los argumentos, no implementé todavía una forma de especificar el tipo, porque cuando empecé con lo de subprocesos empecé por lo más básico, y la mayoría de los perfiles no obligan a definir tipos. Pero estaría bueno agregarlo como opcional y para eso escucho sugerencias respecto a la sintaxis.
Creo que la sintaxis más coherente sería:
Y alernativamente, siguiendo el esquema actual:
Siendo optativo el uso de los tipos para los perfiles flexibles
Last edit: mncarbone 2014-03-13
También se puede en python:
Y en la shell de python:
Es que se usa un tipo de dato "tupla" (una estructura de datos compuesta similar a un vector)
En PSeInt "rebel edition" se pueden aprovechar los nuevos Registros.
Tu ejemplo sería:
Claro que es necesario definir aparte las funciones long y suma para los vectores (las podes poner en un .psc aparte e importarlas con la instrucción Importar "path/al/archivo.psc"):
Last edit: mncarbone 2014-03-14
Saludos y enhorabuena por el programa.
¿Se podría implementar la sobrecarga de funciones en PSeInt?
En la versión 20210609 no lo permite.
¿Sería complicado de hacer?