SlideShare una empresa de Scribd logo
1 de 5
La instrucción if es, por excelencia, la más utilizada para construir estructuras de control
de flujo.
SINTAXIS
Primera Forma
Ahora bién, la sintaxis utilizada en la programación de C++ es la siguiente:


if (condicion)
   {
       Set de instrucciones
   }



siendo "condicion" el lugar donde se pondrá la condicion que se tiene que cumplir para
que sea verdadera la sentencia y así proceder a realizar el "set de instrucciones" o código
contenido dentro de la sentencia.


Segunda Forma
Ahora veremos la misma sintaxis pero ahora le añadiremos la parte "Falsa" de la
sentencia:


if (condicion)
   {
       Set de instrucciones             //PARTE VERDADERA
   }
else
   {
       Set de instrucciones 2           //Parte FALSA
   }



La forma mostrada anteriormente muestra la union de la parte "VERDADERA" con la
nueva secuencia la cual es la parte "FALSA" de la sentencia de decision "IF" en la cual
esta compuesta por el:
else
   {
       Set de instrucciones 2        //Parte FALSA
   }
la palabra "else" o "De lo contrario" indica al lenguaje que de lo contrario al no ser
verdadera o no se cumpla la parte verdadera entonces realizara el "set de instrucciones 2".


EJEMPLOS DE SENTENCIAS IF...
Ejemplo 1:
if(numero == 0) //La condicion indica que tiene que ser igual a Cero
    {
      cout<<"El Numero Ingresado es Igual a Cero";
    }


Ejemplo 2:
if(numero > 0) // la condicion indica que tiene que ser mayor a Cero
    {
      cout<<"El Numero Ingresado es Mayor a Cero";
    }


Ejemplo 3:
if(numero < 0) // la condicion indica que tiene que ser menor a Cero
    {
      cout<<"El Numero Ingresado es Menor a Cero";
    }


Ahora uniremos todos estos ejemplos para formar un solo programa mediante la
utilización de la sentencia "Else" e introduciremos el hecho de que se puede escribir en
este espacio una sentencia if ya que podemos ingresar cualquier tipo de código dentro de
la sentencia escrita después de un Else.
Ejemplo 4:


if(numero == 0) //La condicion indica que tiene que ser igual a Cero
   {
       cout<<"El Numero Ingresado es Igual a Cero";
   }
else
   {
        if(numero > 0) // la condicion indica que tiene que ser mayor a
Cero
        {
             cout<<"El Numero Ingresado es Mayor a Cero";
        }
        else
        {
           if(numero < 0) // la condicion indica que tiene que ser menor
a Cero
           {
              cout<<"El Numero Ingresado es Menor a Cero";
           }
        }
     }
EL ENUNCIADO if
Con la instrucción if tenemos el primer ejemplo de un enunciado condicional. Observe en
primera instancia la presencia de un bucle for con un enunciado compuesto que contiene
dos instrucciones if. Este es a su vez un ejemplo de instrucciones anidadas, está claro que
cada una de las instrucciones if será ejecutada 8 veces.

/* Ejemplo de los enunciados if e if-else */
# include <stdio.h>

int main()
{
   int valor;
   for(valor = 0 ; valor < 8 ; valor = valor + 1)
   {
      if(valor == 2)
      printf("Este mensaje se muestra solo cuando"
        "valor es igual a 2 n");
      if(valor < 5)
      printf("Este mensaje se muestra cuando"
        "valor que es %d es menor que 5n", valor);
      else
      printf("Este mensaje se muestra cuando"
        "valor que es %d es mayor que 4n", valor);
   } /* Fin del bucle */
   printf("Este mensaje se mostrara solo cuando finalice el bucle n");
   return 0;
}




Veamos el primer enunciado if, este empieza con la palabra clave if seguida de una
expresión entre paréntesis, si esta es evaluada a verdadero se ejecuta la instrucción que le
sigue, pero si es falso se brinca esta instrucción y continúa la ejecución en los siguientes
enunciados. La expresión "valor == 2" está simplemente preguntando si el valor de valor
es igual a 2, observe que se está utilizando un doble signo de igual para evaluar a
verdadero cuando valor vale 2, utilizar "valor == 2" tiene un significado completamente
diferente que explicaremos mas adelante.
La segunda instrucción if es similar a la primera excepto por la adición de la palabra
clave else en la línea 14, esto significa que si el enunciado entre paréntesis se evalúa a
verdadero se ejecuta la primera expresión, de lo contrario la instrucción que sigue a else
será ejecutada, por lo que una de las dos instrucciones será siempre ejecutada. Observe
además que el programa imprime dos mensajes diferentes cuando valor vale 2, esto es así
porque tenemos dos condiciones verdaderas cuando valor es 2, esto es, cuando valor es
exactamente 2 y a la vez es menor que 5. Compile este programa y observe su
funcionamiento.




¿Han pagado algún recibo en una máquina automática y se han preguntado cómo será el
programa que les devuelve el cambio? Lo más seguro es que no, pero pues resulta que el
profesor de Miguel Ángel le encargó un programa que simulara eso, en sus propias
palabras:
“Supón que una maquina de monedas de 10,5,2,1 y 50 centavos. Debes escribir un
programa que decida cuantas monedas dará de cambio, dando prioridad las de mayor
denominación. Debe recibir como entrada la cantidad de dar a cambio. Ejemplo: para
$40.50 será 4 de 10, 0 de 5, 0 de 2, 0 de 1 y 1 de 50 centavos.”




Así que el primer problema se presenta con la entrada ¿cómo hacer que el usuario
introduzca sólo cantidades como $50 o $43.50 y no cantidades como $23.45 o $9.70?
Lo que se me ocurrió es pedir la cantidad en una variable float (cambio), en otra variable
convertir esa cantidad a tipo int (cambioint). En ese proceso se perderá la parte decimal
del número, así que si la resta cambio – cambioint es igual a 0 o igual a 0.50, la cantidad
que introdujo el usuario es correcta.
La otra parte es sencilla, sólo se necesita ver si la variable cambio es mayor que 10. Si si,
se le restan 10 a la variable y se aumenta un contador. Luego se hace lo mismo con las
demás monedas.
Pero bueno, el programa es este:
1    #include<iostream>
2    using namespace std;
3
4    int main()
5    {
6        float cambio; int cambioint, m10=0, m5=0, m2=0, m1=0, m50c=0;
7        do
8        {
9            cout << "Cambio?: "; cin >> cambio;
10           cambioint = (int)cambio;
11       }while((cambio - cambioint) != 0 && (cambio - cambioint) != 0.50);
12       while(cambio != 0)
13       {
14           if(cambio>=10)
15           {
16               m10++;
17               cambio-=10;
18           }
19           else if(cambio>=5)
20           {
21               m5++;
22               cambio-=5;
23           }
24           else if(cambio>=2)
25           {
26               m2++;
27               cambio-=2;
28           }
29           else if(cambio>=1)
30           {
31               m1++;
32               cambio-=1;
33           }
34           else if(cambio>=0.5)
35           {
36               m50c++;
37               cambio-=0.5;
38           }
39       }
40       cout << m10 << ", " << m5 << ", " << m2 << ", " << m1 << ", " << m50c;
41   }
Solo le faltaría darle un poco de formato a la salida, pero pues ya es cuestión de gustos y
ya saben, cualquier duda aquí están los comentarios abajo.

Más contenido relacionado

La actualidad más candente

Ejemplo C++
Ejemplo C++Ejemplo C++
Ejemplo C++
David
 
Estructuras De RepeticióN
Estructuras De RepeticióNEstructuras De RepeticióN
Estructuras De RepeticióN
Regina Flores
 
Estructuras de control en Java
Estructuras de control en JavaEstructuras de control en Java
Estructuras de control en Java
quesada_diego
 
Practica2
Practica2Practica2
Practica2
carlos
 

La actualidad más candente (20)

Palindromos
PalindromosPalindromos
Palindromos
 
Estructura repetitiva for y while
Estructura repetitiva for y whileEstructura repetitiva for y while
Estructura repetitiva for y while
 
Ejemplo C++
Ejemplo C++Ejemplo C++
Ejemplo C++
 
Sentencia Condicional
Sentencia CondicionalSentencia Condicional
Sentencia Condicional
 
Líneas+de+código
Líneas+de+códigoLíneas+de+código
Líneas+de+código
 
Gabrielgonzalez
GabrielgonzalezGabrielgonzalez
Gabrielgonzalez
 
CICLO FOR
CICLO FORCICLO FOR
CICLO FOR
 
Estructuras De RepeticióN
Estructuras De RepeticióNEstructuras De RepeticióN
Estructuras De RepeticióN
 
Clase 6
Clase 6Clase 6
Clase 6
 
Repaso c
Repaso cRepaso c
Repaso c
 
Estructuras repetitivas(while, for, repeat)
Estructuras repetitivas(while, for, repeat)Estructuras repetitivas(while, for, repeat)
Estructuras repetitivas(while, for, repeat)
 
Estructura switch case
Estructura switch caseEstructura switch case
Estructura switch case
 
Estructuras de control en Java
Estructuras de control en JavaEstructuras de control en Java
Estructuras de control en Java
 
15 Curso de POO en java - estructuras repetitivas
15 Curso de POO en java - estructuras repetitivas15 Curso de POO en java - estructuras repetitivas
15 Curso de POO en java - estructuras repetitivas
 
DATOS LENGUAJE C
DATOS LENGUAJE CDATOS LENGUAJE C
DATOS LENGUAJE C
 
Chuleta de lenguaje C para principiantes
Chuleta de lenguaje C para principiantesChuleta de lenguaje C para principiantes
Chuleta de lenguaje C para principiantes
 
Diagramas De Flujo
Diagramas De FlujoDiagramas De Flujo
Diagramas De Flujo
 
Estructuras repetitivas
Estructuras repetitivasEstructuras repetitivas
Estructuras repetitivas
 
Bucles de Control Repetitivo Ciclos For
Bucles de Control Repetitivo  Ciclos ForBucles de Control Repetitivo  Ciclos For
Bucles de Control Repetitivo Ciclos For
 
Practica2
Practica2Practica2
Practica2
 

Destacado

Abc pruebas saber 3º 5º y 9º
Abc pruebas saber 3º 5º y 9ºAbc pruebas saber 3º 5º y 9º
Abc pruebas saber 3º 5º y 9º
INDEIPCO LTDA
 
Ejemplos de preguntas prueba de biologia 2010
Ejemplos de preguntas prueba de biologia 2010Ejemplos de preguntas prueba de biologia 2010
Ejemplos de preguntas prueba de biologia 2010
INDEIPCO LTDA
 
Socialismo, Socialismo nacional y Facismo
Socialismo, Socialismo nacional y FacismoSocialismo, Socialismo nacional y Facismo
Socialismo, Socialismo nacional y Facismo
Aaron Flores
 

Destacado (6)

May 2012 - Pueblo Chemical Agent-Destruction Pilot Plant Monthly Status Brief...
May 2012 - Pueblo Chemical Agent-Destruction Pilot Plant Monthly Status Brief...May 2012 - Pueblo Chemical Agent-Destruction Pilot Plant Monthly Status Brief...
May 2012 - Pueblo Chemical Agent-Destruction Pilot Plant Monthly Status Brief...
 
Putting the "C" in WCAG: accessibility for web writers
Putting the "C" in WCAG: accessibility for web writersPutting the "C" in WCAG: accessibility for web writers
Putting the "C" in WCAG: accessibility for web writers
 
Abc pruebas saber 3º 5º y 9º
Abc pruebas saber 3º 5º y 9ºAbc pruebas saber 3º 5º y 9º
Abc pruebas saber 3º 5º y 9º
 
Ejemplos de preguntas prueba de biologia 2010
Ejemplos de preguntas prueba de biologia 2010Ejemplos de preguntas prueba de biologia 2010
Ejemplos de preguntas prueba de biologia 2010
 
Una aproximación hacia a la comprensión de los modelos pedagógicos
Una aproximación hacia a la comprensión de los modelos pedagógicosUna aproximación hacia a la comprensión de los modelos pedagógicos
Una aproximación hacia a la comprensión de los modelos pedagógicos
 
Socialismo, Socialismo nacional y Facismo
Socialismo, Socialismo nacional y FacismoSocialismo, Socialismo nacional y Facismo
Socialismo, Socialismo nacional y Facismo
 

Similar a If

5.1 instruccion if-else
5.1 instruccion if-else5.1 instruccion if-else
5.1 instruccion if-else
SNPP
 
Sentencia de control
Sentencia de controlSentencia de control
Sentencia de control
Stalyn Cruz
 

Similar a If (20)

Sentencias
SentenciasSentencias
Sentencias
 
Sentencias
SentenciasSentencias
Sentencias
 
5.1 instruccion if-else
5.1 instruccion if-else5.1 instruccion if-else
5.1 instruccion if-else
 
Estructuras de control C++
Estructuras de control C++Estructuras de control C++
Estructuras de control C++
 
Manual de programación de Arduino
Manual de programación de Arduino Manual de programación de Arduino
Manual de programación de Arduino
 
Sentencia de control
Sentencia de controlSentencia de control
Sentencia de control
 
Programaciòn Estructurada
Programaciòn EstructuradaProgramaciòn Estructurada
Programaciòn Estructurada
 
Php
PhpPhp
Php
 
Estructuras de control
Estructuras de controlEstructuras de control
Estructuras de control
 
7. estructura condicional if
7.  estructura condicional if7.  estructura condicional if
7. estructura condicional if
 
3 condicionales y ciclos
3 condicionales y ciclos3 condicionales y ciclos
3 condicionales y ciclos
 
Parcial
ParcialParcial
Parcial
 
Presentación
Presentación Presentación
Presentación
 
Factorial en C++
Factorial en C++Factorial en C++
Factorial en C++
 
Estructuras de Control - Ivan Walkes Mc.
Estructuras de Control - Ivan Walkes Mc.Estructuras de Control - Ivan Walkes Mc.
Estructuras de Control - Ivan Walkes Mc.
 
Estructuras de Control
Estructuras de ControlEstructuras de Control
Estructuras de Control
 
Estructuras PseInt
Estructuras PseIntEstructuras PseInt
Estructuras PseInt
 
Estructuras De Control
Estructuras De ControlEstructuras De Control
Estructuras De Control
 
Acerca de los algoritmos de mezcla en cajeros automáticos
Acerca de los algoritmos de mezcla en cajeros automáticosAcerca de los algoritmos de mezcla en cajeros automáticos
Acerca de los algoritmos de mezcla en cajeros automáticos
 
Teoria
TeoriaTeoria
Teoria
 

Último

Criterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficiosCriterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficios
JonathanCovena1
 
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfCurso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Francisco158360
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
El Fortí
 
La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...
JonathanCovena1
 
PLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxPLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docx
lupitavic
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
zulyvero07
 

Último (20)

Medición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptxMedición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptx
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...
 
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdfGUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
 
Criterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficiosCriterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficios
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptx
 
Programacion Anual Matemática4 MPG 2024 Ccesa007.pdf
Programacion Anual Matemática4    MPG 2024  Ccesa007.pdfProgramacion Anual Matemática4    MPG 2024  Ccesa007.pdf
Programacion Anual Matemática4 MPG 2024 Ccesa007.pdf
 
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfCurso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
 
Unidad 3 | Metodología de la Investigación
Unidad 3 | Metodología de la InvestigaciónUnidad 3 | Metodología de la Investigación
Unidad 3 | Metodología de la Investigación
 
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcción
 
La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...
 
PLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxPLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docx
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
 
ORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptx
ORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptxORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptx
ORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptx
 
Sesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxSesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docx
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grande
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
 

If

  • 1. La instrucción if es, por excelencia, la más utilizada para construir estructuras de control de flujo. SINTAXIS Primera Forma Ahora bién, la sintaxis utilizada en la programación de C++ es la siguiente: if (condicion) { Set de instrucciones } siendo "condicion" el lugar donde se pondrá la condicion que se tiene que cumplir para que sea verdadera la sentencia y así proceder a realizar el "set de instrucciones" o código contenido dentro de la sentencia. Segunda Forma Ahora veremos la misma sintaxis pero ahora le añadiremos la parte "Falsa" de la sentencia: if (condicion) { Set de instrucciones //PARTE VERDADERA } else { Set de instrucciones 2 //Parte FALSA } La forma mostrada anteriormente muestra la union de la parte "VERDADERA" con la nueva secuencia la cual es la parte "FALSA" de la sentencia de decision "IF" en la cual esta compuesta por el: else { Set de instrucciones 2 //Parte FALSA } la palabra "else" o "De lo contrario" indica al lenguaje que de lo contrario al no ser verdadera o no se cumpla la parte verdadera entonces realizara el "set de instrucciones 2". EJEMPLOS DE SENTENCIAS IF...
  • 2. Ejemplo 1: if(numero == 0) //La condicion indica que tiene que ser igual a Cero { cout<<"El Numero Ingresado es Igual a Cero"; } Ejemplo 2: if(numero > 0) // la condicion indica que tiene que ser mayor a Cero { cout<<"El Numero Ingresado es Mayor a Cero"; } Ejemplo 3: if(numero < 0) // la condicion indica que tiene que ser menor a Cero { cout<<"El Numero Ingresado es Menor a Cero"; } Ahora uniremos todos estos ejemplos para formar un solo programa mediante la utilización de la sentencia "Else" e introduciremos el hecho de que se puede escribir en este espacio una sentencia if ya que podemos ingresar cualquier tipo de código dentro de la sentencia escrita después de un Else. Ejemplo 4: if(numero == 0) //La condicion indica que tiene que ser igual a Cero { cout<<"El Numero Ingresado es Igual a Cero"; } else { if(numero > 0) // la condicion indica que tiene que ser mayor a Cero { cout<<"El Numero Ingresado es Mayor a Cero"; } else { if(numero < 0) // la condicion indica que tiene que ser menor a Cero { cout<<"El Numero Ingresado es Menor a Cero"; } } }
  • 3. EL ENUNCIADO if Con la instrucción if tenemos el primer ejemplo de un enunciado condicional. Observe en primera instancia la presencia de un bucle for con un enunciado compuesto que contiene dos instrucciones if. Este es a su vez un ejemplo de instrucciones anidadas, está claro que cada una de las instrucciones if será ejecutada 8 veces. /* Ejemplo de los enunciados if e if-else */ # include <stdio.h> int main() { int valor; for(valor = 0 ; valor < 8 ; valor = valor + 1) { if(valor == 2) printf("Este mensaje se muestra solo cuando" "valor es igual a 2 n"); if(valor < 5) printf("Este mensaje se muestra cuando" "valor que es %d es menor que 5n", valor); else printf("Este mensaje se muestra cuando" "valor que es %d es mayor que 4n", valor); } /* Fin del bucle */ printf("Este mensaje se mostrara solo cuando finalice el bucle n"); return 0; } Veamos el primer enunciado if, este empieza con la palabra clave if seguida de una
  • 4. expresión entre paréntesis, si esta es evaluada a verdadero se ejecuta la instrucción que le sigue, pero si es falso se brinca esta instrucción y continúa la ejecución en los siguientes enunciados. La expresión "valor == 2" está simplemente preguntando si el valor de valor es igual a 2, observe que se está utilizando un doble signo de igual para evaluar a verdadero cuando valor vale 2, utilizar "valor == 2" tiene un significado completamente diferente que explicaremos mas adelante. La segunda instrucción if es similar a la primera excepto por la adición de la palabra clave else en la línea 14, esto significa que si el enunciado entre paréntesis se evalúa a verdadero se ejecuta la primera expresión, de lo contrario la instrucción que sigue a else será ejecutada, por lo que una de las dos instrucciones será siempre ejecutada. Observe además que el programa imprime dos mensajes diferentes cuando valor vale 2, esto es así porque tenemos dos condiciones verdaderas cuando valor es 2, esto es, cuando valor es exactamente 2 y a la vez es menor que 5. Compile este programa y observe su funcionamiento. ¿Han pagado algún recibo en una máquina automática y se han preguntado cómo será el programa que les devuelve el cambio? Lo más seguro es que no, pero pues resulta que el profesor de Miguel Ángel le encargó un programa que simulara eso, en sus propias palabras: “Supón que una maquina de monedas de 10,5,2,1 y 50 centavos. Debes escribir un programa que decida cuantas monedas dará de cambio, dando prioridad las de mayor denominación. Debe recibir como entrada la cantidad de dar a cambio. Ejemplo: para $40.50 será 4 de 10, 0 de 5, 0 de 2, 0 de 1 y 1 de 50 centavos.” Así que el primer problema se presenta con la entrada ¿cómo hacer que el usuario introduzca sólo cantidades como $50 o $43.50 y no cantidades como $23.45 o $9.70? Lo que se me ocurrió es pedir la cantidad en una variable float (cambio), en otra variable convertir esa cantidad a tipo int (cambioint). En ese proceso se perderá la parte decimal del número, así que si la resta cambio – cambioint es igual a 0 o igual a 0.50, la cantidad que introdujo el usuario es correcta.
  • 5. La otra parte es sencilla, sólo se necesita ver si la variable cambio es mayor que 10. Si si, se le restan 10 a la variable y se aumenta un contador. Luego se hace lo mismo con las demás monedas. Pero bueno, el programa es este: 1 #include<iostream> 2 using namespace std; 3 4 int main() 5 { 6 float cambio; int cambioint, m10=0, m5=0, m2=0, m1=0, m50c=0; 7 do 8 { 9 cout << "Cambio?: "; cin >> cambio; 10 cambioint = (int)cambio; 11 }while((cambio - cambioint) != 0 && (cambio - cambioint) != 0.50); 12 while(cambio != 0) 13 { 14 if(cambio>=10) 15 { 16 m10++; 17 cambio-=10; 18 } 19 else if(cambio>=5) 20 { 21 m5++; 22 cambio-=5; 23 } 24 else if(cambio>=2) 25 { 26 m2++; 27 cambio-=2; 28 } 29 else if(cambio>=1) 30 { 31 m1++; 32 cambio-=1; 33 } 34 else if(cambio>=0.5) 35 { 36 m50c++; 37 cambio-=0.5; 38 } 39 } 40 cout << m10 << ", " << m5 << ", " << m2 << ", " << m1 << ", " << m50c; 41 } Solo le faltaría darle un poco de formato a la salida, pero pues ya es cuestión de gustos y ya saben, cualquier duda aquí están los comentarios abajo.