Recursividad (2 clases) 1. Nivelación Funciones Menú Vectores String

Slides:



Advertisements
Presentaciones similares
Laboratorio Lenguaje de Programación ING2101
Advertisements

Lenguaje C++.
ESTRUCTURA DE DATOS Unidad 01 RECURSIVIDAD.
Programación II Recursividad
Repaso para la construcción del intérprete 2012
Elementos básicos del Lenguaje
Fundamentos de la Programación Estructurada
Procedimientos y Funciones
Programación I Teoría III
Funciones. Programación, Algoritmos y Estructuras de Datos.
Tipos de Datos Básicos y Estructurados
Variables Prof. Gonzalo Pastor.
FUNCIONES EN C.
Objetos de un programa Datos: Se denomina dato a toda aquella información característica de una entidad y que es susceptible de tratamiento en un programa.
ALGORÍTMICA Dpto. Ingeniería de Sistemas y Automática
M.I.A Daniel Alejandro García López.  Un TDA es un tipo de dato definido por el programador que se puede manipular de un modo similar a los tipos de.
Unidad 3 Punteros.
Recursión Se dice que un método es recursivo si forma parte de sí mismo o se define en función de sí mismo. La recursión es un medio particularmente poderoso.
Funciones “En C” Semestre de Otoño 2006 Claudio Gutiérrez-Soto.
Funciones en lenguaje C
CI TEORIA semana 8 Subprogramas o funciones Definición de funciones.
Programación I Teoría VI: Recursividad
FUNCIONES Y PROCEDIMIENTOS
1 Procedimientos Es un conjunto de sentencias incluidas entre las declaraciones Sub o Function y End Sub/Function VB utiliza varios tipos de procedimientos:
LENGUAJE “C” Programación.
Semana 5 Subprogramas..
Características de “C” Y Esta conformado por un Ambiente Integrado. Y Es un Lenguaje de Nivel medio. Y Es un compilador. YContiene un conjunto de palabras.
Programación III Clase 07 Funciones.
Archivos Binarios Lenguaje C Prof. Gonzalo Pastor.
TIPOS Y ESTRUCTURAS BÁSICAS DE DATOS
Tema 2: Los tipos de datos
Funciones1 PROGRAMACIÓN ESTRUCTURADA EN PSEUDÓCODIGO Profr. Miguel Rodríguez Hernández PROGRAMACIÓN MODULAR O FUNCIONAL.
APUNTADORES EN C. MENU DEL DIA Repaso clase anterior Apuntadores. Eso pa que? Solución al problema: Funciones. Ventajas de trabajar un programa usando.
Índice. Revisando conceptos acerca de la memoria.
Archivos.

1 UNIVERSIDAD TECNOLOGICA DE PEREIRA PROGRAMA DE TECNOLOGIA ELÉCTRICA 2014 NOTA: Este taller hace parte de la nota del 15% de la materia. Taller 1) Consultar.
Capítulo 1 “Elementos de Programación”
Descomposición Modular. Funciones
Informática Ingeniería en Electrónica y Automática Industrial
Material de apoyo Unidad 4 Estructura de datos
Análisis de algoritmos
Recurrencia Programación II de enero de 2009.
Archivos Programación I MC Beatriz Beltrán Martínez.
Figure: Algoritmos Conceptos básicos. Programación: 1.Establecer una secuencia de acciones que: puedan ser ejecutadas por el procesador realicen una.
Recurrencia Programación II de enero de 2009.
Matrices y Funciones “En C” Semestre de Otoño 2006 Claudio Gutiérrez-Soto.
Ada 2º Parte (variables, ámbitos , subrutinas , tipos abstractos de datos y excepciones)
Recursividad.
Estructuras de Control.
FUNCIONES Conceptos básicos. Retorno de una función Clases de funciones. Paso de parámetros. Funciones y arrays.
Estructura de Datos En C++
Recursividad. 2 Son funciones que se llaman a sí mismas. Requisitos: – Deben retornar un valor. – Deben tener expresiones en las que se llaman a sí mismas:
Los punteros Programación modular.
Programación Procedural y Recursiva en C++
Punteros Recomendado: 1. Nivelación Funciones
Capitulo 4 Arreglos o Arrays Unidimensionales Bidimensionales Strings
LENGUAJE “C” Programación.
Conalep Coacalco Algoritmos Recursivos
Algoritmo.
CLASE 10. AGENDA 1 Repaso 2 Operadores 3 Directivas 14 Entrada y Salida de Datos.
CICLOS EN C – PARTE 3.
 Las funciones son un conjunto de instrucciones que realizan una tarea específica. En general toman unos valores de entrada, llamados parámetros y proporcionan.
MEMORIA DINÁMICA.
PUNTEROS. Los punteros son de amplia utilización en programación y muchos lenguajes permiten la manipulación directa o indirecta de los mismos. Su razón.
Gabriela Araya Baez Estudiante Ingenieria Civil Industrial.
U11: Recursividad Otra manera de hacer bucles Dicen algunos pedagogos que conceptualmente mas sencilla.
Omar Herrera Caamal Rigoberto Lizárraga Luis Cetina Luna.
Lenguaje de Programación II Prof. Rafael Montenegro B. Carrera: T.S.U en Informática Periodo: 2014-I.
Recursividad.
Transcripción de la presentación:

Recursividad (2 clases) 1. Nivelación Funciones Menú Vectores String 2. Memoria Dinámica Recursividad Punteros Pilas Colas Listas 3. Archivos Archivos de texto Archivos Binarios Recursividad (2 clases)

Recursividad Se dice que una función es recursiva cuando se define en función de si misma. No todas la funciones pueden llamarse a si mismas, deben estar diseñadas especialmente para que sean recursivas, de otro modo podrían conducir a bucles infinitos, o a que el programa termine inadecuadamente. Cuando se llama a una función, se crea un nuevo juego de variables locales, de este modo, si la función hace una llamada a si misma, se guardan sus variables y parámetros. La nueva instancia de la función trabajará con su propia copia de las variables locales, cuando esta segunda instancia de la función retorna, recupera las variables y los parámetros anteriores y continúa la ejecución en el punto en que había sido llamada.

Por ejemplo: Función recursiva para calcular el factorial de un número entero. El factorial se simboliza como n!, se lee como "n factorial", y la definición es: n! = n * (n-1) * (n-2) * ... * 1 No se puede calcular el factorial de números negativos, y el factorial de cero es 1, de modo que una función bien hecha para cálculo de factoriales debería incluir un control para esos casos:

int factorial (int n) { if (n < 0) return 0; else if (n > 1) return n*factorial(n-1); return 1; }

Paso a paso: factorial(4) 1a Instancia n=4 Si n > 1 salida ← 4 * factorial(3) (Guarda el valor de n = 4) 2a Instancia Si n > 1 salida ← 3*factorial(2) (Guarda el valor de n = 3) 3a Instancia Si n > 1 salida ← 2*factorial(1) (Guarda el valor de n = 2) 4a Instancia SI Entraen Else por n=1 → retorna 1 3a Instancia (recupera n=2 ) retorna 2*1=2 2a instancia (recupera n=3 ) retorna 3*2=6 1a instancia (recupera n=4 de la pila) retorna 4*6=24 Valor de retorno → 24

Nota Ejercicio 1 Ejercicio 2 Toda función recursiva se puede resolver de forma Iterativa y viceversa Resolver factorial por Recursividad Resolver la serie de Fibonacci: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55… Ejercicio 1 Ejercicio 2

Ejercicio 3 (optativo) Ingresar un número y calcular su sumatoria Debe sumarse todos los número que le anteceden

Ejercicio 4 Hacer una función recursiva llamada potencia Debe tener 2 parámetros: Base y Exponente El resultado de la potencia es float

Ejercicio 5 Hacer el programa Dec2Bin Se ingresa un número decimal y se devuelve el binario correspondiente

String char *b; b es un string que no se le ha asignado tamaño scanf y setpass al cargarlo le asigna tamaño b b contiene la dirección de memoria del primer elemento del string Se dice que b es un puntero al string b le informa donde comienza el string, pero ¿cómo sabe el lenguaje C donde termina el string b? e s t u d i a r \0

String/Punteros printf(“%s”,b) muestra estudiar printf(“%i”,b) muestra la dirección de memoria del primer lugar del string printf(“%i”,*b) muestra el código ASCII de e printf(“%c”,*b) muestra e

Ejercicio 6 Hacer el programa Bin2Dec Se ingresa un número binario y se calcula el valor decimal correspondiente El número binario debe ingresarse como string

Ejercicio 7 (optativo) Hacer un menú con todos los ejercicios de recursividad