Autor Tema: Ejercicio resuelto código C if then else condicionales en lenguajeC CU00530F  (Leído 2617 veces)

Dimitar Stefanov

  • Experto
  • *****
  • Mensajes: 598
    • Ver Perfil
Buenos días. Dejo una posible solución del ejercicio CU00530F del curso lenguajeC desde cero.

Citar
EJERCICIO

Un else puede ir seguido de un if dando lugar a lo que se conoce como una estructura else if. Un if seguido de if else equivale a decir “Si ocurre esto … haz esto … y si no comprueba si ocurre esto otro … Se pueden añadir tantos else if como se desee (y finalmente puede haber un else para contemplar el caso de que no se cumpla ninguna de las condiciones). Estudia este código y responde a las cuestiones indicadas más abajo:

Código: [Seleccionar]
#include <stdio.h>
// Ejercicios aprenderaprogramar.com
int main () {
   /* local variable definition */
   int a = 100;
   if( a == 10 ) {
      printf("Value of a is 10\n" );
   }
   else if( a == 20 ) {
      printf("Value of a is 20\n" );
   }
   else if( a == 30 ) {
      printf("Value of a is 30\n" );
   }
   else {
      printf("None of the values is matching\n" );
   }
   printf("Exact value of a is: %d\n", a );
   return 0;
}

Citar
a) Describe qué es lo que hace este programa detalladamente.

1. Incluimos la clase "stdio.h"
2. Abrimos el método main
3. Definimos y inicializamos la variable "a" con un valor 100.
4. Comprobamos si la variable "a" es igual a 10
5. En caso de que se cumpliera esta condición definimos que se imprima: "Value of a is 10"
6. Comprobamos si la variable "a" es igual a 20
7. En caso de que se cumpliera esta condición definimos que se imprima: "Value of a is 20"
8. Comprobamos si la variable "a" es igual a 30
9. En caso de que se cumpliera esta condición definimos que se imprima: "Value of a is 30"
10. Si no se cumpliera ninguna de las condiciones anteriores definimos que se imprima: "None of the values is matching"
11. En cualquier caso definimos que se imprima: "Exact value of a is: 100"
12. Para que el método sea una función definimos un valor de retorno que en nuestro caso sería 0. (return 0).

Citar
b) ¿Cuál es el resultado si definimos a con valor 20? ¿Cuál es el resultado si definimos a con valor 30? ¿Cuál es el resultado si definimos a con valor 40?

1. Si definimos a con valor 20 se imprimirá: "Value of a is 20"
2. Si definimos a con valor 30 se imprimirá: "Value of a is 30"
3. Si definimos a con valor 40 se imprimirá: "None of the values is matching"

Citar
c) Elimina el último else que aparece en el código. ¿Cuál es el resultado ahora si definimos a con valor 20? ¿Cuál es el resultado ahora si definimos a con valor 30? ¿Cuál es el resultado ahora si definimos a con valor 40? ¿Por qué obtenemos ahora estos resultados?

1. Si definimos a con valor 20 se imprimirá: "Value of a is 20"
2. Si definimos a con valor 30 se imprimirá: "Value of a is 30"
3. Si definimos a con valor 40 no se imprimirá nada.

Obtenemos estos resultados porque hemos eliminado la instrucción por defecto que estaba declarada con la instrucción "else". Es decir, se imprimirán sólo los mensajes relacionados con las condiciones contempladas, pero no existe una condición por defecto para imprimir un mensaje si no se cumpliera ninguna de las condiciones definidas.

* En todos los casos se imprimirán los mensajes que he dicho más la instrucción final del método main que es: "Exact value of a is: 100".

Gracias.
« Última modificación: 06 de Julio 2016, 14:02 por Mario R. Rancel »

Mario R. Rancel

  • Administrador
  • Experto
  • ********
  • APR2.COM
  • Mensajes: 1978
    • Ver Perfil
Buenas tardes, todo bien. Con ejercicio como este intentamos conseguir soltura en el análisis de código sin necesidad de ejecutarlo (aunque después lo ejecutemos para asegurarnos). Saludos.

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".