SlideShare una empresa de Scribd logo
1 de 18
Desarrollo de una calculadora
("BaseCalc") para operar en números
de cualquier base en el dispositivo
"iPhone".
Director:
Calderón Almendros,
Julián
Autor:
Lora Aranda,
Octavio
Universidad de Málaga
Proyecto Fin de Carrera:
Departamento de Tecnología Electrónica
Propósito
aplicación para iPhone
iOS 5 y posteriores (Sistema operativo móvil de
Apple Inc.)
librería "CSzVarNum"
Calculadora de números en distinta base
Librería que permite operar con números
en distinta base (c++)
Objetivos
Tiempo de ejecución
Manual de usuario
Intérprete
Interfaz gráfica táctil
Solución de problemas en "CSzVarNum"
Motivaciones
Académicas
Personales
Obtención del título de ingeniero técnico industrial, especialidad
electrónica industrial
Poner en práctica los conocimientos y habilidades adquiridas
Inmersión en nuevos campos (Objective-C)
Proporcionar una herramienta para la representación de números
Profesionales
17.3
%
0%
iOS acapara un 17,3% de la cuota
global de mercado (Fuente *IDC)
No existe una aplicación similar en la
App Store ni en Google Play
Mercado en Auge
Calculadora
operaciones con números en distinta base
tipos de números:
Dig_t: un dígito en base desde 0 a 256
Pardigs_t: un par de dígitos en base desde 0 a 256
Spardigs_t: un par de dígitos con signo en base desde 0 a 256
aritméticas (+,-,*,/,%)
comparación (>,<,>=,<=)
Complementación
representación numérica:
Complemento a la base
Magnitud y signo Complemento a la base
Dígito en base B: Lista de dígitos en base 10
facilidad para las comparaciones:
M&S C_B
Representación de Numeros
Model-View-Controller
Nuestra aplicación se basa en el modelo MVC
Model: Incluye los datos y su manipulación
View:Interfaz de usuario
COntroller: Coordina las dos partes anteriores
Estas partes son independientes
Archivos
ViewController y SecondViewController
.h = Archivo de cabecera
..MM=Archivo de implementación.m=Archivo de implementación
.storyboard= Interfaz gráfica
*AppDelegate= Responsable de los procesos
Dificultades y soluciones
Tiempos de Trabajo
Intérprete
Flex y Bison
Sentencias en objective-C
Tiempo de compilación
Tiempo de ejecución
Interfaz
Interfaz gráfica táctil
Sentencias en objective-C
Creación del tipo Variant
Tipo Variant
“Wrapper Class”
Problema: No son tipos puros de c++, se requiere la base en tiempo
de compilación
Redefinir una interfaz pobre o compleja
Permitir a códigos incompatibles trabajar juntos
Interoperabilidad en tiempo de ejecución
Plantillas para hacer tipos
Solución: Se realiza un envoltorio de la librería.
una plantilla a plantilla que genera los tipos que necesitamos
Todo está envuelto mediante la clase Union_Type
Intérprete
Gestiona la entrada recibida por el usuario
Tipo de dato a utilizar:
Mensajes de error
sentencias en objective-C
Dig_t: Primer botón igual
Operador incorrecto
Spardigs_t:Segundo botón igual y SPD= ON
pardigs_t:Segundo botón igual y SPD= OFF
Ningún dato introducido
Dígitos incorrectos
base incorrecta [2-255]
Interfaz Gráfica Táctil
Icono
Lanzamiento de la aplicación desde el escritorio del iPhone.
El dispositivo móvil iphone recibe prácticamente todas las ordenes desde
una pantalla táctil capacitiva capaz de comprender gestos complejos.
Pantalla de lanzamiento
Pantalla mientras la aplicación se ha lanzado y cargado
correctamente
Vista
Interfaz Gráfica Táctil
S-Pdig_t
Display de resultados
Help : Abre el manual
SPD Switch: permite el uso del tipo
Spardigs_t
Dig_t
campos de texto editables
Saltar de un campo a otro
Devolver el teclado pulsando en la
pantalla
El teclado de puntuación cuenta con
la tecla Done
Recepción de datos
Desplegar el teclado
Tutorial
Conclusiones
Tiempos de trabajo
Prototipo para android
Tamaño (2.1 MB)
Nuevos tipos de datos
Lineas futuras

Más contenido relacionado

La actualidad más candente

TCAIC II - Trabajo Práctico Modelo Nº 01 - Bases de Datos con MS Access
TCAIC II - Trabajo Práctico Modelo Nº 01 - Bases de Datos con MS AccessTCAIC II - Trabajo Práctico Modelo Nº 01 - Bases de Datos con MS Access
TCAIC II - Trabajo Práctico Modelo Nº 01 - Bases de Datos con MS Accessmnllorente
 
Ejercicios con Funciones en programación I C++
Ejercicios con Funciones en programación I C++Ejercicios con Funciones en programación I C++
Ejercicios con Funciones en programación I C++Carlos Aviles Galeas
 
Lenguaje de programación
Lenguaje de programaciónLenguaje de programación
Lenguaje de programaciónNorma Vaquilema
 
Presentación12
Presentación12Presentación12
Presentación12Oscar Vela
 
Costes del desarrollo de software
Costes del desarrollo de softwareCostes del desarrollo de software
Costes del desarrollo de softwareWilber Vidm
 

La actualidad más candente (11)

TCAIC II - Trabajo Práctico Modelo Nº 01 - Bases de Datos con MS Access
TCAIC II - Trabajo Práctico Modelo Nº 01 - Bases de Datos con MS AccessTCAIC II - Trabajo Práctico Modelo Nº 01 - Bases de Datos con MS Access
TCAIC II - Trabajo Práctico Modelo Nº 01 - Bases de Datos con MS Access
 
23
2323
23
 
Ejercicios con Funciones en programación I C++
Ejercicios con Funciones en programación I C++Ejercicios con Funciones en programación I C++
Ejercicios con Funciones en programación I C++
 
Programación en C++
Programación en C++Programación en C++
Programación en C++
 
Lenguaje de programación
Lenguaje de programaciónLenguaje de programación
Lenguaje de programación
 
Trabajo de informatica
Trabajo de informaticaTrabajo de informatica
Trabajo de informatica
 
Programa5
Programa5Programa5
Programa5
 
Presentación12
Presentación12Presentación12
Presentación12
 
Cuestionario de evaluacion UN3
Cuestionario de evaluacion UN3Cuestionario de evaluacion UN3
Cuestionario de evaluacion UN3
 
Costes del desarrollo de software
Costes del desarrollo de softwareCostes del desarrollo de software
Costes del desarrollo de software
 
Tema 02 secuencial
Tema 02 secuencialTema 02 secuencial
Tema 02 secuencial
 

Destacado

Konsep Design Renovasi Masjid RS Fatmawati
Konsep Design Renovasi Masjid RS Fatmawati Konsep Design Renovasi Masjid RS Fatmawati
Konsep Design Renovasi Masjid RS Fatmawati rumahSKETCH IDea
 
Plongée à nouméa !!!
Plongée à nouméa !!!Plongée à nouméa !!!
Plongée à nouméa !!!Denis Papy
 
Бочко - моето бебе и аз
Бочко - моето бебе и азБочко - моето бебе и аз
Бочко - моето бебе и азBochko
 
Work Experiences in ChinaTMN
Work Experiences in ChinaTMNWork Experiences in ChinaTMN
Work Experiences in ChinaTMNZhijie Li
 
Building a World-Class Proactive Integrated Security and Network Ops Center
Building a World-Class Proactive Integrated Security and Network Ops CenterBuilding a World-Class Proactive Integrated Security and Network Ops Center
Building a World-Class Proactive Integrated Security and Network Ops CenterPriyanka Aash
 
網路販酒配套措施簡報
網路販酒配套措施簡報網路販酒配套措施簡報
網路販酒配套措施簡報vTaiwan.tw
 
Semana del 21 al 27 de marzo
Semana del 21 al 27 de marzoSemana del 21 al 27 de marzo
Semana del 21 al 27 de marzoSan José Ares
 

Destacado (11)

Cap 2
Cap 2Cap 2
Cap 2
 
Konsep Design Renovasi Masjid RS Fatmawati
Konsep Design Renovasi Masjid RS Fatmawati Konsep Design Renovasi Masjid RS Fatmawati
Konsep Design Renovasi Masjid RS Fatmawati
 
Plongée à nouméa !!!
Plongée à nouméa !!!Plongée à nouméa !!!
Plongée à nouméa !!!
 
Бочко - моето бебе и аз
Бочко - моето бебе и азБочко - моето бебе и аз
Бочко - моето бебе и аз
 
Work Experiences in ChinaTMN
Work Experiences in ChinaTMNWork Experiences in ChinaTMN
Work Experiences in ChinaTMN
 
portfolio_digital_pages
portfolio_digital_pagesportfolio_digital_pages
portfolio_digital_pages
 
8085 instruction-set new
8085 instruction-set new8085 instruction-set new
8085 instruction-set new
 
Building a World-Class Proactive Integrated Security and Network Ops Center
Building a World-Class Proactive Integrated Security and Network Ops CenterBuilding a World-Class Proactive Integrated Security and Network Ops Center
Building a World-Class Proactive Integrated Security and Network Ops Center
 
網路販酒配套措施簡報
網路販酒配套措施簡報網路販酒配套措施簡報
網路販酒配套措施簡報
 
Semana del 21 al 27 de marzo
Semana del 21 al 27 de marzoSemana del 21 al 27 de marzo
Semana del 21 al 27 de marzo
 
Folleto padres 3 años..2012 13
Folleto padres 3 años..2012 13Folleto padres 3 años..2012 13
Folleto padres 3 años..2012 13
 

Similar a sdsd

Algoritmos, programas, compiladores y lenguajes de programacion
Algoritmos, programas, compiladores y lenguajes de programacionAlgoritmos, programas, compiladores y lenguajes de programacion
Algoritmos, programas, compiladores y lenguajes de programacionBoris Salleg
 
Practicas de Visual Basic 6
Practicas de Visual Basic 6Practicas de Visual Basic 6
Practicas de Visual Basic 6Brenda Roque
 
C sharp manual[1]
C sharp manual[1]C sharp manual[1]
C sharp manual[1]Kalizbeth
 
computación e infomatica
computación e infomaticacomputación e infomatica
computación e infomaticanawuel
 
Vbnet2010 ejerciciosdeconsola
Vbnet2010 ejerciciosdeconsolaVbnet2010 ejerciciosdeconsola
Vbnet2010 ejerciciosdeconsolaVAOC1984
 
3 Conceptos progamacion-tema3
3 Conceptos progamacion-tema33 Conceptos progamacion-tema3
3 Conceptos progamacion-tema3Elba Sepúlveda
 
Plataformas tecnologicas introduccion visual studio clase 1 - 4
Plataformas tecnologicas introduccion visual studio   clase 1 - 4Plataformas tecnologicas introduccion visual studio   clase 1 - 4
Plataformas tecnologicas introduccion visual studio clase 1 - 4Richard Eliseo Mendoza Gafaro
 
Librovisual basic 4to final2 2014
Librovisual basic 4to final2 2014Librovisual basic 4to final2 2014
Librovisual basic 4to final2 2014UNIVERSIDAD
 
Fundamentos de Visual Basic
Fundamentos de Visual Basic Fundamentos de Visual Basic
Fundamentos de Visual Basic eilynvergara
 
INTRODUCCION A LA PROGRAMACION 2.0.pptx
INTRODUCCION A LA PROGRAMACION 2.0.pptxINTRODUCCION A LA PROGRAMACION 2.0.pptx
INTRODUCCION A LA PROGRAMACION 2.0.pptxcecilia388552
 

Similar a sdsd (20)

Algoritmos, programas, compiladores y lenguajes de programacion
Algoritmos, programas, compiladores y lenguajes de programacionAlgoritmos, programas, compiladores y lenguajes de programacion
Algoritmos, programas, compiladores y lenguajes de programacion
 
Practicas de Visual Basic 6
Practicas de Visual Basic 6Practicas de Visual Basic 6
Practicas de Visual Basic 6
 
C sharp manual
C sharp manualC sharp manual
C sharp manual
 
C sharp manual
C sharp manualC sharp manual
C sharp manual
 
C sharp manual
C sharp manualC sharp manual
C sharp manual
 
C sharp manual[1]
C sharp manual[1]C sharp manual[1]
C sharp manual[1]
 
computación e infomatica
computación e infomaticacomputación e infomatica
computación e infomatica
 
Vbnet2010 ejerciciosdeconsola
Vbnet2010 ejerciciosdeconsolaVbnet2010 ejerciciosdeconsola
Vbnet2010 ejerciciosdeconsola
 
3 Conceptos progamacion-tema3
3 Conceptos progamacion-tema33 Conceptos progamacion-tema3
3 Conceptos progamacion-tema3
 
El mundo del lenguaje c++
El mundo del lenguaje c++El mundo del lenguaje c++
El mundo del lenguaje c++
 
Plataformas tecnologicas introduccion visual studio clase 1 - 4
Plataformas tecnologicas introduccion visual studio   clase 1 - 4Plataformas tecnologicas introduccion visual studio   clase 1 - 4
Plataformas tecnologicas introduccion visual studio clase 1 - 4
 
Programación 10%
Programación 10%Programación 10%
Programación 10%
 
NIVEL DE PROGRAMACIÓN WEB INTRODUCCIÓN
NIVEL DE PROGRAMACIÓN WEB INTRODUCCIÓNNIVEL DE PROGRAMACIÓN WEB INTRODUCCIÓN
NIVEL DE PROGRAMACIÓN WEB INTRODUCCIÓN
 
Visual basic
Visual basicVisual basic
Visual basic
 
Librovisual basic 4to final2 2014
Librovisual basic 4to final2 2014Librovisual basic 4to final2 2014
Librovisual basic 4to final2 2014
 
Fundamentos de Visual Basic
Fundamentos de Visual Basic Fundamentos de Visual Basic
Fundamentos de Visual Basic
 
INTRODUCCION A LA PROGRAMACION 2.0.pptx
INTRODUCCION A LA PROGRAMACION 2.0.pptxINTRODUCCION A LA PROGRAMACION 2.0.pptx
INTRODUCCION A LA PROGRAMACION 2.0.pptx
 
Programación.pptx
Programación.pptxProgramación.pptx
Programación.pptx
 
Proyecto
ProyectoProyecto
Proyecto
 
Proyecto
ProyectoProyecto
Proyecto
 

sdsd

  • 1. Desarrollo de una calculadora ("BaseCalc") para operar en números de cualquier base en el dispositivo "iPhone". Director: Calderón Almendros, Julián Autor: Lora Aranda, Octavio Universidad de Málaga Proyecto Fin de Carrera: Departamento de Tecnología Electrónica
  • 2. Propósito aplicación para iPhone iOS 5 y posteriores (Sistema operativo móvil de Apple Inc.) librería "CSzVarNum" Calculadora de números en distinta base Librería que permite operar con números en distinta base (c++)
  • 3. Objetivos Tiempo de ejecución Manual de usuario Intérprete Interfaz gráfica táctil Solución de problemas en "CSzVarNum"
  • 4. Motivaciones Académicas Personales Obtención del título de ingeniero técnico industrial, especialidad electrónica industrial Poner en práctica los conocimientos y habilidades adquiridas Inmersión en nuevos campos (Objective-C) Proporcionar una herramienta para la representación de números
  • 5. Profesionales 17.3 % 0% iOS acapara un 17,3% de la cuota global de mercado (Fuente *IDC) No existe una aplicación similar en la App Store ni en Google Play Mercado en Auge
  • 6. Calculadora operaciones con números en distinta base tipos de números: Dig_t: un dígito en base desde 0 a 256 Pardigs_t: un par de dígitos en base desde 0 a 256 Spardigs_t: un par de dígitos con signo en base desde 0 a 256 aritméticas (+,-,*,/,%) comparación (>,<,>=,<=) Complementación representación numérica: Complemento a la base
  • 7. Magnitud y signo Complemento a la base Dígito en base B: Lista de dígitos en base 10 facilidad para las comparaciones: M&S C_B Representación de Numeros
  • 8. Model-View-Controller Nuestra aplicación se basa en el modelo MVC Model: Incluye los datos y su manipulación View:Interfaz de usuario COntroller: Coordina las dos partes anteriores Estas partes son independientes
  • 9. Archivos ViewController y SecondViewController .h = Archivo de cabecera ..MM=Archivo de implementación.m=Archivo de implementación .storyboard= Interfaz gráfica *AppDelegate= Responsable de los procesos
  • 10. Dificultades y soluciones Tiempos de Trabajo Intérprete Flex y Bison Sentencias en objective-C Tiempo de compilación Tiempo de ejecución Interfaz Interfaz gráfica táctil Sentencias en objective-C Creación del tipo Variant
  • 11. Tipo Variant “Wrapper Class” Problema: No son tipos puros de c++, se requiere la base en tiempo de compilación Redefinir una interfaz pobre o compleja Permitir a códigos incompatibles trabajar juntos Interoperabilidad en tiempo de ejecución Plantillas para hacer tipos Solución: Se realiza un envoltorio de la librería. una plantilla a plantilla que genera los tipos que necesitamos Todo está envuelto mediante la clase Union_Type
  • 12. Intérprete Gestiona la entrada recibida por el usuario Tipo de dato a utilizar: Mensajes de error sentencias en objective-C Dig_t: Primer botón igual Operador incorrecto Spardigs_t:Segundo botón igual y SPD= ON pardigs_t:Segundo botón igual y SPD= OFF Ningún dato introducido Dígitos incorrectos base incorrecta [2-255]
  • 13. Interfaz Gráfica Táctil Icono Lanzamiento de la aplicación desde el escritorio del iPhone. El dispositivo móvil iphone recibe prácticamente todas las ordenes desde una pantalla táctil capacitiva capaz de comprender gestos complejos.
  • 14. Pantalla de lanzamiento Pantalla mientras la aplicación se ha lanzado y cargado correctamente
  • 15. Vista Interfaz Gráfica Táctil S-Pdig_t Display de resultados Help : Abre el manual SPD Switch: permite el uso del tipo Spardigs_t Dig_t
  • 16. campos de texto editables Saltar de un campo a otro Devolver el teclado pulsando en la pantalla El teclado de puntuación cuenta con la tecla Done Recepción de datos Desplegar el teclado
  • 18. Conclusiones Tiempos de trabajo Prototipo para android Tamaño (2.1 MB) Nuevos tipos de datos Lineas futuras