ejercicio de las calculadoras.. un ciclo

15
Introducción a la Computación Introducción a la Computación Profesores: Erys Piñero Profesores: Erys Piñero Vladimir Camacaro Vladimir Camacaro 19/11/14 19/11/14 1 Profesores: Vladimir Camacaro y Erys Piñero Profesores: Vladimir Camacaro y Erys Piñero

Upload: erysintroduccion

Post on 11-Jul-2015

424 views

Category:

Education


3 download

TRANSCRIPT

Page 1: 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

Page 2: Ejercicio de las calculadoras.. Un ciclo

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

Page 3: Ejercicio de las calculadoras.. Un ciclo

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

Page 4: Ejercicio de las calculadoras.. Un ciclo

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

Page 5: Ejercicio de las calculadoras.. Un ciclo

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

Page 6: Ejercicio de las calculadoras.. Un ciclo

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

Page 7: Ejercicio de las calculadoras.. Un ciclo

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

Page 8: Ejercicio de las calculadoras.. Un ciclo

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

Page 9: Ejercicio de las calculadoras.. Un ciclo

// 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

Page 10: Ejercicio de las calculadoras.. Un ciclo

//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

Page 11: Ejercicio de las calculadoras.. Un ciclo

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

Page 12: Ejercicio de las calculadoras.. Un ciclo

//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

Page 13: Ejercicio de las calculadoras.. Un ciclo

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

Page 14: Ejercicio de las calculadoras.. Un ciclo

// 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

Page 15: Ejercicio de las calculadoras.. Un ciclo

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