programacion 1(clase 6)

21
PROGRAMACIÓN DE COMPUTADORAS I Prof. Karina Escalante Zegarra [email protected] Universidad Nacional Mayor de San Marcos Facultad de Ciencias Matemáticas E.A.P. Matemática Semana 6

Upload: fox-joshua

Post on 19-Feb-2016

231 views

Category:

Documents


0 download

DESCRIPTION

prof. Karina Escalante

TRANSCRIPT

Page 1: Programacion 1(clase 6)

PROGRAMACIÓN DE COMPUTADORAS I

Prof. Karina Escalante Zegarra

[email protected]

Universidad Nacional Mayor de San Marcos Facultad de Ciencias Matemáticas

E.A.P. Matemática

Semana 6

Page 2: Programacion 1(clase 6)

SUBPROGRAMAS

La resolución de problemas complejos se facilita considerablemente si se dividen en problemas más pequeños (subproblemas). Este método de diseñar la solución de un problema principal obteniendo las soluciones de sus problemas se conoce como diseño descendente (top-dow design). Se denomina descendente, ya que se inicia en la parte superior con un problema general y el diseño específico de las soluciones de los subproblemas.

Page 3: Programacion 1(clase 6)

Diseño descendente (top-dow design)

Page 4: Programacion 1(clase 6)

SUBPROGRAMAS

El problema principal se soluciona por el correspondiente programa o algoritmo principal (controlador o conductor o drive) y la solución de los subproblemas mediante subprogramas, conocidos como procedimientos (subrutinas) o funciones. Un subprograma puede realizar las mismas acciones que un programa:

1. Aceptar datos 2. Realizar algunos cálculos 3. Devolver resultados

Page 5: Programacion 1(clase 6)

Programa

Algoritmo

Subprograma

Subalgoritmo

Llamada 1

Llamada 2

Retorno 1

Retorno 2

Un Programa con un subprograma

Page 6: Programacion 1(clase 6)

FUNCIONES

Matemáticamente una función es una operación que toma uno o más valores llamados argumentos y produce un valor denominado resultado. Las funciones incorporadas al sistema se denominan funciones internas o intrínsecas y las funciones definidas por el usuario, funciones externas.

Page 7: Programacion 1(clase 6)

DECLARACIÓN DE FUNCIONES

Cuando las funciones internas no permiten realizar el tipo de cálculo deseado es necesario recurrir a funciones externas definidas por el usuario mediante una declaración de función.

Las funciones son diseñadas para realizar tareas específicas: tomar una lista de valores (argumentos) y devolver un único valor.

<tipo_de_resultado> <nombre_funcion>(lista de parámetros);

Page 8: Programacion 1(clase 6)

DEFINICIÓN DE FUNCIONES

La definición de cualquier función es de la siguiente manera:

<tipo_de_resultado> <nombre_funcion>(lista de parámetros)

inicio <acciones> // cuerpo de la función devolver (<expresion>) Fin_función

Page 9: Programacion 1(clase 6)

TIPOS DE FUNCIONES SEGÚN EL VALOR DEVUELTO

Todas las funciones, excepto las de tipo void, devuelven un valor.

• Funciones tipo void:

Este tipo de funciones no devuelve o no recibe valor, en otras palabras, void quiere decir: “sin tipo”.

void <nombre_funcion>(lista de parámetros)

inicio <acciones> // cuerpo de la función devolver (<expresion>) Fin_función

Page 10: Programacion 1(clase 6)

El siguiente programa halla el cuadrado de un número entero leído desde el teclado, haciendo uso de una función del tipo void.

Page 11: Programacion 1(clase 6)

TIPOS DE FUNCIONES SEGÚN EL VALOR DEVUELTO

• Funciones con valor devuelto:

Estas funciones también son denominadas funciones con tipo devuelto o funciones con valor devuelto.

El tipo de resultado puede ser: int, float, double, char, etc.

<tipo_de_resultado> <nombre_funcion>(lista de parámetros)

inicio <acciones> // cuerpo de la función devolver (<expresion>) Fin_función

Page 12: Programacion 1(clase 6)

El siguiente programa halla el cuadrado de un número entero leído desde el teclado, haciendo uso de una función que devuelve un valor.

Page 13: Programacion 1(clase 6)

Sentencia devolver (return)

La sentencia devolver se utiliza para regresar de una función. Devolver hace que el control del programa se transfiera al llamador de la función. Esta sentencia se puede utilizar para hacer que la ejecución regrese de nuevo al llamador de la función. En pocas palabras la sentencia devolver termina inmediatamente la función en la cual se ejecute.

Page 14: Programacion 1(clase 6)

¿DÓNDE DECLARACIÓN DE

FUNCIONES? Estas pueden ser declaras de 2 formas: • Con Prototipo de Función: La función puede estar en cualquier

lugar. En nuestro caso lo colocaremos al final. • Sin Prototipo de Función: La función debe estar cerca

(usualmente en la parte superior) donde es invocado.

Page 15: Programacion 1(clase 6)

Con Prototipo de Función en C++

Page 16: Programacion 1(clase 6)

Sin Prototipo de Función en C++

Page 17: Programacion 1(clase 6)

INVOCACIÓN A LAS FUNCIONES

Una función puede ser llamada de la forma siguiente:

Cada vez que se llama a una función desde el algoritmo principal se establece automáticamente una correspondencia entre los parámetros formales y los parámetros actuales. Debe haber exactamente el mismo número de parámetros actuales que de parámetros formales en la declaración de una función y se presupone una correspondencia uno a uno de izquierda a derecha entre los parámetros formales y los actuales.

Nombre_función (lista de parámetros actuales)

Page 18: Programacion 1(clase 6)

INVOCACIÓN A LAS FUNCIONES

Una llamada a la función implica los siguientes pasos:

1. A cada parámetro formal se le asigna un valor real de su correspondiente parámetro actual.

2. Se ejecuta el cuerpo de acciones de la función.

3. Se devuelve el valor de la función al nombre de la función y se retorna al punto de llamada.

Page 19: Programacion 1(clase 6)

Ejemplo:

Realizar el diseño de la función y=x3 (Cubo de un número)

Solución 1: Algoritmo: cubo de un número Variables: entero: n // número asignado al cubo de 2 Inicio // programa principal n cubo(2) // invocación o llamada a la función Escribir (‘2 al cubo es’,n) Fin Entero funcion cubo (E entero: x) //inicia la función Inicio Devolver(x*x*x) Fin_función

Page 20: Programacion 1(clase 6)

ARGUMENTOS DE UNA FUNCIÓN

Si una función utiliza argumentos, se debe declarar las variables que aceptan los valores de los argumentos. Estas variables se llaman parámetros formales de la función y se comportan como otras variables locales dentro de la función, creándose al entrar a la función y destruyéndose al salir.

Ejercicio: Realice un programa que lea el radio y la altura de un cilindro y calcula su área lateral, área total y volumen.

Page 21: Programacion 1(clase 6)

1. Use una función para convertir pulgadas a centímetros y viceversa (1pulgada = 2,54cm).

2. Use funciones para convertir una temperatura en grados Celsius y diga a cuánto equivale en grados Farenheit, Kelvin y Rankine.

º𝐶

5=º𝐾 − 273

5=º𝐹 − 32

9=º𝑅 − 492

9

3. Usando funciones resuelva una ecuación de 2do grado.

4. Usando funciones halle la distancia entre dos puntos.

5. Escriba una función para calcular la media aritmética, la geométrica, armónica, la cuadrática, la ponderada, la varianza y la desviación estándar de los datos. (Recuerde que la desviación estándar es la raíz cuadrada de la varianza)