Fundamentos de Programación

Slides:



Advertisements
Presentaciones similares
Métodos y parámetros.
Advertisements

Unidad 15 Características de C++ no relacionadas con el DOO.
Ejemplo de Programa C++
Funciones y recursividad
LOGROS DEL PERÍODO Utiliza de forma correcta las funciones para entrada y salida de datos en c++. Utiliza los elementos básicos de un programa en c++.
Elementos básicos del Lenguaje
Procedimientos y Funciones
Funciones. Programación, Algoritmos y Estructuras de Datos.
Tipos de Datos Abstractos Modularidad
Administración de Proyectos de desarrollo de Software Ciclo de vida de un proyecto Enfoque moderno Tema Función main Elementos básicos del lenguaje.
FUNCIONES EN C.
UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO
Prof. Franklin Cedeño. FUNCIONES EN C++ Cuando tratamos de resolver un problema, resulta muy útil utilizar la filosofía de “divide y vencerás”. Esta estrategia.
Unidad 3 Punteros.
Curso Práctica 3 1 Funciones CONTENIDO Consideraciones sobre funciones Estructura de un programa en C Uso de funciones Paso de parámetros Punteros.
Funciones “En C” Semestre de Otoño 2006 Claudio Gutiérrez-Soto.
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.
Programación I Teoría II
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.
FUNCIONES EN C. SOBRE FUNCIONES... Caja negra in_1 in_N out_1 In_2 Función: Nombre. (Con el cual es invocada). Entradas. (Parámetros de la función). Salida.
PROCEDIMIENTOS FUNCIONES
Programación III Clase 07 Funciones.
Concepto de tupla Las tuplas son estructuras de datos que constan de varios campos que pueden contener datos de tipos distintos. El acceso al contenido.
Introducción a los punteros
Prog. Univ. Rodríguez Rey, Pablo Funciones Programación I.
Lenguaje C Ing. Sonia Alexandra Pinzón Nuñez
TABLAS Definición. El tipo tabla permite definir objetos formados por un conjunto de elementos del mismo tipo. Ejemplos. El tipo tabla se utiliza para.
Descomposición Modular. Funciones
Programación Orientada a Objetos usando CONSTRUCTORES DESTRUCTORES.
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.
Administración de Proyectos de desarrollo de Software Ciclo de vida de un proyecto Enfoque moderno Temas Componentes Directivas Declaraciones globales.
INTRODUCCION. LOS LENGUAJES DE PROGRAMACIÓN Los lenguajes de programación herramientas que nos permiten crear programas y software. EL LENGUAJE DE MAQUINA.
FIEE VARIABLES Ing. José Antonio Poma G.. FIEE Variables Una variable es un identificador (nombre de la variable) que hace referencia a.
Material de apoyo Unidad 4 Estructura de datos
INTRODUCCIÓN AL LENGUAJE C++. 2  En C++ la Entrada y Salida de datos se realiza a través de operaciones de flujos (streams)  Estos flujos están definidos.
Figure: Algoritmos Conceptos básicos. Programación: 1.Establecer una secuencia de acciones que: puedan ser ejecutadas por el procesador realicen una.
Elementos básicos del lenguaje
Unidad II Introducción a la programación en C++
FUNCIONES Conceptos básicos. Retorno de una función Clases de funciones. Paso de parámetros. Funciones y arrays.
Punteros.
Recursividad (2 clases) 1. Nivelación Funciones Menú Vectores String
Elementos básicos del lenguaje
Trazado. 1 Intercambio sin error #include void intercambio(int *, int *); /* prototipo */ main(){ int a=1,b=2; printf("a=%d b=%d\n",a,b); intercambio(&a,&b);
Funciones Curso Propedéutico Maestría en Ingeniería Electrónica.
Funciones Definidas por el Programador
Representación de Algoritmos
Conceptos Avanzados de Programación
Curso de C # República Bolivariana de Venezuela Área de Computación
CARACTERÍSTICAS Es un lenguaje de programación estructurado de propósito general. Está estrechamente asociado al sistema operativo UNIX, ya que el propio.
Radio Volumen esfera m. m #include.
Funciones Programación básica. Definición una función es un bloque de código reconocido por un identificador que realiza un trabajo específico. Su propósito.
Sesión 10: Sobrecarga (2) /1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Informática II Universidad.
LENGUAJE “C” Programación.
Capítulo 2 “Subprogramas/Funciones - Arreglos”
Algoritmo.
Corporación Universitaria del Caribe CECAR Fundamentos de programación II.
Arreglos Ejemplo paso a paso. Planteamiento Como estudiante de ingeniería, quieres usar tus habilidades de programador para llevar un registro de tus.
Paso de Parámetros a una Función Prof. Flor Narciso Departamento de Computación Escuela de Ingeniería de Sistemas Facultad de Ingeniería Universidad de.
MEMORIA DINÁMICA.
Desarrollador Profesional de Juegos Programación III Unidad I Excepciones Tipos.
Computación I :: Prof. Yeniffer Peña Lenguaje C Presentación Computación I.
PROF. RAFAEL MONTENEGRO B. UNELLEZ-APURE Introducci Ó n a los Arreglos (“arrays”) en C++
Introducción al Lenguaje C (I) Tipos básicos, arrays y punteros Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión
Funciones y paso de parámetros Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión Unidad Didáctica 24.
Funciones en lenguaje C 2 Funciones Definición: – Las funciones son los bloques de construcción básicos de C. Dentro de ellas se da toda la actividad.
Transcripción de la presentación:

Fundamentos de Programación Funciones en C++

¿Qué son los subprogramas? Los subprogramas se implementan en respuesta al diseño modular. Su principal objetivo consiste en facilitar la depuración de errores en el software y en facilitar la reutilización de componentes de software para lograr mayor productividad. Tipos de Subprogramas Todos los lenguajes de programación admiten subprogramas. Se los denomina funciones, procedimientos, subrutinas. C++ emplea el subprograma función.

Subprogramas

Subprogramas

Subprogramas Ventajas de su empleo Reducir la complejidad del programa y lograr mayor modularidad. Permitir y facilitar el trabajo en equipo. Cada diseñador puede atacar diferentes módulos o subprogramas. Facilitar la prueba de un programa, ya que cada subprograma puede ser probado previamente y en forma independiente. Optimizar el uso y administración de memoria. Crear librerías de subprogramas para su posterior reutilización en otros programas.

Funciones en C++ tipo nombre_funcion(tipo param1, tipo param2,...); int main() { nombre_funcion(p1,p2,...); return 0; } tipo nombre_funcion(tipo param1, tipo param2,...) { // código de la función [return resultado;] } Prototipo de la función Llamada Definición de la función

Funciones en C++ // Ejemplo: calcular el volumen de un cilindro, //se ingresan como datos de entrada su radio y altura #include <iostream.h> #include <math.h> #include<iomanip.h> float vol_cilindro(float r, float a); using namespace std; int main() { float radio, altura, volumen; cout <<"Ingrese el radio:" ; cin >>radio; cout <<"Ingrese la altura:"; cin >> altura; volumen= vol_cilindro(radio,altura); cout <<setprecision(3)<<"El volumen es:" <<volumen; return 0; } float vol_cilindro (float r, float a) { float v= M_PI*r*r*a ; return v; } Prototipo de la función Llamada Definición de la función

Funciones en C++ Prototipos y tipos de resultados float vol_cilindro(float r, float a); float promedio3(int,int,int); void intercambio(int &a, int &b); void resolvente(int a,int b,int c,float &x1,float &x2); char *strcat(char *c1, const char *c2);

Funciones en C++ Parámetros formales y actuales . . . . . . float vol_cilindro(float, float); int main( ) { . . . . . . v = vol_cilindro(radio, altura); } float vol_cilindro (float r, float a) { float v= M_PI*r*r*a ; return v; } Parámetros formales o de diseño Parámetros actuales o de llamada

Resultados de una Función float vol_cilindro (float radio, float altura) { float v= M_PI*r*r*a ; return v; } { return M_PI*r*r*a ; } void vol_cilindro (float radio, float altura) { float v= M_PI*r*r*a ; cout << “el volumen del cilindro es:” << v << endl;

Intercambio de información entre el cliente y la función Pasaje de parámetros por valor . . . float vol_cilindro(float r, float a); int main( ) { . . . . . . v = vol_cilindro(radio, altura); } float vol_cilindro (float r,float a) { float v= M_PI*r*r*a ; return v; } r, a: parámetros formales. Son asignados en la llamada: r=radio, a=altura Se está usando un valor constante como tercer parámetro.

Intercambio de información entre el cliente y la función Es posible pasar constantes como parámetros por valor a una función? . . . float vol_cilindro(float r, float a); int main( ) { . . . . . . v = vol_cilindro(5.4, 11.5); } float vol_cilindro (float r,float a) { float v= M_PI*r*r*a ; return v; } Sí es posible. Se produce la asignación: r=5.4 , a=11.5 Se está usando un valor constante como tercer parámetro.

Intercambio de información entre el cliente y la función Pasaje de parámetros por valor En el pasaje de parámetros por valor se produce una asignación o copia de los parámetros de llamada o actuales a los parámetros de diseño o formales. Si se modifica un parámetro formal dentro de la función los correspondientes parámetros actuales no se verán afectados.

Intercambio de información entre el cliente y la función Pasaje de parámetros por referencia Operador de dirección & int m=10; int &q = m; // q es definido como alias de m q++; // se incrementa q en 1 y también m cout << m; // se obtiene 11 como salida

Intercambio de información entre el cliente y la función Pasaje de parámetros por referencia . . . void vol_cilindro( float r, float a, float &v); int main( ) { float radio, altura, voluemn; . . . vol_cilindro(radio, altura, volumen); } void vol_cilindro (float r, float a, float &v)) { v= M_PI*r*r*a ; vol_cilindro(radio, altura, 653.38); En esta transparencia cambié la función pasándola a VOID ya que no debería devolver valor, lo está haciendo en el pasaje por referencia de p. Es posible pasar constantes como parámetros por referncia a una función?

Intercambio de información entre el cliente y la función Pasaje de parámetros por referencia En el pasaje de parámetros por referencia cada parámetro actual es un alias del parámetro formal o de diseño (comparten la misma dirección de memoria) Si se modifica un parámetro formal dentro de la función, se está modificando simultáneamente el parámetro actual del módulo cliente que invocó a la función

Parámetros por defecto float vol_cilindro( float r, float a=10.0); ..... int main( ) { ..... v1=vol_cilindro( radio ); v2=vol_cilindro( radio, altura ); . . . . . }

Obtener más de un resultado de una función . . . void cilindro( float r, float a, float &v, float &s); int main( ) { float radio, altura, volumen, area; . . . cilindro(radio, altura, volumen, area); } void cilindro (float r, float a, float &v, float &s) { float area_base= M_PI*r*r*; //area de la base del cil v= area_base*a ; //calcula volumen s= M_PI*2*r+2*area_base; // calcula area total del cil

Variables locales . . . void cilindro( float r, float a, float &v); . . . void cilindro( float r, float a, float &v); int main( ) { float radio, altura, volumen; . . . vol_cilindro(radio,altura,volumen); cout<<“El area de la base es:”<<area_base<<endl; } void cilindro (float r, float a, float &v, float &s) { float area_base= M_PI*r*r*; //area de la base del cil v= area_base*a ; //calcula volumen Error de compilación

Funciones inline float vol_cilindro (float r, float a) { return M_PI*r*r*a; }; int main( ) { float radio, altura, volumen; . . . volumen=vol_cilindro(radio, altura); cout<<“El volumen del cilindro es:”<<volumen<<endl; }

Sobrecarga de funciones #include <iostream> void intercambio(int &a, int &b) { int aux=a; a=b; b=aux;} void intercambio(float &a, float &b) { float aux=a; a=b; b=aux;} int main () { int n=5, « m=2; cout<<“Datos enteros: n=“<<n<<“ m=“<<m<<endl; intercambio(n,m); cout<<“Despues de intercambio:“<<endl; cout<<“n=“<<n<<“ m=“<<m<<endl; float x=11.2, y=20.5; cout<<“Datos flotantes: x=“<<x<<“ y=“<<y<<endl; intercambio(x,y); cout<<“x=“<<x<<“ y=“<<y<<endl; return 0; } Datos enteros n=5 m=2 Después de intercambio n=2 m=5 Datos flotantes x=11.2 y=22.5 x=22.5 y=11.2

Acciones de E/S en funciones No deseable void vol_cilindro (float r, float a) { float vol; vol= M_PI*r*r*a; cout<<”El volumen del cilindro es:”<<vol; } Correcto float vol_cilindro (float r, float a) { float vol; vol= M_PI*r*r*a; return vol; }

Recursividad La recursividad es una técnica que permite a definir a una función en términos de sí misma. En otras palabras: una función es recursiva cuando se invoca a sí misma. Ejemplos: Factorial: 5!= 5*4! n!= n * (n-1)! Potencia: 27 = 2*26 an = a*a(n-1) Fibonacci: 1,1,2,3,5,8,13,... ; tn=t(n-1)+t(n-2)

Recursividad unsigned int factorial(unsigned int x) { if ( (x==0)||(x==1) ) return 1; else return x*factorial(x-1); };  Condiciones para que una función sea recursiva Toda función recursiva debe Realizar llamadas a sí misma para efectuar versiones reducidas de la misma tarea. Incluir uno o más casos donde la función realice su tarea sin emplear una llamada recursiva, permitiendo detener la secuencia de llamadas (condición de detención o stop).