Indice del curso - PowerPoint PPT Presentation

1 / 7
About This Presentation
Title:

Indice del curso

Description:

Permite implementar una funci n como un procedimiento. Es necesario el uso de punteros. ... Declarar un puntero, (p.e.: int *pint, float *pf; ... – PowerPoint PPT presentation

Number of Views:67
Avg rating:3.0/5.0
Slides: 8
Provided by: josma4
Category:
Tags: curso | del | indice | pf

less

Transcript and Presenter's Notes

Title: Indice del curso


1
Funciones II
PASO DE PARÁMETROS
  • Se utiliza como argumentos de salida o de
    entrada/salida.
  • Permite implementar una función como un
    procedimiento.
  • Es necesario el uso de punteros.
  • Se utilizan como argumentos de entrada

2
Funciones II
Paso de parámetros por valor
Los valores de las variables o de las constantes
que se escriben como argumentos en la invocación
de una función, se copian en las direcciones de
memoria reservada a los parámetros formales de la
función invocada.
include ltstdio.hgt float media_aritmética (int,
int, int) void main (void) int x0, y0,
z0 float media0.0
include ltstdio.hgt float media_aritmética (int,
int, int) void main (void) int x0, y0,
z0 float media0.0 printf (\n
Teclee tres números) scanf (ddd, x,
y,z)
include ltstdio.hgt float media_aritmética (int,
int, int) void main (void) int x0, y0,
z0 float media0.0 printf (\n
Teclee tres números) scanf (ddd, x,
y,z) media media_aritmetica (x, y, z)
float media_aritmética (int a, int b, int c)
a a b c
float media_aritmética (int a, int b, int c)
a a b c return (a / 3.0)
16
5.33...
3
Funciones II
Paso de parámetros por referencia I
  • En C no existen procedimientos, pero se puede
    conseguir que una función actúe como un
    procedimiento mediante el uso de punteros en los
    parámetros formales de la función.
  • Un puntero es una variable capaz de almacenar
    direcciones de memoria y mediante los operadores
    adecuados acceder a la información que contiene
    la dirección de memoria a la que apunta en cada
    momento.
  • Operador sirve para
  • Declarar un puntero, (p.e. int pint, float
    pf)
  • Acceder la información apuntada por el puntero.
  • Operador devuelve la dirección donde el
    compilador ubica una variable en la memoria.

4
Funciones II
Paso de parámetros por referencia II
Se pasan las direcciones de las variables que
queremos sean modificadas por la función, de
manera que dentro de la función definimos los
correspondientes punteros que almacenan las
citadas direcciones.
include ltstdio.hgt void intercambio (int , int
) void main (void) int x5, y8
intercambio (x, y)
void intercambio (int p1, int p2) int
tmp tmp p1
5
Funciones II
Ejemplos de uso de operadores de punteros.-
Se declaran dos variable enteras i y j y un
puntero a entero p int i, j, p Suponemos que
i y j se ubican en las direcciones 13B6 e
5FC4, respectivamente.
operación
i15
15
pi (p apunta a i)
15
jp (se accede a lo apuntado por
p)
6
Funciones II
Definición de Procedimiento (LEA vs C)
LEA proc nombre (ent e1Te1 ... enTen
sal s1Ts1 ... smTsm es
r1Tr1 ... rpTrp) Pre P(e1, ..., en, r1,
..., rp) Post Q(e1, ..., en, s1, ..., sm, r1,
..., rp) cons definición de constantes var
declaración de variables prin sentencias
exp (ei, si, ri, x) sentencias fin
C typedef Ts1 PTs1 ... typedef Tr1
PTr1 ... void nombre (Te1 e1, ..., Ten en,
PTs1 s1, ..., PTsm sm,
PTr1 r1, ..., PTrp rp)
declaración de variables instrucciones exp
(ei, si, ri, x) instrucciones
7
Funciones II
Ejemplo de llamada y Definición de Procedimiento
include ltstdio.hgt typedef int Pint typedef
float Pfloat void MulDiv (int, int, Pint,
Pfloat) void main (void) int x, y, m
float d printf (\n Teclee dos
números) scanf (dd, x, y)
MulDiv (x, y, m, d) printf (d dd,
x, y, m) printf (d / d f, x, y, d)
Write a Comment
User Comments (0)
About PowerShow.com