CI 2125, Computación I



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

Informática I. While & do While

Estructuras de repetición hacer-mientras y repita hasta

Ejemplos de conversión de reales a enteros

Estructuras de Repetición Repita Mientras

Programación. Ejercicios Tema 4 Estructuras de Control Repetitivas

Estructuras de Control en C

Tema 4: Estructuras de Control Estructura y Contenidos

Tema 2. Software. Informática (1º Ingeniería Civil)

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

Capítulo 4 Procesos con estructuras de repetición

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

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

Estructuras de repetición

Datos del autor. Nombres y apellido: Germán Andrés Paz. Lugar de nacimiento: Rosario (Código Postal 2000), Santa Fe, Argentina

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

Hoja de problemas Estructuras de Control

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

PRÁCTICA 1: INTRODUCCIÓN A LA ALGORÍTMICA BOLETIN DE PROBLEMAS RESUELTOS. (Curso 03-04)

Divisibilidad y números primos

Resolución de Problemas

FRACCIONES. Una fracción tiene dos términos, numerador y denominador, separados por una raya horizontal.

Introducción a la Computación TFA

EXPLORAR RELACIONES NUMÉRICAS EN LAS TABLAS DE MULTIPLICAR

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

DIVISIBILIDAD SOLUCIÓN:

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

PRÁCTICA N 2 SISTEMAS DE NUMERACIÓN

ETS Caminos Santander. Curso Ejercicios de introducción a la programación.

RELACIONES DE RECURRENCIA

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

Tema: FUNCIONES, PROCEDIMIENTOS Y RECURSIVIDAD.

Índice Introducción Números Polinomios Funciones y su Representación. Curso 0: Matemáticas y sus Aplicaciones Tema 1. Números, Polinomios y Funciones

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

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

5 Ecuaciones lineales y conceptos elementales de funciones

Preliminares. Tipos de variables y Expresiones

Descomposición factorial de polinomios

Lenguaje de Diseño Primer Cuatrimestre

La nueva criba de Eratóstenes Efraín Soto Apolinar 1 F.I.M.E. U.A.N.L. San Nicolás, N.L. México. efrain@yalma.fime.uanl.mx

Problemas resueltos de combinatoria

3 ESTRUCTURAS DE CONTROL REPETITIVAS. BUCLES

ESTRUCTURA DE DATOS: ARREGLOS

Apuntes de Matemática Discreta 11. Teorema Fundamental de la Aritmética

QUÉ ES UN NÚMERO DECIMAL?

Ecuaciones de primer grado con dos incógnitas

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

Tema 7: Programación con Matlab

INTRODUCCIÓN. Estructura de Datos Tipos Abstractos de Datos (TAD S) Profs. Lorna Figueroa M. Mauricio Solar F. UTFSM 1 / 2008

Función exponencial y Logaritmos

Qué son los monomios?

Titulo: Suma de N primeros números

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

UNIDAD 1. LOS NÚMEROS ENTEROS.

Ecuaciones de segundo grado

Programación I: Funciones y módulos

Universidad Metropolitana Castro Carazo Prof. Ing. Patricia Vargas. Material de apoyo Semana #2 PROGRAMACIÓN II

UNIDAD 6. POLINOMIOS CON COEFICIENTES ENTEROS

Oprime click para iniciar

Lección 9: Polinomios

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

Una desigualdad se obtiene al escribir dos expresiones numéricas o algebraicas relacionadas con alguno de los símbolos

Apuntes de Matemática Discreta 1. Conjuntos y Subconjuntos

CAPÍTULO III. FUNCIONES

Estructuras de Repetición (Hacer-Mientras)

TEMA 4 FRACCIONES MATEMÁTICAS 1º ESO

MANUAL DE USO DE SMART DFD

El concepto de función en programación se fundamenta en el concepto de función matemática 1

Fundamentos de la Programación

REPASO NÚMEROS NATURALES Y NÚMEROS ENTEROS

ICM Fundamentos de Computación

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

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

Lenguaje C Funciones. Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia

Metodología de la programación y desarrollo de software. Marta Zorrilla Universidad de Cantabria

EJERCICIOS RESUELTOS SOBRE ERRORES DE REDONDEO

Tema 3. Polinomios y fracciones algebraicas

Estructuras de control

Por ejemplo convertir el número 131 en binario se realiza lo siguiente: Ahora para convertir de un binario a decimal se hace lo siguiente:

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.

no descompone no descompone no descompone

Matrices Invertibles y Elementos de Álgebra Matricial

1.3 Números racionales

Árboles AVL. Laboratorio de Programación II

Diseño Estructurado de Algoritmos

CONTENIDOS. 2. Entidades primitivas para el desarrollo de algoritmos.

SUMA Y RESTA DE FRACCIONES

Múltiplos y divisores

PRÁCTICA 5. SENTENCIAS DE CONTROL REPETITIVAS.

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

Elementos de Combinatoria

TEMA 2: DESARROLLO DEL SOFTWARE

ARREGLOS DEFINICION GENERAL DE ARREGLO

Creación de Funciones de Conducción

Tema 11. Listas infinitas

Programación en lenguaje C++

TEMA: ECUACIONES CON NÚMEROS NATURALES ECUACIONES DE PRIMER GRADO CON UNA INCÓGNITA.

Problemas fáciles, difíciles y muy difíciles

PRACTICA 6. VECTORES Y MATRICES.

Transcripción:

Universidad Simón Bolívar Dpto. de Computación y Tecnología de la Información CI 2125, Computación I Práctica 5: ESTRUCTURAS DE REPETICIÓN Como ya hemos visto, el procedimiento desarrollado para resolver un problema debe ser formulado como UNA SECUENCIA DETALLADA DE PASOS SIMPLES. Tal procedimiento es llamado algoritmo. Los algoritmos estructurados y los programas son diseñados utilizando tres métodos de control básicos: i. secuencia: los pasos son realizados de una manera estrictamente secuencial, siendo cada paso ejecutado sólo una vez. ii. selección: (Condicional)una o un número de acciones alternativas es seleccionado y ejecutado iii. repetición: (Ciclos) uno o más pasos son realizados repetidamente. Cada uno de estos métodos utilizados en forma individual son simples, pero el efecto de ellos hace que cualquier algoritmo puede ser construido utilizando combinaciones de estos. Las estructuras de repetición o CICLO es un grupo de instrucciones que la computadora ejecuta en forma repetida hasta que queda satisfecha cierta condición de terminación. Las repeticiones deben ser controladas para que estas instrucciones sean ejecutadas un número FINITO de veces. Existen 2 tipos de instrucciones de repetición: Repetición controlada por contador: Denominada a veces repetición definida, pues se sabe con anticipación cuantas veces se ejecutará el ciclo. Repetición controlada por centinela denominada a veces repetición indefinida, porque no se conoce con anticipación cuantas veces el ciclo se repetirá. 1. Escriba un enunciado en C que dado n, realice la suma de esos n primeros números. SOLUCIÓN #define N 10 int x, suma=0; /* ejercicio */ for (x = 1; x <= N ; x++ ) printf("%d\n ", x); suma=suma + x; printf("%d\n ", suma); 2. Escriba un enunciado en C que realice la suma de los números impares comprendidos entre 1 y 99. SOLUCION #define N 100 1

int x, suma=0; float y; /* ejercicio SUMA DE IMPARES ENTRE 1 Y 99*/ for (x = 1; x < N ; x=x+2 ) printf("%d\n ", x); suma=suma + x; printf("%d\n ", suma); 3. Encuentre el error en cada uno de los segmentos de código siguientes y explique como corregirlos: a. x = 1; while (x<= 10) ; x++; Solución: el ; después de la condición genera un ciclo infinito. Si lo eliminamos corre y da como resultado 11. Ejercicio modificado x = 1; while (x<= 10) x++; b. for (y =.1; y!= 1.0; y +=.1) printf( %f\n, y); Solución: Se genera un ciclo infinito, por la representación de los valores reales no se llega al valor 1.0 jamas, si cambiamos por for (y =.1; y <= 1.0; y +=.1) printf( %f\n, y); da los valores 0.1, 0.2,0.3,0.4,0.5,0.6, 0.7, 0.8, 0.9 y finaliza. c. for (x = 100, x <= 1, x++) Solución: Da error pues los separadores de las diferentes partes del for son, en vez de ; for (x = 100; x <= 1 ; x++) Este ciclo no se realiza ni una sola vez pues la x <= 1 es FALSA. d. for (x = 999; x >= 1 ; x +=2 ) Solución: Ciclo infinito. La condición x >= 1 siempre sera verdadera. 4. Diga que valores de la variable de control x se imprimen para cada uno de los ennciados for siguientes: a. for (x = 2; x <= 13 ; x += 2 ) 2

IMPRIME : 2 4 6 8 10 12 b. for (x = 5; x <= 22 ; x += 7) IMPRIME : 5 12 19 c. for (x = 3; x <= 15 ; x += 3) IMPRIME : 3 6 9 12 15 d. for (x = 12; x >= 2 ; x = 3 ) IMPRIME : 12 9 6 3 5. Escriba un programa que calcule el promedio de una lista de números leídos. El final de la lista es el valor 9999. SOLUCION 1 #define FIN 9999 int x, cont=0, acum=0; float promedio=0.0; /* ejercicio promedio de valores leidos fin lista 9999*/ printf("por favor introduzca un valor, se finaliza con el valor 9999\n"); while (x!=fin) cont+=1; acum=acum+x; printf("por favor introduzca un valor, se finaliza con el valor 9999\n"); promedio=acum/cont; printf(" Promedio es =%f\n",promedio); 3

6. Escriba un programa que calcule el factorial de n, donde n es leído. El factorial de un número n es igual al producto de los enteros positivos del 1 hasta el n. SOLUCION #define FIN 9999 int i, n, fact=1; /* ejercicio factorial de N ) */ printf("por favor introduzca el valor de N\n"); scanf("%d",&n); if (n == 0 n==1 )fact= 1; else for (i=1;i<= n; i++) fact= fact*i; printf(" El Factorial de N =%d es %d\n",n, fact); 7. Escriba un programa que localice el más pequeño de varios números enteros. Suponga que el primer valor leído especifica la cantidad de valores que restan. SOLUCIÓN #define FIN 9999 int i,x, n, menor; /* ejercicio Menor de una lista de números ) */ printf("por favor introduzca la cantidad de valores a leer N\n"); 4

scanf("%d",&n); printf("valor leido= %d\n", n); if (n == 0 n==1 ) printf(" El valor debe ser mayor de 1\n"); else printf("por favor introduzca un valor \n"); menor=x; for (i=1;i< n; i++) printf("por favor introduzca un valor \n"); printf("valor leido= %d\n", x); if (x <menor ) menor= x; printf(" el valor menor es =%d \n",menor); 8. Suponga que un estudiante cambia 5 barajitas en un día. Cada día siguiente cambia una barajita más que el día anterior. Realice un programa que determine cuántas barajitas cambiará en N días. Qué pasaría en el programa si la condición del for fuese i N y N no fuese un entero? 9. Desarrolle un programa que permita determinar si un número entero positivo es primo utilizando un while, luego un for y un do-while. 10. Determine la función f(x) computada por el siguiente algoritmo y realice la corrida en frío para f(7) Entrada: X. (entero Positivo). Algoritmo: INICIO sum 0 FIN i 1 MIENTRAS (i<x) HACER i i+1 SI el resto de dividir i entre 2 es 0 ENTONCES sum sum+i FINSI FINMIENTRAS 5

11. Elabore un programa en C que determine el Máximo Común Divisor entre dos números enteros. Una manera de calcular el Máximo Común Divisor es mediante la definición: MCD(a,a)=a MCD(a,b)=MCD(b,a) MCD(a,b)=MCD(b,(a b)) si a>b 12. La serie de Fibonacci se define de la siguiente manera a n = a n 1 + a n 2. Con a 0 =0 y a 1 =1. Elabore un programa que determine el término a x de la serie. 6