Sei sulla pagina 1di 36

UNIVERSIDAD PERUANA LOS ANDES

Direccin Universitaria de Educacin Semipresencial

CURSO: ALGORITMO Y ESTRUCTURA DE DATOS

PROFESORA: ING. ERIKA ZEVALLOS VERA

SEMANA:4

LIMA-2017
Curso: Algoritmos y Estructura de Datos Prof. Ing. Zevallos Vera,Erika
FUNCIONES

PROGRAMACIN MODULAR Y
ESTRUCTURADA

Curso: Algoritmos y Estructura de Datos Prof. Ing. Zevallos Vera,Erika


PROGRAMACIN ESTRUCTURADA

Utiliza las estructuras de control bsicas:


Secuenciales, selectivas y repetitivas

Curso: Algoritmos y Estructura de Datos Prof. Ing. Zevallos Vera,Erika


PROGRAMACION MODULAR

Divide el problema en mdulos


independientes.

Cada programa contiene un mdulo Principal


que controla todo lo que sucede, este
transfiere el control a los submodulos para
que puedan ejecutar sus funciones.

Curso: Algoritmos y Estructura de Datos Prof. Ing. Zevallos Vera,Erika


PLANILLA EMPLEADOS

MODULO PRINCIPAL

ENTRADA PROCESAMIENTO IMPRESION SALIDA

INGRESOS DESCUENTOS
Curso: Algoritmos y Estructura de Datos Prof. Ing. Zevallos Vera,Erika
VENTAJAS
Es sencillo de escribir y depurar
Se puede cambiar un mdulo, sin
afectar a los otros.
Permite chequear solo donde hay
problemas.
Primero son chequeadas las interfaces
principales.

Curso: Algoritmos y Estructura de Datos Prof. Ing. Zevallos Vera,Erika


SUB-PROGRAMA

Algoritmoque forma parte de otro


que lo contiene.

Curso: Algoritmos y Estructura de Datos Prof. Ing. Zevallos Vera,Erika


FUNCION
Conjunto de Instrucciones cuya ejecucin se
lleva a cabo cada vez que es Invocada

Cuando termina la ejecucin de la funcin, se


retorna al punto de llamada, para continuar con
las siguientes instrucciones.

Todas las funciones, menos las de tipo void,


devuelven un valor

Curso: Algoritmos y Estructura de Datos Prof. Ing. Zevallos Vera,Erika


FUNCION SIN PASE DE PARAMETROS
//calcula el rea de void ingreso()
//la esfera {real r
real a Leer r
void ingreso(); a=4* 3.14.16 *r *r;
void salida(); }

principal void salida()


{ {
ingreso(); Imprimir El rea de esfera es: a
salida(); }
}

Curso: Algoritmos y Estructura de Datos Prof. Ing. Zevallos Vera,Erika


FUNCION SIN PASE DE PARAMETROS
#include <iostream.h> /* rutinas */
void ingreso()
#include<math.h> {float r;
float a; cout<<\nIngrese radio de la
esfera;
void ingreso(); cin>>r;
void salida(); a=4*M_PI*r*r;
}
void main()
{ void salida()
ingreso(); {
salida(); cout<<\nEl rea de esfera es:<<a;
} }
Curso: Algoritmos y Estructura de Datos Prof. Ing. Zevallos Vera,Erika
CLASIFICACIN DE VARIABLES
LOCALES GLOBALES

se declaran dentro de una Mantienen su valor


funcin, al principio o en durante toda la
cualquier bloque del ejecucin del programa
cdigo se declaran al inicio del
Se crean cada vez que se programa
entra a la funcin Tiene la desventaja que
se destruyen cada vez que usa mucha memoria.
se sale de la funcin.

Curso: Algoritmos y Estructura de Datos Prof. Ing. Zevallos Vera,Erika


CLASIFICACION DE VARIABLES

LOCALES GLOBALES
Se pueden usar Se declaran antes del
diferentes variables programa principal.
locales, con el mismo
nombre

Curso: Algoritmos y Estructura de Datos Prof. Ing. Zevallos Vera,Erika


T, T1, T2, T3 son tipos de variables
T F(T1 P1, T2 P2, T3P3) /* F es el nombre de la funcin
declaraciones globales
principal
{
declaraciones locales
..
v=F( A1,A2,A3); /*A1, A2, A3 son argumentos */

}
T F(T1 P1, T2 P2, T3 P3); /* P1, P2, P3 son parmetros
formales*/
declaraciones locales
{.........
return valor
Curso: Algoritmos y Estructura de Datos Prof. Ing. Zevallos Vera,Erika
FUNCION CON PASE DE PARAMETROS
real area (real x, real y)
principal
{
real base,altura
Leer base y altura
r=area(base,altura);
Imprimir el rea del rectngulo es: r
}

/* funcin rea */
real area(real x, real y)
{
return (x*y);
}
Curso: Algoritmos y Estructura de Datos Prof. Ing. Zevallos Vera,Erika
FUNCION CON PASE DE PARAMETROS
#include <iostream.h>
#include<iomanip.h>
float area (float x float y)

void main()
{float base,altura;
cout<<\nIngrese base y altura:;
cin>>base>>altura;
r=area(base,altura);
cout<<el rea del rectngulo es: <<setprecision(2)<<r;
}

float area(float x, float y)


{return(x*y);}
Curso: Algoritmos y Estructura de Datos Prof. Ing. Zevallos Vera,Erika
PASE DE PARMETROS POR VALOR

Las llamadas a funciones siempre se


hacen pasando el valor de los
argumentos
Las modificaciones de la copia no afectan
el valor original de los argumentos
Se copia el valor del argumento

Curso: Algoritmos y Estructura de Datos Prof. Ing. Zevallos Vera,Erika


PASE DE PARAMETROS POR
REFERENCIA

Se copian las direcciones de memoria


que ocupan las variables
Cualquier cambio hecho a los
parmetros, afecta el argumento
Se transfiere las direcciones de
memoria de los argumentos, no el valor.

Curso: Algoritmos y Estructura de Datos Prof. Ing. Zevallos Vera,Erika


/*Llamada por referencia*/

void rectangulo(real ancho, real alto, real &area, real &perim);


Principal
{
real Area, perimetro, Ancho, Alto;
Escribir area y perimetro de un rectangulo;
Leer Ancho;
Leer Alto;
rectangulo(Ancho, Alto, Area, perimetro);
Escribir El area es: Area y perimetro es: perimetro;
}

/*el retorno es void porque no vamos a retornar nada*/


void rectangulo(real ancho, real alto, real &area, real &perim);
{area=ancho*alto
perim= 2*(ancho + alto);}
Curso: Algoritmos y Estructura de Datos Prof. Ing. Zevallos Vera,Erika
/*Llamada por referencia*/
#include <stdio.h>
#include <conio.h>
void rectangulo(float ancho, float alto, float &area, float &perim);
void main()
{ float Area, perimetro, Ancho, Alto;
clrscr();
cout<<area y perimetro de un rectangulo\n;
cout<<\nIngrese el ancho:;
cin>>Ancho;
cout<<\nIngrese la altura:;
cin>>Alto;
rectangulo(Ancho, Alto, Area, perimetro);
cout<<El area es:<<Area<< y perimetro es:<<perimetro;
getch();
}
/*el retorno es void porque no vamos a retornar nada*/
void rectangulo(float ancho, float alto, float &area, float &perim)
{
area=ancho*alto;perim= 2*(ancho + alto);}
Curso: Algoritmos y Estructura de Datos Prof. Ing. Zevallos Vera,Erika
EJEMPLO 1:

Escribir una funcin para calcular el rea y el


volumen de una esfera, ingresando el radio por
teclado con pase de parmetro.

Curso: Algoritmos y Estructura de Datos Prof. Ing. Zevallos Vera,Erika


Curso: Algoritmos y Estructura de Datos Prof. Ing. Zevallos Vera,Erika
EJEMPLO 2:

Escribir un procedimiento que realice el clculo de los


salarios semanales de los empleados de una empresa,
sabiendo que estos se calculan en base a las horas
semanales trabajadas y de acuerdo a un precio
especifico por cada hora. Si se pasan de 40 horas
semanales, las horas extraordinarias se pagaran a razn
de 1.5 veces las hora ordinaria
Con pase de referencia.
Curso: Algoritmos y Estructura de Datos Prof. Ing. Zevallos Vera,Erika
Curso: Algoritmos y Estructura de Datos Prof. Ing. Zevallos Vera,Erika
Curso: Algoritmos y Estructura de Datos Prof. Ing. Zevallos Vera,Erika
Ejemplo 3:
Hacer una funcin que ingrese 3 nmeros y encuentre
el mayor de ellos.

Curso: Algoritmos y Estructura de Datos Prof. Ing. Zevallos Vera,Erika


Curso: Algoritmos y Estructura de Datos Prof. Ing. Zevallos Vera,Erika
Ejemplo 4:

Disear una funcin que calcule la media de 3


nmeros ledos por teclado.

Curso: Algoritmos y Estructura de Datos Prof. Ing. Zevallos Vera,Erika


EJEMPLO:5

Usando programacin modular disee un programa


que calcule el rea y el permetro de un rectngulo.

Curso: Algoritmos y Estructura de Datos Prof. Ing. Zevallos Vera,Erika


Curso: Algoritmos y Estructura de Datos Prof. Ing. Zevallos Vera,Erika
EJEMPLO 6:

El clculo del pago mensual de un empleado de una empresa se


efecta de la siguiente manera: el sueldo bsico se calcula en
base al mundo total de horas trabajadas basada en una tarifa
horaria, al sueldo bsico se le aplica una bonificacin del 20%
obtenindose el sueldo bruto, al sueldo bruto se le aplica un
descuento del 10% obtenindose el sueldo neto. Escribir un
programa que calcule e imprima el sueldo bsico, el sueldo
bruto y el sueldo neto de un trabajador.

Curso: Algoritmos y Estructura de Datos Prof. Ing. Zevallos Vera,Erika


Curso: Algoritmos y Estructura de Datos Prof. Ing. Zevallos Vera,Erika
Curso: Algoritmos y Estructura de Datos Prof. Ing. Zevallos Vera,Erika
LABORATORIO

Curso: Algoritmos y Estructura de Datos Prof. Ing. Zevallos Vera,Erika


(Funcin sin pase de parmetros)
EJEMPLO:01

Calculo del pago mensual de un empleado de una empresa se


efecta de la siguiente manera: el sueldo bsico se calcula en base
al mundo total de horas trabajadas basada en una tarifa horaria, al
suledo bsico se le aplica una bonificacin del 20% obtenindose el
sueldo bruto, al sueldo bruto se le aplica un descuento del 10%
obtenindose el sueldo neto. Escribir un programa que calcule e
imprima el sueldo bsico, el sueldo bruto y el sueldo neto de un
trabajador.

Curso: Algoritmos y Estructura de Datos Prof. Ing. Zevallos Vera,Erika


#include<iostream.h>
#include<conio.h>
float s_basico,s_bruto,s_neto;
void ingreso();
void salida(); void salida(){
void main(){ cout<<"\n El sueldo basico es: "<<s_basico;
ingreso(); cout<<"\n El sueldo bruto es: "<<s_bruto;
salida(); cout<<"\n El sueldo neto es: "<<s_neto;
getch(); }
}
void ingreso(){
float ph,ht;
cout<<"\n Ingrese el nmero de horas trabajadas: ";
cin>>ht;
cout<<"\n Ingresar el pago por hora: ";
cin>>ph;
s_basico=ph*ht;
s_bruto=1.2*s_basico;
s_neto=0.9*s_bruto;
}
Curso: Algoritmos y Estructura de Datos Prof. Ing. Zevallos Vera,Erika
USAR LA GUIA

Curso: Algoritmos y Estructura de Datos Prof. Ing. Zevallos Vera,Erika

Potrebbero piacerti anche