Programación Procedural y Recursiva en C++

Slides:



Advertisements
Presentaciones similares
Fundamentos de la Programación Estructurada
Advertisements

Programación I Teoría III
Estructuras de datos. Programación, Algoritmos y Estructuras de Datos.
Funciones. Programación, Algoritmos y Estructuras de Datos.
Las estructuras de arreglos fueron usadas en las primeras computadoras digitales, cuando la programación se hacía todavía en lenguaje máquina, para tablas.
INFORMATICA I Arreglos 1 CLASE 17.
Informática II Prof. Dr. Gustavo Patiño MJ
Funcionamiento, programación
UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO
Tema II Unidad de memoria. 2 Unidad de memoria 2.1 Definiciones y conceptos básicos Localización Capacidad Unidad de transferencia
Implementación de archivos
Objetivos Específicos de la Unidad
Herramientas para el acceso directo a memoria en C++
Tema 7: Polimorfismo Antonio J. Sierra. Índice Introducción. Sobrecarga de métodos. Objetos como parámetros. Paso de argumentos. Devolución de objetos.
Funciones en lenguaje C
Funciones y procedimientos
CI TEORIA semana 8 Subprogramas o funciones Definición de funciones.
FUNCIONES Y PROCEDIMIENTOS
Tema 6: Clases Antonio J. Sierra.
Unidad I Java y C++ : Similitudes y diferencias
Tema 9 Estructuras.
Semana 5 Subprogramas..
PROCEDIMIENTOS FUNCIONES
PRINCIPIOS DE PROGRAMACION ESTRUCTURADA
Informática Ingeniería en Electrónica y Automática Industrial
Programación Modular (Pseudocódigo)
ESTRUCTURAS DE DATOS I Conocer, comprender y analizar algunos de los principales tipos de estructuras de datos.

Estructuras.
Universidad Domingo Savio Facultad de Ciencias y Tecnología de la Información Carrera Ingeniería en Redes y Telecomunicaciones Materia : Programación I.
Ingeniería de Software Orientado a Objetos
Clase 10: Estructuras de datos y arreglos.
Descomposición Modular. Funciones
Programa Vespertino de Automatización Equipos y Sistemas de Control Digital Lenguaje C Profesor: Felipe Páez Mejías D e p a r t a m e n t o d e I n g e.
Unidad VI Registros (estructuras, uniones y enumeraciones)
Lenguaje de Programación cap. 1 Estructura del Computador.
Material de apoyo Unidad 4 Estructura de datos
Análisis de algoritmos
Herramientas de polimorfismo y herencia en C++
Control de errores visual basic
Tipos de Datos. Entrada-Salida.. La entrada-salida (I/O) le permite a un programa comunicarse con el mundo exterior. Esta comunicación puede realizarse.
Informática Ingeniería en Electrónica y Automática Industrial
M.C. Juan Carlos Olivares Rojas
Programación en C para electrónicos
1 Unidad IV Archivos en Java y C++ M.C. Juan Carlos Olivares Rojas.
Recursividad (2 clases) 1. Nivelación Funciones Menú Vectores String
PUNTEROS Y REFERENCIAS
Unidad I Java y C++ : Similitudes y diferencias
Unidad II Aplicaciones con Arreglos en Java y C++
ELEMENTOS DE COMPUTACIÓN Profesor: Guillermo Figueroa
CARACTERÍSTICAS Es un lenguaje de programación estructurado de propósito general. Está estrechamente asociado al sistema operativo UNIX, ya que el propio.
1 Unidad I Panorama general de lenguajes de programación en aplicaciones mecatrónicas M.C. Juan Carlos Olivares Rojas.
Unidad 2 Estructuras ESCUELA DE COMPUTACIÓN.
PRINCIPIOS DE PROGRAMACIÓN

COMPUTACIÓN I TEMA 9. Constructor de tipos: struct Definición de nuevos tipos: typedef. Arreglos de estructuras Prof. Mireya Morales.
Capítulo 2 “Subprogramas/Funciones - Arreglos”
1 Unidad II Aplicaciones con Arreglos en Java y C++ M.C. Juan Carlos Olivares Rojas.
Declaraciones. 1 Nombres de identificadores Identificador: – Nombres usados para referirse a las variables, identificar funciones o etiquetas definidos.
Conalep Coacalco Algoritmos Recursivos
 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.
1 Estructuras de Datos Introducción a la Informática Departamento de Sistemas Universidad del Cauca 2006.
:: Prof. Yeniffer Peña Introducción a JAVA Presentación Programación I.
Prof. Manuel B. Sánchez. Declaración de Objetos Una vez que la clase ha sido implementada se pueden declarar objetos como variables locales de métodos.
La programación modular es un paradigma de programación que consiste en dividir un programa en módulos o subprogramas con el fin de hacerlo más legible.
Métodos en Java. Estructura de un programa en Java ► La relación con la vida misma la podemos ver en el siguiente comentario: Imaginemos que dos clases.
3.6 Manejo de E/S Estructuras En la creación de soluciones para algunos problemas surge la necesidad de agrupar datos de diferente tipo o de manejar datos.
Recursividad.
Transcripción de la presentación:

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

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

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.

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.

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.

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.

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 nombre[40]; };

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.

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;

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.

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

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.

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.

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.

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.

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.

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

¿Preguntas, dudas y comentarios?