concentrado del modulo soluciones de problemas - manuel gonzalez sanchez

62
SOLUCION DE PROBLEMAS CON PROGRAMACION ME MANUEL GONZALEZ SANCHEZ

Upload: manuel-gonzalez

Post on 05-Dec-2014

6.562 views

Category:

Education


4 download

DESCRIPTION

Material de conceptos de algoritmos, pseudocodigos y diagramas de flujo

TRANSCRIPT

Page 1: Concentrado del Modulo  Soluciones de Problemas - Manuel Gonzalez Sanchez

SOLUCION DE PROBLEMAS CON PROGRAMACION

ME MANUEL GONZALEZ SANCHEZ

Page 2: Concentrado del Modulo  Soluciones de Problemas - Manuel Gonzalez Sanchez

COMO USAR LOS TIC´S EN LOS PROCESOS DE LA SOLUCION DE PROBLEMAS

Page 3: Concentrado del Modulo  Soluciones de Problemas - Manuel Gonzalez Sanchez

QUE SON TIC’S??

• Las tecnologías de la información y la comunicación son un conjunto de servicios, redes, software y dispositivos que tienen como fin la mejora de la calidad de vida de las personas dentro de un entorno, y que se integran a un sistema de información interconectado y complementario

Page 4: Concentrado del Modulo  Soluciones de Problemas - Manuel Gonzalez Sanchez

PROCEDIMIENTOS PARA PLANTEAR PROBLEMAS BASICOS Y ESTABLECER SUS SOLUCIONES

Page 5: Concentrado del Modulo  Soluciones de Problemas - Manuel Gonzalez Sanchez

SOLUCION DE PROBLEMAS MEDIANTE ALGORITMOS

• Objetivos

Describir la diferencia entre la solución de problemas algorítmica y heurística.

Presentar y describir las seis etapas para resolver un problema.

Page 6: Concentrado del Modulo  Soluciones de Problemas - Manuel Gonzalez Sanchez

¿Qué es un algoritmo?• Es una serie de pasos organizados que

describe el proceso que se debe seguir para dar solución a un problema especifico.

• Es aquel por medio del cual se realiza un análisis previo del problema a resolver y encontrar un método que permita resolverlo. El conjunto de todas las operaciones a realizar y el orden en el que deben efectuarse.

Page 7: Concentrado del Modulo  Soluciones de Problemas - Manuel Gonzalez Sanchez

Diseño para un algoritmoLas características de un buen algoritmo son:• Tener un punto particular de inicio.• Ser definido: no debe permitir dobles

interpretaciones.• Ser general: soportar la mayoría de las

variantes que se puedan presentar en la definición del problema.

• Debe ser finito en tamaño y tiempo de ejecución.

Page 8: Concentrado del Modulo  Soluciones de Problemas - Manuel Gonzalez Sanchez

ETAPAS PARA LA SOLUCIÓN DE PROBLEMAS

• Identificar el problema.¿Cuál es el problema?

• Análisis del problema.¿Qué se sabe del el problema?

• Generación de soluciones potenciales.Describe el conocimiento básico y lo que se espera debe conocerse para resolver el problema.Identificar las distintas alternativas (vias alternas) para resolver el problema.¿De cuántas formas se puede resolver el problema? Indica los:

Aspectos a favor de cada alternativaAspectos en contra de cada alternativa

Page 9: Concentrado del Modulo  Soluciones de Problemas - Manuel Gonzalez Sanchez

ETAPAS PARA LA SOLUCIÓN DE PROBLEMAS

• Selección y planificación de la solución. ¿Con qué alternativa me quedo? Para seleccionar la mejor vía, se requiere establecer los criterios de evaluación.

• Aplicación de la solución

• Evaluación de la solución¿Se resolvió el problema? (errores, éxitos, porcentaje de la resolución)

Page 10: Concentrado del Modulo  Soluciones de Problemas - Manuel Gonzalez Sanchez

Tipos de Problemas• Algunos problemas, se resuelven con una serie de

actividades claras y específicas. Esta forma de solución se conoce como solución algorítmica. En este caso, las distintas actividades se ejecutan en un orden lógico, etapa por etapa.

• La solución a otros problemas menos sistemáticos como qué computadora comprar, dónde invertir el capital, cuándo mover las acciones de una cuenta a otra, requiere mayor conocimiento, experiencia e inmiscuirse en un proceso de intento y error.

Page 11: Concentrado del Modulo  Soluciones de Problemas - Manuel Gonzalez Sanchez

Entre los primeros, se encuentran:– ordinogramas (flujogramas), – las tablas de decisión y,– los pseudocódigos.

En los segundos:La solución a este tipo de problemas que no recite la simpleza y claridad de ir etapa por etapa se conoce como solución heurística.

Page 12: Concentrado del Modulo  Soluciones de Problemas - Manuel Gonzalez Sanchez

Tipos de Problemas

• Problemas por etapas. Esto quiere decir que para su resolución se requiere aplicar más de una operación.

• Problema en el cual los pasos para encontrar la solución no están indicados en el texto de la situación problemática.

• Problemas incompletos o de soluciones múltiples.

Page 13: Concentrado del Modulo  Soluciones de Problemas - Manuel Gonzalez Sanchez

Solución de problemas con computadoras

• En el campo de las computadoras se entiende por solución las instrucciones que se dan a la computadora, paso por paso con el propósito de obtener el mejor resultado.

• El resultado es la salida o la respuesta asistida por la computadora.

• Programa: es el grupo de instrucciones que, una vez codificadas en un lenguaje de computadora, hacen posible la solución.

Page 14: Concentrado del Modulo  Soluciones de Problemas - Manuel Gonzalez Sanchez

Glosario

• Algoritmo: serie de pasos organizados para dar solución a un problema especifico.

• Solución algorítmica: Es un proceso óptico utilizando el principio de mínimo pontriguin para sistemas de eventos discretos.

• Solución herística: Es un algoritmo que abandona uno o ambos objetivos, normalmente encuentra buenas soluciones, pero en ocasiones no hay prueba de que la solución no pueda ser errónea y se ejecuta racionalmente rápido aunque no existe prueba de que pueda ser así.

Page 15: Concentrado del Modulo  Soluciones de Problemas - Manuel Gonzalez Sanchez

Glosario

• Programa: Es una serie de ordenes dirigidas a la maquina para ejecutar una tarea determinada automatizada mente.

• Resultados: La consecuencia del efecto de una acción.

• Solución: Es la respuesta a un problema.

Page 16: Concentrado del Modulo  Soluciones de Problemas - Manuel Gonzalez Sanchez

Reglas para Estructurar algoritmos

Page 17: Concentrado del Modulo  Soluciones de Problemas - Manuel Gonzalez Sanchez

Concepto

Algoritmo: es un método para

resolver un problema mediante una serie de pasos definidos, precisos y finitos.

Preciso: implica el orden de realización de cada uno de los pasosDefinido: si se sigue dos veces, se obtiene el mismo resultado. Finito: Tiene un numero determinado de pasos, implica que tiene un fin.

Page 18: Concentrado del Modulo  Soluciones de Problemas - Manuel Gonzalez Sanchez

TiposMétodo Descripción Ejemplos Algorítmico Utiliza un algoritmo y

puede ser implementado en una computadora

Instrucciones para manejar un vehículo

Instrucciones para resolver ecuación de segundo grado

Heurística Se apoya en el resultado obtenido en un análisis de alternativas de experiencias anteriores similares. De las mismas, a se deducen una serie de reglas empíricas o heurísticas que de ser seguidas, conducen a la selección de la mejor alternativa en todas o la mayoría de las veces.

Page 19: Concentrado del Modulo  Soluciones de Problemas - Manuel Gonzalez Sanchez

Tipos de problemas

La solución a otros problemas menos sistemáticos como qué computadora comprar, dónde invertir el capital, cuándo mover las acciones de una cuenta a otra, requiere mayor conocimiento, experiencia e inmiscuirse en un proceso de intento y error.

Page 20: Concentrado del Modulo  Soluciones de Problemas - Manuel Gonzalez Sanchez

Solución de problemas con computadoras

En el campo de las computadoras se entiende por solución las instrucciones que se dan a la computadora, paso por paso con el propósito de obtener el mejor resultado. El resultado es la salida (output) o la respuesta asistida por la computadora y el grupo de instrucciones que, una vez codificadas en un lenguaje de computadora, hacen posible la solución.

Page 21: Concentrado del Modulo  Soluciones de Problemas - Manuel Gonzalez Sanchez

Realizar un Algoritmo

El programador diseña un programa, para resolver un problema particular.

Diseñar es un proceso creativo. El proceso de diseño de un programa consta de

los siguientes pasos o etapas

Page 22: Concentrado del Modulo  Soluciones de Problemas - Manuel Gonzalez Sanchez

PasosPasos Etapa Descripcion1.- Análisis del problema Conducen al diseño detallado por medio de un

código escrito en forma de un algoritmo

2.- Diseño de algoritmo Se implementa el algoritmo en un código escrito en un lenguaje de programación. Refleja las ideas desarrolladas en las etapas de análisis y diseño

3.- .

4.- Complicación y ejecución Traduce el programa fuente a programa en código de maquina y lo ejecuta.

5 Verificación Busca errores en las etapas anteriores y los elimina

6 Depuración Busca errores en las etapas anteriores y los elimina

7.- Documentacion Son comentarios, etiquetas de texto, que facilitan la comprensión del programa

Page 23: Concentrado del Modulo  Soluciones de Problemas - Manuel Gonzalez Sanchez

DIAGRAMA DE FLUJO Y COMO APLICARLOS PARA SOLUCIONAR

PROBLEMAS

Page 24: Concentrado del Modulo  Soluciones de Problemas - Manuel Gonzalez Sanchez

DIAGRAMAS DE FLUJO

RESPONSABLES DE EJECUCION; EN POCAS PALABRAS ES LA REPRESENTACION SIMBOLICA O PICTORICA DE UN PROCEDIMIENTO ADMINISTRATIVO

<EVITAR SUMIDEROS INFINITOS, BURBUJAS QUE TIENEN ENTRADAS PERO NO SALIDAS.<EVITAR LAS BURBUJAS DE GENERACION ESPONTANEA QUE TIENE SALIDASSIN TENER ENTRADAS , PORQUE SON SUMAMENTE SOSPECHOSASY GENERALMENTE INCORRECTAS

Page 25: Concentrado del Modulo  Soluciones de Problemas - Manuel Gonzalez Sanchez

Un diagrama de flujo es una forma más tradicional de especificar los detalles algorítmicos de un proceso y constituye la representación gráfica de un proceso multifactorial. Se utiliza principalmente en programación, economía y procesos industriales, pasando también a partir de estas disciplinas a formar parte fundamental de otras, como la psicología cognitiva; 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 entenderlo mejor. Son modelos tecnológicos utilizados para comprender los rudimentos de la programación lineal representativos.

.

Page 26: Concentrado del Modulo  Soluciones de Problemas - Manuel Gonzalez Sanchez

Un diagrama de flujo.- Es la representación gráfica de flujo o secuencia de resta es asi desde que empezó, etc. Rutinas simples, son la forma de especificar los detalles algorítmicos de un proceso mediante la esquematización gráfica para entenderlo mejor. 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 la operación.

Page 27: Concentrado del Modulo  Soluciones de Problemas - Manuel Gonzalez Sanchez

Un diagrama de flujo es la representación gráfica del flujo o secuencia de rutinas simples. Tiene la ventaja de indicar la secuencia del proceso en cuestión, las unidades involucradas y los responsables de su ejecución; en pocas palabras es la representación simbólica o pictórica de un procedimiento administrativo.

Page 28: Concentrado del Modulo  Soluciones de Problemas - Manuel Gonzalez Sanchez

DIGRAMA DE FLUJO

Diagrama de flujo sencillo con los pasos a seguir si una lámpara no funciona

Page 29: Concentrado del Modulo  Soluciones de Problemas - Manuel Gonzalez Sanchez

ALGUNOS SIMBOLOS UTILIZADOS EN LOS DIAGRAMAS

Page 30: Concentrado del Modulo  Soluciones de Problemas - Manuel Gonzalez Sanchez

Características que debe cumplir un diagrama de flujo

En los diagramas de flujo se presuponen los siguientes aspectos:

Existe siempre un camino que permite llegar a una solución (finalización del algoritmo).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).

Page 31: Concentrado del Modulo  Soluciones de Problemas - Manuel Gonzalez Sanchez

Desarrollo del Diagrama de FlujoLas siguientes son acciones previas a la realización del diagrama de flujo:

Identificar las ideas principales a ser incluidas en el diagrama de flujo. Deben estar presentes el dueño o responsable del proceso, los dueños o responsables del proceso

anterior y posterior y de otros procesos interrelacionados, otras partes interesadas.Definir qué se espera obtener del diagrama de flujo.

Identificar quién lo empleará y cómo.Establecer el nivel de detalle requerido.

Determinar los límites del proceso a describir. Los pasos a seguir para construir el diagrama de flujo son :

Establecer el alcance del proceso a describir. De esta manera quedará fijado el comienzo y el final del diagrama. Frecuentemente el comienzo es la salida del proceso

previo y el final la entrada al proceso siguiente.Identificar y listar las principales actividades/subprocesos que están incluidos en el

proceso a describir y su orden cronológico.Si el nivel de detalle definido incluye actividades menores, listarlas también.

Identificar y listar los puntos de decisión.Construir el diagrama respetando la secuencia cronológica y asignando los

correspondientes símbolos.Asignar un título al diagrama y verificar que esté completo y describa con exactitud el

proceso elegido.

Page 32: Concentrado del Modulo  Soluciones de Problemas - Manuel Gonzalez Sanchez

RecomendacionesA 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.

Ventajas de los Diagramas de FlujoFavorecen la comprensión del proceso a través de mostrarlo como un dibujo. El

cerebro humano reconoce fácilmente los dibujos. Un buen diagrama de flujo reemplaza varias páginas de texto.

Permiten identificar los problemas y las oportunidades de mejora del proceso. Se identifican los pasos redundantes, los flujos de los re-procesos , los conflictos de autoridad, las responsabilidades, los cuellos de botella, y los puntos de decisión.

Muestran las interfaces cliente-proveedor y las transacciones que en ellas se realizan, facilitando a los empleados el análisis de las mismas.

Son una excelente herramienta para capacitar a los nuevos empleados y también a los que desarrollan la tarea, cuando se realizan

Page 33: Concentrado del Modulo  Soluciones de Problemas - Manuel Gonzalez Sanchez

Tipos de diagramas de flujoFormato Vertical: En él el flujo o la secuencia de las operaciones, va de arriba hacia abajo. Es una lista ordenada de las operaciones de un proceso con toda la información que se considere necesaria, según su propósito.Formato Horizontal: En él el flujo o la secuencia de las operaciones, va de izquierda a derecha.Formato Panorámico: El proceso entero está representado en una sola carta y puede apreciarse de una sola mirada mucho más rápido que leyendo el texto, lo que facilita su comprensión, aun para personas no familiarizadas. Registra no solo en línea vertical, sino también horizontal, distintas acciones simultáneas y la participación de más de un puesto o departamento que el formato vertical no registra.

Page 34: Concentrado del Modulo  Soluciones de Problemas - Manuel Gonzalez Sanchez

DIAGRAMA DE FLUJO EN FORMATO VERTICAL

Page 35: Concentrado del Modulo  Soluciones de Problemas - Manuel Gonzalez Sanchez

DIAGRAMA DE FLUJO FORMATO HORIZONTAL

Page 36: Concentrado del Modulo  Soluciones de Problemas - Manuel Gonzalez Sanchez

DIAGRAMA DE FLUJO FORMATO PANORAMICO

Page 37: Concentrado del Modulo  Soluciones de Problemas - Manuel Gonzalez Sanchez

Diagrama de Flujo de DatosComponentes de un Diagrama de Flujo de Datos (DFD) según la notación de Yourdon y DeMarco.Un diagrama de flujo de datos (DFD por sus siglas en español e inglés) es una representación gráfica del "flujo" de datos a través de un sistema de información. Un diagrama de flujo de datos también se puede utilizar para la visualización de procesamiento de datos (diseño estructurado). Es una práctica común para un diseñador dibujar un contexto a nivel de DFD que primero muestra la interacción entre el sistema y la entidades externas. Este contexto a nivel de DFD se "explotó" para mostrar más detalles del sistema que se está modelando.

Page 38: Concentrado del Modulo  Soluciones de Problemas - Manuel Gonzalez Sanchez

DIAGRAMA DE FLUJO DE DATOS

Page 39: Concentrado del Modulo  Soluciones de Problemas - Manuel Gonzalez Sanchez

Diagrama de Contexto: Nivel 0 En el diagrama de contexto solo se dibuja el proceso principal y los flujos entre este y sus entidades externas.

Diagrama de Nivel Superior: Nivel 1 En el diagrama de nivel superior se plasman todos los procesos que describen al proceso principal. En este nivel los procesos no pueden interrelacionarse directamente, sino que entre ellos siempre debe existir algún almacenamiento o entidad

NIVELES DE DIGRAMA DE FLUJO

Page 40: Concentrado del Modulo  Soluciones de Problemas - Manuel Gonzalez Sanchez

NIVELES DE DIAGRAMA

• Diagrama de Detalle o Expansión: Nivel 2 • A partir del nivel 2 de detalle, los procesos pueden

interrelacionarse directamente, sin necesidad de almacenamiento que los una. Cabe destacar que en el nivel 1 y 2 siempre los procesos deben tener las entradas y las salidas dadas en el diagrama de contexto.

• Nota: Diagrama de nivel 2 (o superior) en la fotografía. Es de nivel >= 2, y no de nivel 1 porque en el nivel 1 no se permiten las interconecciones entre procesos, como puede verse entre el proceso 2 y 3. tambien no se que mas decir

Page 41: Concentrado del Modulo  Soluciones de Problemas - Manuel Gonzalez Sanchez

Lenguaje Estructurado

Page 42: Concentrado del Modulo  Soluciones de Problemas - Manuel Gonzalez Sanchez

Es un método de programación basado sobre el concepto de la unidad y del alcanzo .Un lenguaje estructurado se compone de unas o mas unidades o módulos-escrito por el usuario o sacado de una librería: Cada modulo se compone de uno o mas procedimientos también llamada una función, una rutina, un subprograma, o un método dependiendo del lenguaje de programación.

Page 43: Concentrado del Modulo  Soluciones de Problemas - Manuel Gonzalez Sanchez

Un lenguaje estructurado ( no imperativa) es logo, especifica secuencias de pasos para realizarse pero no tiene un estado interno. Ofrece muchas ventajas sobre la programación secuencial: el código de programación estructurada es mas fácil de leer y mas conservable: el código procesado es mas flexible; la programación estructurada permite la practica mas fácil del buen diseño del programa.

Page 44: Concentrado del Modulo  Soluciones de Problemas - Manuel Gonzalez Sanchez

DEFINICIÓN DE LAS ESTRUCTURAS BÁSICAS DE CONTROL LÓGICO

• 1.- SECUENCIA • 2.- SELECCIÓN • 3.- ITERACIÓN

Page 45: Concentrado del Modulo  Soluciones de Problemas - Manuel Gonzalez Sanchez

1.- SECUENCIA

Indica que las instrucciones de un programa

se ejecutan una después de la otra, en el mismo orden en el cual aparecen en el programa.

Page 46: Concentrado del Modulo  Soluciones de Problemas - Manuel Gonzalez Sanchez

2.- SELECCIÓN

También conocida como la estructura SI-CIERTO-FALSO, plantea la selección entre dos alternativas con base en el resultado de la evaluación de una condición o predicado; equivale a la instrucción IF de todos los lenguajes de programación y se representa gráficamente.

Page 47: Concentrado del Modulo  Soluciones de Problemas - Manuel Gonzalez Sanchez

3.ITERACIÓN

También llamada la estructura HACER-

MIENTRAS-QUE, corresponde a la ejecución repetida de una instrucción mientras que se cumple una determinada condición .

Page 48: Concentrado del Modulo  Soluciones de Problemas - Manuel Gonzalez Sanchez

Ventajas del lenguaje estructurada

*La estructura del lenguaje es clara* La estructura del lenguaje es clara

*Los lenguajes son más fáciles de entender*Reducción del esfuerzo en las pruebas

*Reducción de los costes de mantenimiento de los lenguajes.

*Lenguajes más sencillos y más rápidos *Los bloques de código son auto explicativos

*Los GOTO se reservan para construir las instrucciones básicas .

Page 49: Concentrado del Modulo  Soluciones de Problemas - Manuel Gonzalez Sanchez

Pseudoscódigos

Page 50: Concentrado del Modulo  Soluciones de Problemas - Manuel Gonzalez Sanchez

*Pseudocódigo* 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. 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.

Page 51: Concentrado del Modulo  Soluciones de Problemas - Manuel Gonzalez Sanchez

*Pseudocódigo*

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)

Page 52: Concentrado del Modulo  Soluciones de Problemas - Manuel Gonzalez Sanchez

Definición de datos del Pseudocódigo

• La definición de datos se da por supuesta, sobre todo en las variables sencillas, si se emplea formaciones: pilas, colas, vectores o registros, se pueden definir en la cabecera del algoritmo, y naturalmente cuando empleemos el pseudocódigo para definir estructuras de datos, esta parte la desarrollaremos adecuadamente.

Page 53: Concentrado del Modulo  Soluciones de Problemas - Manuel Gonzalez Sanchez

Secuencial * • Las instrucciones se siguen en una secuencia fija que

normalmente viene dada por el número de renglón. Es decir que las instrucciones se ejecutan de arriba hacia abajo.

• Instrucción1 • Instrucción2• Instrucción3

Page 54: Concentrado del Modulo  Soluciones de Problemas - Manuel Gonzalez Sanchez

Selectiva • La instrucción selectiva determina si una determinada

instrucción se ejecuta o no, según el cumplimiento de una condición P.

Page 55: Concentrado del Modulo  Soluciones de Problemas - Manuel Gonzalez Sanchez

Diagrama de flujo que muestra el funcionamiento de la instrucción condicional

si P entonces Instrucciones1 fin si La condición P es una variable booleana o una función

reducible a booleana (lógica, Verdadero/Falso). Si esta condición es cierta se ejecuta Instrucciones1, si no es así, ésta no se ejecuta.

Page 56: Concentrado del Modulo  Soluciones de Problemas - Manuel Gonzalez Sanchez

Selectiva doble (alternativa) La instrucción selectiva realiza una instrucción de dos posibles, según el

cumplimiento de una condición P. Diagrama de flujo que muestra el funcionamiento de la instruccióncondicionalsi P entonces Instrucciones1si no Instrucciones2 fin si La condición P es una variable booleana o una función reducible abooleana (lógica, Verdadero/Falso). Si esta condición es cierta seejecuta Instrucciones1, si no es así, entonces se ejecuta

Page 57: Concentrado del Modulo  Soluciones de Problemas - Manuel Gonzalez Sanchez

Selectiva múltiple

También es común el uso de una selección múltiple que equivaldría a anidar varias funciones de selección.

si Condición1 entonces Instrucciones1 si no si Condición2 entonces Instrucciones2 si no si Condiciónn entonces Instruccionesn – 1 si no Instruccionesn fin si

Page 58: Concentrado del Modulo  Soluciones de Problemas - Manuel Gonzalez Sanchez

• En este caso hay una serie de condiciones que tienen que ser mutuamente excluyentes, si una de ellas se cumple las demás tienen que ser falsas necesariamente, hay un caso si no que será cierto cuando las demás condiciones sean falsas.

• En esta estructura si Condición1 es cierta, entonces se ejecuta sólo Instrucciones1. En general, si Condicióni es verdadera, entonces sólo se ejecuta Instruccionesi

Page 59: Concentrado del Modulo  Soluciones de Problemas - Manuel Gonzalez Sanchez

Selectiva múltiple-Casos Una construcción similar a la anterior (equivalente en algunos casos) es la que se muestra a continuación.• seleccionar Indicador • caso Valor1: • Instrucciones1 • caso Valor2: • Instrucciones2 • caso Valorn-1: • Instruccionesn-1 • [en otro caso: • Instruccionesn] • Fin seleccionar Indicador • En este caso hay un Indicador es una variable o una función cuyo

valor es comparado en cada caso con los valores "Valori", si en algún caso coinciden ambos valores, entonces se ejecutarán las Instruccionesi correspondientes. La sección en otro caso es análoga a la sección si no del ejemplo anterior.

Page 60: Concentrado del Modulo  Soluciones de Problemas - Manuel Gonzalez Sanchez

Iterativa *

• Las instrucciones iterativas abren la posibilidad de realizar una secuencia de instrucciones más de una vez.

Diagrama de flujo que muestra el funcionamiento de lainstrucción mientrasmientras P hacerInstruccionesfin mientras El bucle se repite mientras la condición P sea cierta, si al llegar

por primera vez al bucle mientras la condición es falsa, el cuerpo del bucle no se ejecuta ninguna vez.

Page 61: Concentrado del Modulo  Soluciones de Problemas - Manuel Gonzalez Sanchez

El anidamiento Cualquier instrucción puede ser sustituida por unaestructura de control. El siguiente ejemplo muestra unpseudocódigo de un método de ordenamiento denominadoOrdenamiento de burbuja en el cual aparecen variasestructuras anidadas. Este algoritmo ordena una lista L.

• procedimiento // es una lista con n elementos// • hacer • para hasta hacer • si entonces • fin si • fin para • mientras fin procedimiento

Page 62: Concentrado del Modulo  Soluciones de Problemas - Manuel Gonzalez Sanchez

Desarrollo de algoritmos

Con este pseudocódigo se puede desarrollarcualquier algoritmo que:• Tenga un único punto de inicio. • Tenga un número finito de posibles puntos de

término. • Haya un número finito de caminos, entre el punto

de inicio y los posibles puntos de término.