PDF de programación - Tema 4 - Subprogramación

Imágen de pdf Tema 4 - Subprogramación

Tema 4 - Subprogramacióngráfica de visualizaciones

Publicado el 12 de Diciembre del 2018
519 visualizaciones desde el 12 de Diciembre del 2018
674,9 KB
58 paginas
Creado hace 7a (10/10/2016)
Objetivos

• Comprender el concepto de subprograma para escribir

programas y facilitar así las tareas de diseño descendente,

depuración...

• Saber diseñar, codificar e invocar una función para que haga

una determinada tarea.

• Entender y saber realizar el seguimiento de subprogramas

recursivos.

Tema: Subprogramación

2

Índice

• Funciones

• Declaración de funciones. Prototipo

• Definición de funciones

• Llamada a la función

• Parámetros

• Recursividad

Tema: Subprogramación

3

Funciones

• Definición y finalidad:

– Una función es un conjunto de sentencias a las que se

les asocia un nombre (identificador) y que pueden generan

un valor nuevo, calculado a partir de los datos que puede

recibir (argumentos).

– Una función en C es un segmento independiente de

código, diseñado para realizar una tarea específica.

– Las funciones facilitan el desarrollo y mantenimiento

de los programas, evitan errores y ahorran memoria y

trabajo innecesario.

– Mediante el uso de funciones se consigue un código más

limpio y claro.

Tema: Subprogramación

4

Utilidades de los Subprogramas

• Descomponer el programa en partes:

– Facilita el diseño descendente y la modularidad

– Mejora la depuración y mantenimiento

– Las partes son reutilizables

• Programa más legible

• Reducir el tamaño del programa

Tema: Subprogramación

5

Funciones

Prototipo (declaración)

de la función

Llamada

a la función

Definición

de la función

#include <stdio.h>
int cuadrado (int y);

void main ()
{

int x;

for (x=1; x<=10; x++)

printf (“%d ”, cuadrado (x) );

}

int cuadrado (int y)
{

return y * y;

}

Tema: Subprogramación

6

Funciones

• Elementos de la función:

– Identificador: es el nombre que sirve para invocar o

llamar a la función.

– Parámetros es el conjunto de datos que se le pueden

facilitar a la función para que realice su tarea.

– Cuerpo o conjunto de sentencias. Las que realizan la tarea

para la que ha sido definida la función.

– Valor de retorno. Sólo para las funciones que generan

algún valor.

Tema: Subprogramación

7

Ejemplo

#include <stdio.h>
int cuadrado (int y);

void main ()
{

int

x;

printf (" Introduce un valor entero: ");
scanf("%d", &x);
printf ("\nEl cuadrado de %d es %d", x, cuadrado(x));

}

int cuadrado (int y)
{

return y * y;

}

Obsérvese que la variable x sigue teniendo su valor inicial 3

Tema: Subprogramación

8

Ejemplo

#include <stdio.h>
int cuadrado (int y);
int positivo (int y);
void main ()
{

x;

int
printf (" Introduce un valor entero: ");
scanf("%d", &x);
if (positivo(x))

printf ("%d ", cuadrado(x));

else printf ("Numero no valido");

}
int cuadrado (int y)
{

y = y * y;
y;
return

}

int positivo (int y)
{

return y > 0;

}

Tema: Subprogramación

9

Funciones en C

• La primera función que aparece en todo programa C es la

función principal, o main. La función main es la única

función que no puede ser utilizada por ninguna otra.

• En un programa se pueden encontrar además de la función

main, funciones creadas por el programador para esa

aplicación, o funciones ya creadas e implementadas y

compiladas en librerías pertenecientes al estándar de ANSI C

o de creación propia.

• Todas las variables que se definen en una función son

variables locales, es decir, se conocen sólo en la función en

la que se definen.

Tema: Subprogramación

10

Índice

• Funciones

• Declaración de funciones. Prototipo

• Definición de funciones

• Llamada a la función

• Parámetros

• Recursividad

Tema: Subprogramación

11

Declaración de funciones: Prototipo

• La declaración se realiza a través de su prototipo. Sintaxis de

la declaración (prototipo):

tipo-función nombre-función ([tipo1 [var1]],… ,[tipoN [varN]]);

tipo-función: declara de qué tipo es el valor que devolverá la
función (puede ser cualquier tipo, si no devuelve ningún valor
entonces es de tipo void).

nombre _ función: cualquier identificador que indique lo que hace

la función.

tipo1,… tipoN: declara de qué tipo es cada uno de los valores que
la función recibirá como parámetros al ser
invocada. En la
declaración del prototipo es opcional escribir el nombre de las
variables.

Ejm:

int cuadrado (int y);

/* prototipo (declaración) de la función */

int cuadrado (int);

Tema: Subprogramación

12

Declaración de funciones: Prototipo

El prototipo de una función presenta el modo en que esa función

debe ser empleada. Qué valores, de qué tipo y en qué orden

debe recibir la función los argumentos al ser invocada.

• Todas las declaraciones de función deben preceder a la

definición del cuerpo de la función main.

• Los paréntesis

son obligatorios,

aunque

no

tenga

parámetros.

• La única función que no requiere prototipo es main(),

puesto que es la primera función que se ejecuta cuando

comienza el programa.

• No se puede declarar, ni definir, una función dentro de otra

función.

Tema: Subprogramación

13

Funciones. Ejemplos

Realizar la declaración de una función esLetra, en lenguaje
C, que reciba un carácter y devuelva un valor entero lógico
indicando si el carácter es una letra o no lo es. Es decir
devolverá 1 ó 0

Declaración:

int esLetra (char car);

Realizar la declaración de una función esLetra, en lenguaje
C, que reciba un carácter y escriba un mensaje en pantalla
indicando si el carácter es una letra o si el carácter no es una
letra.

Declaración:

void esLetra (char car);

Tema: Subprogramación

14

Índice

• Funciones

• Declaración de funciones. Prototipo

• Definición de funciones

• Llamada a la función

• Parámetros

• Recursividad

Tema: Subprogramación

15

Definición de funciones

Cabecera de la función

func_ejemplo ( char car, int n, int m, float x )

int
i, sum;
char c, letra;


return sum;

Cuerpo de la función

int
{

}

Tema: Subprogramación

16

Definición de funciones

Tipo de resultado

Nombre de la función

Lista de parámetros

formales

int
{

}

func_ejemplo (char car, int n, int m, float x )

int
i, sum;
char c, letra;


return sum;

Declaración de
variables locales

Valor que devuelve

la función

Tema: Subprogramación

17

Definición de funciones

• El formato de definición de una función es:

tipo_función nombre_función ([tipo1 var1],…,[tipoN varN])

{

}

[declaraciones de variables locales]
[sentencias]
[return [expresión];]

cuerpo

tipo_función, nombre_función:

igual que en el prototipo

([tipo1 var1],…,[tipoN varN])

lista de parámetros formales, los

nombres de las variables no son opcionales

Tema: Subprogramación

18

Definición de funciones

([tipo1 var1],…,[tipoN varN]) lista de parámetros formales, los

nombres de las variables no son opcionales.

Son los identificadores de las variables que recogen los valores

que se le pasan en la llamada.

Son variables locales a la función. Es decir: se crean cuando la

función es llamada y se destruyen cuando termina su ejecución.

Tema: Subprogramación

19

Funciones. Ejemplo

#include <stdio.h>
int sumatorio (int n);
void main ()
{

/* prototipo (declaración) de la función */

int x, y;
x = 4;
printf ("\n sumatorio de 1 a %d = %d", x, sumatorio(x));
y = 3;
printf ("\n sumatorio de 1 a %d = %d", y, sumatorio(y));

}

i, sum;

int sumatorio (int n)
{

int
sum = 0;
for (i=1; i<=n; i++)

sum = sum + i;

return sum;

}

20

Definición de funciones

• La lista de parámetros es una lista de nombres de variable

separados por comas con sus tipos asociados.

• Los parámetros reciben los valores que le pasan en la

llamada (de los argumentos).

• Una función puede no tener parámetros, los paréntesis son

obligatorios en cualquier caso.

• Si no existe parámetros puede expresarse de dos formas:

tipo_función
tipo_función

nombre_función ()
nombre_función (void)

• Todos los parámetros deben declararse individualmente,

no ocurre como en las declaraciones de variables.

Ejem.- cabecera de una declaración de función:

int f (int i, int k, float j)

/*correcto */

int f (int i, k, float j)

/*incorrecto, le falte el tipo a K */

Tema: Subprogramación

21

Definición de funciones

• El cuerpo de una función aparece entre { } aunque esté

formado por una sola sentencia.

• Las variables definidas dentro de la función son variables

locales. Una variable local comienza a existir cuando se entra

en la función y se destruye al salir de ella (se podrán usar

nombres idénticos en otras funciones).

• Los parámetros son también valores locales a la función.

• Terminación de una función: return

Fuerza la salida de la función. Toda función que no devuelva

tipo void debe tener al menos una sentencia return y a

continuación el valor que devuelve la función.

Tema: Subprogramación

22

Resultado de la función: sentencia return

• La forma general de la sentencia return es:

return [expresión];

• Si el tipo de datos de la expresión no coincide con el tipo de

retorno de la función, el tipo de datos de la expresión se

convierte al de retorno de la función.

• El valor devuelto puede ser cualquier tipo de dato conocido

por el lenguaje C

• Cuando el tipo de resultado es void (la función no devuelve

ningún valor) el

formato será: return; o no se pone la

sentencia return y la función termina cuando se encuentra }

Tema: Subprogramación

23

Función main

• La primera función que aparece (se ejecuta) en todo

programa C es la función principal (función main)

• Todo programa ejecutable tiene una y sólo una función main

• Es la única función que no puede ser utilizada (invocada) por

nadie.

• No puede llamarse a sí misma.

Tema: Subprogramación

24

Funciones

Realizar la definición de una función esLetra, en lenguaje C,
que reciba un carácter y devuelva un 1 si es una letra y 0 si
no es una letra.

Definición:

int esLetra (char c)
{

return(c>=‘A’&& c<=‘Z’)|| (c>=‘a’&& c<=‘z’);

}

De otra forma:

int esLetra (char c)
{

int vocal;
if ((c>=‘A’&& c<=‘Z’)|| (c>=‘a’&& c<=‘z’)) vocal=1;
else vocal=0;
return vocal;

}

Tema: Subprogramación

25

Funciones

Realizar la definición de una función esLetra, en lengua
  • Links de descarga
http://lwp-l.com/pdf14509

Comentarios de: Tema 4 - Subprogramación (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad