Ejercicio de las calculadoras.. Un ciclo
-
Upload
erysintroduccion -
Category
Education
-
view
424 -
download
3
Transcript of Ejercicio de las calculadoras.. Un ciclo
Introducción a la ComputaciónIntroducción a la Computación
Profesores: Erys PiñeroProfesores: Erys Piñero Vladimir CamacaroVladimir Camacaro
19/11/1419/11/14 11Profesores: Vladimir Camacaro y Erys PiñeroProfesores: Vladimir Camacaro y Erys Piñero
UNIDAD VIUNIDAD VI
Desarrollo de algoritmos orientados a Desarrollo de algoritmos orientados a objetos con estructuras iterativas o objetos con estructuras iterativas o
repetitivas simples.repetitivas simples.
19/11/1419/11/14 22Profesores: Vladimir Camacaro y Erys PiñeroProfesores: Vladimir Camacaro y Erys Piñero
Ejercicio Ejercicio
En una calculadora, dados 50 números En una calculadora, dados 50 números enteros positivos. Calcular: La suma de enteros positivos. Calcular: La suma de ellos, cuantos son pares y cuantos ellos, cuantos son pares y cuantos impares.impares.
19/11/1419/11/14 33Profesores: Vladimir Camacaro y Erys PiñeroProfesores: Vladimir Camacaro y Erys Piñero
AnálisisAnálisis
ListaLista ClasificaciónClasificaciónValor------------------------------------Valor------------------------------------ Atributo/Numero Atributo/NumeroNumero -------------------------------Numero ------------------------------- Clase Clase
Calculadora---------------------------Calculadora--------------------------- Clase ClaseCalcular la Suma--------------------Calcular la Suma-------------------- Método/Calculadora Método/CalculadoraContar Par e Impar------------------Contar Par e Impar------------------ Método/Calculadora Método/Calculadora
19/11/1419/11/14 44Profesores: Vladimir Camacaro y Erys PiñeroProfesores: Vladimir Camacaro y Erys Piñero
AnálisisAnálisis
f.u. 1) Inicializar(TotalSuma, CantPares, CantImpares)f.u. 1) Inicializar(TotalSuma, CantPares, CantImpares)f.m. 2) Leer (valor)f.m. 2) Leer (valor)f.m. 3) Acumular el valor (Sumar) f.m. 3) Acumular el valor (Sumar) TotalSuma ← TotalSuma+ValorTotalSuma ← TotalSuma+Valorf.m. 4) Contar según sea el caso Par o Impar (ParImpar)f.m. 4) Contar según sea el caso Par o Impar (ParImpar) si (Valor % 2 =0)si (Valor % 2 =0) CantPares ← CantPares + 1CantPares ← CantPares + 1 sino CantImpares ← CantImpares + 1sino CantImpares ← CantImpares + 1f.u. 5) Imprimir TotalSuma, CantPares, CantImparesf.u. 5) Imprimir TotalSuma, CantPares, CantImpares
19/11/1419/11/14 55Profesores: Vladimir Camacaro y Erys PiñeroProfesores: Vladimir Camacaro y Erys Piñero
AnálisisAnálisis
Diagrama: Diagrama: 1 1 repetir para(entero Irepetir para(entero I1; I<=50; I1; I<=50; II+1)I+1) 22 33 44 55
234
19/11/1419/11/14 66Profesores: Vladimir Camacaro y Erys PiñeroProfesores: Vladimir Camacaro y Erys Piñero
Diseño de la estructura de la clase Diseño de la estructura de la clase NumeroNumero
NumeroNumero
entero Valor entero Valor
AsignarValor(entero ↓Val)AsignarValor(entero ↓Val)
entero SacarValor() entero SacarValor()
19/11/1419/11/14 77Profesores: Vladimir Camacaro y Erys PiñeroProfesores: Vladimir Camacaro y Erys Piñero
Diseño de la estructura de la clase Diseño de la estructura de la clase CalculadoraCalculadora
CalculadoraCalculadora
entero TotalSumaentero TotalSumaentero CantParesentero CantParesentero CantImpares entero CantImpares Inicializar()Inicializar()entero SacarTotalSuma()entero SacarTotalSuma()entero SacarCantParesl()entero SacarCantParesl()entero SacarCantImpares()entero SacarCantImpares()Sumar(Sumar(Numero↓ NumNumero↓ Num))ParImpar(ParImpar(Numero↓ NumNumero↓ Num))
19/11/1419/11/14 88Profesores: Vladimir Camacaro y Erys PiñeroProfesores: Vladimir Camacaro y Erys Piñero
// Definición de la estructura de la clase // Definición de la estructura de la clase NumeroNumero
clase Numeroclase Numero inicioinicio privado:privado: entero Valor entero Valor público:público: //Métodos para asignar o meter datos//Métodos para asignar o meter datos AsignarValor (entero ↓ Val)AsignarValor (entero ↓ Val) //Métodos para sacar datos//Métodos para sacar datos entero SacarValor ()entero SacarValor () fin // Numerofin // Numero
19/11/1419/11/14 99Profesores: Vladimir Camacaro y Erys PiñeroProfesores: Vladimir Camacaro y Erys Piñero
//Desarrollo de los métodos de la clase Número//Desarrollo de los métodos de la clase Número
Numero AsignarValor(entero ↓ Val) Numero AsignarValor(entero ↓ Val)
inicioinicio
Valor ← ValValor ← Val
finfin
real Numero SacarValor() real Numero SacarValor()
inicioinicio
retornar Valor retornar Valor
finfin19/11/1419/11/14 1010Profesores: Vladimir Camacaro y Erys PiñeroProfesores: Vladimir Camacaro y Erys Piñero
clase Calculadoraclase Calculadora inicioinicio privado:privado: entero TotalSuma, CantPares, CantImpares entero TotalSuma, CantPares, CantImpares público:público: //Métodos para inicializar datos//Métodos para inicializar datos Inicializar ()Inicializar () //Métodos para sacar datos//Métodos para sacar datos entero SacarTotalSuma()entero SacarTotalSuma() entero SacarCantPares()entero SacarCantPares() entero SacarCantImpares()entero SacarCantImpares() // Otros métodos propios del objeto// Otros métodos propios del objeto Sumar(Sumar(Numero↓ NumNumero↓ Num)) ParImpar(ParImpar(Numero↓ NumNumero↓ Num)) fin // Calculadorafin // Calculadora
19/11/1419/11/14 1111Profesores: Vladimir Camacaro y Erys PiñeroProfesores: Vladimir Camacaro y Erys Piñero
//Desarrollo de los métodos de la clase Calculadora//Desarrollo de los métodos de la clase CalculadoraCalculadora Inicializar ()Calculadora Inicializar () inicioinicio TotalSuma ← 0TotalSuma ← 0 CantPares← 0CantPares← 0 CantImpares ← 0CantImpares ← 0 finfinentero Calculadora SacarTotalSuma()entero Calculadora SacarTotalSuma() inicioinicio retornar TotalSumaretornar TotalSuma finfinentero Calculadora SacarCantPares()entero Calculadora SacarCantPares() inicioinicio retornar CantParesretornar CantPares finfinentero Calculadora SacarCantImpares()entero Calculadora SacarCantImpares() inicioinicio retornar CantImparesretornar CantImpares fin fin
19/11/1419/11/14 1212Profesores: Vladimir Camacaro y Erys PiñeroProfesores: Vladimir Camacaro y Erys Piñero
Calculadora Sumar(Calculadora Sumar(Numero ↓ NumNumero ↓ Num))
inicioinicio
TotalSuma ← TotalSuma + TotalSuma ← TotalSuma + Num.SacarValor()Num.SacarValor()
finfin
Calculadora ParImpar(Calculadora ParImpar(Numero ↓ NumNumero ↓ Num))
inicioinicio
si (si (Num.SacarValor()Num.SacarValor() % 2 =0) % 2 =0)
CantPares ← CantPares + 1CantPares ← CantPares + 1
sino CantImpares ← CantImpares + 1sino CantImpares ← CantImpares + 1
finfin
19/11/1419/11/14 1313Profesores: Vladimir Camacaro y Erys PiñeroProfesores: Vladimir Camacaro y Erys Piñero
// Programa de aplicación// Programa de aplicación principal( )principal( ) inicioinicio Numero NumNumero Num Calculadora CalcCalculadora Calc //Inicializar contadores y acumuladores//Inicializar contadores y acumuladores Calc.Inicializar()Calc.Inicializar() // ciclo // ciclo repetir para (entero I←1; I<=50 ; I←I+1)repetir para (entero I←1; I<=50 ; I←I+1) inicioinicio IntrefazEntrada(Num)IntrefazEntrada(Num) Calc.Sumar(Calc.Sumar(NumNum)) Calc.ParImpar(Calc.ParImpar(NumNum)) finfin // Impresión de resultados// Impresión de resultados InterfazSalida(Calc)InterfazSalida(Calc) finfin
19/11/1419/11/14 1414Profesores: Vladimir Camacaro y Erys PiñeroProfesores: Vladimir Camacaro y Erys Piñero
InterfazEntrada(NumeroInterfazEntrada(Numero ↑ ↑ Num) Num) inicioinicio entero Valentero Val escribir “Escriba el numero entero positivo”escribir “Escriba el numero entero positivo” leer Valleer Val Num.AsignarValor(Val)Num.AsignarValor(Val) finfin
InterfazSalida(Calculadora ↓ Calc)InterfazSalida(Calculadora ↓ Calc) inicioinicio escribir “ La suma de los 50 números es “ Calc.SacarTotalSuma()escribir “ La suma de los 50 números es “ Calc.SacarTotalSuma() escribir “ Cantidad de números pares “ Calc.SacarCantPares()escribir “ Cantidad de números pares “ Calc.SacarCantPares() escribir “ Cantidad de números Impares “ Calc.SacarCantImpares()escribir “ Cantidad de números Impares “ Calc.SacarCantImpares() finfin
19/11/1419/11/14 1515Profesores: Vladimir Camacaro y Erys PiñeroProfesores: Vladimir Camacaro y Erys Piñero