FuncionesyProcedimientos.pptx

March 30, 2018 | Author: RPB | Category: C++, Exponentiation, Computer Programming, Matrix (Mathematics), Computer Science


Comments



Description

Funciones yProcedimientos Introducción     Al realizar programas más complejos, el tamaño de nuestro código empieza a desbordarnos. Para mitigar este problema apareció la programación modular. En la programación modular, el programa se divide en distintos módulos (sub programas), de manera que cada módulo contiene un código de tamaño más manejable. Cada módulo realiza una función muy concreta y se puede programar de forma independiente. Las funciones están compuestas de código fuente que responde a una finalidad. Este código generalmente devuelve un determinado valor o bien realiza algún tipo de acción aunque no devuelva ningún valor concreto (a las funciones que no devuelven ningún valor se las suele llamar procedimientos). Ing. Zegarra Henry Introducción  Las funciones son invocadas (llamadas) desde el programa principal, utilizando su nombre después del cual se colocan paréntesis y dentro de los paréntesis los argumentos (datos) que la función necesita para su realización, cabe la posibilidad que no se necesiten argumentos. Ing. Zegarra Henry cstdio. Así por ejemplo la librería cmath. etc. Una biblioteca o librería no es más que una colección de funciones.Funciones    Todo programa C++ se basa en una función llamada ‘main’ (Programa principal) que contiene el código que se ejecuta en primer lugar en el programa. iostream. Dentro de ese main (programa principal) habrá llamadas (invocaciones) a funciones ya creadas. bien por el propio programador o bien que forman parte de las librerías estándar de C++ o de C. Zegarra Henry . Ing.. Crear una línea en la que se indica el nombre de la función. éstas deben definirse en el código. Estas variables sólo podrán ser utilizadas desde la propia función. Si la función no devuelve nada. Si es preciso indicar el valor que devuelve mediante la sentencia ‘return’. A esto se le llama la ‘cabecera de la función’.Crear funciones y/o Procedimientos Si creamos funciones y/o procedimientos. Tras la cabecera se abre la llave que permite ver el código propio de la función. Los pasos para definir una función son: 1. 4. el tipo de datos que devuelve dicha función y los parámetros que acepta. Indicar las variables locales a la función. 3. no . Aquí se declaran las variables que la función utiliza. Indicar las instrucciones de la función. 2. …. tipo dato2. ) { codificación. ) { codificación.Crear funciones y/o Procedimientos  Sintaxis Funciones: Tipo_Retorno nombreFunción (tipo dato1. Zegarra Henry . return variableRetorno. }  Sintaxis Procedimientos: void nombreFunción (tipo dato1.. } Ing.. …. tipo dato2. Toda función puede obtener un resultado.  NombreFunción. ‘int’.  Parámetros.Crear funciones y/o Procedimientos De acuerdo a lo anterior:  Tipo_Retorno. También puede ser ‘void’. Eso se realiza mediante la instrucción ‘return’. hay funciones sin parámetros. Zegarra Henry . el cual no devuelve ningún valor. El tipo puede ser: ‘char’. etc. Los parámetros son una serie de valores que la función puede requerir para poder ejecutar su trabajo. Ing. Sirve para elegir el tipo de datos que devuelve la función. En realidad es una lista de variables y los tipos de las mismas. El identificador de la función.. Su uso es opcional. ‘float’. ‘double’. Éste último se utiliza si es un procedimiento. ) { Parámetros o Argumentos codificación. Aquí return variableRetorno.Crear funciones y/o Procedimientos  Sintaxis Funciones: Tipo_Retorno nombreFunción (tipo dato1. tipo dato2.. Zegarra Henry . declaramos la } función Nota: char Tipo_Retorno int float double tipo char int float double Ing. …. Crear funciones y/o Procedimientos  Sintaxis Funciones: Tipo_Retorno nombreFunción (tipo dato1. tipo dato2. la función } Nota: La función retorna un valor (variableRetorno) a la variable que la llamo desde el programa principal. Aquí definimos return variableRetorno. Zegarra Henry . ) { codificación.. Ing. …. Crear funciones y/o Procedimientos  Sintaxis Procedimientos: Tipo_Retorno nombreProcedimiento (tipo dato1. tipo dato2. …. ) Parámetros o Argumentos { codificación.. Zegarra Henry . int tipo Tipo_Retorno void float double Ing. Aquí } declaramos el procedimiento Nota: No olvidar que un procedimiento es siempre de tipo char void. ) { codificación. Ing. …. Aquí definimos } el procedimiento Nota: El procedimiento no retorna valor alguno al programa principal. En cambio puede imprimir. visualizar. etc. tipo dato2.Crear Procedimientos  Sintaxis Procedimientos: void nombreFunción (tipo dato1. Zegarra Henry . almacenar datos.. en lugar de retornar.. Funciones predefinidas Ejemplos . cin>>exp. int exp. base. Zegarra Henry . Necesita de dos argumentos ‘base’ y ‘exp’ para poder resolver.// la variable pot llama a // funcion pow cout<<base<<"^"<<exp<<" = "<<pot<<endl.. #include<iostream> #include<cmath> using namespace std.exp). ‘pow’ es una función predefinida dentro de la librería cmath. } Ese código utiliza la función pow que permite elevar un número ‘base’ a un exponente ‘exp’ y el resultado se asigna a la variable ‘pot’. cout<<"Ingrese base: ". void main( ) { float pot. cout<<"Ingrese exponente: ". pot = pow(base. cin>>base. Ing.Ejemplo – Uso de Funciones Predefinidas Realice un programa para hallar la potencia de un numero ingresado. pot = pow(base. Este archivo externo se enlazara a nuestro código para que así nuestro programa principal ‘main’ lo use. Zegarra Henry . cin>>exp.Ejemplo – Uso de Funciones Predefinidas Realice un programa para hallar la potencia de un numero ingresado. cout<<"Ingrese base: ".// la variable pot llama a // funcion pow cout<<base<<"^"<<exp<<" = "<<pot<<endl. #include<iostream> #include<cmath> using namespace std. } Ese código utiliza la función pow que permite elevar un número ‘base’ a un exponente ‘exp’ y el resultado se asigna a la variable ‘pot’. void main( ) { float pot.exp). cout<<"Ingrese exponente: ". debemos de incluir la librería ‘cmath’. Para poder utilizar la función ‘pow’. base. cin>>base. int exp. Ing. cin>>base. int exp.exp).Ejemplo – Uso de Funciones Predefinidas Realice un programa para hallar la potencia de un numero ingresado. pot = pow(base. Zegarra Henry . cin>>exp. void main( ) { float pot.// la variable pot llama a // funcion pow cout<<base<<"^"<<exp<<" = "<<pot<<endl. base. } Ing. cout<<"Ingrese base: ". cout<<"Ingrese exponente: ". #include<iostream> #include<cmath> using namespace std. Ejemplo – Uso de Funciones Predefinidas Realice un programa para hallar la potencia de un numero ingresado.exp).// la variable pot llama a // funcion pow cout<<base<<"^"<<exp<<" = "<<pot<<endl. cin>>exp. base. cout<<"Ingrese base: ". cin>>base. Zegarra Henry . } Resuelve el código interno y retorna un valor a la variable que la llamó desde el programa principal Ing. int exp. pot = pow(base. void main( ) { float pot. cout<<"Ingrese exponente: ". #include<iostream> #include<cmath> using namespace std. Funciones definidas por usuario Ejemplos funciones prototipo . Funciones Prototipos   El uso de funciones prototipos no es obligatorio. En los prototipos realmente el compilador sólo tienen en cuenta el tipo de retorno. el nombre de la función y el tipo (no el nombre) de los parámetros. pero si es muy recomendable ya que permite detectar errores en compilación (por errores en el tipo de datos) que serían muy difíciles de detectar en caso de no especificar el prototipo. . Así la función del ejemplo anterior podría haberse escrito de la siguiente manera. Zegarra Henry . h. #include<iostream> using namespace std. cout<<"Ingrese altura: ". cin>>b. b. cout<<"Area traingulo = "<<a<<endl. a=(b*h)/2.Uso de las funciones –Ejemplo 1 Realice un programa para hallar el área de un triangulo. cout<<"Ingrese base: ".   void main() { float a. } Realice un programa para hallar el área de un triangulo. cin>>h. declare y defina las siguientes funciones:  Leer dato  Área triangulo Ing. cout<<"Ingrese base: ". h. cout<<"Ingrese altura: ". cin>>h.Uso de las funciones –Ejemplo 1 #include<iostream> using namespace std. } Vamos a crear siguientes funciones:  Leer dato real  Área triangulo Ing. a=(b*h)/2. cout<<"Area traingulo = "<<a<<endl. cin>>b. b.   void main() { float a. Zegarra Henry las . // leemos datos Ing.Uso de las funciones –Ejemplo 1 Creando la función ‘LeerDato’ • Para leer un dato. Zegarra Henry . // declaramos cin>>real. además declaramos la variable a leer: float real. utilizamos la instrucción ‘cin>>’. return real. cin>>real. vamos a declarar la función ‘leerDato’ del tipo real y retornamos el dato al programa principal. (A la variable que llamo a la función) float leerDato( ) // Declaramos la función { float real.Uso de las funciones –Ejemplo 1 Creando la función ‘LeerDato’ • Con las líneas anteriores. // retornamos valor } Ing. Zegarra Henry . Uso de las funciones –Ejemplo 1 Creando la función ‘LeerDato’ • Para leer un dato no necesitamos de argumentos dentro del paréntesis. // retornamos valor } Ing. float leerDato( ) // Declaramos la función { float real. cin>>real. return real. Zegarra Henry . Uso de las funciones –Ejemplo 1 Creando la función ‘areaTriangulo’  Utilizamos la fórmula para hallar el área del triángulo. además declaramos la variable a retornar. Zegarra Henry . // fórmula de área Ing. float area. // declaramos area = (base*alt)/2. float alt) // Declarar Función { float area.Uso de las funciones –Ejemplo 1 Creando la función ‘areaTriangulo’  Vamos a declarar la función ‘areaTriangulo’ entre paréntesis enviamos los argumentos que necesita para resolver ‘area’. } Ing. Zegarra Henry . // fórmula de área return area. además retornamos el resultado al programa principal. float areaTriangulo (float base. // declaramos variable a usar area = (base*alt)/2. // ‘b’ llama a la función // ‘ingNro’ y espera que le // retorne un valor cout<<"Ingrese altura: ". . // ‘h’ llama a la función // ‘ingNro’ y espera a = areaTriangulo(b. b. // DECLARACION DE FUNCIONES float areaTriangulo (float base. area=(base*alt)/2. } // DEFINCION DE FUNCIONES  float areaTriangulo (float base. h. // ‘a’ llama a la función // ‘areaTriangulo’ y le envía // ‘b’ y ‘h’ como datos para la // solución de la función cout<<“Area triangulo = "<<a<<endl.Uso de las funciones –Ejemplo 1 // INICIO #include<iostream> using namespace std. float alt). b = ingNro(). cin>>nro. }  float ingNro() { float nro.h). float ingNro(). Zegarra Henry return nro. return area. Ing. float alt) { // base←b y alt ←h float area.  // PROGRAMA PRINCIPAL void main() { float a. cout<<"Ingrese base: ". h = ingNro(). Explicación del Ejemplo 1 . Zegarra Henry b h ? ? . cout<<"Ingrese base: ". h = ingNro(). return area. cout<<"Ingrese altura: ".h). }  float ingNro() { float nro. b. // DECLARACION Y DEFINICION // DE FUNCIONES  float areaTriangulo (float base. area=(base*alt)/2. cin>>nro. a = areaTriangulo(b. float alt) { // base←b y alt ←h float area. } Ing.Ejemplo Explicación #include<iostream> using namespace std. b = ingNro(). return nro. h. cout<<“Area triangulo = "<<a<<endl. }    // PROGRAMA PRINCIPAL a void main() { ? float a. area=(base*alt)/2. cout<<“Area triangulo = "<<a<<endl.Ejemplo Explicación #include<iostream> using namespace std. Zegarra Henry b h ? ? . // DECLARACION Y DEFINICION // DE FUNCIONES  float areaTriangulo (float base. cin>>nro.h). return nro. h. cout<<"Ingrese base: ". a = areaTriangulo(b. b = ingNro(). }  float ingNro() { float nro. h = ingNro(). }   Ingrese base: _  // PROGRAMA PRINCIPAL a void main() { ? float a. return area. float alt) { // base←b y alt ←h float area. b. cout<<"Ingrese altura: ". } Ing. llama a la función b = ingNro(). cin>>nro. return nro. cout<<“Area triangulo = "<<a<<endl.h). float alt) { // base←b y alt ←h float area. area=(base*alt)/2. espera un valor h = ingNro(). } Ing. }   Ingrese base: _  // PROGRAMA PRINCIPAL a b h void main() { ? ? ? float a. ‘ingNro’ y cout<<"Ingrese altura: ". return area. Zegarra Henry . cout<<"Ingrese base:‘b’ ". }  float ingNro() { float nro. b.Ejemplo Explicación #include<iostream> using namespace std. h. de retorno a = areaTriangulo(b. // DECLARACION Y DEFINICION // DE FUNCIONES  float areaTriangulo (float base. cout<<“Area triangulo = "<<a<<endl. area=(base*alt)/2. cout<<"Ingrese altura: ". } Ing. }   Ingrese base: _  // PROGRAMA PRINCIPAL a void main() { ? float a. return nro. ? cin>>nro. b. h = ingNro(). return area. float alt) { // base←b y alt ←h float area. cout<<"Ingrese base: ". Zegarra Henry b h ? ? . }  float ingNro() nro { float nro. h. b = ingNro(). a = areaTriangulo(b.h). // DECLARACION Y DEFINICION // DE FUNCIONES  float areaTriangulo (float base.Ejemplo Explicación #include<iostream> using namespace std. return nro.Ejemplo Explicación #include<iostream> using namespace std. Zegarra Henry b h ? ? . h. b = ingNro(). a = areaTriangulo(b. h = ingNro(). ? cin>>nro.h). area=(base*alt)/2. } Ing. cout<<“Area triangulo = "<<a<<endl. float alt) { // base←b y alt ←h float area. b. cout<<"Ingrese altura: ". cout<<"Ingrese base: ". return area. }  float ingNro() nro { float nro. }   Ingrese base: _  // PROGRAMA PRINCIPAL a void main() { ? float a. // DECLARACION Y DEFINICION // DE FUNCIONES  float areaTriangulo (float base. // DECLARACION Y DEFINICION // DE FUNCIONES  float areaTriangulo (float base. cout<<"Ingrese base: ". return nro. area=(base*alt)/2. }  float ingNro() nro { 3. } Ing. h. float alt) { // base←b y alt ←h float area. h = ingNro(). 6 cin>>nro. b = ingNro(). b. Zegarra Henry b h ? ? . cout<<"Ingrese altura: ".6  // PROGRAMA PRINCIPAL a void main() { ? float a.h). return area. float nro. cout<<“Area triangulo = "<<a<<endl. }   Ingrese base: 3.Ejemplo Explicación #include<iostream> using namespace std. a = areaTriangulo(b. b = ingNro(). float alt) { // base←b y alt ←h float area.Ejemplo Explicación #include<iostream> using namespace std. // DECLARACION Y DEFINICION // DE FUNCIONES  float areaTriangulo (float base. a = areaTriangulo(b. } Ing. 6 cin>>nro. cout<<"Ingrese altura: ". area=(base*alt)/2. h = ingNro(). float nro. }  float ingNro() nro { 3. cout<<“Area triangulo = "<<a<<endl. cout<<"Ingrese base: ". Zegarra Henry b h ? ? . ‘ingNro’ retorna } ‘nro’ a ‘b’   Ingrese base: 3. La función return nro.6  // PROGRAMA PRINCIPAL a void main() { ? float a. return area. b.h). h. h).6  // PROGRAMA PRINCIPAL a void main() { ? float a. float nro. float alt) { // base←b y alt ←h float area.Ejemplo Explicación #include<iostream> using namespace std. h. }  float ingNro() nro { 3. b = ingNro(). }   Ingrese base: 3. cout<<"Ingrese base: ". 6 h ? . h = ingNro(). cout<<"Ingrese altura: ". 6 cin>>nro. Zegarra Henry b 3. area=(base*alt)/2. cout<<“Area triangulo = "<<a<<endl. a = areaTriangulo(b. // DECLARACION Y DEFINICION // DE FUNCIONES  float areaTriangulo (float base. } Ing. return nro. b. return area. // DECLARACION Y DEFINICION // DE FUNCIONES  float areaTriangulo (float base. b. Zegarra Henry b 3. float nro. }   Ingrese base: 3. return area. b = ingNro(). a = areaTriangulo(b. float alt) { // base←b y alt ←h float area.6 Ingrese altura: _  // PROGRAMA PRINCIPAL a void main() { ? float a. 6 cin>>nro. cout<<“Area triangulo = "<<a<<endl.h). cout<<"Ingrese altura: ". return nro.Ejemplo Explicación #include<iostream> using namespace std. h = ingNro(). h. } Ing. area=(base*alt)/2. cout<<"Ingrese base: ". }  float ingNro() nro { 3. 6 h ? . Ejemplo Explicación #include<iostream> using namespace std. espera un valor a = areaTriangulo(b. return area. }  float ingNro() nro { 3. Zegarra Henry . float alt) { // base←b y alt ←h float area. de retorno cout<<“Area triangulo = "<<a<<endl. return nro. { ? ? 6 float a.h). ‘ingNro’ y h = ingNro(). función cout<<"Ingrese altura: ". area=(base*alt)/2. } Ing. 6 cin>>nro. ‘h’ llama a la b = ingNro(). }   Ingrese base: 3. cout<<"Ingrese base: ". // DECLARACION Y DEFINICION // DE FUNCIONES  float areaTriangulo (float base. float nro. b. h.6 Ingrese altura: _  // PROGRAMA PRINCIPAL a b h void main() 3. return area. b. float alt) { // base←b y alt ←h float area. cout<<“Area triangulo = "<<a<<endl. a = areaTriangulo(b. Zegarra Henry b 3. float nro. } Ing. }  float ingNro() nro { 3. // DECLARACION Y DEFINICION // DE FUNCIONES  float areaTriangulo (float base. cout<<"Ingrese altura: ". h. 6 cin>>nro. 6 h ? . }   Ingrese base: 3. cout<<"Ingrese base: ". h = ingNro().Ejemplo Explicación #include<iostream> using namespace std.6 Ingrese altura: _  // PROGRAMA PRINCIPAL a void main() { ? float a. area=(base*alt)/2.h). b = ingNro(). return nro. }   Ingrese base: 3. float nro. h. } Ing. // DECLARACION Y DEFINICION // DE FUNCIONES  float areaTriangulo (float base.h). area=(base*alt)/2. cout<<“Area triangulo = "<<a<<endl. 6 h ? . cout<<"Ingrese altura: ". return area. return nro.Ejemplo Explicación #include<iostream> using namespace std. h = ingNro(). float alt) { // base←b y alt ←h float area. b = ingNro(). cout<<"Ingrese base: ".6 Ingrese altura: _  // PROGRAMA PRINCIPAL a void main() { ? float a. b. }  float ingNro() nro { 3. 6 cin>>nro. a = areaTriangulo(b. Zegarra Henry b 3. cout<<"Ingrese altura: ". b. h = ingNro().6 Ingrese altura: 5. }  float ingNro() nro { 5. Zegarra Henry b 3.h). cout<<"Ingrese base: ". cout<<“Area triangulo = "<<a<<endl.3  // PROGRAMA PRINCIPAL a void main() { ? float a.Ejemplo Explicación #include<iostream> using namespace std. 6 h ? . return area. b = ingNro(). } Ing. }   Ingrese base: 3. float alt) { // base←b y alt ←h float area. // DECLARACION Y DEFINICION // DE FUNCIONES  float areaTriangulo (float base. area=(base*alt)/2. return nro. 3 cin>>nro. a = areaTriangulo(b. float nro. h. h). Zegarra Henry b 3. 3 cin>>nro. b = ingNro(). h.6 Ingrese altura: 5. return area. cout<<"Ingrese base: ". cout<<"Ingrese altura: ". }  float ingNro() nro { 5. La función return nro. float nro.3  // PROGRAMA PRINCIPAL a void main() { ? float a. b. 6 h ? . // DECLARACION Y DEFINICION // DE FUNCIONES  float areaTriangulo (float base. h = ingNro(). ‘ingNro’ retorna } ‘nro’ a ‘h’   Ingrese base: 3. cout<<“Area triangulo = "<<a<<endl. float alt) { // base←b y alt ←h float area. a = areaTriangulo(b. } Ing. area=(base*alt)/2.Ejemplo Explicación #include<iostream> using namespace std. 3 . 6 h 5. 3 cin>>nro. a = areaTriangulo(b. return nro. cout<<“Area triangulo = "<<a<<endl. }   Ingrese base: 3. float nro.3  // PROGRAMA PRINCIPAL a void main() { ? float a. return area. area=(base*alt)/2. cout<<"Ingrese altura: ". float alt) { // base←b y alt ←h float area. h = ingNro().Ejemplo Explicación #include<iostream> using namespace std. b. cout<<"Ingrese base: ". h. b = ingNro(). } Ing. }  float ingNro() nro { 5. // DECLARACION Y DEFINICION // DE FUNCIONES  float areaTriangulo (float base. Zegarra Henry b 3.h).6 Ingrese altura: 5. espera un valor de a = areaTriangulo(b. }  float ingNro() { float nro. // DECLARACION Y DEFINICION // DE FUNCIONES  float areaTriangulo (float base. h. return nro. return area.h). Zegarra Henry . cin>>nro.retorno cout<<“Area triangulo = "<<a<<endl. b. }   Ingrese base: 3.3  // PROGRAMA PRINCIPAL a b h void main() 3. ‘a’ llama a la función b = ingNro(). 5. area=(base*alt)/2. cout<<"Ingrese base: ". } Ing. le cout<<"Ingrese altura:envía ".Ejemplo Explicación #include<iostream> using namespace std. ‘areaTriangulo’. ‘b’ y ‘h’ y h = ingNro(). { ? 6 3 float a.6 Ingrese altura: 5. float alt) { // base←b y alt ←h float area. h). h = ingNro(). b. b = ingNro().3  // PROGRAMA PRINCIPAL a void main() { ? float a.Ejemplo Explicación #include<iostream> using namespace std. // DECLARACION Y DEFINICION // DE FUNCIONES  float areaTriangulo (float base. cout<<"Ingrese base: ". }   Ingrese base: 3. float area. area=(base*alt)/2. float alt) { // base←b y base alt ←halt 5. 3. 6 3 return area. return nro. cout<<“Area triangulo = "<<a<<endl. 3 . 6 h 5. }  float ingNro() { float nro. h.6 Ingrese altura: 5. cout<<"Ingrese altura: ". a = areaTriangulo(b. cin>>nro. Zegarra Henry b 3. } Ing. b.3  // PROGRAMA PRINCIPAL a void main() { ? float a. area }  ? float ingNro() { float nro.Ejemplo Explicación #include<iostream> using namespace std. } Ing. }   Ingrese base: 3. 3 . float area. float alt) { // base←b y base alt ←halt 5. 6 h 5. // DECLARACION Y DEFINICION // DE FUNCIONES  float areaTriangulo (float base. area=(base*alt)/2. cout<<"Ingrese altura: ".6 Ingrese altura: 5. return nro. a = areaTriangulo(b. 6 3 return area. cout<<"Ingrese base: ". 3. b = ingNro(). h. cin>>nro.h). h = ingNro(). Zegarra Henry b 3. cout<<“Area triangulo = "<<a<<endl. h). cout<<“Area triangulo = "<<a<<endl. 3. 6 h 5. a = areaTriangulo(b. h. cin>>nro. Zegarra Henry b 3. area 9. } Ing.Ejemplo Explicación #include<iostream> using namespace std. return nro. float alt) { // base←b y base alt ←halt 5.3  // PROGRAMA PRINCIPAL a void main() { ? float a. area=(base*alt)/2. 6 3 return area. cout<<"Ingrese base: ". 3 . h = ingNro(). float area. cout<<"Ingrese altura: ".6 Ingrese altura: 5. // DECLARACION Y DEFINICION // DE FUNCIONES  float areaTriangulo (float base. b. }  6 float ingNro() { float nro. }   Ingrese base: 3. b = ingNro(). a = areaTriangulo(b. b. // DECLARACION Y DEFINICION // DE FUNCIONES  float areaTriangulo (float base. }  6 float ingNro() { La función float nro. } Ing. b = ingNro().3  // PROGRAMA PRINCIPAL a void main() { ? float a. Zegarra Henry b 3. float area.Ejemplo Explicación #include<iostream> using namespace std.6 Ingrese altura: 5. }   Ingrese base: 3.h). area 9. 3. h = ingNro(). retorna ‘area’ a ‘a’ return nro. float alt) { // base←b y base alt ←halt 5. 6 h 5. 3 . 6 3 return area. ‘areaTriangulo’ cin>>nro. h. cout<<"Ingrese altura: ". area=(base*alt)/2. cout<<“Area triangulo = "<<a<<endl. cout<<"Ingrese base: ". // DECLARACION Y DEFINICION // DE FUNCIONES  float areaTriangulo (float base. cout<<"Ingrese altura: ".6 5. area=(base*alt)/2. float area. area 9.3 . 6 3 return area. { 6 float a.h). }  6 float ingNro() { float nro.Ejemplo Explicación #include<iostream> using namespace std. a = areaTriangulo(b. cout<<“Area triangulo = "<<a<<endl. b = ingNro(). } Ing. b. h = ingNro(). h. return nro. Zegarra Henry b h 3. float alt) { // base←b y base alt ←halt 5. }   Ingrese base: 3.6 Ingrese altura: 5. 3. cin>>nro.3  // PROGRAMA PRINCIPAL a void main() 9. cout<<"Ingrese base: ". b = ingNro().Ejemplo Explicación #include<iostream> using namespace std. // DECLARACION Y DEFINICION // DE FUNCIONES  float areaTriangulo (float base. cout<<"Ingrese base: ".6 Ingrese altura: 5. } Ing. a = areaTriangulo(b. Zegarra Henry b h 3. h.h). area=(base*alt)/2. { 6 float a. }   Ingrese base: 3. h = ingNro(). 6 3 return area. b. 3. cout<<“Area triangulo = "<<a<<endl. }  6 float ingNro() { float nro. return nro. cin>>nro.6  // PROGRAMA PRINCIPAL a void main() 9.3 .3 Area triangulo = 9. cout<<"Ingrese altura: ". float area. float alt) { // base←b y base alt ←halt 5. area 9.6 5. 6  // PROGRAMA PRINCIPAL a void main() 9. float area.Ejemplo Explicación #include<iostream> using namespace std. return nro. cout<<"Ingrese altura: ". h = ingNro(). cout<<“Area triangulo = "<<a<<endl. Zegarra Henry b h 3. b. float alt) { // base←b y base alt ←halt 5. b = ingNro().3 .h). cout<<"Ingrese base: ".3 Area triangulo = 9. { 6 float a. }  6 float ingNro() { float nro. // DECLARACION Y DEFINICION // DE FUNCIONES  float areaTriangulo (float base.6 5. }   Ingrese base: 3.6 Ingrese altura: 5. 6 3 return area. area 9. 3. } Ing. h. area=(base*alt)/2. a = areaTriangulo(b. cin>>nro. Ejemplo 1 – Diagrama de flujo Ing. Zegarra Henry . Ejemplo 1 Con procedimientos y funciones . Zegarra Henry . system(“pause”).Ejemplo #include<iostream> using namespace std. // DECLARACION Y DEFINICION // DE FUNCIONES  void areaTriangulo (float base. }  int ingNro() { float nro. cin>>nro. float alt) { // base←b y alt ←h float area. return nro. cout<<"Ingrese altura: ". cout<<“Area triangulo = "<<area<<endl. h = ingNro(). Ing. } ‘areaTriangulo’ es el procedimiento prototipo para hallar el área de un triangulo. b = ingNro(). areaTriangulo(b.h). Dicho procedimiento no necesita de una variable para llamarla. h. ella es invocada escribiendo solo el nombre del procedimiento y los argumentos que necesita para resolver. cout<<"Ingrese base: ". }    // PROGRAMA PRINCIPAL void main() { float b. area=(base*alt)/2. b = ingNro(). system(“pause”). cin>>nro. b. } El procedimiento prototipo ‘areaTriangulo’ recibe dos argumentos desde el programa principal. // DECLARACION Y DEFINICION // DE FUNCIONES  void areaTriangulo (float base.Ejemplo #include<iostream> using namespace std. Ing. float alt) { // base←b y alt ←h float area. }    // PROGRAMA PRINCIPAL void main() { float a. h. }  int ingNro() { float nro. Zegarra Henry .h). return nro. h = ingNro(). area=(base*alt)/2. cout<<“Area triangulo = "<<area<<endl. cout<<"Ingrese altura: ". areaTriangulo(b. cout<<"Ingrese base: ". estos son: base←b y alt←h Resuelve e imprime el resultado dentro del procedimiento. Otros ejemplos Con funciones . Uso de funciones – Ejemplo 2 Ejemplo 02: Escriba el algoritmo y programa para hallar la potencia de un numero ingresado. . int e. prototipo pot = potenciaN(b. ‘pot’ espera un valor de retorno desde la función prototipo . La variable ‘pot’ llama a la } función ‘potenciaN’ y le // Aquí definimos nuestra función envía ‘b’ y ‘e’ como prototipo argumentos para resolver. ‘potenciaN’ es la función prototipo que remplazaría a cout<<b<<"^"<<e<<" = la función ‘ pow’. cout<<"Ingrese exponente: ".Uso de funciones – Ejemplo 2 Ejemplo 02: Escriba el algoritmo y void main( ) programa para hallar la potencia de un { numero ingresado.e). float pot. // Aquí declaramos nuestra función cin>>e. cin>>b. "<<pot<<endl. b. using namespace std. #include<iostream> cout<<"Ingrese base: ". int e.e). cout<<b<<"^"<<e<<" = "<<pot<<endl. cin>>b. float pot. int exp). pot = potenciaN(b. #include<iostream> cout<<"Ingrese base: ". // Aquí declaramos nuestra función cin>>e.Uso de funciones – Ejemplo 2 Ejemplo 02: Escriba el algoritmo y void main( ) programa para hallar la potencia de un { numero ingresado. . cout<<"Ingrese exponente: ". }La función prototipo ‘potenciaN’ recibe dos argumentos desde el programa principal. prototipo float potenciaN(float base. using namespace std. b. estas son: base←b y exp←e. int exp).Uso de funciones – Ejemplo 2 Ejemplo 02: Escriba el algoritmo y void main( ) programa para hallar la potencia de un { float pot.0. cin>>e. int e.i++) { soluc = soluc*base. } // Aquí declaramos nuestra función prototipo float potenciaN(float base. Aquí se implementa o define la función ‘potenciaN’ y al finalizar retorna ‘soluc’ a la variable que la llamó. cout<<"Ingrese exponente: ". #include<iostream> using namespace std. numero ingresado. b. } . // Aquí declaramos nuestra función prototipo float potenciaN(float base.e). } return (soluc). cin>>b. int exp) { int i.i<=exp. cout<<"Ingrese base: ". for(i=1. cout<<b<<"^"<<e<<" = "<<pot<<endl. pot = potenciaN(b. float soluc=1. Uso de funciones – Ejemplo 2 Ejemplo 02: Escriba el algoritmo para hallar potencia use procedimientos . Uso de funciones – Ejemplo 3 Ejemplo 03: Escriba el algoritmo para hallar el valor absoluto de un numero ingresado. . Uso de funciones – Ejemplo 3 Ejemplo 03: Escriba un programa para hallar el valor absoluto de un numero ingresado. } . cout<<"Ingrese numero: ". // Aquí declaramos y definimos nuestra ‘absoluto’ es la función // función prototipo prototipo que remplazaría a la función ‘abs’. n. cin>>n. #include<iostream> using namespace std. abso = absoluto(n). cout<<“|"<<e<<“ | = "<<abso<<endl. La variable ‘abso’ llama a la función ‘potenciaN’ y le envía ‘n’ como argumento para resolver. ‘abso’ espera un valor de retorno desde la función prototipo void main( ) { float abso. #include<iostream> using namespace std. else return (-1*nro) } void main( ) { float abso. n. Resuelve y retorna ‘nro’ o ‘1*nro’ según sea el caso a la variable que la llamo. // Aquí declaramos y definimos nuestra // función prototipo float absoluto(float nro) { If (nro>0) return nro. cout<<"Ingrese numero: ". cin>>n. } La función prototipo ‘absoluto’ recibe un argumentos desde el programa principal. Es decir abso←nro o abso←(-1*nro) . este es: nro←n. cout<<“|"<<e<<“ | = "<<abso<<endl.Uso de funciones – Ejemplo 3 Ejemplo 03: Escriba un programa para hallar el valor absoluto de un numero ingresado. abso = absoluto(n). Otros ejemplos Matrices con procedimientos . Ejemplo 01 Realice un programa para ingresar dos matrices. Cree el procedimiento crear matriz, para m1 y m2. #include<iostream> using namespace std; #define FIL 5 // donde exista la variable FIL se //remplaza por 5. #define COL 5 // donde exista la variable COL se //remplaza por 5. // PROCEDIMIENTOS  // Declarar y definir sus procedimientos aquí // PROGRAMA PRINCIPAL void main() { int m1[FIL][COL], m2[FIL][COL],nf,nc; cout<<"Ingrese nueva fila: "; cin>>nf; cout<<"Ingrese nueva columna: "; cin>>nc; cout<<“Ingresando datos matriz 1\n”; // Aquí va Procedimiento crearMatriz 1 cout<<“Ingresando datos matriz 2\n”; // Aquí va Procedimiento crearMatriz 2 } Ejemplo 02 #include<iostream> using namespace std; #define FIL 5 #define COL 5 // PROCEDIMIENTOS  // Declarar y definir sus procedimientos aquí // PROGRAMA PRINCIPAL void main() { int m1[FIL][COL], m2[FIL][COL],nf,nc; cout<<"Ingrese nueva fila: "; cin>>nf; cout<<"Ingrese nueva columna: "; cin>>nc; cout<<“Ingresando datos matriz 1\n”; // Aquí va Procedimiento crearMatriz 1 cout<<“Ingresando datos matriz 2\n”; // Aquí va Procedimiento crearMatriz m1[5][5] m2[5][5] nf nc 2 } ? ? Ejemplo 02 #include<iostream> using namespace std; #define FIL 5 #define COL 5 // PROCEDIMIENTOS  // Declarar y definir sus procedimientos aquí Ingrese nueva fila: 2 // PROGRAMA PRINCIPAL void main() { int m1[FIL][COL], m2[FIL][COL],nf,nc; cout<<"Ingrese nueva fila: "; cin>>nf; cout<<"Ingrese nueva columna: "; cin>>nc; cout<<“Ingresando datos matriz 1\n”; // Aquí va Procedimiento crearMatriz 1 cout<<“Ingresando datos matriz 2\n”; // Aquí va Procedimiento crearMatriz m1[5][5] m2[5][5] nf nc 2 } 2 ? nf. cin>>nf.nc.Ejemplo 02 #include<iostream> using namespace std. cout<<"Ingrese nueva fila: ". cout<<"Ingrese nueva columna: ". #define FIL 5 #define COL 5 // PROCEDIMIENTOS  // Declarar y definir sus procedimientos aquí Ingrese nueva fila: 2 Ingrese nueva columna: 3 // PROGRAMA PRINCIPAL void main() { int m1[FIL][COL]. // Aquí va Procedimiento crearMatriz m1[5][5] m2[5][5] nf nc 2 } 2 3 . m2[FIL][COL]. // Aquí va Procedimiento crearMatriz 1 cout<<“Ingresando datos matriz 2\n”. cin>>nc. cout<<“Ingresando datos matriz 1\n”. nc. cout<<"Ingrese nueva fila: ". cin>>nf. #define FIL 5 #define COL 5 // PROCEDIMIENTOS  // Declarar y definir sus procedimientos aquí Ingrese nueva fila: 2 Ingrese nueva columna: 3 Ingrese datos matriz 1 // PROGRAMA PRINCIPAL void main() { int m1[FIL][COL]. cout<<“Ingresando datos matriz 1\n”.Ejemplo 02 #include<iostream> using namespace std. m2[FIL][COL].nf. // Aquí llamamos Procedimiento crearMatriz 1 cout<<“Ingresando matriz 2\n”. cout<<"Ingrese nueva columna: ". cin>>nc. m1[5][5] m2[5][5] datosnf nc // Aquí va Procedimiento crearMatriz 2 } 2 3 . #define FIL 5 #define COL 5 // PROCEDIMIENTOS  // Declarar y definir sus procedimientos aquí El procedimiento ‘crearMatriz’ necesita de 3 argumentos. m1[5][5] m2[5][5] datosnf nc // Aquí va Procedimiento crearMatriz 2 } 2 3 .Ejemplo 02 #include<iostream> using namespace std. El número de columnas (nc) Ingrese nueva fila: 2 Ingrese nueva columna: 3 Ingrese datos matriz 1 // PROGRAMA PRINCIPAL void main() { int m1[FIL][COL]. m2[FIL][COL].nf. cout<<“Ingresando datos matriz 1\n”. El numero de filas (nf) 3.nc. cout<<"Ingrese nueva columna: ". cout<<"Ingrese nueva fila: ". cin>>nf. // Aquí llamamos Procedimiento crearMatriz 1 cout<<“Ingresando matriz 2\n”. cin>>nc. (m1) 2. La matriz a crear. 1. m2[FIL][COL]. (m1) 2.nf.Ejemplo 02 #include<iostream> using namespace std. cout<<“Ingresando datos matriz 1\n”. El numero de filas (nf) 3. cout<<“Ingresando datos matriz 2\n”. cout<<"Ingrese nueva columna: ". 1. El número de columnas (nc) Ingrese nueva fila: 2 Ingrese nueva columna: 3 Ingrese datos matriz 1 // PROGRAMA PRINCIPAL void main() { int m1[FIL][COL]. #define FIL 5 #define COL 5 // PROCEDIMIENTOS  // Declarar y definir sus procedimientos aquí El procedimiento ‘crearMatriz’ necesita de 3 argumentos.nc. cin>>nf. // Aquí va Procedimiento crearMatriz m1[5][5] m2[5][5] nf nc 2 } 2 3 . cout<<"Ingrese nueva fila: ". La matriz a crear.nc). cin>>nc.nf. crearMatriz(m1. int f. while(j<c) { cout<<“Pos”<<i<<“][”<<j<<“] = ”. 3 2 i=0. int c) f c { // Iniclamente matriz será m1 int i. cin>>nc. m2[FIL][COL]. cin>>matriz[i][j]. } } } // PROGRAMA PRINCIPAL void main() { int m1[FIL][COL]. cout<<“Ingresando datos matriz 1\n”. 1 4 cout<<"Ingrese nueva fila: ". while(i<f) { j=0. cout<<“Ingresando datos matriz 2\n”. cin>>nf. // Aquí va Procedimiento crearMatriz m1[5][5] m2[5][5] nf nc 2 } 2 3 5 6 2 3 .nf. cout<<"Ingrese nueva columna: ".nf.nc. #define FIL 5 #define COL 5 // PROCEDIMIENTOS void crearMatriz(int matriz[FIL][COL]. crearMatriz(m1.nc).j.Ingrese nueva fila: 2 Ingrese nueva columna: 3 Ingrese datos matriz 1 Pos[0][0] = 1 Pos[0][1] = 2 Pos[0][2] = 3 Pos[1][0] = 4 Pos[1][1] = 5 Pos[1][2] = 6 Ejemplo 02 #include<iostream> using namespace std. Ingrese nueva fila: 2 Ingrese nueva columna: 3 Ingrese datos matriz 1 Pos[0][0] = 1 Pos[0][1] = 2 Pos[0][2] = 3 Pos[1][0] = 4 Pos[1][1] = 5 Pos[1][2] = 6 Ejemplo 02 #include<iostream> using namespace std. cin>>nf. while(i<f) { j=0. cin>>matriz[i][j]. cout<<“Ingresando datos matriz 2\n”. cin>>nc. int c) f c { // Iniclamente matriz será m1 int i. cout<<"Ingrese nueva columna: ". while(j<c) { cout<<“Pos”<<i<<“][”<<j<<“] = ”.nc). 1 4 cout<<"Ingrese nueva fila: ". cout<<“Ingresando datos matriz 1\n”. // PROGRAMA PRINCIPAL void main() { int m1[FIL][COL]. 3 2 i=0. crearMatriz(m1.j. // Aquí va Procedimiento crearMatriz m1[5][5] m2[5][5] nf nc 2 } 2 3 5 6 2 3 .nf. int f. } Ver apuntes de matrices } para ver como se ingresan } datos.nf.nc. m2[FIL][COL]. #define FIL 5 #define COL 5 // PROCEDIMIENTOS void crearMatriz(int matriz[FIL][COL]. while(i<f) { j=0. cout<<"Ingrese nueva columna: ". cout<<“Ingresando datos matriz 1\n”. } } } // PROGRAMA PRINCIPAL void main() { int m1[FIL][COL]. crearMatriz(m1. cout<<“Ingresando datos matriz 2\n”. cin>>nc. #define FIL 5 #define COL 5 // PROCEDIMIENTOS void crearMatriz(int matriz[FIL][COL].nf. cin>>nf. 3 2 i=0.j.nc).nc. m2[FIL][COL].nf. 1 4 cout<<"Ingrese nueva fila: ". // Aquí va Procedimiento crearMatriz m1[5][5] m2[5][5] nf nc 2 } 2 3 5 6 2 3 . cin>>matriz[i][j]. int c) f c { // Iniclamente matriz será m1 int i. int f. while(j<c) { cout<<“Pos”<<i<<“][”<<j<<“] = ”.Ingrese nueva columna: 3 Ingrese datos matriz 1 Pos[0][0] = 1 Pos[0][1] = 2 Pos[0][2] = 3 Pos[1][0] = 4 Pos[1][1] = 5 Pos[1][2] = 6 Ingrese datos matriz 2 Ejemplo 02 #include<iostream> using namespace std. } 1. cout<<“Ingresando datos matriz 1\n”. (m1) } 2. while(j<c) { cout<<“Pos”<<i<<“][”<<j<<“] = ”.j. cout<<"Ingrese nueva columna: ".nc. cin>>nf. 1 4 cout<<"Ingrese nueva fila: ". La matriz a crear. El procedimiento cin>>matriz[i][j]. cin>>nc. #define FIL 5 #define COL 5 // PROCEDIMIENTOS void crearMatriz(int matriz[FIL][COL]. // Aquí va Procedimiento crearMatriz m1[5][5] m2[5][5] nf nc 2 } 2 3 5 6 2 3 .nf. cout<<“Ingresando datos matriz 2\n”. 3 2 i=0. crearMatriz(m1.nf.nc). El número de columnas (nc) // PROGRAMA PRINCIPAL void main() { int m1[FIL][COL]. while(i<f) { j=0. El numero de filas (nf) 3. m2[FIL][COL]. int f. int c) f c { // Iniclamente matriz será m1 int i. ‘crearMatriz’ necesita de 3 } argumentos.Ingrese nueva columna: 3 Ingrese datos matriz 1 Pos[0][0] = 1 Pos[0][1] = 2 Pos[0][2] = 3 Pos[1][0] = 4 Pos[1][1] = 5 Pos[1][2] = 6 Ingrese datos matriz 2 Ejemplo 02 #include<iostream> using namespace std. Ingrese nueva columna: 3 Ingrese datos matriz 1 Pos[0][0] = 1 Pos[0][1] = 2 Pos[0][2] = 3 Pos[1][0] = 4 Pos[1][1] = 5 Pos[1][2] = 6 Ingrese datos matriz 2 Ejemplo 02 #include<iostream> using namespace std. 3 2 i=0.nf. while(j<c) { cout<<“Pos”<<i<<“][”<<j<<“] = ”. cout<<“Ingresando datos matriz 1\n”. m1[5][5] m2[5][5] nf nc } 2 3 5 6 2 3 . int c) f c { // Iniclamente matriz será m1 int i. cout<<"Ingrese nueva columna: ". while(i<f) { j=0. } } } // PROGRAMA PRINCIPAL void main() { int m1[FIL][COL]. crearMatriz(m1. cin>>nc.nf.nf.nc). #define FIL 5 #define COL 5 // PROCEDIMIENTOS void crearMatriz(int matriz[FIL][COL]. cin>>nf. 1 4 cout<<"Ingrese nueva fila: ".j. m2[FIL][COL]. crearMatriz(m2.nc).nc. cin>>matriz[i][j]. int f. cout<<“Ingresando datos matriz 2\n”. Ingrese nueva columna: 3 Ingrese datos matriz 1 Pos[0][0] = 1 Pos[0][1] = 2 Pos[0][2] = 3 Pos[1][0] = 4 Pos[1][1] = 5 Pos[1][2] = 6 Ingrese datos matriz 2 Ejemplo 02 #include<iostream> using namespace std.nc). // PROGRAMA PRINCIPAL void main() { int m1[FIL][COL]. #define FIL 5 #define COL 5 // PROCEDIMIENTOS void crearMatriz(int matriz[FIL][COL].nf. cin>>nc. int c) f c { // Iniclamente matriz será m1 int i.nc.nf. while(j<c) { cout<<“Pos”<<i<<“][”<<j<<“] = ”. crearMatriz(m1.j.nc). m1[5][5] m2[5][5] nf nc } 2 3 5 6 2 3 . while(i<f) { j=0.nf. int f. crearMatriz(m2. cout<<“Ingresando datos matriz 1\n”. cin>>nf. 3 2 i=0. cout<<“Ingresando datos matriz 2\n”. cout<<"Ingrese nueva columna: ". m2[FIL][COL]. 1 4 cout<<"Ingrese nueva fila: ". cin>>matriz[i][j]. } Ver apuntes de matrices } para ver como se ingresan } datos. nc). m2[FIL][COL]. cout<<"Ingrese nueva columna: ". m1[5][5] m2[5][5] nf nc } 2 3 2 3 4 5 6 5 6 7 2 3 . 3 2 i=0. while(j<c) { cout<<“Pos”<<i<<“][”<<j<<“] = ”. cin>>nf.j.nc).nf. cin>>nc.nf.nc. cin>>matriz[i][j]. cout<<“Ingresando datos matriz 1\n”.Pos[1][1] = 5 Pos[1][2] = 6 Ingrese datos matriz 2 Pos[0][0] = 2 Pos[0][1] = 3 Pos[0][2] = 4 Pos[1][0] = 5 Pos[1][1] = 6 Pos[1][2] = 7 Ejemplo 02 #include<iostream> using namespace std. while(i<f) { j=0. crearMatriz(m1.nf. int c) f c { // Iniclamente matriz será m1 int i. crearMatriz(m2. 1 4 cout<<"Ingrese nueva fila: ". #define FIL 5 #define COL 5 // PROCEDIMIENTOS void crearMatriz(int matriz[FIL][COL]. // PROGRAMA PRINCIPAL void main() { int m1[FIL][COL]. int f. cout<<“Ingresando datos matriz 2\n”. } Ver apuntes de matrices } para ver como se ingresan } datos. Zegarra Henry .Ejemplo – Diagrama de flujo Ing.
Copyright © 2024 DOKUMEN.SITE Inc.