ejercicio de las calculadoras.. un ciclo

Post on 11-Jul-2015

424 Views

Category:

Education

3 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

top related