16
Subalgoritmos Parte I 1 Ricardo Carrera Hernández Universidad Veracruzana

10. subalgoritmos parte i

Embed Size (px)

Citation preview

Page 1: 10. subalgoritmos parte i

Subalgoritmos

Parte I

1

Ricardo Carrera Hernández

U n i v e r s i d a d

V e r a c r u z a n a

Page 2: 10. subalgoritmos parte i

Subalgoritmo

Técnica para solucionar un problema complejo dividiéndolo en

subproblemas o problemas más sencillos.

Dividir estos problemas más sencillos en otros más simples

hasta que sean fáciles de resolver.

Se le llama diseño top-down

2

Page 3: 10. subalgoritmos parte i

Ejemplo

Calcular el área de un rectángulo:

Subproblema 1: entrada de datos altura y base

Subproblema 2: cálculo de la superficie

Subproblema 3: salida de resultados

Page 4: 10. subalgoritmos parte i

Algoritmo

leer (altura, base) // entrada de datos

area base * altura // cálculo de la superficie

escribir (base, altura, area) // salida de resultados

Page 5: 10. subalgoritmos parte i

Método top-down

Problema

principal

Subproblema 1 Subproblema 2 Subproblema 3

Algoritmo

principal

Subalgoritmo 1Subalgoritmo 2Subalgoritmo 3

Page 6: 10. subalgoritmos parte i

6

A los subalgoritmos se les llama procedimientos (subrutinas) o

funciones.

Subalgoritmos

Algoritmo

Subalgoritmo

Llamada 1

Retorno 1

Llamada 2

Retorno 2

Page 7: 10. subalgoritmos parte i

7

Algoritmo

Subalgoritmo

1

Subalgoritmo

1.1

Subalgoritmo

2

Page 8: 10. subalgoritmos parte i

Tipos de subalgoritmos

Subalgoritmos

Funciones Procedimientos

Page 9: 10. subalgoritmos parte i

9

Funciones

Matemáticamente una función es una operación que

toma uno o más valores llamados argumentos y

produce un valor llamado resultado.

Page 10: 10. subalgoritmos parte i

Ejemplo

f es el nombre de la función

x es el argumento, ningún valor específico se asocia a x. Se le conoce

también como parámetro formal.

Para evaluar f debe darse a x un valor real. Con este valor debe

calcularse el resultado.

10

Si x = 3, entonces

Page 11: 10. subalgoritmos parte i

Declaración de funciones

Tipo de dato función <nombre de función> ([lista de parámetros formales])

[declaraciones locales]

inicio

sentencia(s)

devolver (<expresión>)

fin_función

[<lista de parámetros formales>] son uno o más grupos de parámetros

separados por punto y coma. Cada grupo de argumentos se define de la

siguiente forma:

{ E | E/S } <tipo de dato> : <lista de parámetros>

E indica que el paso de parámetros se realiza por valor

E/S indica que el paso de parámetros se realiza por referencia

Page 12: 10. subalgoritmos parte i

<nombre función (<lista de parámetros actuales>)

12

Llamada a función

La lista de parámetros actuales es una o varias variables o

expresiones separadas por comas que deben coincidir en número,

orden y tipo con la lita de parámetros formales de la declaración.

Page 13: 10. subalgoritmos parte i

Ejemplo

Diseñar una función que resuelva la ecuación y = xn

flotante función potencia (E flotante: x; E entero: n)

var

entero : i

flotante : y

inicio

y 1.0

desde i 1 hasta abs(n) hacer

y y * x

fin_desde

si n < 0 entonces

y 1/y

fin_si

devolver (y)

fin_función

z potencia(2.5, -3)}

Parámetros actuales

Llamada a función:

Page 14: 10. subalgoritmos parte i

Funciones internasFunción Descripción Tipo de argumento Resultado

abs(x) Valor absoluto de x entero o flotante Igual que argumento

arctan(x) Arco tangente de x entero o flotante flotante

cos(x) Coseno de x entero o flotante flotante

exp(x) Exponencial de x entero o flotante flotante

ln(x) Logaritmo neperiano de x entero o flotante flotante

log10(x) Logaritmo decimal de x entero o flotante flotante

redondeo(x) Redondeo de x flotante entero

seno(x) Seno de x entero o flotante flotante

cuadrado(x)

sqr(x)

Cuadrado de x entero o flotante Igual que argumento

raiz2(x)

sqrt(x)

Raíz cuadrada de x entero o flotante flotante

trunc(x) Truncamiento de x flotante entero

Page 15: 10. subalgoritmos parte i

Ejercicios

1. Realizar el diseño de la función y = x3

2. Suponiendo que no se tuviera la función de la obtención del

valor absoluto de un número entero, realizar el diseño de la

función y = | x |

Page 16: 10. subalgoritmos parte i

Subalgoritmos

Parte I

16

Ricardo Carrera Hernández

U n i v e r s i d a d

V e r a c r u z a n a