Está en la página 1de 37

INGENIERÍA

INDUSTRIAL.
ALGORITMOS Y
LENGUAJE DE
PROGRAMACIÓ
N
M.D.U. SUSANA
MARTÍNEZ
RABANALES
UNIDAD 2: DESARROLLO DE LÓGICA ALGORÍTMICA.

2.1. Metodología para la solución de problemas.


2.2. Metodología para el diseño de software: Top down, Bottom
up, modular y programación estructurada.
2.3. Elementos y reglas de los lenguajes algorítmicos.
2.3.1. Diagramas de flujo.
2.3.2. Pseudocódigo.
2.4. Implementación de algoritmos.
2.4.1. Secuenciales.
2.4.2. Selectivos.
2.4.3. Repetitivos.
2.5. Pruebas y depuración
2.1. Metodología para la solución de problemas.
2.1 Definición del problema.

Esta fase está dada por el enunciado del problema indicando la situación actual y la metas que se
lograrán indicando las funciones por realizar, el cual requiere una definición clara y
precisa. Es importante que se conozca lo que se desea que realice la computadora;
mientras esto no se conozca del todo no tiene mucho caso continuar con la siguiente etapa.
2.2 Análisis del problema (de los datos)

Una vez que se ha comprendido lo que se desea de la


computadora, es necesario definir:
 Los datos de entrada.
 Cuál es la información que se desea producir (salida)
 Los métodos y fórmulas que se necesitan para procesar los
datos.

Una recomendación muy practica es el que nos pongamos en el


lugar de la computadora y analicemos que es lo que necesitamos
que nos ordenen y en que secuencia para producir los resultados
esperados.
2.3 Diseño del algoritmo

Las características de un buen algoritmo son:


1) Debe tener un punto particular de inicio.
2) Debe ser definido, no debe permitir dobles
interpretaciones.
3) Debe ser general, es decir, soportar la mayoría de
las variantes que se puedan presentar en la
definición del problema.
4) Debe ser finito en tamaño y tiempo de ejecución.
Algoritmo en
forma de
Diagrama de flujo
Algoritmo en
forma de
Pseudocodigo o
Diagrama de
caso de uso
Diagrama de
Clases (POO)
2.4 Codificación

La codificación es la operación de escribir la solución del problema (de acuerdo a la lógica del
diagrama de flujo o pseudocódigo), en una serie de instrucciones detalladas, en un código
reconocible por la computadora, la serie de instrucciones detalladas se le conoce como código
fuente, el cual se escribe en un lenguaje de programación o lenguaje de alto nivel.
2.5 Prueba y Depuración

Prueba.

Una vez obtenido el código ejecutable de un programa depurado lo máximo posible, hay que
comprobar, exhaustivamente, su funcionalidad. Para ello, se tiene que ejecutar tantas veces como se
considere necesario, proporcionándole, cada vez, datos de entrada distintos, y comprobando si los
datos de salida son siempre los esperados.
Tipos de errores que se pueden encontrar:
o Sintaxis:
La instrucción en el programa fuente esta mal escrita. Se detectan en la etapa de la compilación.

o Lógicos
Se detectan al ejecutar un programa porque da resultados incorrectos. Ejemplo: Si intentas
sumar 2 con 3 en lugar de dar 5 da 6 (en lugar de sumar multiplico).

o Ejecución
Se detectan al ejecutar un programa porque encuentra una instrucción imposible de realizar.
Ejemplo: divisiones entre 0, raíces de números negativos.

o Programador: Se detectan al revisar el código del programa. Ejemplo: uso nombres que no se
relacionan con lo que va a emplear. Escribió todo con mayúscula.
Depuración:

La depuración de programas es el proceso de identificar y corregir errores de programación. En


inglés se conoce como debugging, porque se asemeja a la eliminación de bichos (bugs), manera en
que se conoce informalmente a los errores de programación.
2.6 Documentación

Es la guía o comunicación escrita es sus variadas formas, ya sea en enunciados, procedimientos,


dibujos o diagramas. A menudo un programa escrito por una persona, es usado por otra. Por ello la
documentación sirve para ayudar a comprender o usar un programa o para facilitar futuras
modificaciones (mantenimiento).

La documentación se divide en tres partes:


a) Documentación Interna
b) b) Documentación Externa
c) c) Manual del Usuario
a) Documentación Interna: Son los comentarios o mensaje que se
añaden al código fuente para hacer más claro el entendimiento de un
proceso.

b) Documentación Externa: Se define en un documento escrito los


siguientes puntos:
Descripción del Problema
Nombre del Autor
Algoritmo (diagrama de flujo o pseudocódigo)
Diccionario de Datos
Código Fuente (programa)
c) Manual del Usuario: Describe paso a paso la
manera cómo funciona el programa, con el fin
de que el usuario obtenga el resultado deseado.
2.7 Mantenimiento

Se lleva a cabo después de terminado el programa, cuando se detecta que es necesario hacer
algún cambio, ajuste o complementación al programa para que siga trabajando de manera
correcta. Para poder realizar este trabajo se requiere que el programa este correctamente
documentado
2.2. Metodología para el diseño de software: Top down,
Bottom up, modular y programación estructurada.

Top Down

En el modelo Top-Down se formula un resumen del sistema, sin


especificar detalles. Cada parte del sistema se refina diseñando
con mayor detalle. Cada parte nueva es entonces redefinida,
cada vez con mayor detalle, hasta que la especificación completa
es lo suficientemente detallada para validar el modelo. Se diseña
con frecuencia con la ayuda de "cajas negras" que hacen más
fácil cumplir requisitos aunque estas cajas negras no expliquen
en detalle los componentes individuales.
Bottom Up

Bottom-Up por su parte, hace énfasis en la


programación y pruebas tempranas, que
pueden comenzar tan pronto se ha
especificado el primer módulo. Este enfoque
tiene el riesgo de programar cosas sin saber
como se van a conectar al resto del sistema y
esta conexión puede no ser tan fácil como se
creyó al comienzo. La reutilización del código es
uno de los mayores beneficios deesta técnica.
Programación Estructurada

La programación estructurada es un paradigma


de programación orientado a mejorar la
claridad, calidad y tiempo de desarrollo de un
programa de computadora, utilizando
únicamente subrutinas y tres estructuras:
secuencia, selección (if y switch) e iteración
(bucles for y while).
Modular

La programación modular es un paradigma de


programación que consiste en dividir un programa en
módulos o subprogramas con el fin de hacerlo más
legible y manejable.

Al aplicar la programación modular, un problema


complejo debe ser dividido en varios subproblemas
más simples y estos a su vez en otros subproblemas
aún más simples. Esto debe hacerse hasta obtener
subproblemas lo suficientemente simples como para
poder ser resueltos fácilmente con algún lenguaje de
programación. Ésta técnica se llama "refinamiento
sucesivo".
2.3. Elementos y reglas de los lenguajes algorítmicos.
2.3.1. Diagramas de flujo.
2.3.2. Pseudocódigo.
Es una serie de simbolos y reglas que se utilizan para describir de manera explícita
un proceso. Existen dos tipos delenguajes algorítmicos.

Gráficos: Es la representación gráfica de las operaciones que realiza u algoritmo


(diagrama de flujo).
No gráficos: Representa en forma descriptiva las operaciones que debe realizar un
algoritmo (pseudocódigo).
REGLAS PARA HACER UN DIAGRAMA DE FLUJO
Los Diagramas de flujo se dibujan generalmente
usando algunos símbolos estándares; sin embargo,
algunos símbolos especiales pueden también ser
desarrollados cuando séan requeridos. Algunos
símbolos estándares, que se requieren con frecuencia
para diagramar programas de computadora se
muestran a continuación:
Pseudocódigo
 
Es una forma de expresar los distintos pasos que va a realizar un
programa, de la forma más parecida a un lenguaje de
programación.

Su principal función es la de representar por pasos la solución a un


problema o algoritmo, de la forma más detallada posible,
utilizando un lenguaje cercano al de programación.

El pseudocódigo no puede ejecutarse en un ordenador ya que


entonces dejaría de ser pseudocódigo, como su propio nombre
indica, se trata de un código falso (pseudo = falso), es un código
escrito para que lo entienda el ser humano y no la máquina.
Ejemplo de un pseudocodigo:
2.4. Implementación de algoritmos.
2.4.1. Secuenciales.
2.4.2. Selectivos.
2.4.3. Repetitivos.

2.4.1 Algoritmo secuencial


La estructura secuencial es aquella en la que la acción
(instrucción) sigue a otra secuencia. Las tareas se suceden de
tal modo que la salida de una es la entrada de la siguiente y así
sucesivamente hasta el fin del proceso
2.4.2. Selectivos.

Es aquel en el que se establecen condiciones para poder


realizar una acción específica, en los lenguajes de programación
se implementan las sentencias if o select case para llevar a
cabo este tipo de algoritmos.
2.4.2. Repetitivos.

Es aquel en el que el programador establece un rango de


repetición para una acción dada, o en el que se determina que
una acción se repita de forma cíclica mientras se cumpla alguna
condición. En los lenguajes de programación se usan las
sentencias while y for para llevar a cabo este tipo de
algoritmos.
2.5. Pruebas y depuración

La prueba es el proceso de establecer la existencia de errores


en el programa. 

Depuración es el proceso de localizar dónde se produjeron


esos errores y corregir el código incorrecto. ...
Referencia Bibliográfica de la WEB:

http://enriquebarrueto0.tripod.com/algoritmos/algor01.pdf

file:///C:/Users/susan/Downloads/Metodolog%C3%ADa%20para%20la%20soluci%C3%B3n%20de%2
0problemas%20por%20medio%20de%20computadora%20(1).pdf

https://www.abrirllave.com/programacion/pruebas.php

https://sites.google.com/view/eduardo-valenzuela-hernandez/unidad-2/2-2-metodologia-para-el-dis
e%C3%B1o-de-software-top-down-bottom-up

http://www.iterra.edu.mx/terranet/?page_id=44

También podría gustarte