Acciones y funciones
This presentation is the property of its rightful owner.
Sponsored Links
1 / 15

Acciones y funciones Concepto Una acción o una función es un conjunto de instrucciones PowerPoint PPT Presentation


  • 78 Views
  • Uploaded on
  • Presentation posted in: General

Acciones y funciones Concepto Una acción o una función es un conjunto de instrucciones agrupadas a las que se da un nombre que permite referirse a ellas globalmente. La utilización de acciones y funciones hace que los programas sean mucho más cortos y sencillos.

Download Presentation

Acciones y funciones Concepto Una acción o una función es un conjunto de instrucciones

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Acciones y funciones concepto una acci n o una funci n es un conjunto de instrucciones

Acciones y funciones

Concepto

Una acción o una función es un conjunto de instrucciones

agrupadas a las que se da un nombre que permite referirse

a ellas globalmente.

La utilización de acciones y funciones hace que los programas

sean mucho más cortos y sencillos.

Suele ser útil construir acciones y funciones para representar

fragmentos de un programa que se usan más de una vez dentro

del mismo programa o que se repiten en distintos programas.


Funciones declaraciones y definiciones

Funciones: declaraciones y definiciones

Una función es un conjunto de instrucciones al que se asig-na un nombre. Este grupo de instrucciones se ejecuta cada vez que se invoca su nombre.

La declaración de una función especifica:

  • su nombre

  • el número de parámetros

  • el tipo de dato de cada parámetro

  • el tipo del valor que devuelve

    Ejemplo: double distancia (double x, double y);


Acciones y funciones concepto una acci n o una funci n es un conjunto de instrucciones

La información contenida en la declaración de una función se denomina prototipo. Es la interfaz que la función pre-senta al resto de las funciones. Si otras funciones desean utilizarla, basta con que conozcan su prototipo y adapten las llamadas al mismo, es decir, pasen el número de argu-mentos especificado con los tipos adecuados.

Las variables que se usan en la declaración o en la definición de una función se denominan parámetros. El término argumentos se reserva para los valores que se dan a los parámetros en las llamadas a una función.

La definición de una función consiste en la declaración junto con el cuerpo de la función, es decir, las instruc-ciones que contiene.


Acciones y funciones concepto una acci n o una funci n es un conjunto de instrucciones

Ejemplo:

double distancia (double x, double y) {

double dist = (x - y);

if ( dist < 0 )

dist = -dist;

return dist;

}

La instrucción return devuelve a la función que invocó a "distancia" el control del programa junto con el valor de la distancia entre x e y.


Paso de argumentos por valor o referencia

Paso de argumentos por: valor o referencia

Para que una función con parámetros pueda ejecutarse, debe recibir valores para sus parámetros. El número y tipo de los valores deben concordar con el número y tipo de los parámetros.

Recordemos que los valores que aparecen en la llamada de una función se denominan argumentos. Los parámetros son los identificadores utilizados en la definición de la función. Estos identificadores sólo están disponibles mientras se ejecuta la función.

En el siguiente ejemplo main llama a la función distancia con la siguiente lista de argumentos (p1, p2). El parámetro x recibe el argumento p1 y el parámetro y el argumento p2.


Acciones y funciones concepto una acci n o una funci n es un conjunto de instrucciones

#include <iostream>

using namespace std;

double distancia (double x, double y);

int main (void) {

double p1 = 2.3, p2 = -33.3, d = distancia(p1, p2);

cout << d << endl;

system("pause"); }

double distancia (double x, double y) {

double dist = (x-y);

if ( dist < 0 ) dist = -dist;

return dist; }


Acciones y funciones concepto una acci n o una funci n es un conjunto de instrucciones

Al llamar a una función, main le entrega el control. La si-guiente instrucción que se ejecuta es la primera instruc-ción de la función. La función devuelve el control a main mediante su instrucción return.

double distancia (double x, double y) {

double dist = (x-y);

if ( dist < 0 ) dist = -dist;

return dist; }

La función que llama puede ignorar el valor devuelto por la función llamada. En este caso, main lo guarda en la varia-ble d y lo escribe en la pantalla.

d = distancia(p1, p2);


Acciones y funciones concepto una acci n o una funci n es un conjunto de instrucciones

Existen dos formas depasar argumentos a una función:

Por valor: las instrucciones de la función no operan con el argumento que se les pasa, sino con una copia local del mismo que se elimina una vez ejecutada la función. El argumento no queda alterado como resultado de la ejecu-ción de la función.

Por referencia: las instrucciones de la función operan directamente con el argumento que se les pasa.

Lo habitual es que las funciones hagan copias locales de sus argumentos, i.e., el paso de argumentos por valor. Para conseguir que una función opere sobre una variable y no sobre una copia de la misma, hay que pasarle su dirección. Los cambios que se hagan sobre los datos a través de su dirección persistirán después de la ejecución de la función.


Acciones y funciones concepto una acci n o una funci n es un conjunto de instrucciones

#include <iostream>

using namespace std;

void intercambio (double& a, double& b);

int main (void) {

double x=2.3, y=-33.3;

cout << "x = " << x << " y = " << y << endl;

intercambio(x, y);

cout << "x = " << x << " y = " << y << endl;

system("pause"); }

void intercambio (double& a, double& b) {

double temp;

temp = a; a = b; b = temp; }


Acciones y funciones concepto una acci n o una funci n es un conjunto de instrucciones

Los parámetros de la acción intercambio son referencias a variables de tipo double. Cuando se realiza el paso de ar-gumentos por referencia se copia la dirección de los argu-mentos en los parámetros de modo que las variables x y aapunten a la misma dirección de memoria, y las variables b e yapunten a la misma dirección de memoria. Esto es, los parámetros de la acción (las variables a y b) son refe-rencias a las variables utilizadas como argumentos en la llamada (las variables x e y).

Los parámetros que se pasan por referencia se marcan con el símbolo & detrás del tipo en la primera línea de la defini-ción de una acción y en su prototipo, pero no en el cuerpo de la acción ni en las llamadas a ésta.


Acciones y funciones

Acciones y Funciones

Las funciones se caracterizan porque sólo aceptan argumen-tos que se pasan por valor y siempre devuelvenun valor.

  • Toda definición de una función contiene al menos una ins-trucción del tipo return expresion.

  • Las funciones generan expresiones (es decir, datos).

    Las acciones se caracterizan porque no devuelven ningún valor, y aceptan argumentos que se pasan por valor o por referencia.

  • Las acciones modifican el estado del programa o produ-cen efectos.


Acciones y funciones concepto una acci n o una funci n es un conjunto de instrucciones

Recursividad

Una definición es recursiva si el concepto definido forma parte de la definición.

Por ejemplo, la potencia de un número se puede definir de forma recursiva. Sea b un número entero y e un número entero mayor o igual que 2. Se define b elevado a e como:

  • b multiplicado por b elevado a e-1, si e > 2;

  • b multiplicado por b, si e = 2.


Acciones y funciones concepto una acci n o una funci n es un conjunto de instrucciones

#include <iostream>

using namespace std;

int pot(int base, int exponente);

int main (void) {

int b=2, e=3;

cout << pot(b,e) << endl;

system("pause"); }

int pot (int base, int exponente) {

if (exponente == 2)

return (base*base);

else

return (base * pot(base, exponente-1)); }


Acciones y funciones concepto una acci n o una funci n es un conjunto de instrucciones

Vamos a analizar la siguiente llamada "pot(2,3)". La función definida ejecuta la instrucción

return (2 * pot(2,2));

El control no se devuelve a main debido a la nueva llamada a “pot” en el argumento de return. Esta segunda llamada ejecuta la instrucción

return (2*2);

Esta instrucción sí devuelve el control, pero no a main, sino a pot(2,3). Esta última función, a su vez, devuelve el control a main en la instrucción

return (2*4);


Acciones y funciones concepto una acci n o una funci n es un conjunto de instrucciones

#include <iostream>

using namespace std;

int pot(int base, int exponente);

int main (void) {

int x=2, e=3; cout << pot(x,e) << endl; system("pause");}

int pot (int base, int exponente) {

int res, i;

if (exponente == 2) res = base*base;

else { res = base;

for (i=1; i < exponente; i++) res *= base;

}

return res; }


  • Login