Tarea 4
1. ¿Qué errores de sintaxis tiene la siguiente sentencia?
if x > 25.0
y=x
else
y = z;
R//
if (x > 25.0)
y = x;
else
y = z;
2. ¿Qué valor se asigna a consumo en la sentencia if siguiente si velocidad es 120?
if (velocidad > 80)
consumo = 10.00;
else if (velocidad > 100)
consumo = 12.00;
else if (velocidad > 120)
consumo = 15.00;
R// La respuesta correcta es 14 ya que por cada 20 unidades e velocidad se le suman 2 unidades al
consumo
3. ¿Qué salida producirá el código siguiente cuando se inserta en un programa completo?
int primera_opcion = 1;
switch (primera_opcion + 1)
{
case 1:
cout << "Cordero asado\n";
break;
case 2:
cout << "Chuleta lechal\n";
break;
case 3:
cout << "Chuletón\n";
case 4:
cout << "Postre de pastel\n";
break;
default:
cout << "Buen apetito\n";
}
R//Para el primero aparece Chuleta lecha.
Para el segundo aparece escrito Chuletón y en la siguiente línea Postre de pastel, ya que case 3 no lleva
la orden break
4. ¿Qué salida producirá el siguiente código, cuando se inserta en un programa completo?
int x = 2;
cout << "Arranque\n";
if (x <= 3)
if (x != 0)
cout << "Hola desde el segundo if.\n";
else
cout << "Hola desde el else.\n";
cout << "Fin\n";
cout << "Arranque de nuevo\n";
if (x > 3)
if (x != 0)
cout << "Hola desde el segundo if.\n";
else
cout << "Hola desde el else.\n";
cout << "De nuevo fin\n";
R// Arranque
Hola desde el segundo if
Fin
Arranque de nuevo
De nuevo fin
5. Escriba una sentencia if-else que visualice la palabra Alta si el valor de la variable nota es mayor que
100 y Baja si el valor de esa nota es menor que 100.
R//
#include <stdio.h>
int main()
{
int nota;
printf(" Ingrese su nota: ");
scanf("%d", ¬a);
if (nota < 100)
printf(" Baja ");
else if (nota > 100)
printf("Alta");
return 0;
}
6. ¿Cuál es la salida de este segmento de programa?
int x = 1;
cout << x << endl;
{
cout << x << endl;
int x = 2;
cout << x << endl;
{
cout << x << endl;
int x = 3;
cout << x << endl;
}
cout << x << endl;
}
7. Escribir una sentencia if-else que clasifique un entero x en una de las siguientes categorías y escriba un
mensaje adecuado.
x < 0 o bien 0 ≤ x ≤ 100 o bien x > 100
R//
#include <stdio.h>
int main()
{
int x = 10;
if (x < 0)
printf("%d es negativo\n",x);
else if (x <= 100)
printf("0 <= x = %d <= 100\n", x);
else
printf("x = %d > 100\n", x);
return 0;
}
8. Escribir un programa que determine si un año es bisiesto. Un año es bisiesto si es múltiplo de 4 (por
ejemplo 1984). Sin embargo, los años múltiplos de 100 solo son bisiestos cuando a la vez son múltiplos
de 400 (por ejemplo, 1800 no es bisiesto, mientras que 2000 si lo es).
R//
#include <stdio.h>
int bisiesto( int x);
int main()
{
int x;
puts(" introduzca año entero \n");
scanf(" %d", &x);
if (bisiesto(x))
printf("%d es bisiesto\n", x);
else
printf (" %d no es un año bisiesto \n", x);
return 0;
}
int bisiesto( int x)
{
if (x % 400 ==0)
return 1;
else if (x % 100 == 0)
return 0;
else
return (x % 4 == 0);
}