Está en la página 1de 24

INSTITUTO TECNOLOGICO

NACIONAL DE MEXICO

DESARROLLO DE LOGICA
ALGORITMICA
UNIDAD 2 ALGORITMOS Y LENGUAJES DE PROGRAMACION
ALUMNA: LEON OLVERA LIBIA MONSERRAT
INDICE 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.
ETAPA 1-DEFINICIÓN DEL PROBLEMA
En esta etapa, en primer lugar, es necesario
identificar cual es el problema que se desea
resolver. Esto que parece algo sumamente
sencillo, muchas veces resulta.
Es una tarea agotadora ya que generalmente
existen muchas opiniones de cuál es el problema
central. Identificarlo es una de las tareas más
importantes que los analistas deben afrontar.
Identificado el problema es necesario poder
comprenderlo en su totalidad, es decir, comprender qué
es exactamente lo que se desea que se resuelva.
Finalmente se deberá escribir un enunciado claro,
concreto y conciso del problema a resolver.

PASOS:
Identificación del problema.

Descripción general del problema.

Enunciado claro y preciso del problema.


ETAPA 2-DEFINICIÓN DE SOLUCION

En esta etapa, es necesario estudiar a fondo el problema para poder


solucionarlo, saber exactamente en qué consiste y poder
descomponerlo en cada una de sus partes para facilitar su
comprensión y posterior solución. Esta es una regla que siempre
deberá ser aplicada se utilice o no una computadora en la solución
de un problema. Una vez entendido el problema, se está en
condiciones de estudiarlo a fondo y plantear diversas alternativas
que permitan solucionar el problema, para finalmente, seleccionar la
alternativa mas adecuada.
ETAPA 2-DEFINICIÓN DE SOLUCION

PASOS:

Definir el resultado deseado.

Determinar los datos que se deben ingresar o generar para


obtener el resultado deseado.

Determinar la forma en que los datos serán procesados para


transformarlos en información.
ETAPA 3-DISEÑO DE LA SOLUCIÓN

Definida la solución, se procede a diseñar la lógica modelando y


desarrollando algoritmos. Para el modelado de la solución del
problema se utiliza el Lenguaje Unificado de Modelado (Unified
Modeling Language, UML), el cual es una herramienta usada para
describir clases, objetos y sus relaciones. Para el desarrollo de
algoritmos se utilizan Pseudocódigos y Diagramas de Flujo (DF), los
cuales son herramientas utilizadas para diseñar los algoritmos de los
diferentes métodos de una clase.
ETAPA 3-DISEÑO DE LA SOLUCIÓN

Finalizado el desarrollo de los algoritmos es necesario verificar si se


ha incluido soluciones para todas las formas en que se presente el
problema. A este tipo de prueba se le denomina “Prueba de
escritorio”.

PASOS:

Definir un nombre para el proyecto.


Definición de diagramas, relaciones y clases.
Desarrollo de Algoritmos.
ETAPA 4-DESARROLLO DE LA SOLUCIÓN

Una vez previstas todas las posibilidades y alternativas que puedan


presentarse y que pasen sin inconvenientes por la clase y los
algoritmos, se podrá proceder a la codificación del problema en
algún lenguaje de programación. La codificación involucra traducir
los diagramas, las especificaciones de las clases (expresadas en
notación UML), y los pasos del algoritmo de cada método (expresado
en DF o pseudocódigo), en sentencias de un lenguaje de
programación determinado.
Estas sentencias son almacenadas en un proyecto (o archivo) lógico,
y constituyen lo que la computadora podrá ejecutar.

PASOS:

Codificar el proyecto.

Desarrollar comentarios internos en los programas de


computadora.

Desarrollar copias de seguridad de los programas de


computadora.
ETAPA 5-DEPURACIÓN Y PRUEBAS
Luego que se codifiquen los programas y/o clases, deben ser
probados mediante la ejecución de los mismos (esto es conocido
como corrida del programa). Al realizarse ésta, pueden surgir
diferentes tipos de errores, siendo los errores de lógica y sintaxis los
más comunes. Hay que corregir el programa; anular, modificar o
crear nuevas sentencias, volver a probar el programa y continuar con
la corrección y pruebas hasta conseguir el resultado deseado.
PASOS:
Realizar la depuración y verificar la correcta
escritura de los programas.
Realizar pruebas de sintaxis.
Realizar pruebas de lógica
ETAPAS 6- DOCUMENTACIÓN
En esta etapa se recopila toda la documentación generada en las
etapas anteriores, la cual va a servir como base para la elaboración
del manual técnico. Dedicarle tiempo a esta etapa nos ayudará a
desarrollar buenos hábitos, los cuales serán necesarios cuando se
desarrolle software en forma profesional. El manual técnico debe
incluir, como mínimo:
- Descripción del problema.
- Resultados esperados y datos necesarios para generar dichos
resultados.
- Diagramas UML, DF y/o Pseudocódigo.
- Pruebas desarrolladas.
- Listado de programas con comentarios internos.
ETAPAS 6- DOCUMENTACIÓN

PASOS:

Recopilar el material generado en cada una de las etapas


anteriores.

Generar el manual del programa.

Generar el manual del usuario.


2.2. Metodología para el diseño de software: Top down, Bottom up,
modular y programación estructurada.

Una metodología de diseño de software es un conjunto de técnicas, herramientas y prácticas


que se utilizan para diseñar programas informáticos de manera estructurada y organizada.
Enfoque Top down: El enfoque Top down o de arriba abajo es una metodología de diseño de
software que comienza con la definición de los objetivos generales del programa y luego se
desglosa en componentes más pequeños. Este enfoque se enfoca en la planificación y diseño
antes de la implementación. Enfoque Bottom up: El enfoque Bottom up o de abajo hacia
arriba es una metodología de diseño de software que comienza con los componentes más
pequeños y luego los combina para formar el programa completo. Este enfoque se enfoca en
la implementación y resolución de problemas en el proceso. Enfoque modular: El enfoque
modular es una metodología de diseño de software que divide el programa en módulos
autónomos y reutilizables, cada uno con una función específica. Los módulos pueden ser
diseñados, desarrollados y probados por separado antes de ser integrados en el programa
completo.
2.3. Elementos y reglas de los lenguajes algorítmicos.
Lenguajes Algorítmicos:
Es una serie de símbolos y reglas que se utilizan para describir de manera explícita un proceso.
Existen 2 tipos de Lenguajes Algorítmicos:
• Gráficos: Es la representación gráfica de las operaciones que realiza un algoritmo (diagrama de
flujo).
• No Gráficos: Representa en forma descriptiva las operaciones que debe realizar un algoritmo
(pseudocódigo).
Inicio
¿Que edad tienes?
Edad >=70?, si sí, salida "Has envejecido bien"
Si no, Edad=50?, si sí, salida "Wow, tienes medio siglo"
Si no, salida, Eres un polluelo. - Incluye la referencia o cita
2.3.1. Diagramas de flujo.
Un diagrama de flujo es la representación gráfica de
un algoritmo. También se puede decir que es la
representación detallada en forma gráfica de cómo
deben realizarse los pasos en la computadora para
producir resultados. Esta representación gráfica se
da cuando varios símbolos (que indican diferentes
procesos en la computadora), se relacionan entre sí
mediante líneas que indican el orden en que se
deben ejecutar los procesos. Los símbolos
utilizados han sido normalizados por el instituto
norteamericano de normalización (ANSI)
- Incluye la referencia o cita
2.3.2. Pseudocódigo
Cuando se trabaja e programación, antes de escribir
nuestro programa, primero escribimos el
pseudocódigo. El pseudocódigo es una forma de
escribir los pasos que va a realizar un programa de
la forma más cercana al lenguaje de programación
que vamos a utilizar posteriormente. Es como un
falso lenguaje, pero en nuestro idioma, en el
lenguaje humano y en español. que es un
pseudocodigo. Una de las mayores dificultades con
las que se encuentran los hispanoparlantes que
empiezan a programar es el idioma. Por eso es
bueno utilizar el pseudocódigo, que ayuda- Incluye la referencia o cita
a asimilar
con más facilidad las ideas básicas.
2.4 Implementación de algoritmos
Los algoritmos no se implementan sólo como programas, también en circuitos eléctricos, en
instalaciones industriales o maquinaria pesada. Se puede decir en pocas palabras que nuestra vida es un
ejemplo de algoritmo, pues al desarrollar nuestros que hacer diarios desarrollamos una serie de pasos
ordenados, obteniendo resultados. Un algoritmo puede adoptar una de las estructuras siguientes o
combinaciones de ellas: Es aquel algoritmo 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. Se utilizan para tomar decisiones lógicas; de ahí que se suelan
denominar también estructuras de decisión o alternativas. Un algoritmo repetitivo o cíclico 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.
- Incluye la referencia o cita
2.4.1. Secuenciales.
La estructura secuencial es aquella en la que una acción (instrucción) sigue a otra en 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. Componentes Asignación La asignación consiste, en el paso de valores o
resultados a una zona de la memoria. Dicha zona será reconocida con el nombre de la variable que
recibe el valor.
La asignación se puede clasificar de la siguiente forma:
• Simples: Consiste en pasar un valor constate a una variable (a=15)
• Contador: Consiste en usarla como un verificador del número de veces que se realiza un proceso
(a=a+1)
• Acumulador: Consiste en usarla como un sumador en un proceso (a=a+b)
• De trabajo: Donde puede recibir el resultado de una operación matemática que involucre muchas
variables (a=c+b*2/4) - Incluye la referencia o cita
2.4.1. Secuenciales.
Lectura
• La lectura consiste en recibir desde un dispositivo de entrada (p.ej. el teclado) un valor. Esta operación
se representa en un pseudocodigo como
• sigue:
• Leer a, b
• Donde “a” y “b” son las variables que recibirán los valores
Escritura
• Consiste en mandar por un dispositivo de salida (p.ej. monitor o impresora) un resultado o mensaje.
Este proceso se representa en un pseudocodigo
• como sigue:
• Escribe “El resultado es:”, R
- Incluye
• Donde “El resultado es:” es un mensaje que se la referencia
desea o cita
aparezca y R es una variable que contiene un
valor
2.4.2. Selectivos.
3.- Múltiple (Case) Es aquel algoritmo 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. Se utilizan para tomar decisiones lógicas; de ahí que se suelan
denominar también estructuras de decisión o alternativas.
Cuando existen más de dos elecciones posibles, es cuando se presenta el caso de alternativas múltiples.
Si el número de alternativas es grande puede plantear serios problemas de escritura del algoritmo y
naturalmente de legibilidad. La estructura de decisión múltiple evaluará una expresión que podrá tomar
n valores distintos 1,2,3,4,..n . Según que elija uno de estos valores en la condición, se realizará una de las
n acciones, o lo que es igual, el flujo del algoritmo seguirá un determinado camino entre los n posibles..

- Incluye la referencia o cita


2.4.2. Selectivos.
Ejemplo : Determinar si un triangulo es: equilatero, isóceles o escaleno, conociendo sus tres lados
(a,b,c). Proceso que convierte los resultados del análisis del problema en un diseño modular con
refinamientos sucesivos que permitan una posterior traducción a un lenguaje. El diseño del algoritmo es
independiente del lenguaje de programación en el que se vaya a codificar posteriormente. Existen dos
herramientas utilizadas conceptualmente para diseñar algoritmos: los diagramas de flujo y el
pseudocódigo. La representación de una estructura selectiva se hace con palabras en Pseudocódigo (If,
Then, Else o bien en español si, entonces, sino), con una figura geométrica en forma de rombo o bien con
un triángulo en el interior de una caja rectangular

Estas a su vez pueden ser de 3 tipos: Ejemplo de Pseudocódigo y su Equivalente en Diagrama de Flujo y
Algoritmo, Ciclo While, Ciclo For. Un algoritmo repetitivo o cíclico es aquel en el que el programador
establece un rango de repetición para -unaIncluye ladada
acción referencia
o en el oque
cita
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.4.3. Repetitivos.
Los errores humanos dentro de la
programación de computadoras son muchos y
aumentan considerablemente con la
complejidad del problema. El proceso de
identificar y eliminar errores, para dar paso a
una solución sin errores se le llama Depuración.

- Incluye la referencia o cita


¡Gracias!

También podría gustarte