Informática I. While & do While



Documentos relacionados
Estructuras de Repetición Repita Mientras

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

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

Estructuras de repetición hacer-mientras y repita hasta

Tema 4: Estructuras de Control Estructura y Contenidos

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

Programación. Ejercicios Tema 4 Estructuras de Control Repetitivas

CI 2125, Computación I

Estructuras de repetición

Hoja de problemas Estructuras de Control

PRÁCTICA 5. SENTENCIAS DE CONTROL REPETITIVAS.

República Bolivariana de Venezuela Aldea Universitaria Liceo Fray Pedro de Agreda. Lenguaje C++ Contadores y Acumuladores

Lenguaje C. Tipos de Datos Simples y Estructuras de Control

Estructuras de Control en C

Para dudas, comentarios escribe a: C BASICO

Este programa mueve cada motor de forma independiente, y cuando termina una línea pasa a la siguiente.

Capítulo 4 Procesos con estructuras de repetición

Estructuras Repetitivas: SENTENCIA WHILE EN MATLAB INFORMÁTICA T2 INGENIERÍA INDUSTRIAL JORNADA ESPECIAL

UNIDAD 5. ESTRUCTURAS DINÁMICAS Y ESTÁTICAS DE ALMACENAMIENTO DE DATOS.

3 ESTRUCTURAS DE CONTROL REPETITIVAS. BUCLES

Estructuras de Control - Diagrama de Flujo

Preliminares. Tipos de variables y Expresiones

Examen Principios de Programación Febrero 2012

Ejemplos de conversión de reales a enteros

Modulo 1 El lenguaje Java

Escuela Politécnica Superior de Ingeniería Departamento de Ingeniería Informática

! Una variable declarada con final no puede volver a ser reinicializada. numero = 2;! ! Para definir constantes

1 La Resolución de Problemas utilizando la Computadora

Distinguir las diferentes estructuras de repetición utilizadas en problemas con ciclos: mientras, haga-mientras, repita-hasta, para.

PRACTICA 6. VECTORES Y MATRICES.

PHP y MySQL. Indice: Switch Bucles For While do...while

Java Avanzado Facultad de Ingeniería. Escuela de computación.

Oprime click para iniciar

Lenguaje C Bucles, Condicionales, operadores y Algoritmos.

LABORATORIO Nº 3 PRÁCTICA DE FUNCIONES EN MICROSOFT EXCEL

Ejercicio 1 (2 puntos. Tiempo: 25 minutos)

SOLUCION EXAMEN junio 2006

Estructuras de Control - Diagrama de Flujo

Tema 3. Estructuras de control

Pontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia de la Computación

ESTRUCTURA DE DATOS: ARREGLOS

Que es PHP? Que se puede hacer con PHP? Sintaxis del lenguaje. Variables. Operadores básicos. Condicionales. Ciclos.

Una variable de clase escalar tiene un nivel de indirección igual a 1. Por ejemplo, las variables i, b y x definidas como se muestra a continuación.

Tema 7: Programación con Matlab

Informática y Programación Escuela de Ingenierías Industriales y Civiles Curso 2010/2011

Tema 2 Conceptos básicos de programación. Fundamentos de Informática

Soporte lógico de computadoras

Operaciones con vectores

El lenguaje C. #define MAX LINEA 1000 /* maximo tamanio de linea de entrada */

Curso 0 de Informática

LINUX - Los archivos de órdenes I

COMANDOS EN LENGUAJE DE PROGRAMACIÓN BASIC

1. Ejemplo de clase : La clase Cuenta 2. Uso de la clase Cuenta. 3. Métodos y objetos receptores de mensajes (Importante)

Estructuras de control

Curso de Excel Avanzado

Centro de Capacitación en Informática

INFORMÁTICA. Práctica 5. Programación en C. Grado en Ingeniería en Electrónica y Automática Industrial. Curso v1.0 (05.03.

Tecnologías en la Educación Matemática. Expresiones. Datos. Expresiones Aritméticas. Expresiones Aritméticas 19/08/2014

Se guardan en archivos con extencion c y los cabezales con extension h

Universidad Nacional del Santa F A C U L T A D D E I N G E N I E R I A E.A.P. Ingeniería de Sistemas e Informática NETBEANS 7.0

Ejercicios Tema 3. Estructuras de Selección

LENGUAJE. Tema 1 - Introducción

Tutorial Básico de vbscript

FUNDAMENTOS DE INFORMÁTICA 1º Ingeniería Industrial

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

!!!!!!!! !!!!! Práctica!4.! Programación!básica!en!C.! ! Grado!en!Ingeniería!!en!Electrónica!y!Automática!Industrial! ! Curso!2015H2016!

Titulo: Suma de N primeros números

Titulo: Calculo de PI

Introducción a PHP. * No es necesario declarar previamente las variables.

Para leer la entrada de consola, lo primero que se hace es construir un Scanner que este asociado al flujo de entrada estándar System.

Programación: QBASIC

Actividades de Divulgación del Centro Atómico Bariloche. Qué hay detrás de un programa de computadora? Daniela Arnica Pablo E. Argañaras.

TEMA 3: EL LENGUAJE C: PRESENTACIÓN

Tema: Arreglos de Objetos en C++.

Operación de Microsoft Word

Qué son los monomios?

Examen Junio- Grupo A Lunes 17 de Junio - Programación en C++ Pág. 1

INSTITUTO POLITECNICO NACIONAL. ESCUELA SUPEIRIOR DE INGENIERIA MECANICA Y ELECTRICA. UNIDAD CULHUACAN. INTEGRANTES: FLORES ACOLTZI ONESIMO

Árboles AVL. Laboratorio de Programación II

MANUAL DE REFERENCIA DE C++

TEMA 5. ESTRUCTURAS DE CONTROL: BUCLES.

MANUAL DE USO DE SMART DFD

EJERCICIOS DE PROGRAMACIÓN RELACIÓN VII (EJERCICIOS DE REPASO)

Seminario Profesional MS PROJECT MODULO 2: Introducción y organización de las tareas

Vectores y matrices. Fundamentos de Programación Fundamentos de Programación I

CLASE # 5 TÉCNICAS DE CAJA BLANCA

Fundamentos de programación

EDWIN KÄMMERER ORCASITA INGENIERO ELECTRÓNICO

1. DML. Las subconsultas

Fundamentos de programación

Tema: FUNCIONES, PROCEDIMIENTOS Y RECURSIVIDAD.

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

Tema 9. Vectores y Matrices

Introducción. Visual Basic para Aplicaciones (VBA) en Excel: aspectos elementales

Ahora comencemos!... Las operaciones matemáticas fundamentales pueden realizarse de forma rápida y sencilla con Miicrosofftt Excell.

PASOS PREVIOS 1. Entrar en Disco local ( C: ) Buscar la carpeta SILEX y click con el botón derecho, seleccionamos la opción Compartir y seguridad

CONSULTAS DE RESUMEN SQL SERVER Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE

Tutorial Sistema de indicadores Observatorio de la Persona Joven

GENERACIÓN DE CÓDIGO

Transcripción:

Asignatura: Informática I Trabajo práctico Nº5 While & do While

Estructura repetitiva MIENTRAS o while En C la sentencia while (condición o expresión) instrucciones; es seguramente la más utilizada. La sentencia, o grupo de sentencias o instrucciones se ejecutan mientras la evaluación de la expresión sea verdadera. While (Cond) Condición Instrucciones; Instrucciones es EJEMPLO X: Imprimir en pantalla la palabra Hola, mientras se presione en número 1. main() int num; Inicio Ingrese un numero printf ("Ingrese un numero: "); scanf("%d",&num); while (num == 1) printf ("\n Hola\n\n"); printf ("Ingrese otro numero: "); scanf("%d",&num); system("pause"); return 0; num num == 1 Si Hola Ingrese otro numero num Fin No

Estructura repetitiva HACER MIENTRAS o do while Una variación de la sentencia while es: do instrucciones while ( condición o expresión ); En ella la sentencia se ejecuta al menos una vez, antes de que se evalúe la expresión condicional Instrucciones Condición do Instrucciones; While (Condición) Ejemplo de aplicación: /* la función main comienza la ejecución del programa */ int contador = 1; /* inicializa el contador */ do printf( "%d ", contador ); /* despliega el contador */ while ( ++contador <= 10 ); /* fin del do...while */ return 0; /* indica la terminación exitosa del programa */ /* fin de la función main */

Estructuras repetitivas La mayoría de los problemas de programación requieren repetir un conjunto de acciones o sentencias, este ciclo debe repetirse cuando alguna condición de continuación de ciclo sea verdadera.existen dos clases de repetición y por lo tanto algunas estructuras repetitivas se adecuan mejor a una u otra aplicación, estas son: Repetición definida, controlada por contador, cuando se sabe el número exacto de ciclos o de veces a repetir un bloque de acciones.(estructura Repetitiva While) En este caso se utiliza una variable de control para contar el numero de repeticiones. La variable de control se incrementa (por lo general en 1) cada vez que un grupo de instrucciones se ejecuta.cuando el valor de la variable de control indica que el numero correcto de repeticiones se ha alcanzado, el ciclo termina. Este lazo utiliza como contador la variable cont y muestra la palabra vuelta y el número de vuelta en el que va. Este es un bucle de 10 ciclos cont=0 cont < 10 No Si cont=cont+1 vuelta,cont Repetición controlada por contador /* la función main comienza la ejecución del programa */ int contador = 0; /* inicialización */ printf ( "Este es un buclede 10 ciclos o vueltas\n", contador ); while ( contador < 10 ) /* condición de repetición */ contador++; /* incremento */ printf ( "vuelta %d\n", contador ); / * despliega el contador */ /* fin del while */ return 0; /* fin de la función main */

Repetición indefinida, controlada por centinela cuando no se sabe el número exacto de ciclos o de veces a repetir un bloque de acciones. (Estructuras Repetitivas: Mientras y Hacer Mientras). En este caso el valor centinela es cero y el programa muestra una cantidad indefinida de números de legajo ya que no existe entre los valores regulares un numero de legajo =0 cuando se quiera terminar basta con ingresar el valor centinela en la variable Numleg y la condición de ejecución dejara de cumplirse y el proceso de repetición termina. Ingrese numero de legajo, si desea terminar ingrese 0 Numleg Numleg!=0 Si No Este es:,numleg Ingrese otro numero Numleg En el caso 2 se utilizan valores centinela cuando, no conocemos por adelantado el numero preciso de repeticiones, así el ciclo incluye instrucciones de lectura de datos cada vez que el ciclo se ejecuta y estos datos son evaluados para ver si toman o no (el que haya sido elegido) el valor centinela, que indica fin de los datos regulares, el centinela siempre debe ser diferente de los valores regulares. Break y Continue Otras sentencias interesantes, aunque menos utilizadas son break y continue. break provoca que se termine la ejecución de una iteración o para salir de la sentencia switch, como ya hemos visto. En cambio, continue provoca que se comience una nueva iteración, evaluándose la expresión de control. Veamos dos ejemplos en trozos de código:

Ejemplo de aplicacion de break Cont = 10; while ( Cont >= 1 ) Cont=Cont -1 if ( Cont == 4 ) break; printf("%d ", count ); Ejemplo de aplicacion de Continue Cont = 10; while ( Cont >= 1 ) Cont=Cont -1 if ( Cont == 4 ) continue; printf("%d ", count ); Trabajo Practico numero 5 Actividad 1: Codificar en C y ejecutar cada uno de los ejemplos en el Laboratorio de informática en el caso de los trozos completarlos y correrlos modificar de lugar los incrementos que pasa? Actividad 2: Modificarlos para que en los dos casos de repetición se utilize do while. Actividad 3: Diseñar un programa que ingrese las notas y legajos de un curso por teclado utilizando los controles de datos mediante estructuras repetitivas y determine cantidad de aprobados reprobados y promocionados imprimir su legajo con una leyenda A o R o P y el operador deberá decidir cuando termina el ingreso de datos ingresando un legajo negativo Diagrama de flujo y pseudocódigo Actividad 4: Codificar en C el ejercicio anterior. en el Laboratorio de informática

Actividad 5: Que realizan los siguiente programa? comentarlos /* la función main inicia la ejecución del programa */ int aprobados = 0; int reprobados = 0; int estudiante = 1; /* */ int resultado; /* */ /* */ while ( estudiante <= 10 ) /* */ printf( "Introduzca el resultado ( 1=aprobado,2=reprobado ): " ); scanf( "%d", &resultado ); /* */ if ( resultado == 1 ) aprobados = aprobados + 1; else /* */ reprobados = reprobados + 1; estudiante = estudiante + 1; /* fin de while */ /* */ printf( "Aprobados %d\n", aprobados ); printf( "Reprobados %d\n", reprobados ); /* */ if ( aprobados > 8 ) printf( "Objetivo alcanzado\n" ); /* fin de if */ return 0;

Qué imprime este programa? */ /* la función main inicia la ejecución del programa */ int fila = 10; /* inicializa la fila */ int columna; /* define la columna */ while ( fila >= 1 ) /* repite el ciclo hasta que fila < 1 */ columna = 1; /* establece la columna en 1 al comenzar la iteración */ while ( columna <= 10 ) /* repite 10 veces */ printf( "%s", fila % 2? "<": ">" ); /* salida */ columna++; /* incrementa la columna */ /* fin del while interno */ fila--; /* decrementa la fila */ printf( "\n" ); /* comienza la nueva línea de salida */ /* fin del while externo */ return 0; /* indica que el programa terminó con exito */ /* fin de la función main */

Qué imprime este programa? */ /* la función main inicia la ejecución del programa */ int contador = 1; /* inicializa contador */ while ( contador <= 10 ) /* repite 10 veces */ /* muestra una línea de texto */ printf( "%s\n", contador % 2? "****" : "++++++++" ); contador++; /* incrementa contador */ /* fin de while */ return 0; /* indica que el programa terminó con exito */ /* fin de la función main */

int x = 1, total = 0, y; while ( x <= 10 ) y = x * x; printf( "%d\n", y ); total += y; ++x; printf( "El total es: %d\n", total ); return 0; int x, y, i, potencia; /* definición de las variables */ i = 1; potencia = 1; /* inicializa la potencia */ scanf( "%d", &x ); /* lectura de x del usuario */ scanf( "%d", &y ); /* lectura de y del usuario */ while ( i <= y ) /* repetirá el ciclo while mientras i sea menor o igual a y */ potencia *= x; /* multiplica potencia por x */ ++i; /* incrementa i */ /* fin del while */ printf( "%d\n", potencia ); /* despliega la potencia */ return 0; /* fin de la función main */

Qué tipo de repetición es? /* la función main inicia la ejecución del programa */ int contador; /* número de calificaciones introducidas */ int calificacion; /* valor de la calificación */ int total; /* suma de las calificaciones */ float promedio; /* número con punto decimal para el promedio */ /* fase de inicialización */ total = 0; /* inicializa el total */ contador = 0; /* inicializa el contador del ciclo */ /* fase de proceso */ /* obtiene la primera calificación del usuario */ printf( "Introduzca la calificacion, -1 para terminar: " ); /* indicador para la entrada */ scanf( "%d", &calificacion ); /* lee la calificación del usuario */ /* realiza el ciclo mientras no se introduzca el valor centinela */ while ( calificacion!= -1 ) total = total + calificacion; /* suma calificación a total */ contador = contador + 1; /* incrementa el contador */ /* obtiene la siguiente calificación del usuario */ printf( "Introduzca la calificacion, -1 para terminar: " ); /* indicador para la entrada */ scanf("%d", &calificacion); /* lee la siguiente calificación */ /* fin de while */ /* fase de terminación */ /* si el usuario introduce al menos una calificación */ if ( contador!= 0 ) /* calcula el promedio de todas las calificaciones introducidas */ promedio = ( float ) total / contador; /*evita la truncación*/ /* despliega el promedio con dos dígitos de precisión */ printf( " El promedio de la clase es: %.2f\n", promedio ); /* fin de if*/ else /* si no se introduce calificación alguna, despliega el mensaje */ printf( "No se introdujeron calificaciones\n" ); /* fin de else */

return 0; /* indica que el programa terminó con exito */ /* fin de la función main */