Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Documento 03

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 4

Documento 03

Algoritmo
De acuerdo con la naturaleza del funcionamiento de las computadoras, se dice que estas
siempre ejecutan órdenes en un formato que les resulta inteligible; dichas órdenes se agrupan
en programas, conocidos como software, el cual, para su estudio, a su vez, se divide en dos
partes: el formato de representación interno de los programas, que constituye el lenguaje
máquina o código ejecutable, y el formato de presentación externa, que es un archivo o un
conjunto de archivos, que puede o no estar en un formato que puede ser visto/leído por el
usuario (es decir, en un formato que respeta las reglas)

El trabajo de elaboración de un programa se denomina “programación”. Pero la programación


no es solo el trabajo de escritura del código, sino todo un conjunto de tareas que se deben
cumplir, a fi n de que el código que se escribió resulte correcto y robusto, y cumpla con el
objetivo o los objetivos para los que fue creado

Un algoritmo constituye una lista bien definida, ordenada y fi nita de operaciones, que permite
encontrar la solución a un problema determinado. Dado un estado inicial y una entrada, es a
través de pasos sucesivos y bien definidos que se llega a un estado final, en el que se obtiene
una solución (si hay varias) o la solución (si es única).

Ejemplo Problema: Gestionar la lista de compras que una empresa realiza durante un mes.

Un algoritmo puede ser expresado en:

• Lenguaje natural (a veces, este no resulta muy claro, pero es muy útil para problemas
simples)
• Pseudocódigo
• Diagramas de flujo
• Programas

Es evidente que el lenguaje natural es de mayor utilidad para transmitir las ideas del algoritmo.
Al contrario, un programa es difícil de entender por simple lectura, aun por una persona que
conoce el lenguaje del programa, e imposible para aquellas que no lo conocen. El pseudocódigo
y los diagramas de flujo, en cambio, se sitúan en un punto intermedio de comprensión, entre el
lenguaje natural y un programa. Estas dos herramientas poseen un poder de expresión
equivalente; no obstante, los diagramas de flujo tienen la ventaja de ser más gráficos y visuales

La descripción de un algoritmo usualmente se realiza en tres niveles:

1. Descripción de alto nivel. El primer paso consiste en la descripción del problema; luego, se
selecciona un modelo matemático y se explica el algoritmo de manera verbal, posiblemente con
ilustraciones, pero omitiendo detalles.

2. Descripción formal. En este nivel se usa un pseudocódigo o diagrama de flujo para describir
la secuencia de pasos que conducen a la solución.

3. Implementación. Por último, en este nivel se muestra el algoritmo expresado en un lenguaje


de programación específico, o algún objeto capaz de llevar a cabo instrucciones.

Las etapas de desarrollo de un algoritmo, con base en la lógica, son las siguientes:
1. Definición. En esta etapa se especifica el propósito del algoritmo y se ofrece una definición
clara del problema por resolver. Además, aquí también se establece lo que se pretende lograr
con su solución.

2. Análisis. En este punto se analiza el problema y sus características, y se determinan las


entradas y salidas del problema. De igual modo, también se realiza una investigación sobre si ya
se conoce alguna o varias soluciones de este. En el caso de que ya se conozcan varias soluciones,
entonces se determina cuál es la más conveniente para el problema que estamos tratando. Si
no se conoce ninguna, o no nos satisfacen las soluciones existentes, se propone una nueva.

3. Diseño. Aquí es donde se plasma la solución del problema. Con ese fi n, se emplea una
herramienta de diseño, que consiste en el diagrama de flujo y el pseudocódigo.

4. Implementación. En este último paso es donde se realiza o se ve concretado el programa y,


por ende, se hacen varias pruebas

Ejemplo 1:

Supóngase un número entero N del que se requiere probar si es divisible o no entre 3.

En este caso, la definición del problema es el enunciado mismo: “Probar si un número entero N
es o no divisible entre 3”.

Este caso se trata de un problema muy simple de aritmética. En la etapa de análisis,


identificamos las entradas y las salidas:

• Entrada: Un número entero N.


• Salida: Una respuesta (Sí o No)

Para la resolución del problema de este ejemplo, conocemos la definición de la divisibilidad: “un
número N es divisible entre otro número k, si la división N ÷ k es exacta (o el resto es 0)”.

• Asimismo, existen métodos que presentan diferentes grados de dificultad para un ser
humano: Realizar la división n ÷ k y comprobar si es exacta.
• Efectuar la suma de las cifras que componen el número en base 10 y verificar si el
número es divisible entre 3.

De acuerdo con la naturaleza del ser humano, él puede aplicar con mayor facilidad el segundo
método, debido a que la división de la suma de las cifras y el cálculo mismo de la suma son más
simples que la división inicial; sin embargo, para la computadora es lo mismo realizar la división
de 78564589 entre 3 o la división de 52 entre 3. En el segundo caso, en cambio, es necesario
hacer la extracción de las cifras y luego la suma de las cifras; entonces, la resolución del problema
es simple, como lo establecen los siguientes pasos:

1. Se hace la lectura del número N.

2. Se toma el resto de la división de N entre 3 (la operación módulo N %3).

3. Según el valor del resto, se escribe: “Sí” o “No”


En la etapa de fin de análisis, los pasos a seguir resultan muy claros; en tanto, en el paso de
diseño se formalizan aún más y lo describen sin ninguna ambigüedad. Durante la implentación
(la última etapa), es preciso saber cómo introducir los valores de entrada en la computadora y
cómo hacer el programa. En el siguiente apartado se estudia cuáles son dichos valores de
entrada, qué es un lenguaje de programación, qué significa programa y cómo se transforma un
programa en código máquina

Ejemplo 2.

Calcular el área de un triángulo.

Calcular el área de un cuadrado.

Calcular el área de un circulo

Programas y paradigmas de programación y lenguaje

Un programa informático se define como un conjunto de instrucciones que, una vez ejecutado,
realiza una o varias tareas en una computadora. De esta forma, sin programas, una computadora
no puede realizar las actividades para las que fue diseñada y creada

Un programa se escribe con instrucciones en un lenguaje de programación, el cual, a su vez, está


definido por su sintaxis, que establece e indica las reglas de escritura (la gramática), y por la
semántica de los tipos de datos, instrucciones, definiciones, y todos los otros elementos que
constituyen un programa.

Si un programa está escrito en un lenguaje de programación comprensible para el ser humano,


se le llama código fuente. A su vez, el código fuente se puede convertir en un archivo ejecutable
(código máquina) con la ayuda de un compilador, aunque también puede ser ejecutado de
inmediato a través de un intérprete.

A su vez, un paradigma de programación provee (y determina) la visión y los métodos de un


programador en la construcción de un programa o subprograma. Existen diferentes paradigmas
que derivan en múltiples y variados estilos de programación y en diferentes formas de solución
de problemas:

• PARADIGMA IMPERATIVO: En este paradigma se impone que cualquier programa es una


secuencia de instrucciones o comandos que se ejecutan siguiendo un orden de arriba
hacia abajo; este único enlace del programa se interrumpe exclusivamente para ejecutar
otros subprogramas o funciones, después de lo cual se regresa al punto de interrupción.
• PARADIGMAESTRUCTURADO: Este paradigma es un caso particular de paradigma
imperativo, por lo que se imponen únicamente algunas estructuras de código,
prohibiendo una continuación del cálculo de manera caótica. Por ejemplo, se impone
que las instrucciones sean agrupadas en bloques (procedimientos y funciones) que
comunican; por tanto, el código que se repite tiene la forma de un ciclo (loop, en inglés),
gobernado por una condición lógica.
• PARADIGMA DECLARATIVO: Un programa describe el problema a solucionar y la manera
de resolverlo, pero no indica el orden de las acciones u operaciones que se deben seguir.
En este caso, hay dos paradigmas principales:
o PARADIGMA FUNCIONAL: Conforme a este, todo se describe como una función.
o PARADIGMALOGICO: De acuerdo con este, todo se describe como un
pr4edicado lógico.
• PARADIGAMA ORIENTADO A OBJETOS

Transformación de un programa Un programa de usuario recorre el siguiente camino hasta su


ejecución:

• Edición: Con un editor de texto, un iDE se escribe el programa en el lenguaje elegido


• Compilación: En lenguaje de alto nivel, el código fuente se transforma en instrucciones
para la máquina (código objeto o código ejecutable)
• Enlazado: Un ejecutable se construye con códigos objeto (uno o más) y librerías de
funciones, entre otros.

También podría gustarte