PvasquezF / ArchivosPruebaOLC2

Aquí se van a almacenar archivos de pruebas para los proyectos
6 stars 32 forks source link

Dudas de cosas que se pueden o no en el proyecto. #53

Closed PvasquezF closed 3 years ago

PvasquezF commented 3 years ago

Aqui pueden poner sus dudas de lo que puede o no hacer el proyecto. Ejemplo:

¿Puedo hacer accesos a arreglo con valores booleanos?

const a = [1,2,3,4];
console.log(a[true]);

R. No, no es permitido.

CristianFrancisco85 commented 3 years ago

¿El acceso a array siempre es explicito?

Ej. let a:string[]=["Hola","Mundo",":)"]; let b:number=(2+2/2)-1; // 1

//Este acceso es facil de traducir con la tabla se simbolos let c:number=a[1];

//Este acceso no, ya que no se tiene el valor de b y una formula para mapeo lexicografico en arrays de strings tampoco se puede hacer en traduccion ya que si un string del arreglo cambia se perderia el orden let c:number=a[b];

erflod5 commented 3 years ago

¿El acceso a array siempre es explicito?

Ej. let a:string[]=["Hola","Mundo",":)"]; let b:number=(2+2/2)-1; // 1

//Este acceso es facil de traducir con la tabla se simbolos let c:number=a[1];

//Este acceso no, ya que no se tiene el valor de b y una formula para mapeo lexicografico en arrays de strings tampoco se puede hacer en traduccion ya que si un string del arreglo cambia se perderia el orden let c:number=a[b];

@CristianFrancisco85 No tenes el valor de b en tiempo de compilacion, pero si sabes la metadata de esa variable como

Por lo tanto, cuando haces ese acceso lo que haces en generar el codigo intermedio en donde accedes a esa variable y obtener el valor del arreglo en la posición ya definida. Para esto haces el uso de temporales, accesos al stack, etc.

En este proyecto NO TIENEN QUE EJECUTAR CODIGO, solo traducir a código intermedio.

EddieAlvarez01 commented 3 years ago

Puedo castear en 3D asi, solo para obtener algo mas preciso: t1 = (int)(t2/t15) o esto: t2 = (int) t3

erflod5 commented 3 years ago

Puedo castear en 3D asi, solo para obtener algo mas preciso: t1 = (int)(t2/t15) o esto: t2 = (int) t3 @EddieAlvarez01 Cual es el fin del uso de esas instrucciones?

EddieAlvarez01 commented 3 years ago

Puedo castear en 3D asi, solo para obtener algo mas preciso: t1 = (int)(t2/t15) o esto: t2 = (int) t3 @EddieAlvarez01 Cual es el fin del uso de esas instrucciones?

Solo la utilizo para separar la parte entera de la decimal y poder concatenar decimales mas facilmente

erflod5 commented 3 years ago

Puedo castear en 3D asi, solo para obtener algo mas preciso: t1 = (int)(t2/t15) o esto: t2 = (int) t3 @EddieAlvarez01 Cual es el fin del uso de esas instrucciones?

Solo la utilizo para separar la parte entera de la decimal y poder concatenar decimales mas facilmente

@EddieAlvarez01 Si, está bien

bchacon45 commented 3 years ago

¿Puedo castear los números de esta forma al insertarlos directamente en una operación? t6 = (double)42/(double)8;

erflod5 commented 3 years ago

¿Puedo castear los números de esta forma al insertarlos directamente en una operación? t6 = (double)42/(double)8;

@bchacon45 No