BREAK: FORZAR SALIDA BUCLES FOR, WHILE, DO EN C. LOOP. STATEMENT NOT WITHIN LOOP OR SWITCH (CU00545F)

Documentos relacionados
PROGRAMACION EN LENGUAJE C: EJERCICIOS RESUELTOS CON ARRAYS O ARREGLOS Y CICLOS FOR Y WHILE (CU00540F)

Visual Basic y.net Do Loop, Exit Do, Exit For y GoTo. Ejemplos y ejercicios resueltos. (CU00337A)

WHILE Y DO WHILE BREAK EN LENGUAJE C. BUCLES MIENTRAS. FORZAR SALIDA O TERMINACIÓN. EJEMPLO (CU00534F)

BUCLES EN LENGUAJE C (ESTRUCTURA DE REPETICIÓN) CONDICIÓN, CONTADOR. EJEMPLOS. (CU00533F)

Dobles: Es el caso de la instrucción if-else (punto 1.2).

AMBITO DE VARIABLES EN C. GLOBALES Y LOCALES. UNDECLARED (FIRST USE IN THIS FUNCTION). EJEMPLOS (CU00548F)

FUNCIONES EN C QUÉ SIGNIFICA VOID? QUÉ ES EL TIPO DE RETORNO? PARA QUÉ SIRVE RETURN? MÓDULOS (CU00547F)

Lección 3 Sentencias de control

EJERCICIOS DE PROGRAMACIÓN EN C. DIBUJAR UN ROMBO O DIAMANTE. CALCULAR SUMATORIOS. (CU00542F)

Operadores aritméticos

Programación Estructurada

TEMA 4. ESTRUCTURAS DE CONTROL

Palabras reservadas de C++ y C. Una palabra reservada no puede declararse como un identificador, esto haría un conflicto entre conectores y funciones.

EJERCICIOS CON FUNCIONES EN C. EJEMPLO CALCULAR SERIES NUMÉRICAS. REFACTORIZAR. (CU00552F)

Examen de Fundamentos de la Programación (Modelo 1)

PASO DE PARÁMETROS O ARGUMENTOS EN C. POR DEFECTO, POR VALOR O POR REFERENCIA. SIZEOF MEMORIA (CU00550F)

Programación. Test Autoevaluación Tema 4

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

Actividad Algoritmos, Estructura y Programación I. FOR, DO-WHILE

UNIDAD ACADÉMICA PROFESIONAL TIANGUISTENCO

Fundamentos de programación

GUÍA DE LABORATORIO #3 ESTRUCTURAS ALGORÍTMICAS CONDICIONALES SIMPLES, DOBLES Y MÚLTIPLES

Capítulo 13 INSTRUCCIONES DE CONTROL REPETITIVAS. Presentación resumen del libro: "EMPEZAR DE CERO A PROGRAMAR EN lenguaje C"

FUNCIONES CON Y SIN PARÁMETROS EN C. INVOCAR. SIGNATURAS. ARGUMENTOS. TIPO DE RETORNO (CU00549F)

Operadores de comparación

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta

TEMA 4: Programación estructurada

Programación: Estructuras de Control

Estructuras de Repetición: Repita Mientras.

Capítulo 12 INSTRUCCIONES DE CONTROL ALTERNATIVAS. Presentación resumen del libro: "EMPEZAR DE CERO A PROGRAMAR EN lenguaje C"

la solución a una ecuación cuadrática solicitando al usuario los términos de dicha ecuación.

Informática I. While & do While

Tema 06: Estructuras y sentencias de control en C

Algoritmo, Estructuras y Programación I Ing. Marglorie Colina

Lenguaje C Bucles, Condicionales, operadores y Algoritmos.

Capítulo 4. Estructuras Iterativas

Esquemas repetitivos en Fortran 90. Esquemas repetitivos en Fortran 90. Esquemas repetitivos en Fortran 90. Tipos de Esquema

ESTRUCTURAS DE CONTROL

Introducción a la. Programación con

Estructuras de Decisión Múltiple

Operadores de comparación

ESTRUCTURAS DE CONTROL

Estructuras de control

ESTRUCTURAS REPETITIVAS

Esquemas repetitivos en Fortran 90

SWITCH JAVASCRIPT. SELECCIÓN ENTRE ALTERNATIVAS. DIAGRAMA DE FLUJO Y EJEMPLO DE APLICACIÓN. (CU01120E)

TEMA 5. PROGRAMACIÓN BÁSICA EN MATLAB /OCTAVE

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

Estructuras de Repetición (Hacer-Mientras)

IF ELSE, IF ELSE IF JAVASCRIPT. CONDICIONALES DEL FLUJO O ESTRUCTURAS DE DECISIÓN. EJEMPLOS. EJERCICIOS. (CU01119E)

Estructuras de Control

Capítulo 3. Sentencias condicionales

Tipos de Datos de python (2ª parte):

Lenguaje de programación C. Introducción

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

CLASIFICACION DE LAS ESTRUCTURAS DE CONTROL

Instrucciones Si... Entonces y Si... Entonces SiNo (if then else) en pseudocódigo (CU00142A)

TIPOS DE BUCLES O CICLOS DE REPETICIÓN EN PHP: WHILE, DO WHILE Y FOR. EJEMPLOS Y EJERCICIOS RESUELTOS. (CU00822B)

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

OPERADORES ARITMÉTICOS EN PHP: OPERADORES BÁSICOS Y RESTO (MÓDULO). INCREMENTO Y DECREMENTO. (CU00819B)

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta

EJERCICIOS BÁSICOS DE PROGRAMACIÓN EN C RESUELTOS. VARIABLES, PRINTF, SCANF, CÁLCULOS. (CU00527F)

Sentencias de control. Condiciones

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

Estructuras de Repetición (Repita para)

TEMA 3: Estructuras de Control: Iterativas

Unidad Didáctica 3. Tipos genéricos. Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos

Ejercicio ejemplo de diagramas de flujo y pseudocódigo. Verificación de algoritmos. (CU00240A)

Declaración. Introducción. Definición o implementación. Llamada. Un programa en C consta de una o más funciones.

Objetivos de la práctica: - Trabajar las estructuras de control repetitivas en la realización de programas.

Lógica de programación

5. ESTRUCTURAS DE REPETICIÓN

Objetivos. Conceptos 1. ESTRUCTURAS DE CONTROL SELECTIVAS. Estructura condicional if-else

Estructuras de Decisión Simples y Dobles. Programación digital I Escuela de Sistemas Facultad de Ingeniería Gilberto Diaz

TEMA 2. LENGUAJE C. CONCEPTOS BÁSICOS Y PROGRAMACIÓN ELEMENTAL.

Ejercicio ejemplo resuelto: verificar el algoritmo de resolución de una ecuación de segundo grado. (CU00237A)

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

FACULTAD DE INGENIERIA

Sentencias DO-WHILE EN C++

ESTRUCTURAS CONDICIONALES EN PHP: SWITCH, CASE, BREAK. EJEMPLOS DE USO Y EJERCICIOS RESUELTOS. (CU00820B)

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

El lenguaje C. 3. Una instrucción que se ejecutará si la condición es verdadera.

Indice del curso básico programación desde cero Visual Basic Nivel I (CU00302A)

Ejercicios ejemplos resueltos con Desde-Siguiente (For-next) y arrays en pseudocódigo y diagramas de flujo. (CU00154A)

REFERENCIA DEL LENGUAJE

Sentencias de Procesamiento Iterativo: while y do-while

Cuales son los tipos de instrucciones que se utilizan en la programación?

Introducción al lenguaje C

Estructuras de Control JAVA

Funciones básicas del depurador

ESTRUCTURAS DE CONTROL REPETITIVAS

OPERADOR CONDICIONAL TERNARIO TIPO IF CON INTERROGACIÓN (JAVASCRIPT, JAVA, ETC.) Y DOS PUNTOS. EJEMPLOS (CU01152E)

SESIÓN DE EJERCICIOS E1

Transcripción:

APRENDERAPROGRAMAR.COM BREAK: FORZAR SALIDA BUCLES FOR, WHILE, DO EN C. LOOP. STATEMENT NOT WITHIN LOOP OR SWITCH (CU00545F) Sección: Cursos Categoría: Curso básico de programación en lenguaje C desde cero Fecha revisión: 2031 Resumen: Entrega nº45 del curso básico Programación C desde cero. Autor: Mario Rodríguez Rancel

SALIDA FORZADA DE BUCLES USANDO BREAK La salida forzada de un bucle while se puede conseguir con el uso de la sentencia break; de la misma forma que hemos indicado para los bucles for. Cuando existe anidamiento de bucles, se produce la salida del bucle más interno al inmediato superior. Si se escribe un break; fuera de un bucle o switch aparece el mensaje: "break statement not within loop or switch". Ejecuta este pequeño programa y comprueba cómo estas instrucciones permiten modificar el flujo natural de un bucle while. int i=0; int mostrar=1; while (i<5) { if(i>3) { break; printf("i vale %d\n", i); i++; i=0; // Ejemplos aprendereaprogramar.com while (i<10) { if(i%3==0) {mostrar=0; if (mostrar) { printf("ahora i vale %d\n", i); i++; mostrar = 1; El resultado de ejecución esperado es el siguiente: i vale 0, i vale 1, i vale 2, i vale 3 Ahora i vale 1, Ahora i vale 2, Ahora i vale 4, Ahora i vale 5, Ahora i vale 7, Ahora i vale 8 En el primer bucle, comprobamos cómo al verificarse la condición i>3, se produce la salida forzada del bucle. En el segundo bucle, comprobamos cómo cuando el resto de dividir el valor del índice entre tres resulta cero, se omite la ejecución de un fragmento de código controlado por un condicional. En este ejemplo, no se muestran los valores 0, 3, 6, 9 porque el resto de su división por tres es cero. FORZAR LA SALIDA DE BUCLES DO WHILE CON BREAK. SIMULAR BUCLES DO... LOOP Y SALIDA Dado que la construcción do while es análoga a while, la forma de forzar la salida de un bucle do while es la misma que ya conocemos, basada en el uso de break;. La construcción Hacer... Repetir de la que hablamos al estudiar pseudocódigo no existe como tal en C, aunque se puede simular estableciendo una condición para un bucle while que siempre se evalúe a verdadero, como por ejemplo while (1). Esto nos obliga, necesariamente, a que exista una condición de salida interna y a que exista un break; dentro del bucle. Consideremos el siguiente ejemplo:

// Ejemplos aprenderaprogramar.com int i=0; while(1) { printf("i vale %d\n", i); i = i + 1; if (i > 5) {break; En caso de un fallo del contador o de la condición de salida se producirá un bucle infinito. Es poco recomendable usar construcciones de este tipo como elemento habitual de programación. Lo más razonable es usarlas únicamente en casos excepcionales y en líneas generales, por el contrario, prescindir de ellas. EJERCICIO RESUELTO Nº1: ENUNCIADO Transformar en código el siguiente pseudocódigo y razonar para comprender su lógica. Se trata de un ejemplo de aplicación de SalirHacer y Hacer... Repetir, que debemos implementar en C mediante la sentencia break; en un bucle while con una condición de entrada siempre verdadera. Nota: Considerar que el valor de SecretCode se encuentra en el archivo code.dat, creado previamente. 1. Inicio [Mensaje si se acierta número secreto] 2. Leer Secretcode [Valor del número secreto] 3. Hacer Mostrar Introduzca número secreto : Pedir Numero Si Numero = Secretcode Entonces Mostrar Bienvenido. Su clave para operar será 685297 SalirHacer SiNo Mostrar Número erróneo : i = i + 1 Si i > 9 Entonces Mostrar Excedido número de pruebas disponibles. Acceso denegado SalirHacer FinSi FinSi Repetir 4. Fin [Pseudocódigo aprenderaprogramar.com]

EJERCICIO RESUELTO Nº1: SOLUCIÓN int i=0; double secretcode=0.0; double numero=0.0; puts ("Programa codigo secreto \n"); FILE* fichero; fichero = fopen("code.dat", "rt"); fscanf (fichero, "%lf", &secretcode ); fclose(fichero); while (1) { if (i > 9) { printf( "Excedido numero de pruebas disponibles. Acceso denegado"); break; // Ejercicios resueltos aprenderaprogramar.com printf("introduzca numero secreto: "); scanf ("%lf", &numero); if (numero==secretcode) { printf ("Bienvenido. Su clave para operar sera 685297 \n"); break; else { i = i + 1; printf("numero erroneo\n"); EJERCICIO Estudia el siguiente código y responde a las preguntas: // Curso de programación C aprenderaprogramar.com int main () { /* local variable definition */ int a = 10; /* while loop execution */ while( a < 20 ) { printf("value of a: %d\n", a); a++; if( a > 15) { break;

a) Sin ejecutar el código (sólo pensando) responde: cuál será el resultado del programa? b) Ejecutando el código cuál es el resultado del programa? c) Qué signficado tiene a++ en el contexto de este programa? d) Es equivalente escribir if( a > 15) break; y if( a > 15) { break;? e) Haz que el código cuente desde 10 hasta 15 sin hacer uso de break (usa sólo las condiciones naturales de un bucle while). Para comprobar si tus respuestas son correctas puedes consultar en los foros aprenderaprogramar.com. Próxima entrega: CU00546F Acceso al curso completo en aprenderaprogramar.com -- > Cursos, o en la dirección siguiente: http://www.aprenderaprogramar.com/index.php?option=com_content&view=category&id=82&itemid=210