Si un número es múltiplo de otro, u dicho de forma, comprobar si un número es divisor de otro.

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Si un número es múltiplo de otro, u dicho de forma, comprobar si un número es divisor de otro."

Transcripción

1 1.Introducción La programación es una herramienta muy poderosa para resolver todo tipo de problemas, entre ellos los problemas matemáticos. En este artículo se muestra cómo se resuelven algoritmos básicos, como son las siguientes cuestiones: Si un número es par o impar. Si un número es primo. Si un número es múltiplo de otro, u dicho de forma, comprobar si un número es divisor de otro. Obtener los dígitos que componen un número en orden inverso. Obtener el inverso de un número. Comprobar si un número es o no capicúa. Comprobar el factorial de un número entero, tanto de forma iterativa como de forma recursiva. Comprobar el número de fibonacci de un número entero, tanto de forma iterativa como de forma recursiva. Para todos estos casos se da una breve explicación del algoritmo y finalmente se da el algoritmo en lenguaje C. 1

2 2.Comprobar si un número es par o impar Para comprobar si un número es par o impar simplemente tenemos que dividirlo entre dos y comprobar si el resto es 0. En caso positivo el número será par, y en caso negativo será impar. Ejemplo: número 20. Si dividimos 20 entre 2 el cociente es 10 y el resto es 0. Será par por lo tanto. Vamos a ver el programa en lenguaje C que dado un número entero pedido por teclado nos informa mediante un mensaje si es par o impar. void main() int a, resto; printf("dame el número\n"); scanf("%d",&a); resto=a%2; if (resto= = 0) printf("el número es par\n"); else printf("el número es impar\n"); 2

3 3.Comprobar si un número es múltiplo de otro Para comprobar si un número es múltiplo de otro simplemente tenemos que hacer una división. Si el resto de la división es 0 el número mayor será múltiplo del menor, y a su vez el menor será divisor del primero. Vamos a ver el programa que pide dos números por pantalla y nos comprueba si el mayor es múltiplo del primero. void main() int a,b; printf("dame un entero\n"); scanf("%",&a); printf("dame un entero\n"); scanf("%",&b); //se comprueba cuál es el número mayor y cuál es el menor if (a>b) Max=a; Min=b; else Max=b; Min=a; resto=max%min; if (resto= = 0) printf("el número %d es múltiplo de %d\n",max,min); else printf("el número %d no es múltiplo de %d\n",max,min); 3

4 4.Comprobar si un número es primo Un número primo es aquel que sólo es divisible por si mismo y por la unidad, es decir, desde el número dos hasta el número 1 no tiene ningún divisor. Ejemplo: Numero 17. Para saber si es un número primo comprobaremos que ninguno de los números comprendidos en el intervalo 2-16, ambos inclusive, son divisores. Vamos a ver el programa que pide un número por teclado y nos comprueba si es primo. En este caso vamos a utilizar una función. Esta retornará un 1 ó un 0 dependiendo si el número es o no es primo. int esprimo (int); //retorna 1 si el número que se le pasa es un número primo y 0 en caso contrario int main() char a; printf("dame un número:\n"); scanf("%d",&a); if (esprimo(a)==1) printf("es un número primo\n"); else printf("no es un número primo\n"); int esprimo (int n) int i; for (i=2;i<=n-1;i++) if (n%i==0) return 0; return 1; 4

5 5.Sacar los dígitos de un número uno a uno En el sistema decimal, el sistema que estamos habituados a usar, la forma de obtener los dígitos de un número es la siguiente: Dividimos el número entre 10 Obtenemos el resto->éste será el último dígito del número. Nos quedamos con el divisor-> En el siguiente paso el número pasará a ser el divisor, repitiendo el proceso hasta que el número llegue a ser 0. Vamos a verlo con un ejemplo: Número Paso 1: Resto de 1894 entre 10: 4 Divisor de 1894 entre 10: 189 Paso 2: Resto de 189 entre 10: 9 Divisor de 189 entre 10: 18 Paso 3: Resto de 18 entre 10: 8 Divisor de 18 entre 10: 1 Paso 4: Resto de 1 entre 10: 1 Divisor de 1 entre 10: 0 Paso 5: Este paso ya no llega a darse porque el número ha llegado a 0. Como puede verse los dígitos del número se obtienen en orden inverso, en este caso, el 4, el 9, el 8 y finalmente el 1. 5

6 Vamos a ver el programa que pide un número por teclado y muestra por pantalla los dígitos que lo componen: int main() int n,resto; printf("dame el número:\n"); scanf("%d",&n); while (n!=0) resto=n%10; printf("%d:\n",resti); n=n/10; El programa pide un número por pantalla y muestra cada uno de los dígitos que lo componen en una línea. 6

7 6.Invertir un número Para invertir un número nos apoyaremos en el algoritmo anterior. Volveremos a tomar como ejemplo el número 1894, cuyo número inverso es Al principio del algoritmo el número inverso valdrá 0, y en cada uno de los pasos haremos la operación inverso=inverso*10 + resto. Inverso=0 Paso 1: Resto de 1894 entre 10: 4 Divisor de 1894 entre 10: 189 Inverso=0*10+4 -> El inverso valdrá 4 Paso 2: Resto de 189 entre 10: 9 Divisor de 189 entre 10: 18 I nverso=4*10+9 -> El inverso valdrá 49 Paso 3: Resto de 18 entre 10: 8 Divisor de 18 entre 10: 1 Inverso=49*10+8 -> El inverso valdrá 498 Paso 4: Resto de 1 entre 10: 1 Divisor de 1 entre 10: 0 Inverso=498*10+1 -> El inverso valdrá 4981 Paso 5: Este paso ya no llega a darse porque el número ha llegado a 0. El inverso será

8 Vamos a ver cómo sería el programa que pide un número por teclado y calcula su inverso: int main() int n,resto,inverso,original; inverso=0; printf("dame el número:\n"); scanf("%d",&n); original=n; while (n!=0) resto=n%10; inverso=inverso*10+resto; n=n/10; printf("el inverso del número %d es %d:\n",original, inverso); 8

9 7.Comprobar si un número es capicúa Para comprobar si un número es capicúa nos apoyaremos en el algoritmo anterior. Primero se invierte el número y se compara con el original. Si son iguales el número es capicúa. Ejemplo: el número 1375 no es capicúa, ya que el número invertido (5731) es diferente al original. int main() int n,resto,inverso,original; inverso=0; printf("dame el número:\n"); scanf("%d",&n); original=n; while (n!=0) resto=n%10; inverso=inverso*10+resto; n=n/10; If (inverso==original) printf("el número es capicúa:\n"); Else printf("el número no es capicúa:\n"); 9

10 8.Calcular el factorial de un número Como todos sabemos el factorial de un número se obtiene multiplicando el número por todos los inferiores hasta llegar a 1. Como ejemplo podemos calcular el factorial de 5, que se calculará con la cuenta 5x4x3x2x1 = 120 Para calcularlo con un algoritmo puede hacerse de forma iterativa y de forma recursiva. 8.1.Algoritmo iterativo En el algoritmo iterativo iremos almacenando el resultado del producto en una variable acumuladora, finalizando el bucle cuando lleguemos al número 1. Si seguimos el ejemplo anterior en el que calculamos el factorial del número 5 tendríamos los siguientes pasos: Acumulador=1 (se inicializa a 1 ya que vamos a realizar multiplicaciones). En cada paso realizaremos las siguientes operaciones: Acumulador=acumulador*n Decrementar el número n Este bucle se repetirá cuando el número n llegue a valer 1. Paso 1: Acumulador= 1*5=5 N=4 Paso 2: Acumulador= 5*4=20 N=3 Paso 3: Acumulador= 20*3=60 N=2 Paso 4: Acumulador= 60*2=120 N=1 Paso 5: Acumulador= 120*1=120 N=0 El proceso finaliza ya que N vale 0, por lo tanto el factorial del número 5 será

11 El programa que nos calcula el factorial de un número pedido por teclado podría ser de la siguiente forma: int main() int result,n; printf("dame el número:\n"); scanf("%d",&n); while (n!=0) result=result*n; n=n-1; printf("el factorial es %d\n",result); 11

12 8.2. Algoritmo recursivo La solución recursiva de los algoritmos puede ser más evidente en ciertos problemas, si bien puede que en muchas ocasiones sea más ineficiente. En el caso del factorial de un número el algoritmo recursivo nos aporta una solución muy fácil de entender. De hecho, este algoritmo es el que siempre suele ponerse como ejemplo para explicar la recursividad. Factorial del número 5= 5x4x3x2x1 = 5 x factorial del número 4 Factorial del número 4= 4x3x2x1 = 4 x factorial del número 3 Factorial del número 3= 3x2x1 = 3 x factorial del número 2 Factorial del número 2= 2x1 = 2 x factorial del número 1 Factorial del número 1= es el caso base y vale 1. Como se puede en cada paso multiplicamos el número por el factorial del número anterior hasta que se llega al caso base en el que se retorna un 1. int main() int result,n; printf("elemento para calcular su factorial:\n"); scanf("%d",&n); res=factorial(n); printf("el factorial de %d es %d:\n",n,res); int factorial (int n) if (n==0) return 1; return n*factorial(n-1); 12

13 9.Calcular el número de fibonacci de un número cualquiera El fibonacci de un número entero se calcula de la siguiente forma: F 0 =1 F 1 =1 F i = F i-1 + F i-2 Es decir, los caos base son el fibonacci de los números 0 y 1 que vale 1. Para cualquier otro número su fibonacci se calcula sumando el del anterior más el del anterior al anteror. Ejemplo: El fibonacci de 8 será el fibonacci de 7 más el fibonacci de 6. Fibonacci de 0: 1 Fibonacci de 1: 1 Fibonacci de 2: 2 Fibonacci de 3: 3 Fibonacci de 4: 5 Fibonacci de 5: 8 Fibonacci de 6: 13 Fibonacci de 7: 21 Fibonacci de 8: 34 13

14 9.1.Algoritmo iterativo El algoritmo consistirá en utilizar 3 variables para ir almacenando los fibonacci de los números intermedios. A será el fibonacci del número anterior B será el fibonacci del número anterior al anterior En actual tendremos el valor del número fibonacci actual. Las variables a y b se inicializan en 1: A=1 // Representará el fibonacci del número 0 B=1 // Representará el fibonacci del número 1 La primera iteración nos dará el fibonacci de 3, la segunda de 4 y así sucesivamente: En cada paso la variable actual almacenará el valor de a más b. A pasará a tomar el valor de b. B pasará a tomar el valor de actual. 14

15 El programa que nos calcula el fibonacci de un número n pedido por teclado será de la siguiente forma: void fib(); int main() int n; printf("dame el número N:\n"); scanf("%d",&n); fib(n); void fib(int n) int a,b,actual,i; if (n==0) printf("fibonacci 0=1\n"); else if (n==1) printf("fibonacci 0=1\n"); printf("fibonacci 1=1\n"); else printf("1\n1\n"); a=1; b=1; for (i=2;i<=n;i++) actual=a+b; a=b; b=actual; printf("el fibonacci es %d\n",actual); 15

16 Exp Algoritmo recursivo La versión recursiva se calcula de la siguiente forma: Caso base: fibonacci del número 0: 1, fibonacci del número 1: 1 Recurrencia: el fibonacci de un número N se calcula sumando el fibonacci de N-1 y de N-2. Vamos a ver el algoritmo que nos hace el cálculo de forma recursiva: int fib(int); int main() int x,res; printf("dame el número:\n"); scanf("%d",&x); res=fib(x); printf("el fibbonacci de %d es %d\n",x,res); int fib (int n) if (n==0 n==1) return 1; return fib(n-1)+fib(n-2); 16

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

Dobles: Es el caso de la instrucción if-else (punto 1.2). 1 1.Introducción Las estructuras de control son instrucciones que nos permiten controlar el flujo de ejecución del programa. Las instrucciones de control se pueden agrupar en instrucciones condicionales

Más detalles

SESIÓN DE EJERCICIOS E1

SESIÓN DE EJERCICIOS E1 SESIÓN DE EJERCICIOS E1 Primera parte: ejercicios test (soluciones al final) A resolver antes de comenzar la sesión en el aula Ejercicio 1 Qué definición de constantes es la correcta en lenguaje C? a)

Más detalles

Tema 7: Recursividad

Tema 7: Recursividad Tema 7: Recursividad Objetivos: en este tema estudiaremos funciones recursivas; esto es, funciones que se invocan a sí mismas. Estas funciones son equivalentes a estructuras tipo bucle pero permiten especificar

Más detalles

SESIÓN DE EJERCICIOS E1

SESIÓN DE EJERCICIOS E1 SESIÓN DE EJERCICIOS E1 Primera parte: ejercicios test Ejercicio 1 Qué definición de constantes es la correcta en lenguaje C? a) #define N=25; b) #define N 25 c) int N=25; d) int N 25 Ejercicio 2 La expresión

Más detalles

Programación I Recursividad.

Programación I Recursividad. Programación I Recursividad http://proguno.unsl.edu.ar proguno@unsl.edu.ar Recursividad Técnica de resolución de problemas particulares. La definición de un concepto es recursiva si el concepto es definido

Más detalles

LABORATORIO 3 ESTRUCTURAS REPETITIVAS WHILE / DO WHILE

LABORATORIO 3 ESTRUCTURAS REPETITIVAS WHILE / DO WHILE LABORATORIO 3 ESTRUCTURAS REPETITIVAS WHILE / DO WHILE 1 OBJETIVOS Al finalizar esta actividad, serás capaz de: Entender el funcionamiento de las estructuras iterativas en general; la(s) condición(es)

Más detalles

Análisis de algoritmos. Recursividad

Análisis de algoritmos. Recursividad Análisis de algoritmos Recursividad 1 Matrushka La Matrushka es una artesanía tradicional rusa. Es una muñeca de madera que contiene otra muñeca más pequeña dentro de sí. Ésta muñeca, también contiene

Más detalles

Recursividad Definición

Recursividad Definición Recursividad Definición Un procedimiento o función se dice recursivo si durante su ejecución se invoca directa o indirectamente a sí mismo. Esta invocación depende al menos de una condición que actúa como

Más detalles

Recursividad. Franco Guidi Polanco Escuela de Ingeniería Industrial Pontificia Universidad Católica de Valparaíso, Chile

Recursividad. Franco Guidi Polanco Escuela de Ingeniería Industrial Pontificia Universidad Católica de Valparaíso, Chile Recursividad Franco Guidi Polanco Escuela de Ingeniería Industrial Pontificia Universidad Católica de Valparaíso, Chile fguidi@ucv.cl Recursividad v Es la técnica de definir un proceso en términos de si

Más detalles

PROBLEMAS DEL TEMA 5: Control de Flujo del Programa

PROBLEMAS DEL TEMA 5: Control de Flujo del Programa PROBLEMAS DEL TEMA 5: Control de Flujo del Programa EJERCICIOS RESUELTOS 1. Escribir un programa que calcule el factorial de un número entero n dado por teclado. Dicho número deberá ser mayor que cero

Más detalles

Reales. Caracteres. Cadenas de Caracteres (String)

Reales. Caracteres. Cadenas de Caracteres (String) Conceptos preliminares para la programación Algoritmo: Conjunto de pasos lógicos, secuenciales y finitos para dar solución a un problema general. Dato: Es una característica de un objeto o entidad, que

Más detalles

Una Introducción a la Programación Estructurada en C

Una Introducción a la Programación Estructurada en C Una Introducción a la Programación Estructurada en C Otoño 2013 Índice I 1 Estructura de un programa en C 2 El primer programa en C Lectura de datos Consideraciones adicionales 3 Estructura de control

Más detalles

Complejidad de algoritmos recursivos

Complejidad de algoritmos recursivos Tema 3. Complejidad de algoritmos recursivos 1. INTRODUCCIÓN... 1 CLASIFICACIÓN DE FUNCIONES RECURSIVAS... 1 DISEÑO DE FUNCIONES RECURSIVAS... 2 2. VENTAJAS E INCONVENIENTES DE LA RECURSIVIDAD... 4 3.

Más detalles

Funciones: Pasos por Referencia Recursividad

Funciones: Pasos por Referencia Recursividad Funciones: Pasos por Referencia Recursividad Fundamentos de Programación Fundamentos de Programación I Parámetros por referencia Con la instrucción return sólo se puede devolver un valor calculado. A veces

Más detalles

Ejercicios sobre recursividad

Ejercicios sobre recursividad Ejercicios sobre recursividad 11 de febrero de 2003 1. Implementa una función recursiva que devuelva la suma de los dígitos de un número natural, que se le pasa por parámetro. 2. Implementa una función

Más detalles

#include <stdio.h> float cubica(float numero) { float cubica; cubica = numero * numero * numero; return cubica; }

#include <stdio.h> float cubica(float numero) { float cubica; cubica = numero * numero * numero; return cubica; } /*1. Crear una función que calcule el cubo de un número real (float). El resultado deberá ser otro número real. Probar esta función para calcular el cubo de 3.2 y el de 5. */ float cubica(float numero)

Más detalles

Estructura de datos y de la información Boletín de problemas - Tema 9

Estructura de datos y de la información Boletín de problemas - Tema 9 Estructura de datos y de la información Boletín de problemas - Tema 9 1. Dada la siguiente función recursiva: void F(char c) { if (( A

Más detalles

Diseño y Análisis de Algoritmos

Diseño y Análisis de Algoritmos 1. Recursividad 2. "Dividir para Reinar" 3. Recursividad y Tabulación (Programación Dinámica) 4. Métodos Matemáticos Funciones discretas Notación O Ecuaciones de recurrencia 5. Casos de Estudio Breve descripción

Más detalles

Entrenamiento ONMAPS Guanajuato. Primaria (Teoría de Números)

Entrenamiento ONMAPS Guanajuato. Primaria (Teoría de Números) Entrenamiento ONMAPS Guanajuato Primaria (Teoría de Números) Un concepto que se usa de manera muy frecuentemente en los problemas de Olimpiada de Matemáticas es el de divisibilidad. Esto no se tratará

Más detalles

La recursividad forma parte del repertorio para resolver problemas en Computación y es de los métodos más poderosos y usados.

La recursividad forma parte del repertorio para resolver problemas en Computación y es de los métodos más poderosos y usados. RECURSIVIDAD La recursividad forma parte del repertorio para resolver problemas en Computación y es de los métodos más poderosos y usados. Los algoritmos recursivos ofrecen soluciones estructuradas, modulares

Más detalles

Funciones Tipos de funciones y Recursividad

Funciones Tipos de funciones y Recursividad Funciones Tipos de funciones y Recursividad SESION 4 Definición Una función es una subrutina o subprograma que forman un programa que realiza tareas bien definidas. Todo programa en C consta de una o más

Más detalles

Estructuración del programa en partes más pequeñas y sencillas

Estructuración del programa en partes más pequeñas y sencillas Introducción Estructuración del programa en partes más pequeñas y sencillas Modularización Propósito único Identificable Reusable Mayor claridad: programación, depuración, etc. Construcción de librerías

Más detalles

Boletín de ejercicios de la asignatura de INFORMÁTICA para la realización de las prácticas de laboratorio. Ejercicios de Estructuras de Control

Boletín de ejercicios de la asignatura de INFORMÁTICA para la realización de las prácticas de laboratorio. Ejercicios de Estructuras de Control Boletín de ejercicios de la asignatura de INFORMÁTICA para la realización de las prácticas de laboratorio Ejercicios de Estructuras de Control Escuela Técnica Superior de Ingeniería Geodésica, Cartográfica

Más detalles

PROBLEMAS DEL TEMA 7 SUBPROGRAMAS Y MODULARIDAD

PROBLEMAS DEL TEMA 7 SUBPROGRAMAS Y MODULARIDAD PROBLEMAS DEL TEMA 7 SUBPROGRAMAS Y MODULARIDAD EJERCICIOS RESUELTOS 1. Escribe una función que calcule el factorial de un número, dado como parámetro. A continuación realizar un programa que lea por teclado

Más detalles

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

WHILE Y DO WHILE BREAK EN LENGUAJE C. BUCLES MIENTRAS. FORZAR SALIDA O TERMINACIÓN. EJEMPLO (CU00534F) Bucles en lenguaje C Bucle while y forzar detención con break APRENDERAPROGRAMARCOM WHILE Y DO WHILE BREAK EN LENGUAJE C BUCLES MIENTRAS FORZAR SALIDA O TERMINACIÓN EJEMPLO (CU00534F) Sección: Cursos Categoría:

Más detalles

Repetición. Ejercicio 3

Repetición. Ejercicio 3 Martinez Rubio Fernando Delgado Plaza Fortino Juan Carlos Corrales Garcia Miguel Angel Martin Del Campo Maldonado Repetición Ejercicio 3 void int n,a,b,c,aux; do // Se lle el número hasta que sea mayor

Más detalles

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

Algoritmo, Estructuras y Programación I Ing. Marglorie Colina Unidad II: Fundamentos de la Programación Estructurada Algoritmo, Estructuras y Programación I Ing. Marglorie Colina Estructura General de un Programa Zona de ficheros de cabecera de las librerías Zona

Más detalles

Fundamentos de programación

Fundamentos de programación Fundamentos de programación Estructuras de Control Estructuras de control Estructuras de control Estructura secuencial Estructura alternativa Sentencias if, if else Sentencias if else anidadas El operador

Más detalles

Aritmética en Haskell

Aritmética en Haskell Aritmética en Haskell Taller de Álgebra I Primer cuatrimestre de 2014 Algoritmo de división Para obtener el cociente y resto entre dos números enteros, tenemos las funciones div y mod, respectivamente.

Más detalles

RECURSIVIDAD. Prof. Ing. M.Sc. Fulbia Torres

RECURSIVIDAD. Prof. Ing. M.Sc. Fulbia Torres ESTRUCTURAS DE DATOS 2006 Prof. UNIDAD II ESTRUCTURAS DE DATOS RECURSIVIDAD Definición. Estado base. Estado general. Ejemplos. Ejercicios. DEFINICIÓN Es una técnica de programación muy potente que permite

Más detalles

Introducción a los Computadores Estructuras de control repetitivas en C

Introducción a los Computadores Estructuras de control repetitivas en C Introducción a los Computadores Estructuras de control repetitivas en C Alejandro Piedrahita H. Instituto de Matemáticas Facultad de Ciencias Exactas y Naturales Universidad de Antioquia Copyleft 2013.

Más detalles

Bloque 1. Conceptos y técnicas básicas en programación

Bloque 1. Conceptos y técnicas básicas en programación Bloque 1. Conceptos y técnicas básicas en programación 1. Introducción 2. Datos y expresiones. Especificación de algoritmos 3. Estructuras algorítmicas básicas 4. Iteración y recursión 5. Iteración y recursión

Más detalles

Caracteres y Cadenas Conversión de Datos Funciones y procedimientos Archivos cabecera. Fundamentos de programación

Caracteres y Cadenas Conversión de Datos Funciones y procedimientos Archivos cabecera. Fundamentos de programación 1 Caracteres y Cadenas Conversión de Datos Funciones y procedimientos Archivos cabecera Fundamentos de programación Agenda Caracteres y Cadenas Conversión de Datos Introducción a las funciones y procedimientos

Más detalles

Operadores aritméticos

Operadores aritméticos Bloque 3.2 Operadores aritméticos Suma : x + y Resta : x y Multiplicación : x * y División : x / y Módulo : x % y (resto de la división Si los operandos son enteros tipo del resultado

Más detalles

Tema 5- Diseño Recursivo y. Objetivos Principales. Bibliografía Básica

Tema 5- Diseño Recursivo y. Objetivos Principales. Bibliografía Básica Tema 5- Diseño Recursivo y Eficiente Tema 5- Diseño Recursivo y Eficiente Germán Moltó Escuela Técnica Superior de Ingeniería Informática Universidad Politécnica de Valencia Índice general: 1. Introducción

Más detalles

Ejercicios Tema 6. Funciones

Ejercicios Tema 6. Funciones Ejercicios Tema 6. Funciones 1. Programa que calcule el cuadrado de todos los números comprendidos entre dos dados. Usar una función a la que se le pasa como parámetro un valor y retorna su cuadrado. 2.

Más detalles

Algoritmos y Estructura de datos:

Algoritmos y Estructura de datos: Algoritmos y Estructura de datos: Definición de algoritmo Un algoritmo es el conjunto de operaciones y procedimientos que deben seguirse para resolver un problema Un algoritmo recibe un conjunto de entradas,

Más detalles

Programación. Ejercicios Tema 4 Estructuras de Control Repetitivas

Programación. Ejercicios Tema 4 Estructuras de Control Repetitivas Ejercicios Tema 4 Autores: M. Paz Sesmero Lorente Paula de Toledo Heras Fco. Javier Ordoñez Morales Juan Gómez Romero Jose A. Iglesias Martínez Jose Luis Mira SOLUCIONES 1. Escriba un programa en C que

Más detalles

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

Actividad Algoritmos, Estructura y Programación I. FOR, DO-WHILE Actividad Algoritmos, Estructura y Programación I. FOR, DO-WHILE 1. Qué es un bucle? 2. A que se denomina cuerpo de un bucle? 3. Define iteración de un bucle. 4. Cuál es el cuerpo de un bucle? 5. Qué es

Más detalles

Programación Estructurada

Programación Estructurada Programación Estructurada Técnica de programación que consiste en construir programas de fácil comprensión. Es mucho más sencillo entender la codificación del programa, que se habrá hecho en diferentes

Más detalles

Algoritmos y Estructuras de Datos Tema 2: Diseño de Algoritmos

Algoritmos y Estructuras de Datos Tema 2: Diseño de Algoritmos Algoritmos y Estructuras de Datos Tema 2: Diseño de Algoritmos 1! 1. Algoritmos recursivos " 1.1 Algoritmos recursivos. Recursión simple " 1.2 Algoritmos con vuelta atrás y ejemplos! 2. Complejidad de

Más detalles

Programación II Recursividad Dr. Mario Rossainz López

Programación II Recursividad Dr. Mario Rossainz López 5. RECURSIVIDAD 5.1. Introducción La recursividad es una técnica en la que una función o método se hace llamadas a sí misma en el proceso de la realización de sus tareas. La recursividad da al programador

Más detalles

Estructuras de Repetición (Hacer-Mientras)

Estructuras de Repetición (Hacer-Mientras) Estructuras de Repetición (Hacer-Mientras) Material Original: Prof. Flor Narciso Modificaciones: Prof. Andrés Arcia Departamento de Computación Escuela de Ingeniería de Sistemas Facultad de Ingeniería

Más detalles

Ámbito y Funciones. Lenguaje de Programación Estructurado. Siempre imaginé el Paraíso como algún tipo de biblioteca.

Ámbito y Funciones. Lenguaje de Programación Estructurado. Siempre imaginé el Paraíso como algún tipo de biblioteca. Ámbito y Funciones Lenguaje de Programación Estructurado Siempre imaginé el Paraíso como algún tipo de biblioteca. Jorge Luis Borges 23/09/2017 ST 202W - Lenguaje de Programación Estructurado 1 Recordando

Más detalles

Tema 9. Recursividad

Tema 9. Recursividad Tema 9. Recursividad http://aulavirtual.uji.es José M. Badía, Begoña Martínez, Antonio Morales y José M. Sanchiz {badia, bmartine, morales, sanchiz@icc.uji.es Estructuras de datos y de la información Universitat

Más detalles

Ejercicios De Programación De C++ Algoritmos. Lenguaje De Programación C++:

Ejercicios De Programación De C++ Algoritmos. Lenguaje De Programación C++: Ejercicios De Programación De C++ 1. Muestre en pantalla el mensaje Bienvenido. Algoritmos 1. Inicio 2. muestrer en pantalla el mensaje Bienvenido 3. Fin Lenguaje De Programación C++: #include

Más detalles

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

Capítulo 13 INSTRUCCIONES DE CONTROL REPETITIVAS. Presentación resumen del libro: EMPEZAR DE CERO A PROGRAMAR EN lenguaje C Presentación resumen del libro: "EMPEZAR DE CERO A PROGRAMAR EN lenguaje C" Autor: Carlos Javier Pes Rivas (correo@carlospes.com) Capítulo 13 INSTRUCCIONES DE CONTROL REPETITIVAS 1 OBJETIVOS Conocer las

Más detalles

TEMA: 5 ÁLGEBRA 3º ESO

TEMA: 5 ÁLGEBRA 3º ESO TEMA: 5 ÁLGEBRA 3º ESO 1. MONOMIO Un monomio es una expresión algebraica en la que las únicas operaciones que aparecen entre las variables son el producto y la potencia de exponente natural. Ejemplo: x

Más detalles

FICHAS REPASO 3º ESO. Para restar números enteros, se suma al minuendo el opuesto del sustraendo y después se aplican las reglas de la suma.

FICHAS REPASO 3º ESO. Para restar números enteros, se suma al minuendo el opuesto del sustraendo y después se aplican las reglas de la suma. FICHAS REPASO º ESO OPERACIONES CON NÚMEROS ENTEROS El valor absoluto de un número entero es el número natural que resulta al prescindir del signo. Por ejemplo, el valor absoluto de es y el valor absoluto

Más detalles

for(i = 0; i <= 45; i+=5) { x = (i*3.1416)/180; printf( seno(%d) = %f\n,i,seno(x));

for(i = 0; i <= 45; i+=5) { x = (i*3.1416)/180; printf( seno(%d) = %f\n,i,seno(x)); Ejemplo #include #include float seno(float x); int main(){ int i; float x; for(i = 0; i

Más detalles

UNIDAD 7 Recursividad Concepto. Algoritmos recursivos. Seguimiento de la recursión. Algunos métodos recursivos de búsqueda y ordenación: M-Sort y

UNIDAD 7 Recursividad Concepto. Algoritmos recursivos. Seguimiento de la recursión. Algunos métodos recursivos de búsqueda y ordenación: M-Sort y Recursividad Concepto. Algoritmos recursivos. Seguimiento de la recursión. Algunos métodos recursivos de búsqueda y ordenación: M-Sort y Q-Sort. Comparación de eficiencia en métodos Iterativos vs recursivos

Más detalles

Apuntes de Teórico PROGRAMACIÓN 3

Apuntes de Teórico PROGRAMACIÓN 3 Apuntes de Teórico PROGRAACIÓN Programación Dinámica Versión. Índice Índice... Introducción... Principio de optimalidad...5 Ejemplo: Camino de menor costo...6 Ejemplo: problema de la mochila...6 Aplicación

Más detalles

Ejercicios aplicando estructuras de asignación.

Ejercicios aplicando estructuras de asignación. Ejercicios aplicando estructuras de asignación. 1) Desarrollar un algoritmo que permita leer dos valores y escriba la suma de los dos. int A,B,suma; suma = A+B ; printf( suma: %f, suma ); 2) Desarrolle

Más detalles

7.3. Estructura de un programa

7.3. Estructura de un programa TEMA 7 ALGORITMOS Y PROGRAMAS. ESTRUCTURA DE UN PROGRAMA 7.1. Algoritmos 7.2. Compilación 7.3. Estructura de un programa 7.1. Algoritmos Objetivo: Resolver problemas mediante computadoras (usando el lenguaje

Más detalles

Estructuras de Datos y de la Información Ingeniería Técnica en Informática de Gestión. Curso 2007/2008 Ejercicios del Tema 2

Estructuras de Datos y de la Información Ingeniería Técnica en Informática de Gestión. Curso 2007/2008 Ejercicios del Tema 2 Estructuras de Datos y de la Información Ingeniería Técnica en Informática de Gestión. Curso 2007/2008 Ejercicios del Tema 2 Diseño de algoritmos recursivos 1. Dado un vector de enteros de longitud N,

Más detalles

FICHAS DE TRABAJO REFUERZO

FICHAS DE TRABAJO REFUERZO FICHAS DE TRABAJO REFUERZO DEPARTAMENTO DE MATEMATICAS CONTENIDO 1. Números naturales a. Leer y escribir números naturales b. Orden de cifras c. Descomposición polinómica d. Operaciones combinadas e. Potencias

Más detalles

Modularización en lenguaje C. Funciones

Modularización en lenguaje C. Funciones Modularización en lenguaje C Funciones Segundo Cuatrimestre 2016 F. de la Informática- Int.a la Computación - Int.a la Programación 1 Ejercicio: Dado el siguiente algoritmo incompleto codificado en Lenguaje

Más detalles

ESTRUCTURAS REPETITIVAS EN PHP

ESTRUCTURAS REPETITIVAS EN PHP ESTRUCTURAS REPETITIVAS EN PHP Los bucles nos permiten iterar conjuntos de instrucciones, es decir repetir la ejecución de un conjunto de instrucciones mientras se cumpla una condición. Sentencia while

Más detalles

Estructura de Datos. Complejidad de Algoritmos. Algoritmo. Algoritmo. Mauricio Solar Lorna Figueroa

Estructura de Datos. Complejidad de Algoritmos. Algoritmo. Algoritmo. Mauricio Solar Lorna Figueroa Estructura de Datos Complejidad de Algoritmos Mauricio Solar Lorna Figueroa 2010 1 Algoritmo Definición: Un algoritmo es un conjunto finito de instrucciones que sirven para resolver un problema si fueron

Más detalles

UNIVERSIDAD AUTÓNOMA DEL ESTADO DE MÉXICO CENTRO UNIVERSITARIO UAEM ATLACOMULCO INGENIERÍA EN COMPUTACIÓN

UNIVERSIDAD AUTÓNOMA DEL ESTADO DE MÉXICO CENTRO UNIVERSITARIO UAEM ATLACOMULCO INGENIERÍA EN COMPUTACIÓN UNIVERSIDAD AUTÓNOMA DEL ESTADO DE MÉXICO CENTRO UNIVERSITARIO UAEM ATLACOMULCO INGENIERÍA EN COMPUTACIÓN REPORTE DE INVESTIGACIÓN PROGRAMA FUNCIÓN FACTORIAL ALGORITMO PROGRAMA FUNCION FIBONACCI ALGORITMO

Más detalles

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

Examen de Fundamentos de la Programación (Modelo 1) Examen de Fundamentos de la Programación (Modelo 1) 27 de noviembre de 2007 1. Qué escribe el siguiente programa si se teclea 5? int num, resultado; for (resultado=0; num; resultado++) num -= 2; printf

Más detalles

ESTRUCTURA DE DATOS: Tema 3. Recursividad

ESTRUCTURA DE DATOS: Tema 3. Recursividad ESTRUCTURA DE DATOS: Tema 3. Recursividad Presenta: David Martínez Torres Universidad Tecnológica de la Mixteca Instituto de Computación Oficina No. 37 dtorres@mixteco.utm.mx Contenido 1. Directa e indirecta

Más detalles

Práctica : Creación y uso de métodos

Práctica : Creación y uso de métodos Métodos y Parámetros 1 Práctica : Creación y uso de métodos Objetivos Al final de esta práctica, usted será capaz de: Crear y hacer llamadas a métodos con y sin parámetros. Utilizar distintos mecanismos

Más detalles

Programación I. Ingeniería Técnica Informática. Ejercicios de los Temas 4, 5, 6 y 7

Programación I. Ingeniería Técnica Informática. Ejercicios de los Temas 4, 5, 6 y 7 Estructuras selectivas Programación I Ingeniería Técnica Informática Ejercicios de los Temas 4, 5, 6 y 7 24.- Elabore un programa para determinar si una hora leída en la forma horas, minutos y segundos

Más detalles

Introducción a los Computadores Arreglos en C

Introducción a los Computadores Arreglos en C Introducción a los Computadores Arreglos en C Alejandro Piedrahita H. Instituto de Matemáticas Facultad de Ciencias Exactas y Naturales Universidad de Antioquia Copyleft 2013. Reproducción permitida bajo

Más detalles

Estructuras de repetición

Estructuras de repetición Estructuras de repetición Las estructuras de repetición sirven, como su nombre lo indica, para repetir porciones de código. Imagínense que no existieran y quisieramos mostrar todos los números del 1 al

Más detalles

UNIDAD 2. MÚLTIPLOS Y DIVISORES

UNIDAD 2. MÚLTIPLOS Y DIVISORES UNIDAD. MÚLTIPLOS Y DIVISORES. MÚLTIPLOS DE UN NÚMERO.. DIVISORES DE UN NÚMERO. 3. NÚMEROS PRIMOS Y NÚMEROS COMPUESTOS. 4. CRITERIOS DE DIVISIBILIDAD. 5. MÍNIMO COMÚN MÚLTIPLO. 6. MÁXIMO COMÚN DIVISOR..

Más detalles

Introducción. Algoritmos y Complejidad. Algoritmos y Algoritmia. Introducción. Problemas e instancias. Pablo R. Fillottrani

Introducción. Algoritmos y Complejidad. Algoritmos y Algoritmia. Introducción. Problemas e instancias. Pablo R. Fillottrani Introducción Introducción Pablo R. Fillottrani Depto. Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Algoritmos y Algoritmia Problemas e instancias Primer Cuatrimestre 2014 Algoritmos

Más detalles

Formato para prácticas de laboratorio

Formato para prácticas de laboratorio CARRERA PLAN DE ESTUDIO CLAVE ASIGNATURA NOMBRE DE LA ASIGNATURA IC 2003-1 5032 Programación Estructurada PRÁCTICA No. 4 LABORATORIO DE NOMBRE DE LA PRÁCTICA Ingeniero en Computación DURACIÓN (HORA) Ciclos

Más detalles

EJEMPLOS DE PROGRAMACIÓN DE FUNCIONES EN C: Página 1 de 5

EJEMPLOS DE PROGRAMACIÓN DE FUNCIONES EN C: Página 1 de 5 EJEMPLOS DE PROGRAMACIÓN DE FUNCIONES EN C: Página 1 de 5 1.- Realizar una función llamada par, que toma un número entero como parámetro, y devuelve 1 si es par o devuelve 0 si es impar. NOTA: Para saber

Más detalles

RECURRENCIA RECURSIÓN o RECURSIVIDAD

RECURRENCIA RECURSIÓN o RECURSIVIDAD RECURRENCIA RECURSIÓN o RECURSIVIDAD 1 Definición Definición de diccionario Recursividad: Véase Recursividad 2 Definición Técnica que para resolver problemas basándose en la propia definición del mismo

Más detalles

ESCUELA PREPARATORIA OFICIAL NO.16 MATERÍA: PENSAMIENTO NUMÉRICO Y ALGEBRAICO I

ESCUELA PREPARATORIA OFICIAL NO.16 MATERÍA: PENSAMIENTO NUMÉRICO Y ALGEBRAICO I ARITMÉTICA 1. Números naturales 2. Divisibilidad 3. Números enteros 4. Números decimales 5. Fracciones y números racionales 6. Proporcionalidad 7. Sistema métrico decimal 8. Sistema sexagesimal 9. Números

Más detalles

1. Expresiones polinómicas con una indeterminada

1. Expresiones polinómicas con una indeterminada C/ Francisco García Pavón, 16 Tomelloso 1700 (C. Real) Teléfono Fa: 96 51 9 9 Polinomios 1. Epresiones polinómicas con una indeterminada 1.1. Los monomios Un monomio es una epresión algebraica con una

Más detalles

Realizar el ejercicio anterior utilizando Punteros

Realizar el ejercicio anterior utilizando Punteros PUNTEROS Y ARRAYS En C existe una relación entre punteros y arrays tal que cualquier operación que se pueda realizar mediante la indexación de un arrays, se puede realizar también con punteros. Para clarificar

Más detalles

CI 2125, Computación I

CI 2125, Computación I 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

Más detalles

Operaciones con polinomios

Operaciones con polinomios 1 Operaciones básicas Operaciones con polinomios Cuando realizamos la suma de dos o más polinomios sumamos términos semejantes con términos semejantes. El estudiante al escuchar esto puede causarle confusión

Más detalles

Tema 11. Diseño de algoritmos recursivos 1. Tema 11. Diseño de algoritmos recursivos

Tema 11. Diseño de algoritmos recursivos 1. Tema 11. Diseño de algoritmos recursivos Tema 11. Diseño de algoritmos recursivos 1 Departamento de Lenguajes y Ciencias de la Computación UNIVERSIDAD DE MÁLAGA Apuntes para la asignatura http://www.lcc.uma.es/personal/pepeg/mates Tema 11. Diseño

Más detalles

UAA Sistemas Electrónicos Estructura de Datos Muñoz / Serna

UAA Sistemas Electrónicos Estructura de Datos Muñoz / Serna 2 Recursividad 2.1 Concepto de recursividad Se dice que una función es recursiva cuando dicha función se define en términos de la misma función. Es importante recordar que no todas la funciones pueden

Más detalles

Estructura repetitiva while

Estructura repetitiva while Estructura repetitiva while Hasta ahora hemos empleado estructuras SECUENCIALES y CONDICIONALES. Existe otro tipo de estructuras tan importantes como las anteriores que son las estructuras REPETITIVAS.

Más detalles

Estructura repetitiva do while

Estructura repetitiva do while Estructura repetitiva do while La estructura do while es otra estructura repetitiva, la cual ejecuta al menos una vez su bloque repetitivo, a diferencia del while o del for que podían no ejecutar el bloque.

Más detalles

Problemas de Recursividad

Problemas de Recursividad Problemas de Recursividad Problema 1. El factorial de un número entero n 0, denotado como n!, se define! como!!! i = 1 2 n cuando n > 0, y 0! = 1. Por ejemplo 6! = 1 2 3 4 5 6 = 720 Diseñad una método

Más detalles

Introducción a la Teoría de Números

Introducción a la Teoría de Números Introducción a la Teoría de Números Elaborado por: Jeff Maynard Guillén Eliminatoria II Julio, 2011 Introducción a la Teoría de Números A manera de repaso vamos a recordar algunos conjuntos N = {1, 2,

Más detalles

D L M M J V S

D L M M J V S Guía Práctica Nº 6 1) Construir una función que invocada como expo (x,n), devuelva el valor x n, donde x es un número real y n es un número natural. 2) Construir una función que reciba un carácter ASCII

Más detalles

PROGRAMACION MODULAR FUNCIONES

PROGRAMACION MODULAR FUNCIONES PROGRAMACION MODULAR FUNCIONES Ventajas de la programación modular: Aumentar la legibilidad y comprensión del programa Reducir el tiempo de desarrollo, aprovechando módulos ya existentes Permitir la resolución

Más detalles

Estructuras de Decisión Simples y Dobles

Estructuras de Decisión Simples y Dobles Estructuras de Decisión Simples y Dobles Andrés Arcia Departamento de Computación Escuela de Ingeniería de Sistemas Facultad de Ingeniería Universidad de Los Andes Programación Digital I 1 Estructuras

Más detalles

Metodología y Tecnología de la Programación

Metodología y Tecnología de la Programación Tema 4. Abstracción procedimental y de datos 1. Cuál es el error del siguiente programa? import java.util.scanner; class Respuesta{ static Scanner leer=new Scanner(System.in); int valor = lectura(); System.out.println(valor);

Más detalles

Identificación. Propuesta didáctica: unidad Didáctica. Resumen: QUINTO de primaria matemática. Nivel: Primario. Grado: Quinto

Identificación. Propuesta didáctica: unidad Didáctica. Resumen: QUINTO de primaria matemática. Nivel: Primario. Grado: Quinto 1. Identificación Nivel: Primario Área: Matemática Grado: Quinto SC 3: Multiplicación y división de números naturales Resumen: En esta unidad didáctica se desarrollan los procedimientos para efectuar operaciones

Más detalles

Tema: Programación Dinámica.

Tema: Programación Dinámica. Programación IV. Guía No. 12 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación IV Tema: Programación Dinámica. Objetivos Específicos Definir el concepto de programación dinámica. Interpretar

Más detalles

Tipos de datos y Operadores Básicos

Tipos de datos y Operadores Básicos Módulo I: Conceptos Básicos Tema 1. Qué es un ordenador? Tema 2. Cómo se representan los datos en un ordenador? Tema 3. Qué es un lenguaje de programación? Tema 4. Cómo se hace un programa informático?

Más detalles

Variables y tipos básicos 1. Definir una variable de tipo char. Convertirla a una variable de tipo entera e imprimir su valor asociado.

Variables y tipos básicos 1. Definir una variable de tipo char. Convertirla a una variable de tipo entera e imprimir su valor asociado. Variables y tipos básicos 1. Definir una variable de tipo char. Convertirla a una variable de tipo entera e imprimir su valor asociado. Probarlo con lo caracteres a, b, A y B 2. Hacer lo contrario, leer

Más detalles

El Algoritmo de Euclides

El Algoritmo de Euclides El Algoritmo de Euclides Pablo L. De Nápoli Departamento de Matemática Facultad de Ciencias Exactas y Naturales Universidad de Buenos Aires 25 de abril de 2014 Pablo L. De Nápoli (Departamento de Matemática

Más detalles

Algoritmo de Euclides y ecuaciones de congruencia

Algoritmo de Euclides y ecuaciones de congruencia Algoritmo de Euclides y ecuaciones de congruencia Taller de Álgebra I Primer cuatrimestre de 2017 Algoritmo de Euclides El algoritmo de Euclides calcula el máximo común divisor entre dos números a, b Z.

Más detalles

Exponencial, lineal y logarítmico

Exponencial, lineal y logarítmico Exponencial, lineal y logarítmico Se verán en este apartado ejemplos de procesos que cursan en un número de pasos exponencial, lineal o logarítmico en la talla de la entrada. Para ilustrar estos procesos

Más detalles

Programación Dinámica

Programación Dinámica Programación Dinámica Adaptado de Algorithm Design Goodrich and Tamassia Programación Dinámica 1 Calculando la serie de Fibonacci 1,1,2,3,5,8,13,21,. fib(n) = 1 si n = 0,1 fib(n 1) + fib(n 2) o.c. Programación

Más detalles

Programación en Lenguaje C

Programación en Lenguaje C Lenguaje de programación C Programación en Lenguaje C Introducción El Lenguaje de programación C fue implantado por primera vez en los años 70 por Dennis Ritchie para una computadora DEC PDP-11 corriendo

Más detalles

Fundamentos de Informática ETSID. Tema 4: Estructuras de Repetición (Bucles).

Fundamentos de Informática ETSID. Tema 4: Estructuras de Repetición (Bucles). Fundamentos de Informática ETSID Tema 4: Estructuras de Repetición (Bucles). Departamento de Sistemas Informáticos y Computación Universidad Politécnica de Valencia Índice 1. Introducción 2. Bucle for

Más detalles

Estructuras de Repetición (Repita para)

Estructuras de Repetición (Repita para) Estructuras de Repetición (Repita para) Andrés Arcia Departamento de Computación Escuela de Ingeniería de Sistemas Facultad de Ingeniería Universidad de Los Andes Programación Digital I 1 REPITA PARA Fijar

Más detalles

UNIVERSIDAD DE LOS ANDES NUCLEO UNIVERSITARIO RAFAEL RANGEL (NURR) DEPARTAMENTO DE FISICA Y MATEMATICA AREA COMPUTACION TRUJILLO EDO.

UNIVERSIDAD DE LOS ANDES NUCLEO UNIVERSITARIO RAFAEL RANGEL (NURR) DEPARTAMENTO DE FISICA Y MATEMATICA AREA COMPUTACION TRUJILLO EDO. UNIVERSIDAD DE LOS ANDES NUCLEO UNIVERSITARIO RAFAEL RANGEL (NURR) DEPARTAMENTO DE FISICA Y MATEMATICA AREA COMPUTACION TRUJILLO EDO. TRUJILLO Recursividad: La recursividad es una técnica de programación

Más detalles