Universidad de Margarita
Alma mater del Caribe
Decanato de Estudios Generales
Catedra: Algebra discreta
Algoritmos
Prof.
Julián Carneiro
Realizado por:
Hernesto Salazar
C.I. V-28.492.548
Índice
Pág.
Introducción……………………………………………………………………………….1
Definiciones básicas……………………………………………………………………..2
Tipos de datos informáticos……………………………………..………………… 2-3-4
Análisis del problema……………………………………………………………………5
Diseño del algoritmo…………………………………………………….……………..5-6
Medios de expresión de un algoritmo………………………………………………….7
Diagrama de flujo……………………………………………………………....7-8
Pseudocódigo…………………………………………………………………..…9
Variables constantes y procesos……………………………………………………..9-10
Estructuras de control…………………………………………………………….....11-19
Secuenciales
Selectivas
Doble
Múltiples
Múltiples-casos
Iterativas
Bucle mientra
Bucle repetir
Bucle hacer
Bucle para
Algoritmos de búsqueda (ejemplo)…………………………………………………19
Algoritmos de ordenación (ejemplo)……………………………………………….20
Conclusión……………………………………………………………………………21
Referencias…………………………………………………………………………..22
Introducción
Este tema pretende mostrar, como a partir de ciertas especificaciones y
cuales tenemos presentes día a día, y que de una u otra forma nos conducen a
obtener las respuestas a dichos problemas.
Para que un computador pueda llevar a cabo la resolución de un problema,
debe partir de la especificación y definición del problema, y de ese modo ver si se
cuentan con las instrucciones necesarias para resolver el proceso de problemas.
Un algoritmo por su parte se considera una secuencia de operaciones
detalladas paso a paso, que al ejecutarse da un resultado al problema. Por lo tanto,
para que eso suceda, el algoritmo, debe ser preciso, debe estar definido, debe ser
finito, puesto que debe de tener un final, para así obtener el resultado, y, además,
Debe ser independiente del lenguaje de programación que se emplee para
implementarlo.
1. Definiciones básicas
En ciencias informáticas, matemáticas, algebra, lógica y otras disciplinas se
entiende por algoritmo, una serie de operaciones detalladas y finitas que al
ejecutarse o llevarse paso a paso conducen a la solución de un problema. En
términos generales se define como:
- “Conjunto de instrucciones y reglas a seguir para llevar a cabo un
proceso y encontrar la solución a un problema”
- “En términos de programación, un algoritmo es una secuencia de pasos
lógicos que permiten solucionar un problema”.
La palabra algoritmo, procede del latín, dixit algorithmus y este del griego
arithmos, que significa «número», quizá también con influencia del nombre del
matemático persa Al-Juarismi. En la vida cotidiana tenemos presente el uso de
algoritmos, como por ejemplo un manual de usuario de algún aparato, o las
instrucciones a seguir de alguien para hacer un trabajo.
1.1Tipos de datos informáticos
Un dato informático es una representación simbólica ya sea, (numérica,
alfanumérica algorítmica o espacial) que recibe el computador por diferentes medios
y representan la información que el programador manipula en la construcción de
una solución o en el desarrollo de un algoritmo.
Los tipos de datos comunes son: enteros, números de coma flotante
(decimales), cadenas alfanuméricas, fechas, horas, y colores.
Los tipos de datos hacen referencia al tipo de información que se trabaja,
donde la unidad mínima de almacenamiento es el dato, también se puede
considerar como el rango de valores que puede tomar una variable durante la
ejecución del programa.
1.1.1 Primitivos: Éstos están incorporados al lenguaje de
programación, y nos sirve para poder hacer cosas más
complicadas. Estos se clasifican en:
1.1.1.1) Caracteres: El tipo de dato carácter es un dígito individual el cual se
puede representar como numéricos (0 al 9), letras (a-z) y símbolo ($, _)
1.1.1.2) Datos numéricos: Los números suelen ser representados en un lenguaje
de programación de maneras diferentes, ya que importa decidir una serie de
cuestiones, entre ellos
1.1.1.3) Números enteros: El tipo int (del inglés integer, que significa «entero»)
permite representar números enteros.
Los valores que puede tomar un int son todos los números enteros: ( -3, -2, -1, 0, 1,
2, 3,)
Estos números se escriben con un signo opcional seguido de una serie de dígitos,
por ejemplo:
(-7345)
1.1.1.4) Números reales: El tipo float permite representar números reales. El
nombre float viene del termino punto flotante, que es la manera en como en
computador representa internamente los números reales. En este caso, los números
reales no se pueden presentar de manare exacta en el computador, por ejemplo, el
numero decimal 0,7 es la aproximación de 0,6999999999. (También se puede
representar por notación científica)
1.1.1.5) Números complejos: Este tipo permite representar números
complejos. Estos tienen una parte real y una imaginaria. La parte imaginaria
es denotada agregando una J después de su valor
Ejemplo: (5 + 7J)
1.1.1.6) Booleanos o valores lógicos: Los valores lógicos son
representados por el tipo primitivo boolean. Representa si una condición se
cumple o no se cumple. (true/ false) verdadero y falso.
Ejemplos (si o no, encendido o apagado)
1.1.1.7) Texto o cadena (char y strings): A los valores que representan
texto se les llama strings. Son representados con texto entre comillas
simples (char) o dobles (strings) ejemplo (´ella dijo “hola” ´) (“let´s go”)
1.1.2 Datos abstractos: Los tipos de datos abstractos aumentan y
extienden la complejidad, ya que tiene un conjunto de valores y
unas operaciones asociadas a ellos.
Casos especiales:
- Nulo: Existe un valor llamado None (en inglés, «ninguno») que es
utilizado para representar casos en que ningún valor es válido, o para
indicar que una variable todavía no tiene un valor que tenga sentido.
1.2) Análisis del problema (ejemplos)
En esto lo que se hace es formular y establecer una serie de preguntas de lo
que establece el problema y así determinar si se tienen los elementos suficientes
para solucionar el problema
Ejemplo: Supongamos que debemos calcular el porcentaje de hembras y machos
de una manada de ballenas. Lo primero que debemos tener para el análisis del
problema son:
1- Número de ballenas del sexo masculino
2- Número de ballenas del sexo femenino
3- El total de la manada de ballenas
Con esos datos podremos calcular el porcentaje de machos y hembras
de la manada.
1.3) Diseño del algoritmo (ejemplo)
Una vez definido y analizado el problema se diseña el algoritmo. Las técnicas
más usadas para el diseño de algoritmos son el diagrama de flujo y pseudocodigo.
Ejemplo:
 PSEUDOCÓDIGO
Datos de
salida
Datos de
entrada
Definición
- INICIO
- Ir al mercado
- Tomar los productos a comprar
- Hacer la cola
- Pagar los productos
- Salir del mercado
- FIN
DIAGRAMA DE FLUJO
INICIO
A, B
Leer, A es
mayor
Leer, B es
menor
FIN
A>B
1.4) Medios de expresión de un algoritmo
Los algoritmos pueden ser expresados de muchas maneras, incluyendo al
lenguaje natural, pseudocódigo, diagramas de flujo y lenguajes de programación
entre otros.
1.4.1) Diagramas de flujo o flujogramas
Representación gráfica de un algoritmo que muestra los pasos de la
operación detalladamente. Ejemplo:
INICIO
Cocinar
papas
¿Fritas? no hervidas
si
freír ¿saladas?
si
Servir en el
plato
Agregar sal
NO
FIN
1.4.2) Pseudocódigo:
Se representa de manera explícita y descriptiva de las operaciones detalladas que
se llevan a cabo en un algoritmo.
En referencia al ejemplo anterior
Ejemplo “Pseudocodigo”
-INICIO
-Cocinar papas
-Si son fritas entonces poner que se fríen
-Sino, entonces poner hervidas
-Si son saladas entonces agregar sal y servir en el plato
-Sino, entonces solo servir en el plato
-FIN.
1.5) Variables, constantes y procesos (ejemplos)
1.5.1) Las variables: son espaciosreservados en la memoria que pueden cambiar
de contenido a lo largo de la ejecución y pueden ser numéricas,
alfanuméricas, y lógicas. son las únicas que pueden contener 2 valores
(valor verdadero o 1 y valor falso o 0) las variables son del mismo tipo de
dato.
Ejemplo: variables para almacenar datos de una persona como su edad y
número de hijos:
Edad = 27 = número de hijos= 2
1.5.2) Las constantes: son datos numéricos o alfanuméricos que no cambian
durante la ejecución del programa.
Ejemplo: Supongamos que realizaremos una operación matemática usando el
número (pi) Cuyo valor es 3,1416
“Pi es una constante ya que siempre será el mismo número y no
cambiará”
1.5.3) Los procesos: son todos aquellos pasos necesarios para obtener la
solución al problema. Todo algoritmo consta de tres secciones entrada,
proceso y salida.
Ejemplo: Consideremos la idea de preparar un pastel implementando el proceso
de un algoritmo, pues quedaría detallada de la siguiente manera:
Datos de entrada procesos datos de salida.
Receta e
ingredientes
Mezcla, pasos y
procedimiento de
preparación
pastel
1.6) Estructuras de control
Las estructuras de control permiten al algoritmo ejecutar o no una serie de
acciones, en otras palabras, el algoritmo toma una decisiónmediante las estructuras
de control. SE clasifican en:
1.6.1) Estructuras secuenciales: En estas las acciones (instrucciones) siguen a
otra en secuencia. Es la más sencilla y es inherente al software, también conocida
como estructura lineal, ya que las acciones deben ejecutarse una tras otra.
Ejemplo:
INICIO
ACCION 1
ACCION 2
FIN
1.6.2) Estructuras selectivas
Este tipo de estructura se emplea cuando se debe tomar una decisión, es decir,
se presentan diferentes caminos para llegar a la solución del problema.
Condición
si
no
Las estructuras selectivas se dividen en:
1.6.2.1) Selectiva doble:
Permiten controlar la ejecución de varias acciones y se utilizan cuando se tienen
dos opciones de acción, por la naturaleza de estas se debe ejecutar una o la otra,
pero no ambas a la vez, es decir, son mutuamente excluyentes.
FIN
Si [ condición] entonces [ acción 1] sino entonces [ acción 2]
1.6.2.2) Selectiva múltiple:
Esta estructura se representa por un selector el cual si toma el valor 1
ejecutará la acción 1, si toma el valor 2 ejecutará la acción 2, si toma el valor N
realizará la acción N.
Condición
Acción 1
Acción 2
1 2
ValorN
2
Condición
Acción 1
Acción 2 Acción N
Acción N +1
1.6.2.3) Selectiva Múltiple-caso: cuando se presentan más acciones
1 otro
2 3 4
INICIO
Leer día
Día
Escribir lunes
Escribir
martes
Escribir
miércoles
Escribir
jueves
Día no
reconocido
FIN
1.6.3) Estructuraras iterativas:
También conocidas como de repetición, bucle o ciclo permite ejecutar una o
varias instrucciones, un número determinado de veces o, indefinidamente, mientras
se cumpla una condición
INICIO
Hacer
deberes para
mañana
¿lo has
hecho?
No negativo
si
positivo
FINAL
Dentro de estas estructuras se encuentran:
 Bucle mientras: En general, un bucle es una estructura de control
que repite un bloque de instrucciones. El bucle while o mientras, es un
ciclo repetitivo basado en los resultados de una expresión lógica; el
propósito es repetir un bloque de código mientras una condición se
mantenga verdadera. Un bucle while es una forma de repetir el código
hasta que una condición sea falsa.
Verdad Falso
 Bucle hacer o bucle do: Su propósito es ejecutar un bloque de código
y repetir la ejecución mientras se cumpla cierta condición expresada
en la cláusula while. La diferencia con el bucle while radica en que
este evalúa la condición al principio, y si esta no se cumple, el código
que está encerrado dentro del cuerpo no se ejecuta. En cambio, el
bucle do-while evalúa la condición para seguir ejecutándose luego de
A
B
haber ejecutado el código dentro de su cuerpo; es decir, siempre se
ejecuta por lo menos una vez el código
Verdad
Falso
B
A
 Bucle para o for: Un bucle for es un bucle que repite el bloque de instrucciones
unnúmero predominado de veces.El bloquede instruccionesquese repitese suele
llamarcuerpodel bucle y cada repeticiónse suele llamariteración.En unbucle for
se puede indicar de antemano el número mínimo de iteraciones.
La sintaxis de un bucle for es la siguiente: for variable in elemento iterable (lista,
cadena, range, etc.):
 Bucle repetir: Comprueba la condición de finalización al final del
cuerpo del bucle, y si ésta es cierta continua con el resto del programa,
a veces esto resulta más adecuado. La instrucción se ejecutará al
menos una vez.
2) Algoritmos de búsqueda (ejemplo)
Los algoritmos de búsqueda son un conjunto de instrucciones o pasos a seguir
para localizar, ubicar y encontrar elementos y datos con ciertas propiedades y
características dentro de una estructura de datos. Estos algoritmos siempre buscan
algo para comparar (listas de empleados, facturas, etc.)
Ejemplo:
Sea el arreglo A [ -8,4,5,9,12,18,25,40,60] buscar la clave 40
A [0] a [1] a [2] a[3] a[4] a[5] a[6] a[7] a[8] Bajo= 0
Alto=8
-8 4 5 9 12 18 25 40 60
1.
central
central=bajo + alto= 0+8= 4 clave {40} > a [ 4] = 12
2
3.) Algoritmos de ordenación:
El algoritmo de ordenamiento nos permite, como su nombre lo dice, ordenar información de una
manera especial basándonos en un criterio de ordenamiento.
Ejemplo (cotidiano)
Supongamos que los empleados de una tienda necesitan clasificar de menor a mayor las prendas
para vestir un maniquí, esas prendas son las siguientes (zapatos, cinturón, jersey, pantalón,
calcetines, camisa).
Lo primero será ordenar por orden las prendas.
Calcetines
Zapatos
Pantalón
Cinturón
Camisa
Jersey
Conclusión
En laactualidadtodoslosproblemasse resuelvenmediante unalgoritmo,el cual es unconjunto
de instrucciones o pasos a seguir para resolverlo, este permite que se desarrolle la habilidad del
pensamiento lógico matemático de las personas que se dedican a desarrollar programas
computacionales utilizando algoritmos, y no solo de programadores, lo cierto es que, a diario
empleamosalgoritmosentodoslos ámbitosynolopercibimos,algotansimple comounarutinade
trajo, hasta algo complicado como hacer un trabajo.
Es importante destacar que los empleos de las distintas estructuras de control nos facilitan el
diseño de un algoritmo, y posterior a eso el uso de esos pasos a seguir para dar solución a un
problema.porsuparte laimportanciade estasestructurasradicaenlaformade mostrarla manera
de llevar a cabo el desarrollo de un algoritmo para resolver en forma estructurada un problema
cotidiano o matemático. Los tipos de estructuras sirven para que la programación se haga más
sencillaenlosdiferentessoftwaresque existepararealizarprogramasque desarrollenaplicaciones
administrativasomássoftware queesutilizadoporcualquierusuario.Es importantemencionarque
estasestructuras desarrollanhabilidadesdel pensamientológicomatemáticoy computacional,así
comola creatividadde laspersonasque actualmentese hanintroducidoenel mundode larobótica
y la domótica.
Referencias.
https://es.wikipedia.org/wiki/Algoritmo
http://progra.usm.cl/apunte/materia/tipos.html
https://www.aprenderaprogramar.pro/2017/06/algoritmos-resolucion-de-un-problema.html
http://ing.unne.edu.ar/pub/informatica/Alg_diag.pdf
https://conociendoalgoritmo.weebly.com/fases-de-algoritmo.html
https://sites.google.com/site/teccorzo/unidad-ii/2-3-diseno-de-algoritmos-aplicados-a-problemas
https://hx3love.wordpress.com/medios-de-expresion-de-un-algoritmo/

algoritmos- álgebra discreta

  • 1.
    Universidad de Margarita Almamater del Caribe Decanato de Estudios Generales Catedra: Algebra discreta Algoritmos Prof. Julián Carneiro Realizado por: Hernesto Salazar C.I. V-28.492.548
  • 2.
    Índice Pág. Introducción……………………………………………………………………………….1 Definiciones básicas……………………………………………………………………..2 Tipos dedatos informáticos……………………………………..………………… 2-3-4 Análisis del problema……………………………………………………………………5 Diseño del algoritmo…………………………………………………….……………..5-6 Medios de expresión de un algoritmo………………………………………………….7 Diagrama de flujo……………………………………………………………....7-8 Pseudocódigo…………………………………………………………………..…9 Variables constantes y procesos……………………………………………………..9-10 Estructuras de control…………………………………………………………….....11-19 Secuenciales Selectivas Doble Múltiples Múltiples-casos Iterativas Bucle mientra Bucle repetir Bucle hacer Bucle para Algoritmos de búsqueda (ejemplo)…………………………………………………19
  • 3.
    Algoritmos de ordenación(ejemplo)……………………………………………….20 Conclusión……………………………………………………………………………21 Referencias…………………………………………………………………………..22
  • 4.
    Introducción Este tema pretendemostrar, como a partir de ciertas especificaciones y cuales tenemos presentes día a día, y que de una u otra forma nos conducen a obtener las respuestas a dichos problemas. Para que un computador pueda llevar a cabo la resolución de un problema, debe partir de la especificación y definición del problema, y de ese modo ver si se cuentan con las instrucciones necesarias para resolver el proceso de problemas. Un algoritmo por su parte se considera una secuencia de operaciones detalladas paso a paso, que al ejecutarse da un resultado al problema. Por lo tanto, para que eso suceda, el algoritmo, debe ser preciso, debe estar definido, debe ser finito, puesto que debe de tener un final, para así obtener el resultado, y, además, Debe ser independiente del lenguaje de programación que se emplee para implementarlo.
  • 5.
    1. Definiciones básicas Enciencias informáticas, matemáticas, algebra, lógica y otras disciplinas se entiende por algoritmo, una serie de operaciones detalladas y finitas que al ejecutarse o llevarse paso a paso conducen a la solución de un problema. En términos generales se define como: - “Conjunto de instrucciones y reglas a seguir para llevar a cabo un proceso y encontrar la solución a un problema” - “En términos de programación, un algoritmo es una secuencia de pasos lógicos que permiten solucionar un problema”. La palabra algoritmo, procede del latín, dixit algorithmus y este del griego arithmos, que significa «número», quizá también con influencia del nombre del matemático persa Al-Juarismi. En la vida cotidiana tenemos presente el uso de algoritmos, como por ejemplo un manual de usuario de algún aparato, o las instrucciones a seguir de alguien para hacer un trabajo. 1.1Tipos de datos informáticos Un dato informático es una representación simbólica ya sea, (numérica, alfanumérica algorítmica o espacial) que recibe el computador por diferentes medios y representan la información que el programador manipula en la construcción de una solución o en el desarrollo de un algoritmo.
  • 6.
    Los tipos dedatos comunes son: enteros, números de coma flotante (decimales), cadenas alfanuméricas, fechas, horas, y colores. Los tipos de datos hacen referencia al tipo de información que se trabaja, donde la unidad mínima de almacenamiento es el dato, también se puede considerar como el rango de valores que puede tomar una variable durante la ejecución del programa. 1.1.1 Primitivos: Éstos están incorporados al lenguaje de programación, y nos sirve para poder hacer cosas más complicadas. Estos se clasifican en: 1.1.1.1) Caracteres: El tipo de dato carácter es un dígito individual el cual se puede representar como numéricos (0 al 9), letras (a-z) y símbolo ($, _) 1.1.1.2) Datos numéricos: Los números suelen ser representados en un lenguaje de programación de maneras diferentes, ya que importa decidir una serie de cuestiones, entre ellos 1.1.1.3) Números enteros: El tipo int (del inglés integer, que significa «entero») permite representar números enteros. Los valores que puede tomar un int son todos los números enteros: ( -3, -2, -1, 0, 1, 2, 3,) Estos números se escriben con un signo opcional seguido de una serie de dígitos, por ejemplo: (-7345) 1.1.1.4) Números reales: El tipo float permite representar números reales. El nombre float viene del termino punto flotante, que es la manera en como en computador representa internamente los números reales. En este caso, los números
  • 7.
    reales no sepueden presentar de manare exacta en el computador, por ejemplo, el numero decimal 0,7 es la aproximación de 0,6999999999. (También se puede representar por notación científica) 1.1.1.5) Números complejos: Este tipo permite representar números complejos. Estos tienen una parte real y una imaginaria. La parte imaginaria es denotada agregando una J después de su valor Ejemplo: (5 + 7J) 1.1.1.6) Booleanos o valores lógicos: Los valores lógicos son representados por el tipo primitivo boolean. Representa si una condición se cumple o no se cumple. (true/ false) verdadero y falso. Ejemplos (si o no, encendido o apagado) 1.1.1.7) Texto o cadena (char y strings): A los valores que representan texto se les llama strings. Son representados con texto entre comillas simples (char) o dobles (strings) ejemplo (´ella dijo “hola” ´) (“let´s go”) 1.1.2 Datos abstractos: Los tipos de datos abstractos aumentan y extienden la complejidad, ya que tiene un conjunto de valores y unas operaciones asociadas a ellos. Casos especiales: - Nulo: Existe un valor llamado None (en inglés, «ninguno») que es utilizado para representar casos en que ningún valor es válido, o para indicar que una variable todavía no tiene un valor que tenga sentido.
  • 8.
    1.2) Análisis delproblema (ejemplos) En esto lo que se hace es formular y establecer una serie de preguntas de lo que establece el problema y así determinar si se tienen los elementos suficientes para solucionar el problema Ejemplo: Supongamos que debemos calcular el porcentaje de hembras y machos de una manada de ballenas. Lo primero que debemos tener para el análisis del problema son: 1- Número de ballenas del sexo masculino 2- Número de ballenas del sexo femenino 3- El total de la manada de ballenas Con esos datos podremos calcular el porcentaje de machos y hembras de la manada. 1.3) Diseño del algoritmo (ejemplo) Una vez definido y analizado el problema se diseña el algoritmo. Las técnicas más usadas para el diseño de algoritmos son el diagrama de flujo y pseudocodigo. Ejemplo:  PSEUDOCÓDIGO Datos de salida Datos de entrada Definición
  • 9.
    - INICIO - Iral mercado - Tomar los productos a comprar - Hacer la cola - Pagar los productos - Salir del mercado - FIN DIAGRAMA DE FLUJO INICIO A, B Leer, A es mayor Leer, B es menor FIN A>B
  • 10.
    1.4) Medios deexpresión de un algoritmo Los algoritmos pueden ser expresados de muchas maneras, incluyendo al lenguaje natural, pseudocódigo, diagramas de flujo y lenguajes de programación entre otros. 1.4.1) Diagramas de flujo o flujogramas Representación gráfica de un algoritmo que muestra los pasos de la operación detalladamente. Ejemplo:
  • 11.
    INICIO Cocinar papas ¿Fritas? no hervidas si freír¿saladas? si Servir en el plato Agregar sal NO FIN
  • 12.
    1.4.2) Pseudocódigo: Se representade manera explícita y descriptiva de las operaciones detalladas que se llevan a cabo en un algoritmo. En referencia al ejemplo anterior Ejemplo “Pseudocodigo” -INICIO -Cocinar papas -Si son fritas entonces poner que se fríen -Sino, entonces poner hervidas -Si son saladas entonces agregar sal y servir en el plato -Sino, entonces solo servir en el plato -FIN. 1.5) Variables, constantes y procesos (ejemplos) 1.5.1) Las variables: son espaciosreservados en la memoria que pueden cambiar de contenido a lo largo de la ejecución y pueden ser numéricas, alfanuméricas, y lógicas. son las únicas que pueden contener 2 valores (valor verdadero o 1 y valor falso o 0) las variables son del mismo tipo de dato. Ejemplo: variables para almacenar datos de una persona como su edad y número de hijos:
  • 13.
    Edad = 27= número de hijos= 2 1.5.2) Las constantes: son datos numéricos o alfanuméricos que no cambian durante la ejecución del programa. Ejemplo: Supongamos que realizaremos una operación matemática usando el número (pi) Cuyo valor es 3,1416 “Pi es una constante ya que siempre será el mismo número y no cambiará” 1.5.3) Los procesos: son todos aquellos pasos necesarios para obtener la solución al problema. Todo algoritmo consta de tres secciones entrada, proceso y salida. Ejemplo: Consideremos la idea de preparar un pastel implementando el proceso de un algoritmo, pues quedaría detallada de la siguiente manera: Datos de entrada procesos datos de salida. Receta e ingredientes Mezcla, pasos y procedimiento de preparación pastel
  • 14.
    1.6) Estructuras decontrol Las estructuras de control permiten al algoritmo ejecutar o no una serie de acciones, en otras palabras, el algoritmo toma una decisiónmediante las estructuras de control. SE clasifican en: 1.6.1) Estructuras secuenciales: En estas las acciones (instrucciones) siguen a otra en secuencia. Es la más sencilla y es inherente al software, también conocida como estructura lineal, ya que las acciones deben ejecutarse una tras otra. Ejemplo: INICIO ACCION 1 ACCION 2 FIN
  • 15.
    1.6.2) Estructuras selectivas Estetipo de estructura se emplea cuando se debe tomar una decisión, es decir, se presentan diferentes caminos para llegar a la solución del problema. Condición si no
  • 16.
    Las estructuras selectivasse dividen en: 1.6.2.1) Selectiva doble: Permiten controlar la ejecución de varias acciones y se utilizan cuando se tienen dos opciones de acción, por la naturaleza de estas se debe ejecutar una o la otra, pero no ambas a la vez, es decir, son mutuamente excluyentes. FIN Si [ condición] entonces [ acción 1] sino entonces [ acción 2] 1.6.2.2) Selectiva múltiple: Esta estructura se representa por un selector el cual si toma el valor 1 ejecutará la acción 1, si toma el valor 2 ejecutará la acción 2, si toma el valor N realizará la acción N. Condición Acción 1 Acción 2
  • 17.
  • 18.
    1.6.2.3) Selectiva Múltiple-caso:cuando se presentan más acciones 1 otro 2 3 4 INICIO Leer día Día Escribir lunes Escribir martes Escribir miércoles Escribir jueves Día no reconocido FIN
  • 19.
    1.6.3) Estructuraras iterativas: Tambiénconocidas como de repetición, bucle o ciclo permite ejecutar una o varias instrucciones, un número determinado de veces o, indefinidamente, mientras se cumpla una condición INICIO Hacer deberes para mañana ¿lo has hecho? No negativo si positivo FINAL
  • 20.
    Dentro de estasestructuras se encuentran:  Bucle mientras: En general, un bucle es una estructura de control que repite un bloque de instrucciones. El bucle while o mientras, es un ciclo repetitivo basado en los resultados de una expresión lógica; el propósito es repetir un bloque de código mientras una condición se mantenga verdadera. Un bucle while es una forma de repetir el código hasta que una condición sea falsa. Verdad Falso  Bucle hacer o bucle do: Su propósito es ejecutar un bloque de código y repetir la ejecución mientras se cumpla cierta condición expresada en la cláusula while. La diferencia con el bucle while radica en que este evalúa la condición al principio, y si esta no se cumple, el código que está encerrado dentro del cuerpo no se ejecuta. En cambio, el bucle do-while evalúa la condición para seguir ejecutándose luego de A B
  • 21.
    haber ejecutado elcódigo dentro de su cuerpo; es decir, siempre se ejecuta por lo menos una vez el código Verdad Falso B A
  • 22.
     Bucle parao for: Un bucle for es un bucle que repite el bloque de instrucciones unnúmero predominado de veces.El bloquede instruccionesquese repitese suele llamarcuerpodel bucle y cada repeticiónse suele llamariteración.En unbucle for se puede indicar de antemano el número mínimo de iteraciones. La sintaxis de un bucle for es la siguiente: for variable in elemento iterable (lista, cadena, range, etc.):  Bucle repetir: Comprueba la condición de finalización al final del cuerpo del bucle, y si ésta es cierta continua con el resto del programa, a veces esto resulta más adecuado. La instrucción se ejecutará al menos una vez. 2) Algoritmos de búsqueda (ejemplo) Los algoritmos de búsqueda son un conjunto de instrucciones o pasos a seguir para localizar, ubicar y encontrar elementos y datos con ciertas propiedades y características dentro de una estructura de datos. Estos algoritmos siempre buscan algo para comparar (listas de empleados, facturas, etc.) Ejemplo: Sea el arreglo A [ -8,4,5,9,12,18,25,40,60] buscar la clave 40 A [0] a [1] a [2] a[3] a[4] a[5] a[6] a[7] a[8] Bajo= 0 Alto=8 -8 4 5 9 12 18 25 40 60 1. central
  • 23.
    central=bajo + alto=0+8= 4 clave {40} > a [ 4] = 12 2 3.) Algoritmos de ordenación: El algoritmo de ordenamiento nos permite, como su nombre lo dice, ordenar información de una manera especial basándonos en un criterio de ordenamiento. Ejemplo (cotidiano) Supongamos que los empleados de una tienda necesitan clasificar de menor a mayor las prendas para vestir un maniquí, esas prendas son las siguientes (zapatos, cinturón, jersey, pantalón, calcetines, camisa). Lo primero será ordenar por orden las prendas. Calcetines Zapatos Pantalón Cinturón Camisa Jersey
  • 24.
    Conclusión En laactualidadtodoslosproblemasse resuelvenmedianteunalgoritmo,el cual es unconjunto de instrucciones o pasos a seguir para resolverlo, este permite que se desarrolle la habilidad del pensamiento lógico matemático de las personas que se dedican a desarrollar programas computacionales utilizando algoritmos, y no solo de programadores, lo cierto es que, a diario empleamosalgoritmosentodoslos ámbitosynolopercibimos,algotansimple comounarutinade trajo, hasta algo complicado como hacer un trabajo. Es importante destacar que los empleos de las distintas estructuras de control nos facilitan el diseño de un algoritmo, y posterior a eso el uso de esos pasos a seguir para dar solución a un problema.porsuparte laimportanciade estasestructurasradicaenlaformade mostrarla manera de llevar a cabo el desarrollo de un algoritmo para resolver en forma estructurada un problema cotidiano o matemático. Los tipos de estructuras sirven para que la programación se haga más sencillaenlosdiferentessoftwaresque existepararealizarprogramasque desarrollenaplicaciones administrativasomássoftware queesutilizadoporcualquierusuario.Es importantemencionarque estasestructuras desarrollanhabilidadesdel pensamientológicomatemáticoy computacional,así comola creatividadde laspersonasque actualmentese hanintroducidoenel mundode larobótica y la domótica.
  • 25.