Essays.club - Ensayos gratis, notas de cursos, notas de libros, tareas, monografías y trabajos de investigación
Buscar

Diseño de Algoritmos resolver problemas y diseñar algoritmos

Enviado por   •  11 de Julio de 2018  •  4.609 Palabras (19 Páginas)  •  483 Visitas

Página 1 de 19

...

- Es un conjunto de acciones que determinan la secuencia de pasos a seguir para resolver un problema específico.

- Son finitos, es decir, sus pasos terminan en algún punto determinado.

- Es una forma de resolver un problema.

[pic 1]

- Es un proceso con datos de entrada y de salida (llamados resultados).

[pic 2]

Según Luis Joyanes Aguilar (Métodología de la Programación, 1988), establece una serie técnicas usadas para la resolución de problemas, entre ellas podemos mencionar:

-

Refinamiento por pasos

Según Regulo Salas/Dolores Ríos (Esprosistemas, 1989). Enfoca la solución de los problemas de afuera hacia adentro resolviendo aspectos generales para entrar a definir finalmente los detalles.

Características:

- Un problema complejo puede descomponerse en un conjunto de problemas equivalentes, cada uno de los cuales es de menor complejidad que el problema original.

- La solución de todos los problemas menores conduce a la solución del problema inicial.

- Cada problema menor (subproblema) puede descomponerse, a su vez, en problemas menores de más fácil solución.

- La descomposición debe seguirse hasta que un problema menor tenga solución inmediata.

- La solución final estará formada por la concatenación ordenada de todos los problemas menores que resultaron de la descomposición.

- Si uno de los problemas menores no se pudiera resolver, el problema original tampoco tendría solución.

Forma gráfica

[pic 3]

Cuando en la aplicación de ésta técnica se llega a un problema (subproblema) que puede resolverse mediante una estructura secuencial, repetitiva o selectiva, entonces el problema menor ya no se sigue refinando más.

Pasos:

- Analizar las estructuras que conforman el problema principal.

- Dividir el problema en tantas partes como estructuras independientes se hayan encontrado.

- Analizar cada una de las estructuras por separado y aplicarles el mismo principio hasta llegar a la solución compuesta por elementos básicos o combinaciones de ellos, hasta que no pueda identificar una estructura dentro de otra estructura.

Ejemplo: Se desea procesar los datos de un grupo de estudiantes por cada estructura se encuentra la siguiente información de entrada (nombre, sexo, carrera, lugar de nacimiento). Se pide un informe en que aparezcan los nombres de los estudiantes que cumplan las siguientes condiciones: sexo femenino, estudiante de sistemas, nacidos en Valera.

Solución: El problema presenta una estructura de tipo repetitivo, en la cual se leen los datos de entrada y luego se procesan.

Refinando por pasos

Estructura global →Problema →Lectura de datos. Procesos

[pic 4]

[pic 5]

Ventajas

Permite visualizar la descomposición en problemas menores

Inconvenientes

Lograr la división de un problema en subproblemas.

-

Pseudocódigo (pseudolenguaje)

- Es una mezcla de lenguaje de programación y español (o cualquier otro idioma).

- Se emplea en la programación estructurada para realizar el diseño de un programa.

- Es un metalenguaje simbólico para la especificación de los pasos de un algoritmo.

- Imitación y una versión abreviada de instrucciones.

- Utilizan palabras claves.

- Es una técnica para expresar en lenguaje natural la lógica de un programa (flujo de control).

Ejemplos

El mismo de refinamiento por pasos:

- Inicio del algoritmo Estudiante

- Definir haydato, nombre, sexo, carrera, nac

- Haydato=´s´

- Haga mientras haydato=´s´

Comienzo

- Leer (nombre, sexo, carrera, nac)

- Si sexo = ´f´ entonces

Si carrera = ´sistemas´entonces

Si nac = ´Valera´ entonces

Imprimir (´nombre´)

Sino

Continuar

Fin_Si

Sino

Continuar

Fin_Si

- Leer (haydato) /*Lee el nombre del estudiante que cumple con las condiciones

Fin_Haga_mientras

- Fin_Inicio

Otro Ejemplo

- Inicio del algoritmo Figura

- Defina opc, a, b, h, l, r

- Leer opc

- Si opc = 1 entonces

- Leer b, h

- A = (b*h)/2

Fin_Si

- Si opc = 2 entonces

- Leer l

- A = l * l

Fin_Si

- Si opc = 3 entonces

- Leer

...

Descargar como  txt (34.3 Kb)   pdf (105.4 Kb)   docx (602.3 Kb)  
Leer 18 páginas más »
Disponible sólo en Essays.club