Documente Academic
Documente Profesional
Documente Cultură
PROPOSITO
Realizar una propuesta de trabajo al estudiante para cumplir con el tiempo independiente de la asignatura
Lógica y programación.
Núcleo CODIGO
LOGICA Y PROGRAMACION LPI24
Académico-Docente
Olga Lucia Suaza Jiménez olsuaza@une.net.co
ALGORITMOS
Para su realización tendremos en cuenta:
Lo interesante de la POO es que proporciona conceptos y herramientas con las cuales se modela y
representa el mundo real tan fielmente como sea posible.
1
INSTITUTO TECNOLÓGICO METROPOLITANO
Establecimiento Público de Educación Superior, Adscrito a la Alcaldía de Medellín
Para entender este modelo vamos a revisar los siguientes conceptos básicos iniciales:
1. objetos
Entender que es un objeto es la clave para entender cualquier lenguaje orientado a objetos.
Existen muchas definiciones que se le ha dado al objeto. Primero empecemos entendiendo que es
un objeto del mundo real. Un objeto del mundo real es cualquier cosa que vemos a nuestro alrededor.
Digamos que para leer este documento lo hacemos a través del monitor y una computadora, ambos
son objetos, al igual que nuestro teléfono celular, un árbol o un automóvil.
Todo objeto del mundo real tiene 2 componentes: características o atributos y comportamiento o
métodos.
Por ejemplo, los automóviles tienen características (marca, modelo, color, velocidad máxima, etc.) y
comportamiento (frenar, acelerar, retroceder, llenar combustible, cambiar llantas, etc.).
Los objetos de Software, al igual que los objetos del mundo real, también tienen características
(atributos) y comportamientos (métodos). Un objeto de software mantiene sus características en una
o más "variables", e implementa su comportamiento con "métodos o acciones".
Para redondear estas ideas, imaginemos que un Ford Focus color azul que corre hasta 260 km/h. Si
pasamos ese objeto del mundo real al mundo del software, tendremos un objeto Automóvil con sus
características predeterminadas:
Marca = Ford
Modelo = Focus
Color = Azul
Velocidad Máxima = 260 km/h
Placa=ADX344
Estado: Cuando a las características del objeto le ponemos valores decimos que el objeto tiene
estados. Las variables almacenan los estados de un objeto en un determinado momento.
Comportamiento: está definido por los procedimientos o métodos o acciones con que puede operar
dicho objeto, es decir que operaciones se pueden hacer con él, puede producir un cambio o
generación de un evento.
2
INSTITUTO TECNOLÓGICO METROPOLITANO
Establecimiento Público de Educación Superior, Adscrito a la Alcaldía de Medellín
2. Las clases
Una clase es la estructura de un objeto, es decir, es la unidad básica que reúne toda la
información de un objeto como son sus propiedades (atributos) y comportamiento (métodos)
en común. Las clases por sí mismas, no son más que modelos que nos servirán para crear
objetos en concreto.
En el mundo real, normalmente tenemos muchos objetos del mismo tipo. Por ejemplo, nuestro
teléfono celular es sólo uno de los miles que hay en el mundo. Si hablamos en términos de la
programación orientada a objetos, podemos decir que nuestro objeto celular es una instancia de
una clase conocida como "celular". Los celulares tienen características (marca, modelo, sistema
operativo, pantalla, teclado, etc.) y comportamientos (hacer y recibir llamadas, enviar mensajes
multimedia, transmisión de datos, etc.).
Cuando se fabrican los celulares, los fabricantes aprovechan el hecho de que los celulares comparten
esas características comunes y construyen modelos o plantillas comunes, para que a partir de esas
se puedan crear muchos equipos celulares del mismo modelo. A ese modelo o plantilla le
llamamos clase, y a los equipos que sacamos a partir de ella la llamamos objetos.
INCLUDEPICTURE
"http://www.ciberaula.com/imagenes/ciberaula/es/area/java/articulo/java_too_cuatro.gif" \*
MERGEFORMATINET
Esto mismo se aplica a los objetos de software, se puede tener muchos objetos del mismo tipo y
mismas características.
Definición teórica: La clase es un modelo o prototipo que define las variables y métodos comunes a
todos los objetos de cierta clase. También se puede decir que una clase es una plantilla genérica para
un conjunto de objetos de similares características.
ejemplo, ambos tienen el atributo “cantidad de ruedas”, sólo que el auto tiene 4 y la
motocicleta 2.
Por otro lado, una instancia de una clase es otra forma de llamar a un objeto. En realidad, no existe
diferencia entre un objeto y una instancia. Sólo que el objeto es un término más general, pero
los objetos y las instancias son ambas representaciones de una clase.
Atributos (denominados, por lo general, datos miembros): esto es, los datos que se
refieren al estado del objeto y se representan a modo de variables ejemplo: nombre,
estatura, raza, edad,
Métodos (denominados, por lo general, funciones miembros): son funciones que pueden
realizar los objetos ejemplo: correr, comer, saltar dormir
MERGEFORMATINET
PUBLICOS (+): Indica que el atributo será visible tanto dentro como fuera de la clase, es decir
es accesible desde todos lados
PRIVADOS (-): Indica que el atributo solo será accesible desde dentro de la clase (solo sus
métodos lo pueden accesar.
4
INSTITUTO TECNOLÓGICO METROPOLITANO
Establecimiento Público de Educación Superior, Adscrito a la Alcaldía de Medellín
PROTEGIDOS (#): El atributo no será accesible desde fuera de la clase, pero si podrá ser
Ejemplo; la clase curso tiene características como: nombre, ubicación días que se dictara,
cuando empieza, y cuando termina. Estas características son de tipo privado
Curso
-nombre
-ubicacion
-dias
-inicio
-fin
+AgregarAlumno()
+BorrarAlumno()
+GenerarListadoCurso()
+EstaCompleto()
¿Qué acciones o métodos se podrían hacer? Entre otros: adicionar o agregar alumnos,
borrarlos ect.
METODOS
Un método es un algoritmo diseñado para efectuar una tarea particular, bajo la dependencia
de un algoritmo u otro método que lo utiliza. De esta manera el método es diseñado
para ser utilizado por otros procesos más amplios, dentro de los cuales existe un
flujo de entrega y de recibo de información.
UTILIDADES O VENTAJAS
Las operaciones (métodos) también se muestran con su nombre, y pueden mostrar sus parámetros y
valores de retorno. Las operaciones, al igual que los atributos, se pueden mostrar visualmente:
PUBLICOS (+): Indica que el METODO será visible tanto dentro como fuera de la clase, es
decir es accesible desde todos lados
PRIVADOS (-): Indica que el METODO solo será accesible desde dentro de la clase (solo
otros métodos de la clase lo pueden accesar).
PROTEGIDOS (#): El método no será accesible desde fuera de la clase, pero si podrá ser
accesado por métodos de la clase o métodos de clase derivas
Mediante el uso de los métodos, es posible diseñar sistemas modulares en los cuales ya no
existe un solo algoritmo que se encarga de todo, sino que tenemos diferentes algoritmos
especializados por temas y que en conjunto forman el gran programa.
Nuestro propio organismo está dividido en subprogramas o métodos en los cuales cada parte
tiene un fin específico e interactúan para mantener todo el sistema en pleno funcionamiento.
Los sub-programas también se conocen con el nombre de Métodos, subrutinas.
Debemos ver los métodos como una estrategia para dividir un programa mayor en partes más
pequeñas, de forma que al interactuar entre ellos el sistema se comporte tal y como se diseño.
Cada método es en realidad un algoritmo más pequeño que aporta parte de la solución al
problema principal. En estos subprogramas podemos definir variables, realizar asignaciones,
lectura de datos, ciclos, case, suiches, condicionales, llamar otros métodos
Es un subprograma.
Es un bloque de código que tiene un nombre.
Recibe unos parámetros o argumentos (opcionalmente).
Contiene sentencias o instrucciones para realizar algo.
Devuelve un valor de algún tipo conocido (opcionalmente).
CLASIFICACION DE LOS METODOS
1. Método principal ( )
2. Métodos que no envían parámetros y no reciben valores ()
3. Métodos que no envían parámetros y reciben un solo valor ( )
4. Métodos que envían parámetros y reciben un solo valor ( )
5. Métodos que envían parámetros y no reciben valores ( )
6
INSTITUTO TECNOLÓGICO METROPOLITANO
Establecimiento Público de Educación Superior, Adscrito a la Alcaldía de Medellín
NOTA IMPORTANTE
Muchachos por ahora vamos a trabajar con 2 métodos (método principal y un método donde
se realizarán las operaciones) a medida que avance el curso aprenderemos a trabajar con las
otras clases de métodos
1. Método principal: Todo programa debe tener el método principal, el cual es el encargado de
organizar el uso de los elementos y métodos disponibles. Un programa siempre inicia en su parte
principal y es desde allí de donde se articulan los elementos a ser usados
Nombre del método: Se puede asignar cualquier nombre al método, debe ser diferente al
nombre de las variables y al nombre de la clase o clases, es aconsejable que sea
nemotécnico es decir que esté de acuerdo a lo que se va hacer en el método.
NOTA: En la guía anterior se vio el concepto de variable, además que tipo de dato puede
haber en ella Es importante tener muy claro los siguientes conceptos.
Las variables locales son todas aquellas que se declaran dentro de una lista de parámetros de un
método o dentro del cuerpo del método, estas variables solo pueden ser accedidas por el método
donde estén declaradas.
TALLER # 1
1. Diferencia entre Objeto y Clase
2. Ejercicio: REALICE EL DIAGRAMA DE CLASES PARA LA CLASE ANIMAL MAMIFERO, con
4 características y 5 métodos
3. Crear una clase con dos objetos y sus respectivos atributos y métodos
4. Enuncie 4 pilares o elementos de la Programación O.O.
B. ESTRUCTURAS BASICAS
ESTRUCTURA SECUENCIA:
NOTA: Vamos a empezar a trabajar solo con variables locales se deben declarar y
definir antes de ser usadas.
Bueno muchachos vamos a realizar el primer algoritmo, aplicando los conceptos anteriores
para que nos quede más claro.
ANALISIS:
Todo programa estará dentro de una clase y debemos darle un nombre en nuestro caso se
llama saludo
DIAGRAMA DE LA PSEUDOCODIGO
CLASE
clase saludo //nombre clase
clase saludo
principal ( )
8
INSTITUTO TECNOLÓGICO METROPOLITANO
Establecimiento Público de Educación Superior, Adscrito a la Alcaldía de Medellín
Fin mostrarsaludo
Fin clase
A continuación, se hará el anterior ejercicio sin utilizar la variable para almacenar el texto
SEUDOCODIGO
clase saludo
principal ()
mostrarsaludo( )
Fin principal
Ejemplo2: Entrar por pantalla dos números enteros. Mostrar por pantalla el producto de dichos valores
DATOS DE ENTRADA: son dos números, cada uno requiere para su almacenamiento una variable, serán
por lo tanto dos variables, que llamaremos
num1
num2
PROCESO: se requiere hacer una operación: multiplicar los dos números, necesito otra variable donde
quedara el resultado que la llamare producto
producto = num1 * num2
Esta acción o método lo llamaremos Obtenerproducto.
DATOS DE SALIDA
producto
9
INSTITUTO TECNOLÓGICO METROPOLITANO
Establecimiento Público de Educación Superior, Adscrito a la Alcaldía de Medellín
-num1 : entero
-num2 :entero principal ( )
-producto :real
Obtenerproducto()
+ principal () vacio Fin principal
+Obtenerproducto() vacio
real producto
DATOS DE ENTRADA
DATOS PROCESO
sueldo = nhoras*valhora
DATOS SALIDA
nombre
sueldo
10
INSTITUTO TECNOLÓGICO METROPOLITANO
Establecimiento Público de Educación Superior, Adscrito a la Alcaldía de Medellín
4. All Mondays, Wednesdays and Fridays, a person runs the same route and timing the
obtained times. Calculate the average time the person takes to travel the road in one week
either.
6. Hacer prueba de escritorio, redactar enunciado al siguiente algoritmo, para prueba de escritorio debe asumir el
año de nacimiento =1983
DIAGRAMA DE LA CLASE PSEUDOCODIGO
Clase pruebaescri2
Clase pruebaescri2
-naci : entero Principal( )
-dig1 : entero
-resi1 : entero resultado( )
-cent : entero Fin principal
-resi2 : entero
-dig2 : entero Publico vacio resultado( )
-suma : entero
entero naci,dig1,
-codsegu: entero
entero resi1,cent,resi2,dig2,suma,codsegu
+resultado( ): vacío
+Principal( ): vacío Mostrar “ digite el año de nacimiento”
Leer naci
dig1 = naci / 1000
11
INSTITUTO TECNOLÓGICO METROPOLITANO
Establecimiento Público de Educación Superior, Adscrito a la Alcaldía de Medellín
7. Entrar por pantalla un número entero. Calcular el 8 % de dicho número y mostrarlo por
pantalla
8. Calculate the distance that runs a car moving at a known constant rate (v), at a particular
time (t).
9. Un atleta promedio avanza por cada paso 52 centímetros. Suponga que tiene un aparato
que mide el número de pasos que da en su entrenamiento. Calcular la distancia recorrida por
cada atleta (kilómetros, metros y centímetros) de acuerdo al número de pasos que éste ha
dado.
10. Teniendo como dato de entrada el salario mínimo actual de Colombia. Haga un algoritmo
para saber el porcentaje qué deberá aumentar, para que el próximo año el salario mínimo
sea $1000000 (salario en 2018= 781242)
11. Una persona dejó una herencia en dólares y su voluntad fue de repartirla entre sus tres
hijos proporcionalmente a la edad de cada uno. Haga un algoritmo que imprima el nombre de
cada hijo y el valor le corresponde de la herencia.
.
12. Un empleado trabaja 48 horas en la semana a razón de $ 12000 la hora, la retención en
la fuente es de 5% del salario básico. Se desea saber cuál es el salario neto del trabajador.
14. Dados los tres lados de un triángulo, haga un algoritmo que encuentre: perímetro,
semiperimetro y el área de un triángulo.
15. Dado un número natural de dos cifras, diseñe un algoritmo que permita mostrar el
número invertido. Ejemplo si se ingresa 23 que se muestre 32
16. Dado un número natural de tres cifras, diseñe un algoritmo que permita mostrar el
número invertido. Ejemplo si se ingresa 235 que se muestre 532
12
INSTITUTO TECNOLÓGICO METROPOLITANO
Establecimiento Público de Educación Superior, Adscrito a la Alcaldía de Medellín
17. Leer dos números enteros, almacenarlos en dos variables e intercambiar el contenido de
ambas variables sin utilizar otra variable auxiliar.
18. Haga un algoritmo que permita ingresar una medida en metros e imprima su equivalencia
en centímetros, pulgadas, pies y kilómetros. Sabiendo que: un metro tiene 100 centímetros,
una pulgada tiene 2.54 centímetros, un kilómetro tiene 1000 metros y un pie tiene 12
pulgadas.
Fin Método
principal( )
calculosexamen( )
Fin principal
Fin Clase
La tabla de verdad fue inventada por Charles Peirce en los años 1880, pero el formato más usado es el de
Ludwig Wittgenstein, quién lo desarrolló en el "Tractatus logico-philosophicus", que fue dado a conocer al
público en 1918 por Bertrand Russell.
Son utilizadas para evaluar el valor de verdad o falsedad de una proposición compuesta. Las tablas de verdad
son un medio muy utilizado en el ámbito de la lógica para obtener sus correspondientes valores de una
expresión o una proposición.
Tomamos dos proposiciones: A y B, donde cada una de estas proposiciones puede tomar un valor de verdad:
(Verdadero V, o Falso F), por lo tanto
los valores de verdad de A y B, pueden combinarse de cuatro maneras distintas:
1) Ambas son verdaderas
2) A es verdadera, y B es falsa
13
INSTITUTO TECNOLÓGICO METROPOLITANO
Establecimiento Público de Educación Superior, Adscrito a la Alcaldía de Medellín
3) A es falsa, y B es verdadera
4) Ambas son falsas
V V
V F
F V
F F
LOS CONECTIVOS FUNDAMENTALES:
~ La negación.
^ La conjuntiva.
ν La disyuntiva.
→ La condicionante.
↔ La bicondicionante.
TAREA
Traer tres ejemplos de cada uno de los conectivos: La conjuntiva, la disyuntiva. (de la vida real)
BIBLIOGRAFIA UTILIZADA
Unidad I: Programación Orientada a Objetos Natalia Rodríguez Castellón
Apuntes personales profesor Jorge Suaza Jimenez
Documentos tomados de internet para uso académico
Apuntes personales Profesora Olga Lucia Suaza Jimenez
14