Introducción a la programación con c

Page 61

1 Introducci´on a C

CC 2003, 2008 Andr´ es Marzal e Isabel Gracia

El bucle do-while eval´ ua la condici´ on tras cada ejecuci´on de su bloque, as´ı que es seguro que ´este se ejecuta al menos una vez. Podr´ıamos reescribir sumatorio.c para usar un bucle do-while: sumatorio 2.c 1 2

sumatorio.c

#include <stdio.h> #include <math.h>

3 4 5 6 7

int main(void) { int a, b, i; float s;

8

/* Pedir l´ımites inferior y superior. */ do { printf ("L´ ımite inferior:"); scanf ("%d", &a); if (a < 0) printf ("No puede ser negativo\n"); } while (a < 0);

9 10 11 12 13 14

do { printf ("L´ ımite superior:"); scanf ("%d", &b); if (b < a) printf ("No puede ser menor que %d\n", a); } while (b < a);

15 16 17 18 19

/* Calcular el sumatorio de la ra´ız cuadrada de i para i entre a y b. */ s = 0.0; for (i = a; i <= b; i++) s += sqrt(i);

20 21 22 23

/* Mostrar el resultado. */ printf ("Sumatorio de ra´ ıces de %d a %d: %f\n", a, b, s);

24 25 26

return 0;

27 28

}

Los bucles do-while no a˜ naden potencia al lenguaje, pero s´ı lo dotan de mayor expresividad. Cualquier cosa que puedas hacer con bucles do-while, puedes hacerla tambi´en con s´olo bucles while y la ayuda de alguna sentencia condicional if , pero probablemente requerir´an mayor esfuerzo por tu parte. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . · 44 Escribe un programa que muestre un men´ u en pantalla con dos opciones: ((saludar)) y ((salir)). El programa pedir´ a al usuario una opci´on y, si es v´alida, ejecutar´a su acci´on asociada. Mientras no se seleccione la opci´ on ((salir)), el men´ u reaparecer´a y se solicitar´a nuevamente una opci´on. Implementa el programa haciendo uso u ´nicamente de bucles do-while. · 45 Haz un programa que pida un n´ umero entero de teclado distinto de 1. A continuaci´on, el programa generar´ a una secuencia de n´ umeros enteros cuyo primer n´ umero es el que hemos le´ıdo y que sigue estas reglas: si el u ´ltimo n´ umero es par, el siguiente resulta de dividir a ´este por la mitad; si el u ´ltimo n´ umero es impar, el siguiente resulta de multiplicarlo por 3 y a˜ nadirle 1. Todos los n´ umeros se ir´ an mostrando por pantalla conforme se vayan generando. El proceso se repetir´a hasta que el n´ umero generado sea igual a 1. Utiliza un bucle do-while. ............................................................................................. El bucle for El bucle for de Python existe en C, pero con importantes diferencias. for (inicializaci´ on; condici´ on; incremento) { sentencias } Introducci´ on a la Programaci´ on con C

55


Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.