PDF de programación - Notas C++

Imágen de pdf Notas C++

Notas C++gráfica de visualizaciones

Publicado el 31 de Octubre del 2020
696 visualizaciones desde el 31 de Octubre del 2020
253,9 KB
52 paginas
Creado hace 13a (10/11/2010)
INDICE

2
4
5
5
5
6
6
9
10
11
11
12



.......................
.......................
.......................
.......................
.......................
.......................
.......................
.......................
.......................
.......................
.......................
.......................


CAPITULO I
Introducción a la Programación Orientada a Objetos

I.1 Introducción
I.2 Introducción al lenguaje de programación
I.3 conceptos básicos
Objeto
Clases
Funciones miembro
Funciones en línea
Constructores y Destructores

Herencia
Mensajes

Encapsulamiento
Polimorfismo


CAPITULO II
Recursividad

II.1 Introducción
II.2 Escritura de funciones recursivas
II.3. Método de las tres preguntas

II.3.1 Aplicación

II.4 Tipos de recursión

II.5 Recusividad vs. Iteración

II.6 La pila de recursión
II.7 Ventajas e inconvenientes



17
.......................
18
.......................
19
.......................
19
.......................
20
.......................
22
.......................
....................... 23
.......................
23

CAPITULO III
Métodos de Ordenamiento y Búsqueda

III.1. Introducción
III.2 Clasificación interna



III.2.1 Clasificación por intercambio directo
III.2.2 Clasificación por inserción

III.2.3 Clasificación por selección directa

III.3 Métodos de clasificación avanzados
III.3.1 Clasificación por partición

III.4 Búsqueda lineal

III.5 Búsqueda Binaria

CAPITULO IV
Estructuras de Datos

IV.1. Introducción

IV.2 Pilas

IV.2.1 Representación



IV.2.2 Operaciones PUSH
IV.2.3 Operaciones POP

IV.3 Colas
IV.3.1 Representación

IV.3.2 Operaciones


IV.3.3 Comportamiento de los apuntadores


IV.3.4 Operación de inserción

IV.3.5 Operación de eliminación


IV.4 Cola Circular

IV.5 Listas

IV.5.1 Operaciones

IV.5.2 Notación
IV.5.3 Listas sencillamente ligadas

IV.5.3.1 Operación de Inserción
IV.5.3.1 Operación de Eliminación
Bibliografía



.......................
.......................
........
........
........
.......................
.......................
.......................
.......................

.......................
.......................
.......................
.......................
.......................
.......................
.......................
.......................
........
.......................
.......................
.......................
.......................
.......................
.......................
.......................
.......................
.......................

.......................

24
24
25
28
29
29
30
31
31

32
32
33
34
34
37
37
38
38
38
39
40
42
42
42
43
44
46

52

Programación Avanzada


2

Introducción a la
Programación
Orientada a Objetos


Capitulo I



I.1 INTRODUCCIÓN

la

introducción del

concepto de

en


Aunque ya han pasado algunos años la Orientación a Objetos sigue
siendo un término de moda. En 1967 fue desarrollado SIMULA, un
lenguaje para aplicaciones de simulación, considerado por muchos el
precursor
objeto.
Lamentablemente este nacimiento en Noruega pasó inadvertido para
gran parte de la familia de los programadores. Resulta que ahora
tenemos un “niño” de más de 25 años que muchos se apuran en
querer rebautizar.

Por aquel entonces se hablaba de la “crisis del software” que
provocaría el surgimiento de la Programación Estructurada. Las
“grandes” brigadas de programadores que programaban
los
“grandes” sistemas para las “grandes” máquinas enfrentaban serios
problemas de organización y productividad. La respuesta fue una
metodología que promovía una solución jerárquica, disciplinada,
organizada y ¡planificada! para desarrollar el software. Algunas
mejoras fueron introducidas en los lenguajes de programación para
facilitar esto: mejores estructuras de control para obviar el goto,
algunos recursos de modularidad y de organización de bibliotecas de
programas.

Esto pareció ser suficiente durante los 70’s. No obstante, pocos
sistemas lograban terminarse, pocos se terminaban cumpliendo los
requerimientos
los que se terminaban
cumpliendo los requisitos iniciales se usaban según lo planificado. El
problema (mal llamado de mantenimiento) consistía en cómo
adaptar el software a nuevos requerimientos imposibles de haber
sido planificados inicialmente. La “estructuración” facilitaba en todo
caso la zambullida de los “programadores de mantenimiento” en los
mares de líneas de programa fuente, pero no la impedía.


iniciales y no todos



Programación Avanzada


Este alto grado de planificación y previsión es contrario a la propia
realidad. El hombre aprende y crea a través de la experimentación,
no de la planificación. Se necesitan medios que faciliten la
experimentación y no que exijan que tenga que ser planificado un
proyecto entero antes de poder escribir una línea de programa para
que luego este proyecto se convierta en una camisa de fuerza en el
desarrollo y evolución del sistema. El desarrollo de SMALLTALK a
finales de los 70’s fue una respuesta a este problema.

El desarrollo técnico del hardware, su disminución de precios y la
explosión de las computadoras personales fue el detonante final.

La Programación Orientada a Objetos (P00), que por todo lo anterior
algunos han dado en la Programación Estructurada de los 90s,
encuentra aquí un terreno fértil. ¿Es la POO un mejor paradigma
que otros? En cierto sentido sí lo es. ¿Es una cura de todos nuestros
problemas? No lo es. ¿Significa que la arriba mencionada “crisis del
software” desaparecerá? Probablemente no. Pero entonces, ¿qué es
lo grande de la Programación Orientada a Objetos?.

En lugar de tratar de modelar un problema en algo familiar a la
computadora se trata ahora de acercar la computadora al problema.
Es decir, modelar la realidad del problema a través de entidades
independientes pero que interactúan entre sí y cuyas fronteras no
estén determinadas por su instrumentación computacional sino por
la naturaleza del problema. Estas entidades serán denominadas
objetos, por analogía con el concepto de objeto en el mundo real.

Resolver problemas consiste en definir objetos y sus acciones y
entonces invocar las acciones enviando mensajes a los objetos que
ocultan las características internas dé como llevan a cabo estas
acciones. Esta forma de resolver problemas luce familiar y lógica y
ha sido utilizada por otras disciplinas científicas ya que en nuestra
experiencia diaria nosotros “manipulamos objetos”.


• La robustez de las partes que garanticen su integridad y
funcionamiento propio (lo cual a su vez facilita “arrinconar”
las fallas). Esto se facilita en los lenguajes orientado a



3

la óptica de

Programar en un lenguaje de programación orientado a objetos es
definir clases
(nuevos tipos de datos) que “expresan” una
determinada funcionalidad la cual es común a todos los individuos
de una clase. A través de esta funcionalidad los objetos o instancias
concretas de una clase dan respuesta a las solicitudes (mensajes) que
les envían otros objetos. Las clases deben ser lo suficientemente
CERRADAS como para
que cada objeto pueda ocultar la
información (datos) que lo caracteriza como individuo. Es un
problema interno del objeto cómo llevar a cabo la funcionalidad
descrita en la clase.

Visto en
las arquitecturas convencionales de
computadoras, en la POO los datos no circulan abiertamente por
todo el sistema como en la programación tradicional. Los programas
no se dividen en declaraciones pasivas de estructuras de datos y
funciones (que tal vez actúen sobre algunas de las estructuras de
datos). Los datos están ahora encerrados dentro de cada objeto y
éste es quien decide internamente cómo trabajar con ellos para dar
respuesta a una solicitud de otro objeto.

Por otra parte estas clases deben ser lo suficientemente ABIERTAS
para permitir la reutilización, adaptación y extensión de las mismas
a nuevas funcionalidades, sin correr el riesgo de afectar el
funcionamiento de lo que ya está correcto.

Esta aparente contradicción, de lo que se conoce como principio
ABIERTO – CERRADO, es la piedra angular de la POO.

En ausencia de una definición formal de qué es la POO, algunos
prefieren
sus objetivos. Tres objetivos
fundamentales persigue la POO para facilitar la experimentación:


identificarla por

Programación Avanzada


objetos (LOO) a través de recursos como el encapsulamiento
y el manejo de excepciones.

• La reusabilidad y la extensibilidad. Que se pueda “derivar”
(más que definir) nuevas clases de objetos a partir de las ya
existentes,
facilitándole con ello al programador el
desarrollo de prototipos y una rápida exploración en las
nuevas ideas. Esto se facilita en los LOO mediante la
redefinición de operadores y funciones, la generalidad, la
herencia y el polimorfismo.



Esta búsqueda de la comunidad, de aprovechar lo existente, es una
de las características básicas de la POO. Algunos de estos recursos
como el polimorfismo y la jerarquía de clases a través de la herencia
nos dota
  • Links de descarga
http://lwp-l.com/pdf18411

Comentarios de: Notas C++ (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad