ESTABLECIMIENTO: Escuela de Comercio N° 5076 “Dr.
Arturo Illia”
DOCENTE: Prof. Silvia Susana Nazar
ESPACIO CURRICULAR: Programación Orientada a Objetos - POO
TURNO: Mañana - Tarde
CURSO: 5to 4ta DIVISIÓN
CONTENIDOS A TRABAJAR:
• Estructuras algorítmicas. Asignaciones.
• Resolución de algoritmos mediante Diagramación de flujo.
• El Paradigma Orientado a Objetos: concepto y características.
• Programas Orientados a Objetos. Reseña Histórica.
Material Teórico
ESTRUCTURAS ALGORÍTMICAS
Definición del Problema
Esta fase está dada por el enunciado del problema, el cual requiere una definición clara y
precisa. Es importante que se conozca lo que se desea que realice la computadora; mientras
esto no se conozca del todo no tiene mucho caso continuar con la siguiente etapa.
Análisis del Problema
Una vez que se ha comprendido lo que se desea de la computadora, es necesario definir:
• Los datos de entrada.
• Cuál es la información que se desea producir (salida)
• Los métodos y fórmulas que se necesitan para procesar los datos.
Una recomendación muy práctica es el que nos pongamos en el lugar de la computadora
y analicemos que es lo que necesitamos que nos ordenen y en que secuencia para producir los
resultados esperados.
Diseño del Algoritmo
Las características de un buen algoritmo son:
• Debe tener un punto particular de inicio.
• Debe ser definido, no debe permitir dobles interpretaciones.
• Debe ser general, es decir, soportar la mayoría de las variantes que se puedan
• presentar en la definición del problema.
• Debe ser finito en tamaño y tiempo de ejecución.
1
Las Estructuras de Operación de Programas
Son un grupo de formas de trabajo, que permiten, mediante la manipulación de variables,
realizar ciertos procesos específicos que nos lleven a la solución de problemas. Estas
estructuras se clasifican de acuerdo con su complejidad en:
1. Asignación de variables
2. Estructuras Secuenciales: - Entrada - Salida - Simples
3. Estructuras Condicionales Algorítmicas: - Múltiples - Hacer para
4. Estructuras Cíclicas: - Hacer mientras
- Repetir hasta que
Asignación: La asignación consiste, en el paso de valores o resultados a una zona de la
memoria. Dicha zona será reconocida con el nombre de la variable que recibe el valor.
La asignación se puede clasificar de la siguiente forma:
a) Simples: Consiste en pasar un valor constante a una variable ej. A=15
b) Contador: Consiste en usarla como un verificador del número de veces que se realiza un
proceso por ejemplo A=A+1
c) Acumulador: Consiste en usarla como un sumador en un proceso por ej. A=A+B
d) De trabajo: Donde puede recibir el resultado de una operación matemática que involucre
muchas variables por ejemplo A=C+B*2/4
e) Lectura: La lectura consiste en recibir desde un dispositivo de entrada (eje. el teclado) un
valor. Esta operación se representa en un pseudocodigo como sigue:
Leer a, b
Donde “a” y “b” son las variables que recibirán los valores
f) Escritura: Consiste en mandar por un dispositivo de salida (p.eje. monitor o impresora) un
resultado o mensaje. Este proceso se representa en un pseudocodigo como sigue:
Escribe “El resultado es:”, R
Donde “El resultado es:” es un mensaje que se desea aparezca y R es una variable que
contiene un valor.
2
Estructuras Secuenciales
La estructura secuencial es aquella en la que una acción (instrucción) sigue a otra en secuencia.
Las tareas se suceden de tal modo que la salida de una es la entrada de la siguiente y así
sucesiva mente hasta el fin del proceso. Una estructura secuencial se representa de la siguiente
forma:
Inicio
Accion1
Accion2
.
.
Acción
Fin
INTRODUCCION A LA PROGRAMACION ORIENTADA A OBJETOS
El concepto de programación orientada a objetos (POO) no es nuevo, lenguajes clásicos
como SmallTalk se basan en ella. Dado que la POO se basa en la idea natural de la existencia
de un mundo lleno de objetos y que la resolución del problema se realiza en términos de objetos,
un lenguaje se dice que está basado en objetos si soporta objetos como una característica
fundamental del mismo.
El elemento fundamental de la OOP es, como su nombre lo indica, el objeto. Podemos
definir un objeto como un conjunto complejo de datos y programas que poseen estructura y
forman parte de una organización.
La programación orientada a objetos o POO (OOP según sus siglas en inglés) es un
paradigma de programación que usa los objetos en sus interacciones, para diseñar aplicaciones
y programas informáticos. Está basado en varias técnicas, incluyendo herencia, cohesión,
abstracción, polimorfismo, acoplamiento y encapsulamiento. Su uso se popularizó a principios de
la década de los años 1990. En la actualidad, existe variedad de lenguajes de programación que
soportan la orientación a objetos.
La orientación a objetos es un paradigma de programación que facilita la creación de
software de calidad por sus factores que potencian el mantenimiento, la extensión y la
reutilización del software generado bajo este paradigma.
La programación orientada a objetos trata de amoldarse al modo de pensar del hombre y
no al de la máquina. Esto es posible gracias a la forma racional con la que se manejan las
abstracciones que representan las entidades del dominio del problema, y a propiedades como la
jerarquía o el encapsulamiento.
3
El elemento básico de este paradigma no es la función (elemento básico de la programación
estructurada), sino un ente denominado objeto.
Reseña histórica de la POO
La Programación Orientación a Objetos (P.O.O.) surge en Noruega en1967 con un
lenguaje llamado Simula 67, desarrollado por KrinstenNygaard y Ole-Johan Dahl, en el centro de
cálculo noruego.
El nacimiento de la Programación Orientación a Objetos en Europa pasó inadvertido para
gran parte de los programadores.
Uno de los problemas de inicio de los años setentas era que pocos sistemas lograban
terminarse, pocos se terminaban con los requisitos iniciales y no todos los que se terminaban
cumpliendo con los requerimientos se usaban según lo planificado. El problema consistía en
cómo adaptar el software a nuevos requerimientos imposibles de haber sido planificados
inicialmente.
En los 70’s científicos del centro de investigación en Palo Alto Xerox (Xerox park)
inventaron el lenguaje Small talk
Small talk fue el primer lenguaje Orientado a Objetos puro de los lenguajes Orientados a
Objetos, es decir, únicamente utiliza clases y objetos
Quien tuvo la idea fue D. Parnas cuando propuso la disciplina de ocultar la información.
Su idea era encapsular cada una de las variables globales de la aplicación en un solo módulo
junto con sus operaciones asociadas, sólo mediante las cuales se podía tener acceso a esas
variables.
El resto de los módulos (objetos) podían acceder a las variables sólo de forma indirecta
mediante las operaciones diseñadas para tal efecto.
En los años 80’s BjarneStroustrup de AT&T Labs., amplió el lenguaje C para crear C++
que soporta la programación Orientada a Objetos.
En esta misma década se desarrollaron otros lenguajes Orientados a Objetos como
Objective C, CommonLispObjectSystem (CIOS), object Pascal, Ada y otros.
Posteriores mejoras en herramientas y lanzamientos comerciales de C++ por distintos
fabricantes, justificaron la mayor atención hacia la programación Orientada a Objetos en la
comunidad de desarrollo de software. El desarrollo técnico del hardware y su disminución del
costo fue el detonante final. Con más computadoras al alcance de más personas más
programadores, más problemas y más algoritmos surgieron.
En el inicio de los 90’s se consolida la Orientación a Objetos como una de las mejores
maneras para resolver problemas.
4
En 1996 surge un desarrollo llamado JAVA (extensión de C++). Su filosofía es aprovechar
el software existente. Facilitar la adaptación del mismo a otros usos diferentes a los originales
sin necesidad de modificar el código ya existente.
Actualmente la orientación a objetos parece ser el mejor paradigma, no obstante, no es
una solución a todos los problemas. Trata de eliminar la crisis del software. Entre los creadores
de metodologías orientadas a objetos se encuentran: G. Booch, Rambaught, Ivar Jacobson y
Peter Cheng.
Trabajo Practico N° 2
1. Realizar la lectura comprensiva del material teórico.
2. Responder:
a) ¿A qué se refiere la Definición del problema es una estructura algorítmica?
b) ¿Cómo explicarías el análisis del problema y el diseño del algoritmo?
c) ¿Cuáles son las estructuras de operación de programas?
d) ¿Qué es una asignación?
e) ¿Qué es una estructura secuencial? Nombra los tipos.
3. Completa el siguiente cuadro:
Tipos de Descripción
Asignaciones
1.
2.
3.
4.
5.
6.
5
4. Completa la afirmación
a) Un Objeto es…………………………………………………………………………………
…………………………………………………………………………………………..…………
b) POO es….………………………………………………………………………………………
………………………………………………………………………………………………………
…………………………………………………………………………………………………
c) El POO está basado en técnicas como……………………………………………………..
…………………………………………………………………………………………………………
…………………….………………………………………………………………………………..…
5. Elabora un esquema conceptual con la reseña histórica del POO.
6. Realizar la diagramación de los siguientes algoritmos, teniendo en cuenta el ejemplo
dado.
a) Ingresar los lados de un Triángulo y calcular el perímetro y la superficie del mismo.
Mostrar los resultados.
b) Realizar un programa que permita el ingreso del nombre del cliente, nº de Cuil, el
importe mensual del Impuesto Municipal y el tipo de Imputación (RI - RNI –
MONOTRIBUTISTA), se pide calcular y mostrar el monto anual a pagar de impuestos
municipales, sabiendo que si es “RI” tiene un descuento del 8%, si es “RNI” un desc.
del 5% y si es “Monotributista” 0% desc.
c) Ingresar 2 números y mostrar si la sumatoria entre ellos es Par ó Impar.
d) Un negocio hace descuentos en las ventas de sus productos. Si la compra es inferior a
$500 el descuento es del 5%, si es mayor o igual a 500 y menor a 800 el descuento es
del 10%, sino será del 15%. Ingresar el número de comprobante y el monto de la
venta, realizar los cálculos y mostrar el descuento realizado y el precio final a pagar
con descuento.
6
Ejemplo de diagramación del ejercicio donde se ingresa dos números y se
calcula, muestra el producto de los mismos.
Inicio
Asignación o presentación de variables a usar en el programa
A=0
B=0
C=0
Ingresar un número en la variable A
Ingresar un número en la variable B
Calculo del producto en variable C
C=A*B
Muestro el Producto de los números en C
Fin
De esta manera deben realizar los ejercicios teniendo en cuenta la simbología de los
diagramas.