Está en la página 1de 29

PROGRAMACIN ESTRUCTURADA EN C

PROGRAMACIN MODULAR O FUNCIONAL

Funciones

INTRODUCCIN
Supngase que una persona quiere realizar unas chalupas en su casa. Entonces esta persona tiene que realizar por s sola una serie de actividades como: 1. Tostar los chiles 2. Picar cebolla 3. Hacer la salsa 4. Freir las tortillas 5. Agregar los ingredientes necesarios a las chalupas 6. Retirar las chalupas del comal 7. Servir las chalupas
Funciones 2

Introduccin
Ahora suponga que una seora contrata a otras seoras para que le ayuden a realizar sus chalupas.Es decir, dividimos el problema en problemas ms pequeos. Cmo se veran las actividades para esta tarea? Seora para Tostar chiles Seora Principal Seora para Picar cebolla Seora para Hacer la salsa Seora para Freir las tortillas Seora para Retirar las chalupas
Funciones 3

DEFICIN DE FUNCIN
En Matemticas: Es una expresin que toma uno o ms valores y produce un valor que se llama resultado, el cual, es nico. Ejemplos: sen(x), cos(x),sqrt(x). En Programacin. Tiene el mismo significado que en matemticas. Realiza ciertos clculos con una o ms variables de entrada y produce un nico resultado. En programacin, este resultado puede ser un valor numrico, alfanumrico lgico o estructurado.
Funciones 4

FUNCIONES
Predefinidas Definidas por el usuario
2 Podemos ver a una funcin como una caja negra

x=2

X 1.4142
Funciones 5

FUNCIONES PREDEFINIDAS
Son funciones que ya han sido escritas y son agrupadas en archivos llamados libreras de acuerdo a su funcin y uso. Cada librera est asociada con un encabezado de archivo indicado por la extensin .h. Para usar funciones predefinidas se agrega el siguiente encabezado en el programa
#include<math.h> /*proporciona funciones predefinidas para funciones matemticas */
Funciones 6

POR QU USAR FUNCIONES EN NUESTROS PROGRAMAS?


Dividir un programa grande en funciones mejora el entendimiento del problema que se est resolviendo. Ayuda a entender mejor la solucin del problema. Hace ms fcil implementar la solucin de un problema. Ayuda a organizar el programa Son pequeos bloques de cdigo, ms fciles de manejar y entender. Las funciones son cdigo rehusable. Se escribe una vez y puede utilizarse muchas veces en el mismo programa o en otros. No es necesario saber el cdigo interno de una funcin para poder llamarla o utilizarla. Una funcin puede llamarse (ejecutarse) desde cualquier Funciones lugar del programa

FUNCIONES DEFINIDAS POR EL USUARIO


Es una funcin que se disea para realizar una tarea que eventualmente se convierte en parte del diseo y cdigo del programa. Pasos para crear y usar una funcin Paso 1. Definicin de la funcin
(Escribir el cdigo de la funcin)

Paso 2. Llamada de la funcin


(Usar la funcin)
Funciones 8

FUNCIONES DEFINIDAS POR EL USUARIO Introduccin


La definicin de una funcin consiste en un encabezado y un cuerpo. De manera explicita, se puede decir que es un bloque o una proposicin compuesta. La estructura bsica de la definicin de una funcin es:
tipo nombre([,argumentos]) { [declaraciones] proposiciones [return(expresin);] }
Funciones 9 9

Encabezado
tipo: Indica el tipo del valor devuelto por la funcin. nombre: Es un identificador que indica el nombre de la funcin. [argumentos]: Es una secuencia de declaraciones de parmetros separados por comas.

Funciones

10 10

Cuerpo
El cuerpo de la funcin est formado por una sentencia compuesta que contiene sentencias que definen lo que hace la funcin. Tambin puede contener declaraciones de variables utilizadas en dichas sentencias. Estas variables, por defecto son locales a la funcin. [return(expresion)]: se utiliza para devolver el valor de la funcin el cual debe ser del mismo tipo declarado en el encabezado de la funcin.
Funciones 11 11

DEFINCIN DE UNA FUNCIN


Tipo_de_funcin Nombre_funcin (lista de argumentos) { Cuerpo de la funcin }
(Contiene instrucciones y puede llamar a otras funciones) Es el nombre de la funcin Son los tipo de datos y sus nombre, Si hay ms de un argumento, son separados por ,
12

Es el tipo de dato del resultado que ser regresado por la funcin

Funciones

EJEMPLO DE DEFINCIN DE UNA FUNCIN


int suma (int x, int y) { int s; s = x + y; return( s ); }
Tipo Nombre Argumentos Cuerpo de la funcin

Funciones

13

LLAMADA A UN NA FUNCIN (EJECUCIN DE UNA FUNCIN)


#include<stdio.h> main() { int num1 = 5, num2 = 10, snum; snum = suma( } int suma (int x, { int s; s = x + y; return( s ); }
Funciones

Llamada a la funcin

Parmetros

num1 ,

num2 ); int y )

Defincin de la fucin

Argumentos

14

LLAMADA A UN NA FUNCIN (EJECUCIN DE UNA FUNCIN)


Para llamar a una funcin se hace mediante su nombre con los argumentos entre parntesis. Generalmente se asigna el valor de la funcin a una variable del mismo tipo de esta.
#include <stdio.h> main() { int res; res = suma(2,3); printf ("El resultado es: %d", res); }
Funciones 15

UN PROGRAMA CON FUNCIONES


#include<stdio.h>/* IMPRIME CARITAS*/ #include<conioio.h> void caritafeliz () { Principal printf(); } main() { caritafeliz clrscr(); caritafeliz(); caritafeliz(); }

Funciones

16

LA SENTENCIA RETURN
tipo Nombre ( lista de argumentos ) { Cuerpo de la funcin return (Valor o expresin ) El tipo de dato de } valor o expresin
Notas: Todas las funciones, excepto las de tipo void retornan un valor La senctencia return puede regresar nicamente un slo valor
Funciones

debe corresponder al tipo de dato de la funcin

17

DISEO DE UN PROGRAMA CON FUNCIONES

Principal

LeerDatos

AreaCirc

PerimetroCirc

EscribirDatos

Funciones

18

OTRO EJEMPLO DE UN PROGRAMA CON FUNCIONES


#include<stdio.h> #include<stdlib.h> Float area, perim, Radio; void LeerDatos(){ printf(Dame Radio); scanf(%f,&Radio); } float AreaCirc(){ return(3.1416*Radio*Radio) } float PerimetroCirc(){ return(2* 3.1416 *Radio) } void EscribirDatos(){ printf(Area= %f,Area); printf(Permetro= %f,Perim); } main(){ Float Area,Perim,Radio LeerDAtos(); AreaCirc(); PerimetroCirc(); EscribirDatos(); }
19

Funciones

Paso PASO de DEparmetros PARMETROS


En C existen dos tipos de paso de parmetros en el llamado a una funcin:

Paso de parmetros por valor: Significa copiar los parmetros actuales en sus correspondientes lista de argumentos, operacin que se hace automticamente, con lo cual no se modifican los argumentos actuales. Paso de parmetros por referencia: Significa que lo transferido no son los valores, sino las direcciones de las variables que contienen esos valores, con lo cual los argumentos actuales de la funcin pueden verse modificados.
Funciones 20 20

Paso PASO de DEparmetros PARMETROS

Cuando se llama a una funcin, los argumentos especificados en la llamada son pasados por valor, excepto los arrays (arreglos) que se pasan por referencia.

Funciones

21 21

Paso PASO de DEparmetros PARMETROS


#include <stdio.h> /* funcin sumar*/ void sumar(int a, int b, int c, int *s) { b += 2; *s = a + b + c; } main () { int v = 5, res; sumar(4,v,v*2-1,&res); /* llamado a la funcin */ printf(%d, res); }
Funciones 22 22

Alcance ALCANCE
La regla bsica de alcance consiste en que los identificadores son accesibles slo dentro del bloque en el que se declararon, fuera de ste son desconocidos.
{ int a=5; printf("\n%d", a); { int a=7; /* Variable distinta */ printf("\n%d", a); } /* Aqui llega el alcance */ printf("\n%d", ++a); }
Funciones 23 23

VARIABLES GLOBALES Y Variables LOCALES globales y locales

La regla de alcance es utilizada comnmente para utilizar variables globales y locales. Las Variables Globales se declaran al inicio del programa fuera del main() y fuera de cualquier funcin. Las Variables Locales se declaran dentro e algn bloque.
Funciones 24 24

EJERCICIOS
Qu es una funcin predefinida? Qu es una funcin definida por el usuario? Por qu usamos funciones? Pasos para crear funciones? Dnde se declaran las funciones? Qu es una llamada a una funcin? Dnde se coloca la llamada a una funcin? Qu es el tipo de una funcin? Qu es el valor de retorno de una funcin? Qu es una llamada a una funcin? Funciones

25

EJERCICIOS
1.Cul es la salida del sig. Programa?
#include<stdio.h> void new_num(int x, int y ){ x+=10; y*= 10; } main(){ int x=10,y=20; printf(%d%d,x , y); new_num(x,y); printf(%d%d,x , y); } Funciones

26

EJERCICIOS
2. Algoritmo en pseudocdigo para leer un nmero y obtener su raz cuadrada utilizando una funcin definida por el usuario 3.- Elabore una funcion para calcular el factorial de un nmero 4.- Elabore una funcion para convertir un nmero de decimal a binario 5.-Funcin que eleve un nmero al cubo 6. Funcin para obtener el valor absoluto de X
Funciones 27

EJERCICIOS
7.- Funcin para calcular Xn 8.- La siguiente es una funcin para calcular la obesidad de una persona: int Obesidad ( Estatura (cm), Peso){ w = Peso/Estatura2 si (w > 25 y w <= 30) return 1 else return 0 } Utilice esta funcin en un programa para saber si una persona est obesa o no
Funciones 28

EJERCICIOS
9.-Calcular el valor de Pi mediante la siguiente funcin

= 6 + 6/22+ 6/32 +...+ 6/n2 10.-Disee una funcin tal que dado un parmetro x distintinto de cero, regrese el siguiente valor:
F 1
1 .432 e 5 x x 1
Funciones 29

También podría gustarte