Cafecito
Imagen de portada
Imagen de perfil

Programación Desde Cero

Educación
0Seguidos
2Seguidores
Ayudame con un café

Algunos frameworks usados para automatización de pruebas

Algunos frameworks usados para automatización de pruebas
🐞 Hoy es el día del tester de software, ya que fue el 9 de septiembre de 1945 que se reportó el primer defecto (o “bug”) en una computadora.

💻 Y, como la automatización es una parte importante de la labor de un tester, veamos las características de algunos frameworks usados.

Desafío de razonamiento lógico número 5 (solución)

Desafío de razonamiento lógico número 5 (solución)
✅ La respuesta correcta es la c): 11.

✏️ Explicación:
Es necesario tener en cuenta que cada par se compone de un zapato izquierdo y uno derecho.
Sacando 10 zapatos de la caja, podría resultar que 5 de ellos fueran zapatos izquierdos de color negro y 5 zapatos derechos de color rojo. Por lo que es necesario sacar al menos 1 más (11 en total) para que, inevitablemente, se forme un par de zapatos del mismo color.
Ver más

Ejercicio de examen, resuelto - Analizar código C

Ejercicio de examen, resuelto - Analizar código C
Veamos un ejercicio de examen de la Universidad de Washington, con su resolución. En esta oportunidad se busca analizar el código de un programa escrito en C.

✏️ Explicación del código:
Las instrucciones #define se utilizan para crear macros. Una macro es un fragmento de código al que se le da un nombre y, cuando se usa ese nombre, se reemplaza textualmente por el código de la macro.
Las macros de este ejercicio tienen parámetros pero no son exactamente iguales a una función, ya que siempre se hace un reemplazo textual del código.
📍 Es decir que, donde dice FOO(a+b,c), debido a que FOO está definida como FOO(x,y) x + y, entonces x toma el valor de a+b mientras que y toma el valor de c. Haciendo un reemplazo textual nos queda a+b+c. Si a=2, b=3, c=5 finalmente nos queda 2+3+5.
📍 En el caso de BAR(a+b,c), al estar definida como BAR(x,y) y * x, entonces se reemplaza y por 5, mientras que x se reemplaza por 2+3, lo que nos deja con 5*2+3. Teniendo en cuenta la precedencia de los operadores, calculamos (5*2)+3 y nos da 13.
📍 En la última operación, BAR(FOO(a,c),BAR(b,b)), el reemplazo hace que quede BAR(2+5,3*3) que se expande luego a 3*3*2+5, lo cual nos da como resultado 23 (porque se ejecuta primero 3*3*2 y luego a eso se le suman 5).

💻 Ver el código en ejecución: https://repl.it/@programacionde1/EjUWCSE-374031512q2

En esta herramienta es posible ver las macros expandidas: hacer click dentro del código y presionar F1, luego buscar allí “Open shell” para abrir la consola shell. En ella, escribir lo siguiente para obtener el código pre-procesado: gcc -E main.c. Para la función main, mostrará algo como lo siguiente:

int main() {
int a = 2;
int b = 3;
int c = 5;
printf("%d\n", a+b + c);
printf("%d\n", c * a+b);
printf("%d\n", b * b * a + c);
return 0;
}
Ver más

¿Qué es un MeBiByte?

¿Qué es un MeBiByte?
¿Conocías la diferencia entre “MegaByte” y “MeBiByte”? 🧐

Es común hablar de “kilobytes”, “megabytes”, “gigabytes” cuando estamos refiriéndonos a cantidades grandes de bytes. Pero, en muchas de esas ocasiones, deberíamos decir “kibibyte”, “mebibyte” o “gibibyte”, cuando los números de los que hablamos son múltiplos de 1024 y no de 1000.

Fuente de la imagen: majordifferences.com