Tema: FUNCIONES, PROCEDIMIENTOS Y RECURSIVIDAD.

Documentos relacionados
Examen escrito de Programación 1

Tema: Funciones, Procedimientos y Recursividad en C#.

Tema: Funciones, Procedimientos y Recursividad en C#.

Tema: Clases y Objetos en C++.

Examen Principios de Programación Febrero 2012

Tema: Arreglos de Objetos en C++.

8. Sentencia return y métodos

Tema: Funciones, Procedimientos y Recursividad en C#.

Tema: Funciones, Procedimientos y Recursividad en C#.

Tema 6. Reutilización de código. Programación Programación - Tema 6: Reutilización de código

Tema: Sobrecarga de Operadores.

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

Diseño de algoritmos.

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

Preliminares. Tipos de variables y Expresiones

Ejercicio 1 (2 puntos. Tiempo: 25 minutos)

UNIVERSIDAD DR. JOSE MATIAS DELGADO

Programación 1. Tema II. Diseño de programas elementales. Lección 7. Diseño modular y descendente de programas

Funciones: Pasos por Referencia Recursividad

Segundo Taller Final de PROGRAMACIÓN ORIENTADO A OBJETOS. INGENIERÍA DE SISTEMAS. Docente y Administrativo: Luz Esperanza Espitia Preciado

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

Metodología de la Programación II. Recursividad

Mi primer proyecto en Dev-C++

Tema: Herencia Simple y Múltiple en C++.

1. Manejo de memoria estática 2. Manejo de memoria dinámica

Titulo: Suma de N primeros números

forma de entrenar a la nuerona en su aprendizaje.

Curso 0 de Informática

Examen Junio- Grupo A Lunes 17 de Junio - Programación en C++ Pág. 1

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

TEMA 3: EL LENGUAJE C: PRESENTACIÓN

Programación estructurada

Funciones II. Fundamentos de Programación Fundamentos de Programación I

UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLÓGICOS ESCUELA DE COMPUTACION

SOLUCION EXAMEN junio 2006

Tema: Funciones y Procedimientos en C#.

Estructuras de repetición hacer-mientras y repita hasta

Presentación. Programación I. Conceptos Avanzados de Programación. :: Prof. Yeniffer Peña

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

2 EL DOCUMENTO DE ESPECIFICACIONES

Capítulo 6. Introducción a la POO

Tema 5: Diseño modular. Índice. Notas. Programación 2. Curso Notas. Ejemplo. La herramienta make. 1 Diseño modular.

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

Visual Basic 1. Empleo de módulos y Procedimientos. Procedimientos definidos por el usuario

Contenidos. Funciones (suplemento) Funciones. Justificación del uso de Funciones

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.

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

Introducción al laboratorio de Programación I

Informática FACULTAD DE FÍSICAS

Introducción a la Computación TFA

PRÁCTICA No. 13 ÁRBOL BINARIO DE BÚSQUEDA

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

Ejercicio 1 (3 puntos).-

Bloque 4. La descomposición funcional y el diseño descendente

Programación en C++/Funciones

El lenguaje C. #define MAX LINEA 1000 /* maximo tamanio de linea de entrada */

GUÍA DE TRABAJO Tecnología en Sistemas de Información

Nota 2. Luis Sierra. Marzo del 2010

Tema 7: Programación con Matlab

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

Introducción a la programación orientada a objetos

Vectores. 27/05/05 Programación Digital I 1

Primer Parcial de Programación 3 (1/10/2009)

RESUMEN DE CONCEPTOS BASICOS DE PROGRAMACION JAVA

Practica 01: Programación en C bajo Linux y funciones

CI 2125, Computación I

Informática I. While & do While

Facultad de Ingeniería Escuela de Ingeniería de Sistemas y Computación Algoritmia y Programación

Resolución de Problemas

Programación I: Funciones y módulos

Práctica 1ª: Introducción a Matlab. 1er curso de Ingeniería Industrial: Ingeniería de Control

Funciones y subrutinas

Objetivos de la práctica: - Practicar uso de ficheros: abrir, cerrar y tratamiento de información contenida en el fichero.

Estructuras de Control - Diagrama de Flujo

Programación III. 1. Facultad: Ingeniería Escuela: Computación Asignatura:Programación III I. OBJETIVOS II. INTRODUCCIÓN TEÓRICA

Lenguaje de Diseño Primer Cuatrimestre

1. Ejemplo de clase : La clase Cuenta 2. Uso de la clase Cuenta. 3. Métodos y objetos receptores de mensajes (Importante)

EXAMEN FINAL Metodología y Programación Orientada a Objetos. Curso Cuatrimestre de otoño. 17 de Enero de 2011

Procedimientos para agrupar y resumir datos

Modulo 1 El lenguaje Java

FUNDAMENTOS DE PROGRAMACION

INSTITUTO TECNOLOGICO de la laguna Programación Orientada a Objetos en C++

Tema 6: Generación de código (parte 2)

UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLÓGICOS COORDINACION DE COMPUTACIÓN PROYECTO DE CÁTEDRA. MATERIA: Introducción a la Programación

Conceptos. ELO329: Diseño y Programación Orientados a Objetos. ELO 329: Diseño y Programación Orientados a Objetos

Tema 3: Herencia en C++ Programación Orientada a Objetos Curso 2008/2009 Begoña Moros Valle

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

Funciones en Lenguaje C.

Seven ERP Guía De Referencia - Imágenes

Prof. Dr. Paul Bustamante

Capítulo 4. Vectores y matrices. 4.1 Declaración de tablas. 4.2 Declaración estática de tablas

Benemérita Universidad Autónoma del Estado de Puebla

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

Generación de código para funciones. Generación de código para funciones. Generación de código para funciones. Generación de código para funciones

MATERIAL 2 EXCEL 2007

Hoja de problemas Estructuras de Control

GUIA 2: Repaso sobre uso de C#. Funciones, métodos y arreglos.

Crear una Nueva Solución Vacía:

7. Manejo de Archivos en C.

Transcripción:

Programación I, Guía 6 1 Facultad : Ingeniería Escuela : Computación Asignatura: Programación I Tema: FUNCIONES, PROCEDIMIENTOS Y RECURSIVIDAD. Objetivos Utilizar la sintaxis de las funciones definidas por el usuario para resolver problemas. Conocer la diferencia entre una función y un procedimiento. Aplicar los conceptos de funciones y procedimientos aplicándolo a la recursividad. Hacer uso de recursividad, tomando como base uso de funciones y procedimiento. Introducción Un problema complejo se puede dividir en pequeños subproblemas más sencillos. Estos subproblemas se conocen como Módulos y su complementación en un lenguaje se llama subprograma (procedimientos y funciones). Un subprograma realiza las mismas acciones que un programa, sin embargo, un subprograma lo utiliza solamente un programa para un propósito especifico. Un subprograma recibe datos de un programa y le devuelve resultados (el programa llama o invoca al subprograma, este ejecuta una tarea específica y devuelve el control al programa que lo llamo). Funciones Tipos de Módulos Procedimientos Funciones (retornan un valor).

2 Programación I, Guía 6 En el ámbito de la programación, una función es un tipo subalgoritmo, es el término para describir una secuencia de órdenes que hacen una tarea específica de una aplicación más grande. Las declaraciones de funciones generalmente son especificadas por: Un nombre único en el ámbito. Nombre de la función con el que se identifica y se distingue de otras. No podrá haber otra función ni procedimiento con ese nombre (salvo sobrecarga o polimorfismo en programación orientada a objetos). Un tipo de dato de retorno. Tipo de dato del valor que la función devolverá al terminar su ejecución. Una lista de parámetros. Especificación del conjunto de argumentos (pueden ser cero, uno ó más) que la función debe recibir para realizar su tarea. Sintaxis tipo_devuelto nombre_funcion(tipo(s)_argumento(s) nombre(s)) [argumento(s)_opcional(es)]... (declaración de datos y cuerpo de la función)... return (valor) // valor devuelto por la función Procedimientos (no tienen un valor de retorno). En el ámbito de la programación, un procedimiento es un tipo subalgoritmo, es el término para describir una secuencia de órdenes que hacen una tarea específica de una aplicación más grande. Los procedimientos trabajan igual que las funciones con la diferencia que NO RETORNAN NINGUN VALOR. Sintaxis void nombre_funcion(tipo(s)_argumento(s) nombre(s)) [argumento(s)_opcional(es)]... (declaración de datos y cuerpo de la función)...

Programación I, Guía 6 3 Recursividad: Una función recursiva es una función que se llama a sí misma directa o indirectamente. La recursividad o recursividad directa es el proceso por el que una función se llama a sí misma desde el propio cuerpo de la función. La recursividad o recursión indirecta implica más de una función. La recursividad indirecta implica, por ejemplo, la existencia de dos funciones: uno() y dos(). Suponga que main() llama a uno(), y a continuación uno() llama a dos (). En alguna parte del proceso, dos() llama a uno() una segunda llamada a uno()-. Esta acción es recursión indirecta, pero es recursiva, ya que uno() ha sido llamado dos veces, sin retornar ninguna a su llamadora. Un proceso recursivo debe tener una condición de terminación, ya que si no puede continuar indefinidamente. Un algoritmo típico que conduce a una implementación recursiva es el cálculo del factorial de un número. El factorial de n(n!). n! = n * (n - 1) * (n - 2) * * 3 * 2 * 1 En consecuencia, el factorial de 4 es igual a 4 * 3 * 2 * 1, el factorial de 3 es igual a 3 * 2 * 1. Así pues, el factorial de 4 es igual a 4 veces el factorial de 3. Materiales y equipos Guía de Laboratorio Nº 6. Computadora con programa Dev C++. Dispositivo de Almacenamiento (USB). Procedimiento G6_Ejemplo_1: Programa que calcule el cuadrado de los números del 1 al 10 utilizando funciones #include <iostream> using namespace std; /* prototipo de la función */ int potencia2 (int y); int main ( )

4 Programación I, Guía 6 int x; //Llamada a la función for ( x = 1; x<=10; x++) cout <<"El cuadrado de "<<x<<" es "<<potencia2(x)<<endl; system("pause"); return (0); // Definición de la función int potencia2 (int y) return y*y; G6_Ejemplo_2: Programa que calcule el cuadrado de los números del 1 al 10 utilizando procedimientos. #include <iostream> using namespace std; // prototipo de la función (void: indica que no se retornará ningún valor) void potencia2 ( int ); int main ( ) int x; for ( x = 1; x<=10; x++) //Llamada a la función potencia2( x); system("pause"); return (0); // Definición de la función void potencia2 (int y) //aquí se imprime el valor, NO se devuelve cout <<"La potencia cuadrada de "<<y<<" es "<<y*y<<endl;

Programación I, Guía 6 5 G6_Ejemplo_3: Programa que determina si el número digitado por el usuario es par ó impar. Solución recursiva. #include<stdio.h> #include<iostream> using namespace std; int par(int n); int impar(int n); int main() int n; //entrada: entero > 0 do cout<<"\ningrese un Entero >0: "; cin>>n; while(n<=0); //Llamada a la función par() if (par(n)) cout<<"el numero"<< n <<" es par. "<<"\n"; else cout<<"el numero"<< n <<" es impar. "<<"\n"; system("pause"); return 0; int par(int n) if(n==0) return 1; else return impar(n-1); int impar(int n) if (n==0) return 0; else return par(n-1);

6 Programación I, Guía 6 Análisis de resultados G6_Ejercicio_1: Cree un programa que solicite el año de nacimiento de una persona y retorne la edad haciendo uso de funciones ó procedimientos. G6_Ejercicio_2: Cree un programa que contenga el siguiente menú: 1. Suma de 2 números. 2. Resta de 2 números. 3. Cubo de un número. 4. Salir. El menú deberá estar activo, hasta que el usuario seleccione la opción salir. Cada opción deberá contener una función o procedimiento para realizar la operación. Una función para suma. Una función para resta. Una función para calcular el cubo de un número. G6_Ejercicio_3: Escribir un programa que utilice una función para convertir coordenadas polares a rectangulares. R P(x,y) x=r cos ɵ, y=r sin ɵ ɵ eje x

Programación I, Guía 6 7 Investigación complementaria. G6_Problema_1: Escribir un programa mediante funciones, que visualice un calendario de la forma: L M M J V S D 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 El usuario indica únicamente el mes y el año. G6_Problema_2: Escribir un programa que lea dos números x y n y en una función calcule la suma de la progresión geómetrica. G6_Problema_3: Escribir una función que tome como parámetro las longitudes de los tres lados de un triángulo (a,b y c) y devuelva el área del triángulo. Bibliografía. Programación en C, Metodología, estructurada de datos y objetos, Luis Joyanes Aguilar Ignacio Zahonero Martínez, McGrawHill.

8 Programación I, Guía 6 Hoja de cotejo: 6 Guía 6: Funciones, procedimientos y Recursividad. 1 Alumno: Máquina No: Docente: GL: Fecha: EVALUACION % 1-4 5-7 8-10 Nota CONOCIMIENTO 40 APLICACIÓN DEL CONOCIMIENTO 40 ACTITUD 20 TOTAL 100%