45
Unidad 1. fundamentos de OO MISD Claudia Rodríguez Lemus Instituto Tecnológico de Roque

Unidad 1. fundamentos de OOtigger.itc.mx/conacad/cargas/ROLC7107155N7/25/Unidad 11.pdf · 2019. 8. 6. · manejaban en la Prog. Estructurada. 1.2 Conceptos Fundamentales de POO Tipos

  • Upload
    others

  • View
    9

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Unidad 1. fundamentos de OOtigger.itc.mx/conacad/cargas/ROLC7107155N7/25/Unidad 11.pdf · 2019. 8. 6. · manejaban en la Prog. Estructurada. 1.2 Conceptos Fundamentales de POO Tipos

Unidad 1. fundamentos de OO

MISD Claudia Rodríguez Lemus

Instituto Tecnológico de Roque

Page 2: Unidad 1. fundamentos de OOtigger.itc.mx/conacad/cargas/ROLC7107155N7/25/Unidad 11.pdf · 2019. 8. 6. · manejaban en la Prog. Estructurada. 1.2 Conceptos Fundamentales de POO Tipos

Objetivo

• Analizar y solucionar problemas informáticos y representar su solución mediante herramientas de software orientado a objetos.

Page 3: Unidad 1. fundamentos de OOtigger.itc.mx/conacad/cargas/ROLC7107155N7/25/Unidad 11.pdf · 2019. 8. 6. · manejaban en la Prog. Estructurada. 1.2 Conceptos Fundamentales de POO Tipos

Programa

• Unidad I: Fundamentos de Orientado a Objetos

• Unidad II: Metodología de Solución de Problemas

• Unidad III: Herramientas de Programación

• Unidad IV: Programación Orientada a Objetos y Modelado

• Unidad V: Implementación Orientada a Objetos

• Unidad VI: Modularidad

Page 4: Unidad 1. fundamentos de OOtigger.itc.mx/conacad/cargas/ROLC7107155N7/25/Unidad 11.pdf · 2019. 8. 6. · manejaban en la Prog. Estructurada. 1.2 Conceptos Fundamentales de POO Tipos

Bibliografía

• Metodología de la Programación Ed: Alfa Omega Aut: Osvaldo Cairó • Fundamentos de Programación Ed: Mc Graw hill Aut: Luis Joyanes • Fundamentos de Programación c/c++ Alfa Omega Ernesto Peñaloza Romero

Page 5: Unidad 1. fundamentos de OOtigger.itc.mx/conacad/cargas/ROLC7107155N7/25/Unidad 11.pdf · 2019. 8. 6. · manejaban en la Prog. Estructurada. 1.2 Conceptos Fundamentales de POO Tipos

Bibliografía

• Programación Estructurada en Lenguaje C

Alfa Omega

Leobardo López Román

• Fundamentos de Programación

Prentice Hall

Jorge A. Villalobos y Rubby Casallas

Page 6: Unidad 1. fundamentos de OOtigger.itc.mx/conacad/cargas/ROLC7107155N7/25/Unidad 11.pdf · 2019. 8. 6. · manejaban en la Prog. Estructurada. 1.2 Conceptos Fundamentales de POO Tipos

1.1 Evolución de la Programación

Evolución de los Paradigmas de Programación

• Programación Lineal

• Programación Estructurada

• Programación Orientada a Objetos

Page 7: Unidad 1. fundamentos de OOtigger.itc.mx/conacad/cargas/ROLC7107155N7/25/Unidad 11.pdf · 2019. 8. 6. · manejaban en la Prog. Estructurada. 1.2 Conceptos Fundamentales de POO Tipos

1.1 Evolución de la Programación

a) Programación Lineal Al desarrollarse las primeras computadoras electrónicas, se vio la necesidad de programarlas, es decir, de almacenar en memoria la información sobre la tarea que iban a ejecutar. Las primeras se usaban como calculadoras simples; se les indicaban los pasos de cálculo, uno por uno.

John Von Neumann desarrolló el modelo que lleva su nombre, para describir este concepto de "programa almacenado". En este modelo, se tiene una abstracción de la memoria como un conjunto de celdas, que almacenan simplemente números. Estos números pueden representar dos cosas: los datos, sobre los que va a trabajar el programa; o bien, el programa en sí. Leng. Máquina

Page 8: Unidad 1. fundamentos de OOtigger.itc.mx/conacad/cargas/ROLC7107155N7/25/Unidad 11.pdf · 2019. 8. 6. · manejaban en la Prog. Estructurada. 1.2 Conceptos Fundamentales de POO Tipos

a) Programación Lineal Lenguaje Ensamblador

Se tenía el problema de representar las acciones que iba a realizar la computadora, y que la memoria, al estar compuesta por switches correspondientes al concepto de bit, solamente nos permitía almacenar números binarios.

La solución que se tomó fue la siguiente: a cada acción que sea capaz de realizar nuestra computadora, asociarle un número, que será su código de operación (opcode) . Por ejemplo, una calculadora programable simple podría asignar los opcodes :

1 = SUMA, 2 = RESTA, 3 = MULTIPLICA, 4 = DIVIDE.

Page 9: Unidad 1. fundamentos de OOtigger.itc.mx/conacad/cargas/ROLC7107155N7/25/Unidad 11.pdf · 2019. 8. 6. · manejaban en la Prog. Estructurada. 1.2 Conceptos Fundamentales de POO Tipos

Lenguaje Ensamblador: OpCode

Supongamos que queremos realizar la operación 5 * 3 + 2, en la calculadora descrita arriba. En memoria, podríamos "escribir" el programa de la siguiente forma:

Page 10: Unidad 1. fundamentos de OOtigger.itc.mx/conacad/cargas/ROLC7107155N7/25/Unidad 11.pdf · 2019. 8. 6. · manejaban en la Prog. Estructurada. 1.2 Conceptos Fundamentales de POO Tipos

Leng. Ensamblador

El primer gran avance que se dio, fue la abstracción dada por el Lenguaje Ensamblador, y con él, el nacimiento de las primeras herramientas automáticas para generar el código máquina. Esto redujo los errores triviales, como podía ser el número que correspondía a una operación, que son sumamente engorrosos y difíciles de detectar, pero fáciles de cometer. Sin embargo, aún aquí es fácil para el programador perderse y cometer errores de lógica, pues debe bajar al nivel de la forma en que trabaja el CPU, y entender bien todo lo que sucede dentro de él.

Page 11: Unidad 1. fundamentos de OOtigger.itc.mx/conacad/cargas/ROLC7107155N7/25/Unidad 11.pdf · 2019. 8. 6. · manejaban en la Prog. Estructurada. 1.2 Conceptos Fundamentales de POO Tipos

Ejemplo de un prog. En Ensamblador

Page 12: Unidad 1. fundamentos de OOtigger.itc.mx/conacad/cargas/ROLC7107155N7/25/Unidad 11.pdf · 2019. 8. 6. · manejaban en la Prog. Estructurada. 1.2 Conceptos Fundamentales de POO Tipos

b) Programación Estructurada

Lenguajes de 3ª Generación:

Con el desarrollo en los 50s y 60s de algoritmos de más elevado nivel, y el aumento de poder del

hardware, empezaron a entrar al uso de computadoras científicos de otras ramas; ellos conocían mucho

de Física, Química y otras ramas similares, pero no de Computación, y por supuesto, les era sumamente

complicado trabajar con lenguaje Ensamblador en vez de fórmulas.

Así, nació el concepto de Lenguaje de Alto Nivel, con el primer compilador de FORTRAN (FORmula

TRANslation), que, como su nombre indica, inició como un "simple" esfuerzo de traducir un lenguaje de

fórmulas, al lenguaje ensamblador y por consiguiente al lenguaje de máquina. A partir de FORTRAN, se

han desarrollado innumerables lenguajes, que siguen el mismo concepto: buscar la mayor abstracción

posible, y facilitar la vida al programador, aumentando la productividad, encargándose los compiladores o

intérpretes de traducir el lenguaje de alto nivel, al lenguaje de computadora.

Page 13: Unidad 1. fundamentos de OOtigger.itc.mx/conacad/cargas/ROLC7107155N7/25/Unidad 11.pdf · 2019. 8. 6. · manejaban en la Prog. Estructurada. 1.2 Conceptos Fundamentales de POO Tipos

Ejemplo: Programa estructurado

Page 14: Unidad 1. fundamentos de OOtigger.itc.mx/conacad/cargas/ROLC7107155N7/25/Unidad 11.pdf · 2019. 8. 6. · manejaban en la Prog. Estructurada. 1.2 Conceptos Fundamentales de POO Tipos

c) Programación Orientada a Objetos.

Cuarta Generación:

Se parecen según las instrucciones a las de la tercera generación. Lo nuevo de estas lenguajes son conceptos como clases, objetos y eventos que permiten soluciones más fáciles y lógicos. Lenguajes como C++, java y C# se llaman lenguajes orientadas al objeto.

Los idiomas modernos, tal como C++ y Java, no sólo permite las abstracciones, sino la implementación impuesta de restricciones en abstracciones. La mayoría de los idiomas modernos son objetivas orientado, que permite que mí modele el mundo verdadero que usa mi idioma. Además, pueden limitar el acceso para modelar las restricciones de mundo verdadero en datos. La llave es que usé el término "mundo verdadero." Por la primera vez, se modela la solución en términos del problema. Se quiere que la solución sea orientado L problema, para que la solución refleje el mundo verdadero en términos de estructuras de datos y acceso a los datos. También se puede aplicar directamente y para poder modelar objetos de mundo verdadero usando las clases (en C + + o Java).

Page 15: Unidad 1. fundamentos de OOtigger.itc.mx/conacad/cargas/ROLC7107155N7/25/Unidad 11.pdf · 2019. 8. 6. · manejaban en la Prog. Estructurada. 1.2 Conceptos Fundamentales de POO Tipos

Ejemplo: Programa Orientado a Objetos

Page 16: Unidad 1. fundamentos de OOtigger.itc.mx/conacad/cargas/ROLC7107155N7/25/Unidad 11.pdf · 2019. 8. 6. · manejaban en la Prog. Estructurada. 1.2 Conceptos Fundamentales de POO Tipos

Quinta Generación

Aparecen los Lenguajes de inteligencia artificial.

Lo que veremos en el futuro es menos dependencia en el idioma, y más en el

modelado de herramientas, tal como el Lenguaje de Modelado Unificado (UML).

La salida de esta herramienta producirá mucho de nuestro código para nosotros,

producirá la arquitectura y los modelos del diseño y la estructura de nuestro

código. Esto producirá un diseño (y posiblemente código) lo que puede ser

validado por el cliente antes de completar la implementación y probar. Hoy en día

que los problemas que resolvemos diariamente llegan a ser más grandes y

nosotros tenemos cada vez menos tiempo "volver a hacer“ código. Los días de

decir, "acabamos la primer versión y el cliente ya quiere la nueva versión, deberá

pasar a la historia.

Page 17: Unidad 1. fundamentos de OOtigger.itc.mx/conacad/cargas/ROLC7107155N7/25/Unidad 11.pdf · 2019. 8. 6. · manejaban en la Prog. Estructurada. 1.2 Conceptos Fundamentales de POO Tipos

Ejemplo de un modelado

Page 18: Unidad 1. fundamentos de OOtigger.itc.mx/conacad/cargas/ROLC7107155N7/25/Unidad 11.pdf · 2019. 8. 6. · manejaban en la Prog. Estructurada. 1.2 Conceptos Fundamentales de POO Tipos
Page 19: Unidad 1. fundamentos de OOtigger.itc.mx/conacad/cargas/ROLC7107155N7/25/Unidad 11.pdf · 2019. 8. 6. · manejaban en la Prog. Estructurada. 1.2 Conceptos Fundamentales de POO Tipos

Pasos importantes en la Evolución de los lenguajes de Programación

Page 20: Unidad 1. fundamentos de OOtigger.itc.mx/conacad/cargas/ROLC7107155N7/25/Unidad 11.pdf · 2019. 8. 6. · manejaban en la Prog. Estructurada. 1.2 Conceptos Fundamentales de POO Tipos

Relación entre la P.O.O. y las otras Programaciones

• Se presenta la prog. Lineal en algunas

ocasiones

• Se utilizan las estructuras que se

manejaban en la Prog. Estructurada.

Page 21: Unidad 1. fundamentos de OOtigger.itc.mx/conacad/cargas/ROLC7107155N7/25/Unidad 11.pdf · 2019. 8. 6. · manejaban en la Prog. Estructurada. 1.2 Conceptos Fundamentales de POO Tipos

1.2 Conceptos Fundamentales de POO Tipos de Datos Abstractos

La abstracción es una de la propiedad que permite representar las características esenciales de un objeto sin preocuparse de las características no esenciales.

Un tipo de datos abstracto consiste en:

- Estructura de Datos: que almacena información para represenar un determinado concepto.

- Funcionalidad: conjunto de operaciones que se pueden realizar sobre el tipo de datos.

Sintaxis de lenguaje

- Módulos asociados a tipos de datos

- No introduce necesariamente variaciones con respecto a la programación modular

Page 22: Unidad 1. fundamentos de OOtigger.itc.mx/conacad/cargas/ROLC7107155N7/25/Unidad 11.pdf · 2019. 8. 6. · manejaban en la Prog. Estructurada. 1.2 Conceptos Fundamentales de POO Tipos

Abstracción de Datos

Page 23: Unidad 1. fundamentos de OOtigger.itc.mx/conacad/cargas/ROLC7107155N7/25/Unidad 11.pdf · 2019. 8. 6. · manejaban en la Prog. Estructurada. 1.2 Conceptos Fundamentales de POO Tipos

Abstracción de Operaciones

Page 24: Unidad 1. fundamentos de OOtigger.itc.mx/conacad/cargas/ROLC7107155N7/25/Unidad 11.pdf · 2019. 8. 6. · manejaban en la Prog. Estructurada. 1.2 Conceptos Fundamentales de POO Tipos

Ejemplo de TDA

Page 25: Unidad 1. fundamentos de OOtigger.itc.mx/conacad/cargas/ROLC7107155N7/25/Unidad 11.pdf · 2019. 8. 6. · manejaban en la Prog. Estructurada. 1.2 Conceptos Fundamentales de POO Tipos

Ventajas de un TDA

• Encapsulamiento: ocultación de la complejidad

interna y detalles de los datos y operaciones.

• Especificación: utilización del tipo de datos

independiente de su programación interna.

• Modularidad: tanto de funciones como de datos.

• Mantenimiento, facilidad para corregir o

actualizar información.

Page 26: Unidad 1. fundamentos de OOtigger.itc.mx/conacad/cargas/ROLC7107155N7/25/Unidad 11.pdf · 2019. 8. 6. · manejaban en la Prog. Estructurada. 1.2 Conceptos Fundamentales de POO Tipos

Características de la POO

Generales: » Construcción de sistemas complejos a partir de componentes.

» Modelización más fiel al mundo real.

» Estimación de reducción de 40% con respecto a la programación convencional.

El modelo objeto (Booch, 1994): » Abstracción

– Las características esenciales del objeto.

» Encapsulamiento

– El contenido de la información está oculto.

Page 27: Unidad 1. fundamentos de OOtigger.itc.mx/conacad/cargas/ROLC7107155N7/25/Unidad 11.pdf · 2019. 8. 6. · manejaban en la Prog. Estructurada. 1.2 Conceptos Fundamentales de POO Tipos

Características de la POO

» Modularidad – Subdivisión de una aplicación en otras más pequeñas (módulos).

Un módulo es un conjunto de clases

» Jerarquía – Ordenación de las abstracciones – Tipos:

Herencia (“es-un”); generalización/especialización » Herencia simple o múltiple

Agregación (“parte-de”)

» Polimorfismo – Una misma operación (método) realizada de diferente modo

comer (vaca, persona, león); clase mamífero dibujar (triángulo, cuadrado); clase figura

» Otras propiedades – concurrencia (multitarea), persistencia, uso de excepciones

Page 28: Unidad 1. fundamentos de OOtigger.itc.mx/conacad/cargas/ROLC7107155N7/25/Unidad 11.pdf · 2019. 8. 6. · manejaban en la Prog. Estructurada. 1.2 Conceptos Fundamentales de POO Tipos

Características de la POO

Soporte sintáctico explícito para la abstracción de datos.

Cambia el punto de vista: los programas son los apéndices de los datos.

Aparece un nuevo concepto: el objeto Tipos de datos abstractos con estado (atributos) y comportamiento (operaciones) propio.

Aparece el concepto de jerarquía de tipos y con esto:

• Herencia de estructura y funcionalidad

• Polimorfismo

Sintaxis del Lenguaje

• Definición de clases

• Funciones explícitamente asociadas con clases

• Creación de objetos

• Acceso a atributos por medio de la invocación de métodos

Page 29: Unidad 1. fundamentos de OOtigger.itc.mx/conacad/cargas/ROLC7107155N7/25/Unidad 11.pdf · 2019. 8. 6. · manejaban en la Prog. Estructurada. 1.2 Conceptos Fundamentales de POO Tipos

Características de la POO

Page 30: Unidad 1. fundamentos de OOtigger.itc.mx/conacad/cargas/ROLC7107155N7/25/Unidad 11.pdf · 2019. 8. 6. · manejaban en la Prog. Estructurada. 1.2 Conceptos Fundamentales de POO Tipos

Polimorfismo

• La misma acción pero de diferente forma.

• Ejemplo:

Acción: Transportarse:

Objetos que se pueden transportar:

Águila: (Ala1, Ala2, Cola)

Tigre: (Pata1, Pata2, Pata3, Pata4)

Humano: (Pie1, Pie2)

Page 31: Unidad 1. fundamentos de OOtigger.itc.mx/conacad/cargas/ROLC7107155N7/25/Unidad 11.pdf · 2019. 8. 6. · manejaban en la Prog. Estructurada. 1.2 Conceptos Fundamentales de POO Tipos

1.4 Relaciones entre clases y objetos

Principales: Clases : tipo de dato abstracto que reúne todas las características y

comportamiento comunes a un conjunto de objetos.

Objetos = atributos + métodos

Jerarquías de clases.

Relaciones: objetos compuestos.

Objetos Miembros de un objeto:

métodos : son las operaciones sobre los objetos.

datos o atributos.

Identificador del objeto: nombre de la variable

Page 32: Unidad 1. fundamentos de OOtigger.itc.mx/conacad/cargas/ROLC7107155N7/25/Unidad 11.pdf · 2019. 8. 6. · manejaban en la Prog. Estructurada. 1.2 Conceptos Fundamentales de POO Tipos

2.2 Clases

Las clases son declaraciones de objetos, también se podrían definir como abstracciones de objetos. Esto quiere decir que la definición de un objeto es la clase. Cuando programamos un objeto y definimos sus características y funcionalidades en realidad lo que estamos haciendo es programar una clase.

Page 33: Unidad 1. fundamentos de OOtigger.itc.mx/conacad/cargas/ROLC7107155N7/25/Unidad 11.pdf · 2019. 8. 6. · manejaban en la Prog. Estructurada. 1.2 Conceptos Fundamentales de POO Tipos

Tipos de Clases

Clase Abstracta: es un tipo de clase de la cual no se pueden instanciar objetos únicamente se pueden instanciar clases, es decir, una clase abstracta sólo tiene parte del comportamiento por lo tanto no puede instanciar objetos.

Clase Común: es un tipo de clase que tiene clases

antecesoras y que tiene un comportamiento específico. De una clase común se pueden instanciar objetos o instanciar otras clases.

Clase Final: es una clase tan especializada de la cual

únicamente se pueden instanciar objetos, ya que no podría tener descendencia.

Page 34: Unidad 1. fundamentos de OOtigger.itc.mx/conacad/cargas/ROLC7107155N7/25/Unidad 11.pdf · 2019. 8. 6. · manejaban en la Prog. Estructurada. 1.2 Conceptos Fundamentales de POO Tipos

Propiedades en clases

Las propiedades o atributos son las

características de los objetos. Cuando

definimos una propiedad normalmente

especificamos su nombre y su tipo. Nos

podemos hacer a la idea de que las

propiedades son algo así como variables

donde almacenamos datos relacionados

con los objetos.

Page 35: Unidad 1. fundamentos de OOtigger.itc.mx/conacad/cargas/ROLC7107155N7/25/Unidad 11.pdf · 2019. 8. 6. · manejaban en la Prog. Estructurada. 1.2 Conceptos Fundamentales de POO Tipos

Métodos en las clases

Son las funcionalidades asociadas a los

objetos. Cuando estamos programando las

clases las llamamos métodos. Los métodos

son como funciones que están asociadas a

un objeto.

Page 36: Unidad 1. fundamentos de OOtigger.itc.mx/conacad/cargas/ROLC7107155N7/25/Unidad 11.pdf · 2019. 8. 6. · manejaban en la Prog. Estructurada. 1.2 Conceptos Fundamentales de POO Tipos

Ejemplo de Jerarquía de Clases

Seres Vivos

Ovíparos Vivíparos Carnívoros

Terrestres Aéreos Acuáticos

Caninos Felinos

Perros Lobos

Cocker Labrador

Spaniel

Inglés

Bella

Abstracta

Común

Final

Objeto

Page 37: Unidad 1. fundamentos de OOtigger.itc.mx/conacad/cargas/ROLC7107155N7/25/Unidad 11.pdf · 2019. 8. 6. · manejaban en la Prog. Estructurada. 1.2 Conceptos Fundamentales de POO Tipos

Clases: Tipos de Acceso

Se refiere al tipo de permiso que una clase tiene permitido para ver su comportamiento, clasificándose como sigue:

Visibilidad pública: implica que cualquier objeto en cualquier parte puede hacer uso de aquello declarado como público, ya que está creado con ese fin.

Visibilidad privada: implica que sólo la clase puede hacer uso de ella.

Visibilidad protegida: significa que sólo la misma clase o descendencia de ésta puede utilizar aquello declarado como protegido.

Page 38: Unidad 1. fundamentos de OOtigger.itc.mx/conacad/cargas/ROLC7107155N7/25/Unidad 11.pdf · 2019. 8. 6. · manejaban en la Prog. Estructurada. 1.2 Conceptos Fundamentales de POO Tipos

1.5 Papel de Clases y Objetos Estructura Conceptual de un Objeto

• Un objeto es la instaciación de una clase

Page 39: Unidad 1. fundamentos de OOtigger.itc.mx/conacad/cargas/ROLC7107155N7/25/Unidad 11.pdf · 2019. 8. 6. · manejaban en la Prog. Estructurada. 1.2 Conceptos Fundamentales de POO Tipos

Lo más importante:

Perder el miedo a Programar

Page 40: Unidad 1. fundamentos de OOtigger.itc.mx/conacad/cargas/ROLC7107155N7/25/Unidad 11.pdf · 2019. 8. 6. · manejaban en la Prog. Estructurada. 1.2 Conceptos Fundamentales de POO Tipos

2. Metodología para la solución de Problemas

Nos basaremos en la misma metodología para resolver un problema de matemáticas:

1. Encontrar cuál es el problema: ¿Qué me están pidiendo?: -> Salida

2. Identificar los datos: ¿Qué información tengo para resolver el problema? -> Entrada

3. Determinar las fórmulas que ayudarán a resolver el problema

4. Resolver el problema.

Page 41: Unidad 1. fundamentos de OOtigger.itc.mx/conacad/cargas/ROLC7107155N7/25/Unidad 11.pdf · 2019. 8. 6. · manejaban en la Prog. Estructurada. 1.2 Conceptos Fundamentales de POO Tipos

2.1 Descripción del problema Ejercicio

• ¿Cuál es el área del triángulo con base 10 y

altura 5?

Page 42: Unidad 1. fundamentos de OOtigger.itc.mx/conacad/cargas/ROLC7107155N7/25/Unidad 11.pdf · 2019. 8. 6. · manejaban en la Prog. Estructurada. 1.2 Conceptos Fundamentales de POO Tipos

2.2 Definición de la Solución

1. Encontrar cuál es el problema: Calcular el área de un triángulo

2. Identificar los datos:

base = 10

altura = 5

3. Determinar las fórmulas:

area = base * altura / 2

4. Resolver el problema:

area = 10 * 5 / 2

Page 43: Unidad 1. fundamentos de OOtigger.itc.mx/conacad/cargas/ROLC7107155N7/25/Unidad 11.pdf · 2019. 8. 6. · manejaban en la Prog. Estructurada. 1.2 Conceptos Fundamentales de POO Tipos

2.2 Definición de la Solución

Un automóvil recorre 120 km. Con 32 litros

de gasolina. ¿Cuántos litros necesita para

recorrer 213 km.?

Page 44: Unidad 1. fundamentos de OOtigger.itc.mx/conacad/cargas/ROLC7107155N7/25/Unidad 11.pdf · 2019. 8. 6. · manejaban en la Prog. Estructurada. 1.2 Conceptos Fundamentales de POO Tipos

2.2 Definición de la Solución

1. Encontrar cuál es el problema: Calcular el total

Litros2 necesarios

2. Identificar los datos:

Si recorre Km1= 120km gasta Litros1 = 32 lts.

Quiere recorrer: Km2=213

3. Determinar las fórmulas:

Litros2 = Km2*Litros1/Km1

4. Resolver el problema:

Litros2= 213*32/120= 56.8 lts.

Page 45: Unidad 1. fundamentos de OOtigger.itc.mx/conacad/cargas/ROLC7107155N7/25/Unidad 11.pdf · 2019. 8. 6. · manejaban en la Prog. Estructurada. 1.2 Conceptos Fundamentales de POO Tipos

2.2 Definición de la Solución

• ¡Llegó Julio Regalado! Y hay descuentos dependiendo del monto de la compra. Si la compra es mayor o igual a $5,000.00, se aplica un descuento del 22%. Si la compra es menor de $5,000.00 y mayor o igual a $2,000.00, se aplica un descuento del 10% Si la compra es menor de $2,000.00, no hay descuento. Si se hizo una compra de $6,300.00; ¿cuánto debe pagar el cliente?