Programacin Procedural y Recursiva en C - PowerPoint PPT Presentation

1 / 18
About This Presentation
Title:

Programacin Procedural y Recursiva en C

Description:

... se pasan por referencia, de este modo se pueden modificar directamente. ... Modificar el programa anterior para que el arreglo pueda ser din mico de acuerdo ... – PowerPoint PPT presentation

Number of Views:160
Avg rating:3.0/5.0
Slides: 19
Provided by: juancarlos61
Category:

less

Transcript and Presenter's Notes

Title: Programacin Procedural y Recursiva en C


1
Programación Procedural y Recursiva en C
  • M.C. Juan Carlos Olivares Rojas

2
Agenda
  • Implementación de funciones libres.
  • Uso del typedef y el struct en C.
  • Recursividad como herramienta para el control de
    ciclos.

3
Implementación de funciones libres
  • C es un lenguaje híbrido que permite mezclar
    POO y Programación Estructurada.
  • Por este motivo se pueden tener funciones sin
    necesidad de agruparlas en clases.
  • Las funciones pueden recibir y devolver
    apuntadores como argumentos.

4
Implementación de Funciones Libres
  • Cuando se utilizan parámetros del tipo puntero se
    dicen que los argumentos se pasan por referencia,
    de este modo se pueden modificar directamente.
  • Cuando se omiten punteros, los argumentos son por
    valor y sólo se copia en la función el valor de
    los argumentos.

5
Actividad
  • Realizar un programa que dado diferentes arreglos
    de distintos tamaños encuentre el mayor de n
    números. El código de mayor debe de ser una
    función.
  • Modificar el programa anterior para que el
    arreglo pueda ser dinámico de acuerdo al tamaño
    que indique el usuario.

6
Uso del typedef y el struct en C
  • Una estructura es un tipo de datos complejos que
    puede contener diversos tipos de datos simples
    formando una unidad.
  • En otros lenguajes reciben el nombre de
    registros. Las estructuras se manejan en
    programación estructurada.

7
Uso del typedef y struct en C
  • Las estructuras en C/C se crean con la palabra
    clave struct seguida del nombre de la estructura
  • struct paciente
  • unsigned int ID
  • unsigned short edad
  • char nombre40

8
Uso del typedef y struct en C
  • Una estructura se asemeja mucho a una clase en lo
    que respecta a los atributos de los objetos.
  • De hecho en C (pero no en C) las estructuras
    pueden anidar funciones. El modificador por
    default en una estructura es public, mientras que
    en una clase es private.

9
Uso del typedef y struct en C
  • Una vez declarada la estructura (se recomienda
    realizarla fuera de cualquier función de manera
    global y en un archivo de encabezado .h) se
    pueden crear variables de este nuevo ADT
  • struct paciente p

10
Uso del typedef y struct en C
  • Para evitar el repetir varias veces la palabra
    struct y el nombre de la estructura se puede
    crear un alias mas simple utilizando la palabra
    reservada typedef que significa definición de
    tipo.
  • typedef struct paciente P //alias
  • P p //Declara una variable de tipo paciente.

11
Actividad
  • Realizar un programa que pida los datos de un
    artículo de cómputo nombre, precio, descripción,
    número de identificación.
  • Guardar esos datos en un arreglo de estructuras.
  • Leer y escribir dichos valores en un archivo

12
Recursividad como herramienta para el control de
ciclos
  • La recursividad es una manera elegante de
    resolver problemas.
  • Una función se dice que es recursiva cuando se
    invoca así misma. Ejemplo el factorial de un
    número, las torres de hannoi, la serie de
    fibonacci, etc.

13
Recursividad
  • N! N (N-1)!
  • 5! 5 4!
  • Fibo(5) Fibo(4) Fibo(3)
  • La recursividad nos permite resolver problemas
    que parecen ser muy complejos de manera sencilla.

14
Recursividad
  • Todo programa recursivo puede ser resuelto a
    través de ciclos pero puede que esta solución sea
    muy compleja.
  • Toda función recursiva debe de tener dos
    características básicas un caso base y el caso
    recursivo.

15
Recursividad
  • Ojo si no se cuenta con un caso base el programa
    se puede ciclar de manera indefinida provocando
    que el programa o el sistema operativo colapsen.
  • La recursividad de manera interna trabaja con
    memoria dinámica, se utilizan pilas para guardar
    los valores anteriores de las funciones
    recursivas.

16
Recursividad
  • La gran desventaja de las funciones recursivas es
    que son ampliamente consumidoras de memoria.
  • Todo programa recursivo puede implementarse con
    pilas. La recursividad trata de sacar provecho al
    principio de divide y vencerás.

17
Actividad
  • Realizar los siguientes programas de forma
    recursiva
  • Factorial
  • Serie de Fibonnaci,
  • Multiplicación de dos números

18
Preguntas, dudas y comentarios?
Write a Comment
User Comments (0)
About PowerShow.com