estructuras alternativas práctica #5 estructuras alternativas grupo 1il-701

31
Práctica #5 ESTRUCTURAS ESTRUCTURAS ALTERNATIVAS ALTERNATIVAS Grupo 1IL-701

Upload: agueda-carrizales

Post on 11-Mar-2015

14 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: ESTRUCTURAS ALTERNATIVAS Práctica #5 ESTRUCTURAS ALTERNATIVAS Grupo 1IL-701

Práctica #5

ESTRUCTURAS ESTRUCTURAS ALTERNATIVAS ALTERNATIVAS

Grupo 1IL-701

Page 2: ESTRUCTURAS ALTERNATIVAS Práctica #5 ESTRUCTURAS ALTERNATIVAS Grupo 1IL-701

Problema #1

Escriba un algoritmo para calcular la edad de unapersona solicitando el año de nacimiento y el añoactual. De a conocer el nombre de la persona, elaño actual, el año de nacimiento, la edad y unmensaje con relación a si la persona es mayor omenor de edad.

Page 3: ESTRUCTURAS ALTERNATIVAS Práctica #5 ESTRUCTURAS ALTERNATIVAS Grupo 1IL-701

clase Edad

{ privado ao_actual privado ao_nac

publico void asig_val (entero AA, entero AN){ ao_actual = AA ao_nac = AN}

publico entero calcular_edad(){ entero edad edad = ao_actual - ao_nac retornar edad}}

Page 4: ESTRUCTURAS ALTERNATIVAS Práctica #5 ESTRUCTURAS ALTERNATIVAS Grupo 1IL-701

INICIO

caracter Nombre[20]entero AA, AN, edadEdad obj_ed

imprimir (“Ingrese el nombre”) leer (nombre)imprimir (“Ingrese el año actual”) leer (AA)imprimir (“Ingrese el año de nacimiento”) leer (AN)

obj_ed.asig_val (AA, AN)edad = obj_ed.calcular_edad()

imprimir (“La edad es:”, edad)imprimir (“Nombre:”, nombre) si (edad >= 18) entoncesimprimir (“Mayor de Edad); de otro modoimprimir (“Es menor de Edad”)

FIN

Page 5: ESTRUCTURAS ALTERNATIVAS Práctica #5 ESTRUCTURAS ALTERNATIVAS Grupo 1IL-701

Problema #2

Escriba un algoritmo que transforme temperaturasdadas en grados Fahrenheit a Centígrados. Con ellode a conocer la temperatura e imprima el mensaje“Hace Calor”, si esta es mayor de 28º.

Page 6: ESTRUCTURAS ALTERNATIVAS Práctica #5 ESTRUCTURAS ALTERNATIVAS Grupo 1IL-701

clase Temperatura

{ privado flotante Fahr publico void asignar_valores(flotante T1){ Fahr = T1 }

publico flotante calcular_temperatura()flotante C { C = (Fahr - 32) * ( 5.0 / 9) retornar C } }

Page 7: ESTRUCTURAS ALTERNATIVAS Práctica #5 ESTRUCTURAS ALTERNATIVAS Grupo 1IL-701

INICIO

/*Declaración de variables */Flotante gradosFahrFlotante C Imprimir (“Entrar el valor de grados Fahrenheit”) Leer (gradosFahr)

/*Se crea el objeto de la clase */Temperatura obj_temp

/*Se instancia la clase */obj_temp. asignar_valores(gradosFahr)

/*Impresión de salida */C = obj_temp.calcular_temperatura() Si(C> 28) Entonces Imprimir (“ Hace Calor”) Imprimir (“la temperatura es : “, C)

FIN

Page 8: ESTRUCTURAS ALTERNATIVAS Práctica #5 ESTRUCTURAS ALTERNATIVAS Grupo 1IL-701

Problema #3

Escriba un algoritmo que calcule el monto totalde venta de un artículo, a partir de la entrada delcódigo del artículo, la descripción, el preciounitario, la cantidad vendida y un campo paraidentificar si el artículo paga ITBM (Letra ‘I’) o sino lo paga (‘N’). Si paga ITBM este correspondeal 5%.

Page 9: ESTRUCTURAS ALTERNATIVAS Práctica #5 ESTRUCTURAS ALTERNATIVAS Grupo 1IL-701

/*definición de la clase*/clase Venta {private entero producto, private flotante precio, private caracter campo, private cadena descripcion [20], private entero cantidad

/*metodos*/ publico void asignar(flotante prec, caracter camp, cadena desc, entero cant){ precio=prec cantidad=cant} publico flotante monto }

publico fllotante monto(){ flotante mont mont = precio * cantidad Retornar mont }

Publico flotante item (){ retornar (precio* cantidad * 0.05 + precio * cantidad) }

Publico void det_mont () Si (campo="I")}

Page 10: ESTRUCTURAS ALTERNATIVAS Práctica #5 ESTRUCTURAS ALTERNATIVAS Grupo 1IL-701

INICIO

/*declaracion de las variables*/flotante precio, caracter campo, cadena descripcion, entero cantidad

/*se crea el objeto*/venta obj_montovisualizar("introduzca el nombre del articulo, precio unitario, cantidad, y si paga ITBMS introducir "I" de lo contrario introducir "N")leer(descripcion, precio, cantidad, campo)obj_monto.asignar(cantidad, precio)mont = obj_monto.monto

Si ( (campo == 'I') or (campo == 'i') ) { Entonces { imp = obj_monto.itbm() monto = monto + imp }

Visualizar (“”) }

FIN

Page 11: ESTRUCTURAS ALTERNATIVAS Práctica #5 ESTRUCTURAS ALTERNATIVAS Grupo 1IL-701

Problema #4

Escriba un algoritmo que determine si un número leídoes par o impar. Envié un mensaje correspondiente.

Page 12: ESTRUCTURAS ALTERNATIVAS Práctica #5 ESTRUCTURAS ALTERNATIVAS Grupo 1IL-701

/*Definición de la clase*/ Clase Numero {

/*Declaración de los datos de la clase*/ privado flotante x

/*Métodos*/ publico void asignar(flotante a) {x=a} publico booleano asignar_valor() {si (x%2 == 0) retornar verdadero De otro modo retornar falso Fin si } }

Page 13: ESTRUCTURAS ALTERNATIVAS Práctica #5 ESTRUCTURAS ALTERNATIVAS Grupo 1IL-701

INICIO

/*Declaración de variables*/ booleano n flotante a

/*Se crea el objeto*/ Numero obj_cond

/*Se crea el objeto con los valores leídos*/ visualizar(“ Introduzca el valor”) Leer (a)

/*Activación de mensaje*/ obj_cond.asignar(a) n= obj_cond.asignar_valor()

/*Salida*/ si (n==verdadero) visualizar (“El número es par”) De otro modo visualizar (“El número es impar”) Fin si

FIN

Page 14: ESTRUCTURAS ALTERNATIVAS Práctica #5 ESTRUCTURAS ALTERNATIVAS Grupo 1IL-701

Problema #5

Escriba un algoritmo que determine el mayorde dos números enteros leídos. Visualice elvalor y el mensaje “es el mayor”.

Page 15: ESTRUCTURAS ALTERNATIVAS Práctica #5 ESTRUCTURAS ALTERNATIVAS Grupo 1IL-701

clase Mayor {

/* declaración de datos de la clase */privado entero a, b

/* Implementación de métodos */publico asignar_val (entero x, entero y) { a = x b = y }

publico entero det_mayor ( ) { si(a>b) entonces retornar a de otro modo retornar b Fin si } }

Page 16: ESTRUCTURAS ALTERNATIVAS Práctica #5 ESTRUCTURAS ALTERNATIVAS Grupo 1IL-701

INICIO

/* Declaración de Variables */ Entero x1,y1 Imprimir ( “ENTRAR EL VALOR DE A :” ) Leer ( x1 ) Imprimir ( “ENTRAR EL VALOR DE B :” ) Leer ( y1 )

/* Se crea el objeto de la clase */ Mayor obj_mayor

/* Activación del mensaje */ obj_mayor.asignar_val( x1, y1 )

/* Impresión de salida */ Imprimir (“Mayor es: “, obj_mayor.det_mayor ( ) )

FIN

Page 17: ESTRUCTURAS ALTERNATIVAS Práctica #5 ESTRUCTURAS ALTERNATIVAS Grupo 1IL-701

Problema #6

Escriba un algoritmo que determine si un númeroleído es positivo, cero o negativo. Envié elmensaje correspondiente.

Page 18: ESTRUCTURAS ALTERNATIVAS Práctica #5 ESTRUCTURAS ALTERNATIVAS Grupo 1IL-701
Page 19: ESTRUCTURAS ALTERNATIVAS Práctica #5 ESTRUCTURAS ALTERNATIVAS Grupo 1IL-701
Page 20: ESTRUCTURAS ALTERNATIVAS Práctica #5 ESTRUCTURAS ALTERNATIVAS Grupo 1IL-701

Problema #7

Escriba un algoritmo que a partir del índice académicode un estudiante, visualice el índice acompañado de unmensaje “Primera Condicional”, si dicho índice estepor debajo de 1.00.

Page 21: ESTRUCTURAS ALTERNATIVAS Práctica #5 ESTRUCTURAS ALTERNATIVAS Grupo 1IL-701

/*Definición de la clase*/ clase Indice {

/*Declaración de variables*/ privado flotante In

/*Método*/ publico void asignar_valores (flotante I) { In = I } publico void mindice () si (In < 1.00) Entonces imprimir “Primera Condicional” } }

Page 22: ESTRUCTURAS ALTERNATIVAS Práctica #5 ESTRUCTURAS ALTERNATIVAS Grupo 1IL-701

INICIO

/*Declaración de variables*/ flotante I

/*Se crea el objeto*/ Indice obj_ind

/*Crear el objeto con valores leídos*/ Imprimir (“Entre el Indice”) Leer (I) obj_ind.asignar_valores (I)

/* Mensaje*/ obj_ind.mindice () Imprimir (“Su índice es:”, i”)

FIN

Page 23: ESTRUCTURAS ALTERNATIVAS Práctica #5 ESTRUCTURAS ALTERNATIVAS Grupo 1IL-701

Problema #8

Escriba un algoritmo que determine si un númeroleído es mayor o si es menor que 50.

Page 24: ESTRUCTURAS ALTERNATIVAS Práctica #5 ESTRUCTURAS ALTERNATIVAS Grupo 1IL-701

/*Definicion de la Clase*/Clase Deter_num {

/*Declaracion de Variables*/Privado flotante n

/*Metodos de la Clase*/Publico void asignar_valor(flotante num) {n=num}Publico flotante comp_valor() {si (n>50)

Entonces Visualizar (n, “es mayor que 50”) Si (n<50) Visualizar (n, ”es menor que 50”) Si (n=50) Visualizar (n, “es igual a 50”)}}

Page 25: ESTRUCTURAS ALTERNATIVAS Práctica #5 ESTRUCTURAS ALTERNATIVAS Grupo 1IL-701

INICIO

/*Declaracion de variables*/Flotante num

/*Se crea el objeto*/ Deter_num obj_num

/*Se crea el objeto mediante valores leidos*/ Visualizar (“ Introduzca el numero”) Leer (num)

Obj_num.asignar_valor(num)Obj_num.comp_valor()

FIN

Page 26: ESTRUCTURAS ALTERNATIVAS Práctica #5 ESTRUCTURAS ALTERNATIVAS Grupo 1IL-701

Problema #9

Escriba un algoritmo que divida dos números de formareal. Verifique que antes si la división se puede realizar,de lo contrario envié un mensaje de división entre ceroes invalida.

Page 27: ESTRUCTURAS ALTERNATIVAS Práctica #5 ESTRUCTURAS ALTERNATIVAS Grupo 1IL-701

/* Calcula division de dos numeros reales*/Clase Division {

/* Declaración de las variables */ privado flotante dids, didd

/* Métodos*/publico void dar_valor(flotante D, flotante AD) {

dids=dvdidd=ds }

Publico flotante cal_div() {flotante rd

/* Determina el valor , si es 0 es invalido*/Si ( dids >= didd ) Entonces rd = dids/didd De Otro Modo

Visualizar(“El resultado es invalida”) retornar rd}}

Page 28: ESTRUCTURAS ALTERNATIVAS Práctica #5 ESTRUCTURAS ALTERNATIVAS Grupo 1IL-701

INICIO

/* Declara las variables */flotante D, AD, div

/*crea el objeto*/Division obj_reto

/* Entrada de los datos */Visualizar (“Introduzca los números que deseas dividir”)Leer(D, AD)obj_reto.asignar_valor(D, AD)

/*Mensaje de calcular division*/div=obj_reto.cal_div( )

/* salida */Visualizar(“El salario es:”, div)

FIN

Page 29: ESTRUCTURAS ALTERNATIVAS Práctica #5 ESTRUCTURAS ALTERNATIVAS Grupo 1IL-701

Problema #10

Escriba un algoritmo que calcule el salario bruto deun empleado y determine si éste gana más de$500.00, para recibir un incentivo del 10%, de locontrario recibe un incentivo del 15% adicional.

Page 30: ESTRUCTURAS ALTERNATIVAS Práctica #5 ESTRUCTURAS ALTERNATIVAS Grupo 1IL-701

Clase Salario_bruto

{ Privado flotante ht,shPublico void asignar_valor(flotante h_trabajo, flotante salario_h )

{ ht=h_trabajosh=salario_h}

publico flotante calcular_salario()

{ flotante salretornar sal}

Page 31: ESTRUCTURAS ALTERNATIVAS Práctica #5 ESTRUCTURAS ALTERNATIVAS Grupo 1IL-701

INICIO

flotante h_trabajo, salario_h Salario_bruto obj_sb

Visualizar (“Entre las horas trabajadas y el salario por hora”) Leer(h_trabajo, salario_hora)

Si(Salario_bruto>500)obj_sb.asignar(h_trabajo, salario_h)

Entonces {sal= ht*sh+10% De otro modosal= ht*sh +15%

Visualizar(“El salario es”,obj_sb.calcular_salario())}

FIN