0) printf("El numero es positivo.\n"); system("pause"); } Nota: para comprobar si un valor numérico es mayor que otro, usamos el símbolo >, como se ve en este ejemplo.Para ver si dos valores son iguales, usaremos dos símbolos de igual: if (numero==0). Las demás posibilidades las veremos algo más adelante. En todos los casos, la condición que queremos comprobar deberá indicarse entre paréntesis.">

La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Estructuras de control PROFESORA: NELWI BÁEZ. TIPOS IF IF….ELSE ESTRUCTURAS DE SELECCIÓN WHILE DO… WHILE FOR ESTRUCTURAS REPETITIVAS.

Presentaciones similares


Presentación del tema: "Estructuras de control PROFESORA: NELWI BÁEZ. TIPOS IF IF….ELSE ESTRUCTURAS DE SELECCIÓN WHILE DO… WHILE FOR ESTRUCTURAS REPETITIVAS."— Transcripción de la presentación:

1 Estructuras de control PROFESORA: NELWI BÁEZ

2 TIPOS IF IF….ELSE ESTRUCTURAS DE SELECCIÓN WHILE DO… WHILE FOR ESTRUCTURAS REPETITIVAS

3 La primera construcción que usaremos será "si... entonces...". El formato en C es: if (condición) sentencia; /* */ #include int main() { int numero; printf("Escribe un numero: "); scanf("%d", &numero); if (numero>0) printf("El numero es positivo.\n"); system("pause"); } Nota: para comprobar si un valor numérico es mayor que otro, usamos el símbolo >, como se ve en este ejemplo.Para ver si dos valores son iguales, usaremos dos símbolos de igual: if (numero==0). Las demás posibilidades las veremos algo más adelante. En todos los casos, la condición que queremos comprobar deberá indicarse entre paréntesis.

4 Ejercicio: Crear un programa que pida al usuario dos números enteros y diga cual es el mayor de ellos.

5 La "sentencia" que se ejecuta si se cumple la condición puede ser una sentencia simple o una compuesta. Las sentencias compuestas se forman agrupando varias sentencias simples entre llaves ( { y } ):

6 Ejemplo #include int main() { int numero; printf("Escribe un numero: "); scanf("%d", &numero); if (numero>0) { printf("El numero es positivo.\n"); printf("Recuerde que también puede usar negativos.\n"); system("pause"); } /* Aqui acaba el "if" */ } /* Aqui acaba el cuerpo del programa */ En este caso, si el número es positivo, se hacen dos cosas: escribir un texto y luego... ¡escribir otro! (Claramente, en este ejemplo, esos dos printf podrían ser uno solo; más adelante iremos encontrando casos en lo que necesitemos hacer cosas más serias dentro de una sentencia compuesta)

7 Recordar: OPERADORES RELACIONALES:, >=, ==, != Hemos visto que el símbolo > es el que se usa para comprobar si un número es mayor que otro. EL SÍMBOLO DE MENOR QUE TAMBIÉN ES SENCILLO, PERO LOS DEMÁS SON UN POCO MENOS EVIDENTES, ASÍ QUE VAMOS A VERLOS: < Menor que > Mayor que <= Menor o igual que >= Mayor o igual que == Igual a != No igual a (distinto de)

8 Podemos indicar lo que queremos que ocurra en caso de que no se cumpla la condición, usando la orden else (en caso contrario), así: #include int main() { int numero; printf("Escribe un número: "); scanf("%d", &numero); if (numero>0) printf("El número es positivo.\n"); else printf("El número es cero o negativo.\n"); system("pause"); }

9 Podríamos intentar evitar el uso de else si utilizamos un if a continuación de otro, así: #include int main() { int numero; printf("Escribe un número: "); scanf("%d", &numero); if (numero>0) printf("El número es positivo.\n"); if (numero<=0) printf("El número es cero o negativo.\n"); system("pause"); }

10 Otra forma: #include int main() { int numero; printf("Escriba un número: "); scanf("%d", &numero); if (numero < 0) printf("El número es negativo.\n"); else if (numero == 0) printf("El número es cero.\n"); else printf("El número es positivo.\n"); system("pause"); }

11 Operadores lógicos: &&, ||, ! Estas condiciones se puede encadenar con y, o, etc., que se indican de la siguiente forma: if ((opcion==1) && (usuario==2))... if ((opcion==1) || (opcion==3))... if ((!(opcion==opcCorrecta)) || (tecla==ESC))... (Suponiendo que ESC fuera una constante ya definida con anterioridad).

12 Ejemplo #include int main() { int numero; printf("2==3 vale %d\n", 2==3); /* Escribe 0 es decir falso*/ printf("2!=3 vale %d\n", 2!=3); /* Escribe 1 es decir verdadero*/ system("pause"); }

13 #include int main() { int numero; printf("Escribe un número: "); scanf("%d", &numero); if (numero!=0) /* Comparación normal */ printf("El número no es cero.\n"); if (numero) /* Comparación con truco */ printf("Y sigue sin ser cero.\n"); system("pause"); } En este ejemplo, la expresión if (numero) se fijará en el valor de la variable numero. Si es distinto de cero, se considerará que la condición es correcta, y se ejecutará la sentencia correspondiente (el printf). En cambio, si la variable numero vale 0, es considera que la condición es falsa, y no se sigue analizando. En general, es preferible evitar este tipo de construcciones. Resulta mucho más legible algo como if (numero!=0) que if(numero).Nota:

14 Estructuras repetitivas

15 Si queremos hacer que una sección de nuestro programa se repita mientras se cumpla una cierta condición, usaremos la orden while. Esta orden tiene dos formatos distintos, según comprobemos la condición al principio o al final. En el primer caso, su sintaxis es : Es decir, la sentencia se repetirá mientras la condición sea cierta. Si la condición es falsa ya desde un principio, la sentencia no se ejecuta nunca. Si queremos que se repita más de una sentencia, basta agruparlas entre { y }. while (condición) sentencia;

16 #include int main() { int numero; printf("Teclea un número (0 para salir): "); scanf("%d", &numero); while (numero!=0) { if (numero > 0) printf("Es positivo\n"); else printf("Es negativo\n"); printf("Teclea otro número (0 para salir): "); scanf("%d", &numero); system("pause"); } Un ejemplo que nos diga si cada número que tecleemos es positivo o negativo, y que pare cuando tecleemos el número 0:

17

18 Como ejemplo, vamos a ver cómo sería el típico programa que nos pide una clave de acceso y nos nos deja entrar hasta que tecleemos la clave correcta. Eso sí, como todavía no sabemos manejar cadenas de texto, la clave será un número: #include int main() { int valida = 711; int clave; do { printf("Introduzca su clave numérica: "); scanf("%d", &clave); if (clave != valida) printf("No válida!\n"); } while (clave != valida); printf("Aceptada.\n"); system("pause"); }

19 Esta es la orden que usaremos habitualmente para crear partes del programa que se repitan un cierto número de veces. El formato de for es :

20 #include int main() { int contador; for (contador=1; contador<=10; contador++) printf("%d ", contador); system("pause"); } Nota: Recordemos que contador++ es una forma abreviada de escribir contador=contador+1, de modo que en este ejemplo aumentamos la variable de uno en uno.

21 Los bucles for se pueden anidar (incluir uno dentro de otro), de modo que podríamos escribir las tablas de multiplicar del 1 al 5 con: #include int main() { int tabla, numero; for (tabla=1; tabla<=5; tabla++) for (numero=1; numero<=10; numero++) printf("%d por %d es %d\n", tabla, numero, tabla*numero); system("pause"); }

22 Otro ejemplo: #include int main() { char letra; for (letra='a'; letra<='z'; letra++) printf("%c", letra); system("pause"); }

23 Sentencia break: termina el bucle Podemos salir de un bucle for antes de tiempo con la orden break: #include int main() { int i; for (i=0; i<=10; i++) { if (i==5) break; printf("%d ", i); system("pause"); } El resultado de este programa es: (en cuanto se llega al valor 5, se interrumpe el for, por lo que no se alcanza el valor 10).

24


Descargar ppt "Estructuras de control PROFESORA: NELWI BÁEZ. TIPOS IF IF….ELSE ESTRUCTURAS DE SELECCIÓN WHILE DO… WHILE FOR ESTRUCTURAS REPETITIVAS."

Presentaciones similares


Anuncios Google