Está en la página 1de 7

PROGRAMACIÓN I

TRABAJO SEGUNDA UNIDAD.

1.- Conceptos básicos de algoritmo.


2.- Metodología de la programación.
3.- Diagramas de flujo.
4.- Pseudocódigos.

Aldo Axel Alcántar Aguirre


06040718

Página 1
PROGRAMACIÓN I

Conceptos básicos de algoritmo.

Podemos encontrar varias definiciones que nos ayudan a comprender el


concepto de lo que es un algoritmo, algunas de ellas son:

 Diccionario de la Real Academia de la Lengua Española:

1. m. Conjunto ordenado y finito de operaciones que permite hallar la


solución de un problema.

2. m. Método y notación en las distintas formas del cálculo.

 Un algoritmo (del latín, dixit algorithmus y éste del matemático persa


al-Jwarizmi) es un conjunto ordenado y finito de operaciones que
permite hallar la solución de un problema. Es decir, que un algoritmo es
un método para encontrar la solución a algún problema. Los algoritmos
son el objeto de estudio de la algoritmia y su definición queda
formalizada por la Máquina de Turing.

Su importancia radica en mostrar la manera de llevar a cabo procesos y


resolver problemas matemáticos; al igual que las funciones
matemáticas, los algoritmos reciben una entrada y la transforman en
una salida ("efecto caja negra"). Sin embargo, para que un algoritmo
pueda ser considerado como tal, debe ser definido, finito y eficiente. Por
eficiente se entiende que las instrucciones encuentran la solución en el
menor tiempo posible; finito implica que tiene un determinado número
de pasos, es decir, que termina; y definido, que si se sigue el mismo
proceso más de una vez se llega siempre al mismo resultado.

En la vida cotidiana se emplean algoritmos en multitud de ocasiones


para resolver diversos problemas. Algunos ejemplos se encuentran en
los instructivos (manuales de usuario), los cuales muestran algoritmos
para usar el aparato en cuestión o inclusive en las instrucciones que
recibe un trabajador por parte de su patrón. También existen ejemplos
de índole matemática, como el algoritmo de la división para calcular el
cociente de dos números, el algoritmo de Euclides para calcular el
máximo común divisor de dos enteros positivos, o el método de Gauss
para resolver un Sistema lineal de ecuaciones.

 Un algoritmo es un método para resolver un problema, debe presentarse


como una secuencia ordenada de instrucciones que siempre se ejecutan
en un tiempo finito y con una cantidad de esfuerzo también finito. En un
algoritmo siempre debe haber un punto de inicio y un punto de
terminación, estos deben ser únicos y deben ser fácilmente
identificables.

Trabajo Segunda Unidad – Aldo Axel Alcántar Aguirre Página 2


PROGRAMACIÓN I

 La palabra algoritmo se deriva de la traducción al latín de la palabra


árabe alkhowarizmi, nombre de un matemático y astrónomo árabe que
escribió un tratado sobre manipulación de números y ecuaciones en el
siglo IX.

Un algoritmo es una serie de pasos organizados que describe el proceso


que se debe seguir, para dar solución a un problema específico.

CARACTERÍSTICAS DE UN ALGORITMO

Todo algoritmo debe cumplir las siguientes características:

A. Debe ser Preciso; Esto es, debe especificar sin ambigüedad el orden en
que se deben ejecutar las instrucciones.
B. Debe estar Definido; Esto es, cada vez que se ejecute bajo las mismas
condiciones, la secuencia de ejecución deberá ser la misma
proporcionándonos el mismo resultado.
C. Debe ser Finito; Esto es, siempre que sea adecuado se realizarán un
número finito de instrucciones, en un tiempo finito y requiriendo una
cantidad finita de esfuerzo.

Metodología de Programación.
Una metodología de programación es un conjunto o sistema de
métodos, principios y reglas que permiten enfrentar de manera
sistemática el desarrollo de un programa que resuelve un problema
algorítmico. Estas metodologías generalmente se estructuran como una
secuencia de pasos que parten de la definición del problema y culminan
con un programa que lo resuelve.

Trabajo Segunda Unidad – Aldo Axel Alcántar Aguirre Página 3


PROGRAMACIÓN I

A continuación se presenta de manera general los pasos de una metodología:

Con la cual se busca comprender totalmente el


El Diálogo
problema a resolver.

Con la cual se establece de manera precisa las


La Especificación
entradas, salidas y las condiciones que deben cumplir.

En esta etapa se construye un algoritmo que cumpla


Diseño
con la especificación.

Se traduce el algoritmo a un lenguaje de


Codificación
programación.

Prueba y Se realizan pruebas del programa implementado para


Verificación determinar su validez en la resolución del problema.

Diagramas de flujo.
El diagrama de flujo representa la forma más tradicional y duradera para
especificar los detalles algorítmicos de un proceso. Se utiliza principalmente en
programación, economía y procesos industriales; estos diagramas utilizan una
serie de símbolos con significados especiales. Son la representación gráfica de
los pasos de un proceso, que se realiza para entender mejor al mismo.

Son modelos tecnológicos utilizados para comprender los rudimentos de la


programación lineal.

Otra definición del diagrama de flujo es la siguiente:

"Es un esquema para representar gráficamente un algoritmo. Se basan en la


utilización de diversos símbolos para representar operaciones específicas. Se
les llama diagramas de flujo porque los símbolos utilizados se conectan por
medio de flechas para indicar la secuencia de operación. Para hacer
comprensibles los diagramas a todas las personas, los símbolos se someten a
una normalización; es decir, se hicieron símbolos casi universales, ya que, en
un principio cada usuario podría tener sus propios símbolos para representar
sus procesos en forma de Diagrama de flujo. Esto trajo como consecuencia que
sólo aquel que conocía sus símbolos, los podía interpretar. La simbología
utilizada para la elaboración de diagramas de flujo es variable y debe ajustarse
a un patrón definido previamente."

Trabajo Segunda Unidad – Aldo Axel Alcántar Aguirre Página 4


PROGRAMACIÓN I

Símbolos estandarizados según ISO 5807:

No es indispensable usar un tipo especial de símbolos para crear un diagrama


de flujo, pero existen algunos ampliamente utilizados por lo que es adecuado
conocerlos y utilizarlos, ampliando así las posibilidades de crear un diagrama
más claro y comprensible para crear un proceso lógico y con opciones
múltiples adecuadas.

* Flecha. Indica el sentido y trayectoria del proceso de información o tarea.

* Rectángulo. Se usa para representar un evento o proceso determinado.


Éste es controlado dentro del diagrama de flujo en que se encuentra. Es el
símbolo más comúnmente utilizado. Se usa para representar un evento que
ocurre de forma automática y del cual generalmente se sigue una secuencia
determinada.

* Rombo. Se utiliza para representar una condición. Normalmente el flujo de


información entra por arriba y sale por un lado si la condición se cumple o sale
por el lado opuesto si la condición no se cumple. Lo anterior hace que a partir
de éste el proceso tenga dos caminos posibles.

* Círculo. Representa un punto de conexión entre procesos. Se utiliza


cuando es necesario dividir un diagrama de flujo en varias partes, por ejemplo
por razones de espacio o simplicidad. Una referencia debe de darse dentro
para distinguirlo de otros. La mayoría de las veces se utilizan números en los
mismos.

Existen además una variedad de formas especiales para denotar las entradas,
las salidas, los almacenamientos, etcétera.

De acuerdo al estándar ISO, los símbolos e incluso las flechas deben tener
ciertas características para permanecer dentro de sus lineamientos y ser
considerados sintácticamente correctos. En el caso del círculo de conexión, se
debe procurar usarlo sólo cuando se conecta con un proceso contenido dentro
de la misma hoja. Existen también conectores de página, que asemejan a una
casita y se utilizan para unir actividades que se encuentran en otra hoja. En los
diagramas de flujo se presuponen los siguientes aspectos:

* Existe siempre un camino que permite llegar a una solución

* Existe un único inicio del proceso

* Existe un único punto de fin para el proceso de flujo, salvo del rombo que
indica una comparación con dos caminos posibles y además una gran ayuda.

Trabajo Segunda Unidad – Aldo Axel Alcántar Aguirre Página 5


PROGRAMACIÓN I

A su vez, es importante que al construir diagramas de flujo, se observen las


siguientes recomendaciones:

* Evitar sumideros infinitos, burbujas que tienen entradas pero no salidas.

* Evitar las burbujas de generación espontánea, que tienen salidas sin tener
entradas, porque son sumamente sospechosas y generalmente incorrectas.

* Tener cuidado con los flujos y procesos no etiquetados. Esto suele ser un
indicio de falta de esmero, pero puede esconder un error aún más grave: a
veces el analista no etiqueta un flujo o un proceso porque simplemente no se
le ocurre algún nombre razonable.

4. Pseudocódigos.
Un pseudocódigo o falso lenguaje, es una serie de normas léxicas y
gramaticales parecidas a la mayoría de los lenguajes de programación, pero
sin llegar a la rigidez de sintaxis de estos ni a la fluidez del lenguaje coloquial.
Esto permite codificar un programa con mayor agilidad que en cualquier
lenguaje de programación, con la misma validez semántica, normalmente se
utiliza en las fases de análisis o diseño de Software, o en el estudio de un
algoritmo. Forma parte de las distintas herramientas de la ingeniería de
software.

No hay ningún compilador o intérprete de pseudocódigo informático (en el caso


de que lo hubiera serían los lectores de dicho pseudocódigo informatico, por ej.
una idea de un jefe de programación a el staff de programadores), y por tanto
no puede ser ejecutado en un ordenador, pero las similitudes con la mayoría
de los lenguajes informáticos lo hacen fácilmente convertible.

El pseudocódigo describe un algoritmo utilizando una mezcla de frases en


lenguaje común, instrucciones de programación y palabras clave que definen
las estructuras básicas. Su objetivo es permitir que el programador se centre
en los aspectos lógicos de la solución a un problema.

No siendo el pseudocódigo un lenguaje formal, varían de un programador a


otro, es decir, no hay una estructura semántica ni arquitectura estándar. Es
una herramienta ágil para el estudio y diseño de aplicaciones, veamos un
ejemplo, que podríamos definir como: lenguaje imperativo, de tercera
generación, según el método de programación estructurada.

Pseudocódigo = Pseudo (Supuesto) + Código (Instrucción).

Cualquier instrucción puede ser sustituida por una estructura de control. El


siguiente ejemplo muestra un pseudocódigo de un método de ordenamiento
denominado Ordenamiento de burbuja en el cual aparecen varias estructuras
anidadas.

Trabajo Segunda Unidad – Aldo Axel Alcántar Aguirre Página 6


PROGRAMACIÓN I

Este algoritmo ordena una lista L.

procedimiento
// es una lista con n elementos//
hacer

para hasta hacer


si entonces

mientras

Ventajas de utilizar un Pseudocódigo a un diagrama de flujo.


1. Permite representar de forma fácil operaciones repetitivas complejas.

2. Es más sencilla la tarea de pasar de pseudocódigo a un lenguaje de


programación formal.

3. Si se siguen las reglas de identación se puede observar claramente los


niveles en la estructura del programa.

4. En los procesos de aprendizaje de los alumnos de programación, estos


están más cerca del paso siguiente (codificación en un lenguaje determinado,
que los que se inician en esto con la modalidad Diagramas de Flujo).

Trabajo Segunda Unidad – Aldo Axel Alcántar Aguirre Página 7