Fundamentos de Programacion - Unidad 4 control de flujo
-
Upload
jose-antonio-sandoval-acosta -
Category
Engineering
-
view
114 -
download
6
Transcript of Fundamentos de Programacion - Unidad 4 control de flujo
Ingeniería en Sistemas ComputacionalesFundamentos de Programación
Unidad IV: Control de Flujo
Este material de clase fue desarrollado para la asignatura Fundamentos de Programación clave SCD-1008, de la carrera de Ing. En Sistemas Computacionales, plan 2010.
ESTRUCTURAS CONDICIONALES EN C++
FUNDAMENTOS DE PROGRAMACIÓN
ESTRUCTURAS CONDICIONALESProposición If - Else• Esta proposición sirve para ejecutar ciertas sentencias de
programa, si una expresión resulta CIERTA ú otro grupo de sentencias, si aquella resulta FALSA. Su interpretación literal sería: SI es CIERTA tal cosa, haga tal otra, si no lo es sáltela.
• El caso más sencillo sería :if (expresión) {
sentencia ; }
FUNDAMENTOS DE PROGRAMACIÓN
• Cuando la sentencia que sigue al if es única no se requiere abrir llaves {}. La sentencia sólo se ejecutará si el resultado de "expresión" es verdadero, en caso contrario el programa salteará dicha sentencia, realizando la siguiente en su flujo.
• En casos más complejos, la proposición if puede estar seguida por un bloque de sentencias por lo que las llaves son obligatorias:
if (expresión){
sentencia 1;...sentencia n ;
}
FUNDAMENTOS DE PROGRAMACIÓN
Operadores lógicos
FUNDAMENTOS DE PROGRAMACIÓN
Ejercicio:
• Determinar si un alumno aprueba o reprueba un curso, sabiendo que aprobara si su promedio de 3 calificaciones es mayor o igual a 70; reprueba en caso contrario.
FUNDAMENTOS DE PROGRAMACIÓN
• El uso de else es optativo, y su aplicación resulta en la ejecución de una ó varias sentencias en el caso de que la expresión del if resulta FALSA. Su aplicación puede verse en el siguiente ejemplo:
if (expresión) { sentencia 1;...... sentencia n;
} else { sentencia 1;...... sentencia n;
}
FUNDAMENTOS DE PROGRAMACIÓN
4. Hacer un programa que lea dos números y los imprima en forma ascendente
FUNDAMENTOS DE PROGRAMACIÓN
Ejercicio:
• En un almacén se hace un 20% de descuento a los clientes cuya compra supere los $1000. ¿Cuál será la cantidad que pagara una persona por su compra?
FUNDAMENTOS DE PROGRAMACIÓN
• La función puts( ): escribe una cadena de caracteres y un carácter de nueva línea al final de la cadena en la salida estándar (monitor).
• Acepta como argumento una cadena (sin formato).
Sintaxis:puts (“cadena“);
FUNDAMENTOS DE PROGRAMACIÓN
Ejercicio:
• Hacer un programa que capture un base y altura de un triángulo y pregunte una de las siguientes opciones:
1) Área del Triángulo2) Perímetro del Triángulo3) Superficie del Triángulo
• Si el número capturado es distinto a los mencionados el programa termina.
FUNDAMENTOS DE PROGRAMACIÓN
Ejercicio:
• Un obrero necesita calcular su salario semanal, el cual se obtiene de la sig. manera:
• Si trabaja 40 horas o menos se le paga $16 por hora• Si trabaja mas de 40 horas se le paga $16 por cada una de
las primeras 40 horas y $20 por cada hora extra.
FUNDAMENTOS DE PROGRAMACIÓN
Ejercicio: Una empresa de bienes raíces ofrece casas de interés social, bajo las siguientes condiciones:
• Si los ingresos del comprador son menores de $8000 o igual el enganche será del 15% del costo de la casa y el resto se distribuirá en pagos mensuales, a pagar en diez años.
• Si los ingresos del comprador son mayores de $8000 el enganche será del 30% del costo de la casa y el resto se distribuirá en pagos mensuales a pagar en 7 años.
La empresa quiere obtener cuanto debe pagar un comprador por concepto de enganche y cuanto por cada pago parcial.
FUNDAMENTOS DE PROGRAMACIÓN
Tarea: Hacer un programa que calcule el Índice de Masa Corporal (IMC) de una persona bajo la siguiente fórmula:
IMC=peso(kg)/estatura M2 (metros al cuadrado)• Debe capturar: nombre, edad, género, peso en kilos y estatura en metros.• Al calcular el IMC mostrar al usuario la categoría correspondiente a su peso y
estatura:
FUNDAMENTOS DE PROGRAMACIÓN
Composición corporal Índice de masa corporal (IMC)Peso inferior al normal Menos de 18.50Peso normal 18.50 a 24.99Peso superior al normal 25.00 a 29.99Obesidad Más de 30.00
ITERACIONES O CICLOS EN C++
FUNDAMENTOS DE PROGRAMACIÓN
¿Qué es una ITERACIÓN o CICLO?
• Iteración se refiere a la acción de repetir una serie de pasos un cierto número de veces.
• En programación, Iteración es la repetición de una serie de instrucciones en un programa de computadora.
FUNDAMENTOS DE PROGRAMACIÓN
Estructuras Iterativas en C++
• Estructura while()
• Estructura do-while()
• Estructura for()
FUNDAMENTOS DE PROGRAMACIÓN
• El ciclo while es una de las tres iteraciones posibles en C++. Su sintaxis podría expresarse de la siguiente forma:
while(expresión){ proposición 1 ; ..... proposición n ;}
FUNDAMENTOS DE PROGRAMACIÓN
#include<stdio.h>#include<conio.h>main ( ){ int a , suma=0 , i=1 ; float promedio; while(i<=10) //las siguientes sentencias se ejecutarán mientras { cin >>a; //se un número, dentro del ciclo suma = suma + a ; // i sea menor a 20 i++; // equivale a i=i+1; } // termina ciclopromedio = (suma / 10) ; cout << “\n el promedio es; ” << promedio ; return 0;}
FUNDAMENTOS DE PROGRAMACIÓN
Ejemplo
Elementos que conforman el ciclo:
FUNDAMENTOS DE PROGRAMACIÓN
Variables de trabajo
Contador con valor inicial
Condición
Bloque de código a repetir
Cierre del ciclo
Incremento del contador
Ejercicio:
• Utilizando el ciclo while hacer un programa dibuje una línea horizontal en la pantalla desde la posición 1 hasta la posición 80;
FUNDAMENTOS DE PROGRAMACIÓN
Ejercicio:
• Utilizando el ciclo while hacer un programa que capture un número y despliegue en pantalla su tabla de multiplicar del 1 al 10;
FUNDAMENTOS DE PROGRAMACIÓN
Estructura do-while()
• Expresado en palabras, esto significa: ejecute las proposiciones, luego repita la ejecución mientras la expresión dé un resultado VERDADERO.
• La diferencia fundamental entre esta iteración y otras que existen en C++ es que el do-while se ejecuta siempre AL MENOS UNA VEZ, sea cual sea el resultado de expresión.
FUNDAMENTOS DE PROGRAMACIÓN
Sintaxis de la estructura do-while;
do { proposición 1 ; … proposición n ;} while (expresión) ;
FUNDAMENTOS DE PROGRAMACIÓN
#include<stdio.h>using namespace std;main( ){ int i=0 ; int a , suma=0 ; float promedio ; do { // comienza el ciclo cin >> a; suma + = a ; // reemplaza a suma = suma + a i++ ; // equivale a i=i+1; } while ( i < 10 ) ; //el ciclo se ejecuta, mientras i sea menor a 10 promedio = suma / 10; cout << “\n el promedio es: ” << promedio; return 0;}
FUNDAMENTOS DE PROGRAMACIÓN
Ejemplo
Variables de trabajo
Contador con valor inicial
Condición
Bloque de código a repetir
Cierre del ciclo
Incremento del contador
Ejercicio:
• Utilizando el ciclo do-while hacer un programa que despliegue en pantalla los caracteres imprimibles del código ASCII (del 33 al 255).
• Nota: para realizar este programa requieres convertir valores enteros a tipo char, además de utilizar la instrucción printf();
FUNDAMENTOS DE PROGRAMACIÓN
• Funciones printf ( ) y scanf( ): La función printf ( ) escribe datos formateados en la salida estándar (pantalla). La función scanf ( ) lee datos formateados de la entrada estándar (teclado).
Sintaxis: printf (“cadena de control”, lista de argumentos);scanf (“cadena de control”, &lista de argumentos);
Ejemplo:printf(“Nombre %s",&nombre);scanf("%f",&estatura);
FUNDAMENTOS DE PROGRAMACIÓN
Tabla de códigos de control y argumentosFUNDAMENTOS DE PROGRAMACIÓN
Ejercicio:
• Utilizando el ciclo do-while hacer un programa que calcule la media aritmética de 5 números capturados por teclado;
FUNDAMENTOS DE PROGRAMACIÓN
Iteración for
• El ciclo for() es simplemente una manera abreviada de expresar una iteración while(), es útil para los casos en donde se conoce de antemano el número de veces que una o más sentencias deben repetirse.
FUNDAMENTOS DE PROGRAMACIÓN
Sintaxis de la iteración FOR
for (contador; condición; incremento) {
Código a Repetir…; }
Donde:• Contador: es una variable numérica de tipo entero.• Condición: es la condición que se evalúa, es decir, el valor final para
contador.• Incremento: es el valor que se suma o resta al contador.
FUNDAMENTOS DE PROGRAMACIÓN
#include<stdio.h>using namespace std;int main( ){ int i; int a , suma=0; float promedio ; for ( i=1 ; i<=10 ; i++ ) //el ciclo se ejecutará con i desde 10 veces { cout<<“capture valor: ”; cin >>a; suma += a ; // EQUIVALE A suma = suma + a; } promedio = suma/10; cout << “\n el promedio es; ” <<promedio; return 0;}
FUNDAMENTOS DE PROGRAMACIÓNEjemplo
Variables de trabajo
Contador y valor inicial
Condición o final
Bloque de código a repetir
Cierre del ciclo
Incremento del contador
Ejercicio:
• Hacer programa que calcule el factorial de un número X, utilizando el ciclo FOR.
Nota: El factorial de un número entero positivo se define como el producto de todos los números naturales anteriores o iguales a él. Se escribe n!, y se lee "n factorial“.
Por ejemplo, 5! = 5·4·3·2·1 = 120 (no se multiplica el 0)
FUNDAMENTOS DE PROGRAMACIÓN
Ejercicio:
• Utilizando el ciclo for Hacer un programa que despliegue en dos columnas una numeración del: 1 al 100 y del 100 al 1 simultáneamente, utilizando con un solo ciclo y un solo contador.
FUNDAMENTOS DE PROGRAMACIÓN
Ejemplo
12345
10099989796
Nota: Todos los ciclos pueden ser terminados antes de cumplirse la expresión o condición puesta en su sintaxis, para esto C++ tiene las instrucciones break; y exit(0);• La función break (sin paréntesis) termina un ciclo y manda el
flujo a la siguiente instrucción del programa después del ciclo.• La función exit(0) (con paréntesis), es mas compleja, ya que
termina el programa en ejecución aún cuando no se haya llegado al final del mismo.
FUNDAMENTOS DE PROGRAMACIÓN
Ejercicio:• Hacer un programa que imprima en pantalla los números pares
del 1 hasta el 200;
Nota: Para hacer este programa necesitas usar la instrucción de C++ que determina el residuo de una división, esta instrucción es el signo de porcentaje “%”. Por ejemplo: si quieres saber cual es el residuo de 5/7 y asignarlo a una variable “Y” escribes: Y=5%7; el resultado es Y con valor 2.
FUNDAMENTOS DE PROGRAMACIÓN
Ejercicio:
• Hacer un programa que despliegue los números primos que hay entre 1 y 1000.
Para hacer este programa necesitas usar la instrucción que determina el residuo de una división % y de ser necesario la sentencia break;
FUNDAMENTOS DE PROGRAMACIÓN