Taller y proyecto final de algoritmos y PooI (1)

Anuncio
TALLER FINAL DE ALGORITMO Y PROGRAMACION
ORIENTADA A OBJETOSI (P.O.O)
1. Haga un resumen de la evolución de la POO y la programación moderna
2. Enuncie los Conceptos Fundamentales de POO y Defina cada uno de los
siguientes conceptos









Clase
Herencia
Objeto
Método
Evento
Mensaje
Propiedad o atributo
Estado interno
Identificación de un objeto
3. Cuáles son las características de la programación orientada a objetos






Abstracción
Encapsulamiento
Principio de ocultación
Polimorfismo
Herencia
Recolección de basura
4. Mencione por lo menos 10 lenguajes de programación orientada a objetos
5. De un ejemplo de 1 objeto y defínalo con cada uno de los conceptos
fundamentales
 Objeto
 Atributos
 Métodos.
6. Relación, semejanzas y diferencias entre la programación tradicional y la
programación orientada a objetos.
7.
Investigue como se crea, declara y se manipula un objeto en C++ y C#
8.
Haga un mapa conceptual de todo lo aprendido en este taller
PROYECTO FINAL DE PROGRAMACION EN C++
Realizar un programa en C++ utilizando vectores, y permita manejar una cuenta
con un saldo inicial a través de un menú con las siguientes opciones:
<<<<<<MENU DE TRANSACCIONES >>>>>>>>
1. Deposito
2. Retiro
3. Transferencia
4. Consulta de Saldo
5. Resumen de las últimas transacciones
El programa de mostrar este menú y permitir realizar cada una de las
operaciones que este muestra además actualizar el saldo cada vez que se
efectúen.
*********RECOMENDACIONES
Ambos trabajos es en grupo de 3 y equivalen a un buen porcentaje del corte
final, el taller final debe subirse a la wiki, en esta misma página para que
cada grupo suba su archivo, subir el archivo en pdf y protegerlo, el archivo
debe llevar el nombre de los tres integrantes del grupo. Y el proyecto final de
programación será revisado en forma personal en la sala cada grupo debe
traer su archivo en C++ en cualquier medio magnético.
Empezar a trabajar ambos proyectos desde ya! Para mañana es tarde.
Cualquier duda ponerse en contacto con la docente.
Vectores y Matrices
•
•
•
•
Es posible resolver estos problemas? Por qué?
Una de las principales dificultades que se observan con estos problemas es
que para la resolución de ambos es necesario almacenar la totalidad de los
datos a procesar.
No sería eficiente crear n cantidad de variables para guardar estos datos.
Para realizar programas y/o algoritmos que nos permitan resolver los
problemas planteados, usaremos una nueva estructura de datos
denominada vectores.
Una estructura de datos es un conjunto de datos con un cierto orden.
Las estructuras de datos pueden ser dinámicas o estáticas.
– Estáticas: aquellas a las que se le asigna una cantidad fija de
memoria de acuerdo a lo definidio en la declaración de la variable.
– Dinámicas: son aquellas cuyo tamaño en memoria aumenta o
disminuye en tiempo de ejecución de acuerdo a las necesidades del
programa.
Vectores
•
•
•
Qué es un vector? Un vector (o arreglo unidimensional) es una estructura
de datos en la cual se almacena un conjunto de datos de un mismo tipo. Es
decir que un arreglo es una lista de n elementos que posee las siguientes
características:
– se identifica por un único nombre de variable
– sus elementos se almacenan en posiciones contiguas de memoria
– se accede a cada uno de sus elementos en forma aleatoria
•
Ejemplos:
– Ejemplo 1. Resolvamos este primer ejemplo:
– Cargar 10 elementos en un vector, sumarlos y mostrar el resultado
por pantalla.
– Pasos para resolver este problema:
• Leer un vector de 10 elementos
• Sumar los elementos
• Mostrar el resultado de la suma por pantalla
Vectores - Ejemplo1
Program Ejemplo1; {Version 1}
type
sumandos = array[1..10] of integer;
var
suma, i : integer;
vec_sumandos : sumandos;
begin
suma := 0;
for i:= 1 to 10 do
read(vec_sumandos[i] )
for i := 1 to 10 do
suma:= suma +vec_sumandos[i];
writeln (´La suma de los números es´, suma);
end.
Program Ejemplo1; {Version 2}
type
sumandos = array[1..10] of integer;
var
suma, i : integer;
vec_sumandos : sumandos;
begin
suma := 0;
for i:= 1 to 10 do
begin
read(vec_sumandos[i] )
suma:= suma +vec_sumandos[i];
end;
writeln (´La suma de los números es´, suma);
end.
Vectores – Declaración
•
Como ya dijimos anteriormente, los arreglos son estructuras de datos, por
lo tanto las mismas deben ser declaradas. Esta operación se realiza en la
seccción “Type” de un programa en Pascal. (como puede verse en el
ejemplo1)
formato
•
type
nombre_del_tipo = array[tipo_subindice * ] of tipo;
* debe ser de tipo ordinal: boolean, char, enumerado o subrango
•
•
Luego de la declaración del tipo, se declara la variable.
formato
var
nombre_variable: nombre_del_tipo;
• Ejemplos de declaraciones:
• Ej1:
type
Valores = array[ -10..10 ] of real;
var
precios: valores;
Vectores - Manejo de índices
• Asignación de valores
Texto[3] := ´a´;
Precios[0] := 23.50;
Como ya dijimos, los índices de un arreglo pueden ser: entero, lógico, caracter,
enumerado o subrango.
Ej3:
const
longitud = 40;
altura = 30;
type
horizontal = 1..Longitud;
T_Línea = Array [ horizontal ] of char;
var
Linea: T_Linea
Matrices
•
•
•
Resolvamos el siguiente problema:
– Un instituto desea controlar los resultados de los alumnos en las
distintas asignaturas de la facultad de Ingeniería. El programa debe
ingresar las calificaciones de los alumnos y visualizar en pantalla la
media de notas por alumno y la media de notas por asignatura.
– Las asignaturas están codificadas de 1 a 6 y hay 30 alumnos.
Es posible resolver este problema con lo visto hasta ahora?
Para realizar el anterior programa , debemos trabajar con una tabla (o
matriz o arreglo bidimensional)
Matrices - Declaraciones
•
•
Ejemplos de declaraciones:
Ej1:
type
T_matriz = array[ 1..10, 1..10 ] of real;
var
Matriz: valores;
Descargar