Programacion estructurada versus progamacion orientada a objetos

Solo disponible en BuenasTareas
  • Páginas : 18 (4375 palabras )
  • Descarga(s) : 0
  • Publicado : 6 de septiembre de 2010
Leer documento completo
Vista previa del texto
CAPÍTULO 1

Programación orientada a objetos versus programación estructurada: C++ y algoritmos
Introducción
El aprendizaje de la programación requiere el conocimiento de técnicas y metodologías de programación estructurada. Aunque a finales del siglo XX y, sobre todo en este siglo XXI, la programación orientada a objetos se ha convertido en la tecnología de software más utilizada; elconocimiento profundo de algoritmos y estructuras de datos, en muchos casos con el enfoque estructurado, facultará al lector y futuro programador los fundamentos técnicos necesarios para convertirse en un brillante programador de C++, en general, y programador orientado a objetos, en particular.

1.1. Concepto de algoritmo
Un algoritmo es una secuencia finita de instrucciones, reglas o pasos quedescriben de modo preciso las operaciones que una computadora debe realizar para ejecutar una tarea determinada en un tiempo finito [Knuth 68]1. En la práctica, un algoritmo es un método para resolver problemas mediante los pasos o etapas siguientes: 1. Diseño del algoritmo que describe la secuencia ordenada de pasos —sin ambigüedades— conduncentes a la solución de un problema dado (Análisis delproblema y desarrollo del algoritmo). 2. Expresar el algoritmo como un programa en un lenguaje de programación adecuado. (Fase de codificación). 3. Ejecución y validación del programa por la computadora. Para llegar a la realización de un programa es necesario el diseño previo de un algoritmo indicando cómo hace el algoritmo la tarea solicitada, y eso se traduce en la construcción de un algoritmo. Elresultado final del diseño es una solución que debe ser fácil de traducir a estructuras de datos y estructuras de control de un lenguaje de programación específico. Las dos herramientas más comúnmente utilizadas para diseñar algoritmos son: diagramas de flujo y pseudocódigos. • Diagrama de flujo (flowchart). Representación gráfica de un algoritmo. • Pseudocódigo. Lenguaje de especificación dealgoritmos, mediante palabras similares al inglés o español.

1 Donald E. Knuth (1968): The art of Computer Programming, vol. 1, 1.ª ed., 1968; 2.ª ed. 1997, Addison Wesley. Knuth, es considerado uno de los padres de la algoritmia y de la programación. Su trilogía sobre “Programación de computadoras” es referencia obligada en todo el mundo docente e investigador de Informática y Computación.

1 2

CAPÍTULO 1 Programación orientada a objetos versus programación...

El algoritmo es la especificación concisa del método para resolver un problema con indicación de las acciones a realizar. Un algoritmo es un conjunto finito de reglas que dan una secuencia de operaciones para resolver un determinado problema. Es, por tanto, un método para resolver un problema que tiene en general unaentrada y una salida. Las características fundamentales que debe cumplir todo algoritmo son: • Un algoritmo debe ser preciso e indicar el orden de realización de cada paso. • Un algoritmo debe estar bien definido. Si se sigue un algoritmo dos veces, se debe obtener el mismo resultado cada vez. • Un algoritmo debe ser finito. Si se sigue un algoritmo, se debe terminar en algún momento; o sea, debe tenerun número finito de pasos. La definición de un algoritmo debe describir tres partes: Entrada, Proceso y Salida. EJEMPLO 1.1. Se desea diseñar un algoritmo para conocer si un número es primo o no. Un número es primo si sólo puede dividirse por sí mismo y por la unidad (es decir, no tiene más divisores que él mismo y la unidad). Por ejemplo: 9, 8, 6, 4, 12, 16, 20, etc., no son primos, ya que sondivisibles por números distintos a ellos mismos y a la unidad. Así, 9 es divisible por 3, 8 lo es por 2, etc. El algoritmo de resolución del problema pasa por dividir sucesivamente el número por 2, 3, 4..., etc. Entrada: dato n entero positivo Salida: es o no primo. Preceso:
1. Inicio. 2. Poner x igual a 2 (x = 2, x variable que representa a los divisores del número que se busca n). 3. Dividir n...
tracking img