UNAN- LEON SENTENCIA DE CONTROL DO WHILE. M.Sc. Ana María Salgado G.

Documentos relacionados
Titulo: Calculo de PI

TEMA 4. ESTRUCTURAS DE CONTROL

UNIDAD ACADÉMICA PROFESIONAL TIANGUISTENCO

Estructuras de Repetición (Repita para)

LENGUAJE DE PROGRAMACION UNO.

Introducción a los Computadores Estructuras de control repetitivas en C

PROBLEMAS DEL TEMA 7: Subprogramas y Modularidad

1. Que rellene un array con los 100 primeros números enteros y los muestre en pantalla en orden ascendente.

Fundamentos de programación

CI 2125, Computación I

Estructuras de Repetición (Hacer-Mientras)

Hoja de problemas Estructuras de Control

Programación. Ejercicios Tema 4 Estructuras de Control Repetitivas

Informática I. While & do While

19. En un hospital existen tres áreas: Ginecología, Pediatría, Traumatología. El presupuesto anual del hospital se reparte conforme a la sig.

1. Cuestiones. Ejercicios resueltos de C. Diego Rodríguez-Losada 1. //a) #include <stdio.h> main( ) { int x = 0, y = 0; //b) #include <stdio.

ESTRUCTURAS CONDICIONALES SIMPLES: ESTRUCTURAS CONDICIONALES DOBLES: ESTRUCTURAS CONDICIONALES ANIDADAS:

Laboratorio 02: Ejercicios de programación en C

OBJETIVO III. APLICAR A LOS PROGRAMAS EN C LAS ESTRUCTURAS DE SELECCIÓN IF Y SWITCH ACTIVIDAD TEÓRICA.

SENTENCIAS DE CONTROL (SENTENCIAS if Y switch)

4.- Leer tres números y escribirlos en orden decreciente

Programación de Computadores 4 Iteraciones y Decisiones. Prof. Javier Cañas. Universidad Técnica Federico Santa María Departamento de Informática

Estructuras Secuénciales

Operadores de comparación

ESTRUCTURAS REPETITIVAS

Actividad colaborativa Ejercicios de programación Programación básica C++

Programación. Ejercicios Tema 3. Elementos Básicos del Lenguaje C

Tema 4: Estructuras de Control Estructura y Contenidos

If anidado: /*ifani.c*/ main() { if (getche()=='s') if (getche()=='i') printf("\n tu tecleaste si"); }

Tema 5 Sentencias de control de flujo. Fundamentos de Informática

Estructuras de Decisión Simples y Dobles

Introducción a los Computadores Arreglos en C

OBJETIVOS. Explicar el manejo de archivos de texto. Explicar el manejo de archivos binarios. Desarrollar programas que usen archivos.

Programación Estructurada

Práctica 3: Vectores y matrices en C.

Resolución de Problemas y Algoritmos Clase 6: Repetición (continuación)

MANUAL DE PRÁCTICAS DEL TALLER DE PROGRAMACIÒN PRACTICA NO.6

Universidad Ricardo Palma

Practicas de Programación Estructurada. Clave: 12125

Semana de las Matemáticas e Ingeniería. Desarrollo de algoritmos recursivos empleando la aplicación PseInt

Formatos para prácticas de laboratorio

INSTITUTO POLITECNICO NACIONAL CENTRO DE ESTUDIOS CIENTIFICOS Y TECNOLOGICOS " GONZALO VAZQUEZ VELA "

Estructuras de repetición hacer-mientras y repita hasta

TEMA 4. ELEMENTOS BÁSICOS DE PROGRAMACIÓN

LABORATORIO 3 ESTRUCTURAS REPETITIVAS WHILE / DO WHILE

Programcaión Básica. Secuencias de Control y Repetición. Arturo Vega González.

Hoja de ejercicios del Tema 3

Caracteres y Cadenas Conversión de Datos Funciones y procedimientos Archivos cabecera. Fundamentos de programación

TEMA 5. CONTROL DE FLUJO DEL PROGRAMA. Sentencia Instrucción Expresión Operadores + Operandos Sintaxis: Sentencia ;

void int int for void int int for void int int for for void int int for int int

Elementos de un programa en C

Estructuras de Control en C

Programa de Asignatura Programación Visual I

Profesor(a): M. A. Zeferino Galarza Hernández

DATOS GENERALES 60 HORAS 3 HORAS

Programación n Orientada a Objetos Sentencias Java Parte I. Ing. Julio Ernesto Carreño o Vargas MsC.

Metodología y Tecnología de la Programación

Estatutos de Control C# Estatutos de Decisión (Selección)

fundamentos de programación (unidad 4) programación estructurada en Java

Estructuras de control

Todo programa en 'C' consta de una o más funciones, una de las cuales se llama main.

El lenguaje C. 1. Más sobre Instrucciones de control

Profesor(a): Ing. Miriam Cerón Brito

ESTRUCTURAS REPETITIVAS EN PHP

Algoritmos. Intro. Prof. Raquel Torres Peralta / Gerardo Sanchez S. Unison

UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLÓGICOS ESCUELA DE COMPUTACION

Elabore un programa que permita el ingreso de un número calcular el cubo

Programación I Instrucciones de control - condicionales

Tema 9. Vectores y Matrices

UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLÓGICOS ESCUELA DE COMPUTACION

Examen Principios de Programación Febrero 2012

Breve Guía Buenas Prácticas de Programación en C

Estructura If Esta sentencia, es considerada de alternativa doble (si se cumple condición entonces..., sino... / If... then... else... ).

Pero nos están faltando otros operadores imprescindibles:

LENGUAJE. Tema 2 Elementos de un programa

PROGRAMACION / Clave: 11214

Resolución de problemas mediante algoritmos

Programación Orientada a Objetos

ESCUELA POLITÉCNICA SUPERIOR PRÁCTICA 2: EXPRESIONES, PRINTF Y SCANF

Técnicas de Programación

UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLÓGICOS ESCUELA DE COMPUTACION

3) Una tienda ofrece un descuento del 15% sobre el total de la compra y un cliente desea saber cuánto deberá pagar finalmente por su compra.

ALGORITMOS, ESTRUCTURAS Y PROGRAMACION

ESTRUCTURAS ALGORITMICAS

GL-PCS2201-L05M FUNCIONES Y LA ESTRUCTURA DEL PROGRAMA EN LENGUAJE C

Estructuras de Control 3

EXAMEN PARCIAL TRABAJO INTEGRADOR (TI) EVALUACIÓN CONTINUA PESO PORCENTUAL PESO PORCENTUAL 1 30% 06-MAY-14 30% 03-MAY-14 20% 20%

Guía práctica de estudio 05: Diagramas de flujo

Universidad de Pamplona Materia: Programación 1 Docente: Ing. Lusbin Raúl Vargas LENGUAJE C ESTRUCTURA DE UN PROGRAMA EN C

Control de Flujo. Estructuras de Control! Experiencia Educativa de Algorítmica CONTROL DE FLUJO

GUÍA DE LABORATORIO #4. SENTENCIAS DE CONTROL EN C: CICLO for, while y do while. Realizar programas en Lenguaje C aplicando for, while y do while.

SILABO DEL CURSO FUNDAMENTOS DE PROGRAMACIÓN

UNIDAD DE APRENDIZAJE II

DES: Programa(s) Educativo(s): Tipo de materia: Clave de la materia: Semestre: Área en plan de estudios:

Introducción al lenguaje C

Pontificia Universidad Católica del Ecuador

LENGUAJES DE PROGRAMACION I. Propósito del curso :

Programación I Instrucciones de control - bucles

GUIA 2: Repaso sobre uso de C#. Funciones, métodos y arreglos.

= RETURN =3 7-. ELSE K

Transcripción:

2013 UNAN- LEON SENTENCIA DE CONTROL DO WHILE M.Sc. Ana María Salga G.

Unidad IV: Estructuras de control Sentencia -while La forma general de esta sentencia es: sentencia; while (expresion); sentencia se ejecutará mientras el valor de expresion sea verdadero. sentencia siempre se ejecuta al menos una vez. Si sentencia es compuesta se encierra entre. Nota: Lo normal es que sentencia incluya algún elemento que altere el valor de condición de salida del bucle. Para la mayoría de las aplicaciones es mejor y más natural comprobar la condición antes de ejecutar el bucle, por ello se usa más la sentencia while. Un ejemplo de uso de esta sentencia es el siguiente programa, que pide un número igual a 0: int numero; printf("introduce el numero 0:\n"); scanf("%d", &numero); /* Se lee el numero */ while (numero!= 0); 2 M.Sc. Ana María Salga G.

El laso es muy similar al laso while solo que while verifica el test y luego ejecuta el cuerpo del laso. En cambio el laso ejecuta el cuerpo del laso y luego verifica el test. Por lo tanto el cuerpo del laso se ejecuta al menos una vez. Ejemplo #2 Construya un programa en C que, al recibir como datos los pagos efectuas en el último mes, permita obtener la suma de los mismos, pero no sabemos exactamente cuántos fueron. //sumapagos.c float pag, spa = 0; printf("ingrese el primer pago:\t"); scanf("%f",&pag); spa= spa + pag; printf("ingrese el siguiente pago, 0 para terminar: "); scanf("%f",&pag); while(pag!=0); printf("\nel total de pagos del mes es:%.2f\n",spa); 3 M.Sc. Ana María Salga G.

Ejemplo #3 Escriba un programa en C que, al recibir como datos los salarios de los profesores de una universidad, obtenga tanto la nómina como el promedio de los salarios. //salarioprom.c int i = 0; float sal, prom, nomina = 0; printf("ingrese el salario del profesor: "); scanf("%f",&sal); nomina= nomina + sal; i++; printf("ingrese el salario del profesor, 0 para terminar: "); scanf("%f",&sal); while(sal!=0); prom = nomina/i; printf("\nnomina: %.2f \t Promedio de salarios: %.2f\n",nomina, prom); 4 M.Sc. Ana María Salga G.

Ejemplo #4: La función factorial se aplica a enteros positivos. El factorial de un entero positivo n es (!n) es igual al producto de los enteros positivos del 1 al n. Escriba un programa que calcule el factorial de un entero. Ejemplo:!3 = 1*2*3 = 6 long fact=1; int num,i; printf("numero = "); scanf("%d",&num); if (num>=0) if(num == 1 num == 0) fact=1; printf("!%d = %ld\n\n",num,fact); i = 1; fact = fact * i; i++; while(i<=num); printf("!%d = %ld\n\n",num,fact); printf("a los valores negativos no se le calcula el factorial."); 5 M.Sc. Ana María Salga G.

Ejemplo #5 Realice un programa que, al recibir como datos n números enteros, obtenga la suma de los números pares y el promedio de los impares. //sumprompar_impar.c int i = 1, n, num, spa = 0, sim = 0, cim = 0; printf("ingrese el numero de datos que se van a procesar: "); scanf("%d",&n); if(n > 0) printf("\ningrese el numero %d: ",i); scanf("%d",&num); if(num!= 0) if(num % 2 == 0) spa = spa + num; sim = sim + num; cim++; i++; while(i <= n); printf("\nla suma de los numeros pares es: %d\n",spa); printf("\nel promedio de los numeros impares es %5.2f\n\n",(float)(sim/cim)); printf("\n El valor de N es incorrecto\n"); 6 M.Sc. Ana María Salga G.

Ejemplo #6: Lo siguiente se llama conjetura de Ulam en honor del matemático S. Ulam: Empiece con cualquier entero positivo. Si es par, divídase entre 2; si es impar, multiplíquese por 3 y agréguese 1. Obtenga enteros sucesivamente repitien el proceso hasta que el entero en curso no sea 1. Al final se obtendrá el número 1, independientemente del entero inicial. Por ejemplo, cuan el entero inicial es 26, la secuencia será: 26 13 40 20 10 5 16 8 4 2 1 //ulam2.c int n; printf("escriba un entero positivo:"); scanf("%d",&n); while(n<=0); printf("sucesion de Ulam para %d\n",n); if(n%2==0) n=n/2; n=3 * n + 1; printf("%d ",n); while(n!=1); printf("\n\n"); 7 M.Sc. Ana María Salga G.

Sentencia break La sentencia break se utiliza para terminar la ejecución de bucles o salir de una sentencia switch. Es necesaria en la sentencia switch para transferir el control fuera de la misma. En caso de bucles anidas, el control se transfiere fuera de la sentencia más interna en la que se encuentre, pero no fuera de las externas. Ejemplo #7: //break2.c void main(void ) int x; for (x = 1; x <= 10; x++) if (x == 5) break; printf("%d\t", x); printf("\n"); Ejemplo #8: //breakinfinito. int contar = 0; int max; printf("cuantos holas?:"); scanf("%d",&max); 8 M.Sc. Ana María Salga G.

for(;;) //bucle for que no termina nunca if(contar < max) puts("hola!"); contar++; break; Sentencia de control while Ejemplo #9: //clave.c int clave = -9; int entrada; printf("introduzca un entero:"); while(scanf("%d",&entrada)) if(entrada!= clave) printf("%d\n",entrada); printf("introduzca un entero:"); break; 9 M.Sc. Ana María Salga G.

Sentencia continue Obliga a ejecutar la siguiente iteración del bucle while, o for nde está contenida. Ejemplo #10: //continue2.c void main(void ) int x; for (x = 1; x <= 10; x++) if (x == 5) continue; printf("%d\t", x); printf("\n\nuso de continue para omitir la impresion del valor 5\n\n"); Ejemplo #11: //pares.c /* imprime numeros pares del 1 al 100*/ int x; for(x=1; x<=100; x++) if(x%2) continue; printf("%d\n", x); 10 M.Sc. Ana María Salga G.

Ejercicios resueltos break y continue Ejercicio #1 : //continue3.c int i = 0, x = 0; for(i = 1; i < 10; i++) if(i % 2 == 1) x += i; x--; printf("%d\t",x); continue; printf("\nx = %d\n\n",x); Ejercicio #2 : //break3.c int i = 0, x = 0; for(i = 1; i < 10; i++) if(i % 2 == 1) x += i; x--; printf("%d\t",x); break; 11 M.Sc. Ana María Salga G.

printf("\nx = %d\n\n",x); Ejercicio 3: /* Calcular la media de los números no negativos de una lista de n números */ //continue.c int n, cont, nmedia=0; float x, media, suma=0; /* inicializar y leer el valor de n*/ printf("cuantos numeros?"); scanf("%d",&n); /* leer los numeros */ for(cont = 1; cont <=n; cont ++) printf("x= "); scanf("%f",&x); if(x<0) continue; suma+=x; nmedia++; /* calcular la media y escribir la respuesta */ media = suma /nmedia; printf("la media es %f\n",media); 12 M.Sc. Ana María Salga G.

Ejercicios resueltos while Ejercicio #4 Escriba un programa que reciba s parámetros enteros, m y n, con m<n. Se debe calcular la suma: 1 1 1 1 + + +... + m m+ 1 m+ 2 m+ n //seriem_n.c int m,n,i = 0; float suma=0; printf("introduzca los enteros m y n:\n"); scanf("%d %d",&m,&n); while(m>n); suma= suma + 1.0/(float)(m+i); i++; while(i<=n); printf("el resulta de la funcion es %g\n",suma); 13 M.Sc. Ana María Salga G.

Ejercicio #5 El siguiente programa, recibe como dato un número entero N y obtiene el resulta de la siguiente serie: //seriepar_imp.c #include <math.h> int N,i = 2; float suma=1; printf("ingrese el valor de N: "); scanf("%d",&n); 1 1 + 2 2-3 3 - ± N N if(i % 2 == 0) suma= suma + pow(i,i); if(i % 2!= 0) suma= suma - pow(i,i); printf("i= %d\t suma = %g\n",i,suma); i++; while(i<=n); printf("\nel resulta final de la serie es %g\n\n",suma); 14 M.Sc. Ana María Salga G.

Ejercicio #6 Escriba un programa para evaluar la función y = 4x 2 16x + 15, nde x toma los valores de 1 a 2, en incremento de 0.1. Para cada x la salida debe dar el valor de y. Además debe imprimir el mensaje POSITIVO o NEGATIVO, según el signo de y. El formato de salida debe ser: Valor de x Valor de y Signo 1.0 3.00 POSITIVO 1.1 2.24 POSITIVO... 2.0-1.00 NEGATIVO Solución: //posneg.c #include <stdlib.h> #include <math.h> float x = 1, y; printf("valor de x\tvalor de y\tsigno\n"); printf("-------------------------------------\n"); y = 4 * pow(x,2) - 16 * x + 15; if(y > 0) printf("%.2f\t\t%.2f\t\tpositivo\n",x,y); if(y < 0) printf("%.2f\t\t%.2f\t\tnegativo\n",x,y); x+=0.1; while(x <= 2); 15 M.Sc. Ana María Salga G.

Ejercicio #7 Escriba un programa que calcule la nómina total de una empresa, sin saber con anticipación cuántos empleas tiene ésta. Use como centinela una pregunta. //nominacentinela.c float pago, phora, nominatot=0; int htrab; char nombre[100], resp='s'; fflush(stdin); printf("\n\nintroduzca el nombre del emplea:\n"); gets(nombre); printf("horas trabajadas y suel por hora:"); scanf("%d %f",&htrab,&phora); pago=htrab*phora; printf("el emplea %s tiene un salario de %g\n",nombre,pago); nominatot+=pago; printf("\ndesea introducir otro emplea?(s/n)\n"); fflush(stdin); resp=getchar(); while(resp=='s' resp=='s'); printf("\nnomina total: %f\n",nominatot); 16 M.Sc. Ana María Salga G.

Ejercicio #8: Una solicitante para un empleo de secretaria recibirá un máximo de 5 pruebas de mecanografía. Será contratada tan pronto como logre teclear más de 50 palabras por minuto en s pruebas. Escriba un programa que permita al supervisor teclear la calificación de cada prueba después de que aquella sea completada. El programa deberá imprimir Contratar tan pronto como el solicitante califique, sin hacer más pruebas. Después de que 5 pruebas hayan si hechas, si todavía el solicitante no ha reuni las condiciones, el programa deberá imprimir Rechazar. //mecanografa.c int puntaje, masdecincuenta=0,pruebas=0; pruebas++; printf("teclear puntaje:"); scanf("%d",&puntaje); if(puntaje>50) masdecincuenta++; while((pruebas<5)&&(masdecincuenta<2)); if(masdecincuenta==2) printf("contratar\n"); printf("rechazar\n"); Ejercicio #9: Las potencias de s son 1, 2, 4, 8, 16, 32, 64,etc. Para obtener la siguiente potencia de 2, se multiplica la anterior por 2. Usan un ciclo while, escriba un programa que imprima la primera potencia de 2 que es más de 1000. //potencentinela.c int r=1; 17 M.Sc. Ana María Salga G.

Sentencia de control while printf("%d\t",r); r = r*2; while(r<1000); printf("la primera potencia de 2 mayor de 1000 es %d\n",r); Ejercicios propuestos 1. Realizar una nueva versión usan while, de los ejercicios propuestos while del 5 al 9. 2. Elaborar un programa que encuentre la suma de los primeros N términos de la sucesión de FIBONACCI. Esta se genera empezan por los números 0 y 1 y calculan cada nuevo miembro como la suma de los s miembros precedentes de la sucesión, así: 0 1 1 2 3 5 8 13 3. Das N valores, diseñe un programa que haga el siguiente proceso: Si el valor es menor que cero calcular su cubo. Si el valor está entre 0 y 100 calcular su cuadra. Si el valor está entre 101 y 1000 calcular su raíz cuadrada. 4. Un vender desea calcular la comisión total sobre la venta de varios artículos. Al vender le corresponde el 10% de comisión sobre artículos, cuyo precio es menor o igual a $1000 y el 7% de comisión sobre aquellos artículos cuyo precio sea mayor de $1000. Elabore un programa para obtener la comisión total, si se conoce que el vender hizo N ventas. 5. Una oficina de seguros ha reuni datos concernientes a tos los accidentes de tránsito ocurris en el área metropolitana de Medellín en el último año. Por cada conductor involucra en un accidente se toman los siguientes datos: año de nacimiento, sexo(1: Femenino, 2: Masculino), registro del carro(1: Medellín, 2: Otras ciudades). Hacer un programa en C que muestre: El porcentaje de conductores menores de 25 años. Porcentaje de conductores del sexo femenino. Porcentaje de conductores masculinos con edades entre 12 y 30 años. Porcentaje de conductores cuyos carros están registras fuera de Medellín. 18 M.Sc. Ana María Salga G.

6. Un restaurante paga a sus meseros s clases de comisiones: Una comisión del 7% sobre toda venta. Otra comisión que depende del tipo de venta: 15% si la venta es de conta, 10% si la venta se hizo en cheque y, 5% si se hizo con tarjeta de crédito. El restaurante tiene por cada venta: Identificación del vender(1, 2, 3) Tipos de ventas(1: conta; 2: cheque; 3: tarjeta) Cuantía de la venta. Elaborar un programa que obtenga el total a pagar a cada uno de los empleas. 7. Se tiene la siguiente información por cada uno de los N estudiantes de la universidad: Edad Sexo(1: masculino; 2: femenino) Carrera (1: Ingeniería; 2: otra carrera) Hacer un algoritmo que obtenga: Promedio de edad de los estudiantes de Ingeniería. Porcentaje de hombres en la universidad. Porcentaje de mujeres que estudian Ingeniería. 8. En una tienda de artículos para caballeros al final del día se carga en la computara las boletas que confeccionaron los distintos venderes para saber cuanto fue la comisión del día de cada uno de ellos. Los datos que se ingresan (por boleta) son: el número de vender y el importe. Cuan no hay más boletas para cargar se ingresa 0. Tenien en cuenta que el negocio tiene 3 venderes y que el porcentaje sobre las ventas es del 5%, indicar cuánto ganó cada vender en el día. 9. Realice la simulación y salida de los siguientes incisos: void main(void ) int n; for (n = 0; n <= 100; n++) if (n % 5!= 0) continue; printf("%d ", n); 19 M.Sc. Ana María Salga G.

//break.c int i, j, x=0; for(i=0;i<5;i++) for(j=0;j<1;j++) x+=(i+j-1); printf("%d",x); break; printf("\nx=%d",x); //break2.c int i, j, x=0; for(i=0;i<5;i++) for(j=0;j<3;j++) x+=(i+j-1); printf("%d ",x); break; printf("\nx=%d",x); 20 M.Sc. Ana María Salga G.

Bibliografía Ceballos Francisco Javier. Curso de Programación C/C++. Segunda Edición. Editorial RAMA, Madrid, 2002. Joyanes Aguilar Luis, Zahonero Martínez Ignacio. Programación en C. Metología, estructura de datos y objetos. Mc Graw Hill. Byron S. Gottfried. Programación en C. Mc Graw Hill. H.M. Dietel P. J. Dietel. Como Programar en C/C++. Segunda Edición. Prentice Hall. Hernández María Lourdes. Diseño estructura de algoritmos. Diagramas de flujos y pseucódigos. Universidad de Teuxtepe, México. Cairó Osval. Fundamentos de programación. Piensa en C. Prentice Hall. Primera edición, 2006. 21 M.Sc. Ana María Salga G.