SlideShare una empresa de Scribd logo
2
Lo más leído
4
Lo más leído
5
Lo más leído
ESTRUCTURAS BASICAS DE UN ALGORITMO
Un problema se puede dividir en acciones elementales o instrucciones, usando un
número limitado de estructuras de control (básicas) y sus combinaciones que
pueden servir para resolver dicho problema.
Las estructuras de control de un lenguaje de programación son métodos de
especificar el orden en que las instrucciones de un algoritmo se ejecutarán. Estas
son por consiguiente fundamentales en los lenguajes de programación y en los
diseños de algoritmos. Se les llama de control debido a que controlan el modo de
ejecución del programa.
Estructuras Secuenciales
Son problemas en los que, para su solución se emplea una serie de acciones
ejecutadas invariablemente en un orden secuencial.
Las tareas suceden de tal modo que la salida de una es la entrada de la siguiente
y así sucesivamente hasta el fin del proceso.
Dentro de este tipo podemos encontrar operaciones de inicio/fin, inicialización de
variables, operaciones de asignación, cálculo, sumarización, etc.
Este tipo de estructura se basa en las 5 fases de que consta todo algoritmo o
programa:
 Definición de variables (Declaración)
 Inicialización de variables.
 Lectura de datos
 Cálculos
 Salida
REPRESENTACIÓN GRÁFICA.
Estructura Condicionales
Las estructuras condicionales comparan una variable contra otro(s) valor (es),
para que en base al resultado de esta comparación, se siga un curso de acción
dentro del programa. Cabe mencionar que la comparación se puede hacer contra
otra variable o contra una constante, según se necesite. Existen tres tipos básicos,
las simples, las dobles y las múltiples.
Simples:
Las estructuras condicionales simples se les conocen como Tomas de decisión.
Estas tomas de decisión tienen la siguiente forma:
Pseudocódigo: Diagrama de flujo:
Dobles:
Las estructuras condicionales dobles permiten elegir entre dos opciones o
alternativas posibles en función del cumplimiento o no de una determinada
condición. Se representa de la siguiente forma:
Pseudocódigo: Diagrama de flujo:
Dónde:
Si: Indica el comando de comparación
Condición: Indica la condición a evaluar
Entonces: Precede a las acciones a realizar cuando se cumple la condición
Instrucción(es): Son las acciones a realizar cuando se cumple o no la condición
si no: Precede a las acciones a realizar cuando no se cumple la condición
Dependiendo de si la comparación es cierta o falsa, se pueden realizar una o más
acciones.
Múltiples:
Las estructuras de comparación múltiples, son tomas de decisión especializada
que permiten comparar unas variables contras distintas posibles resultadas,
ejecutando para cada caso una serie de instrucciones específicas. La forma
común es la siguiente:
Pseudocódigo: Diagrama de flujo:
Múltiples (En caso de):
Las estructuras de comparación múltiples, es una toma de decisión especializada
que permiten evaluar una variable con distintos posibles resultados, ejecutando
para cada caso una serie de instrucciones específicas. La forma es la siguiente:
Pseudocódigo: Diagrama de flujo:
Contadores
Un contador es una variable cuyo valor se incrementa o decrementa en una
cantidad fija en cada iteración. Se utilizan en los siguientes casos:
 Para contabilizar el número de veces que es necesario repetir una acción
(variable de control de un bucle)
 Para contar un suceso particular solicitado por el enunciado del problema
(asociado a un bucle independiente)
 Representa la variable de control del ciclo.
 Toma un valor inicial (generalmente 0 ó 1) y se incrementa en la mayoría de
los casos.
 Toma un valor inicial y se compara con el valor final.
Los contadores se utilizan con la finalidad de contar sucesos o acciones internas
de un bucle; deben realizar una operación de inicialización y posteriormente las
sucesivas de incremento o decremento del mismo. La inicialización consiste en
asignarle al contador un valor. Se situará antes y fuera del bucle.
Representación:
<nombre del contador> ß <nombre del contador> + <valor constante>
Si en vez de incremento es decremento se coloca un menos en lugar del más.
Ejemplo: i = i + 1 (incremento)
i = i – 1 (decremento)
Acumuladores
Un acumulador es un campo de memoria que suma sobre sí misma un conjunto
de valores para de esta manera tener la suma de todos ellos en una sola variable.
Se utiliza en aquellos casos en que se desea obtener el total acumulado de un
conjunto de cantidades, siendo preciso inicializarlo con el valor cero. Además en
las situaciones en que hay que obtener un total como producto de distintas
cantidades se utiliza un acumulador, debiéndose inicializar con el valor.
La diferencia entre un contador y un acumulador es que mientras el primero va
aumentando de uno en uno en un valor constante, el acumulador va aumentando
en una cantidad variable.
Representación:
<Nombre del acumulador> ß <nombre del acumulador> + <valor variable>
Ciclos
El bucle, ciclo o lazo, es un segmento de un algoritmo o programa cuyas
instrucciones se repiten un número determinado de veces, mientras se cumple
una determinada condición específica (existe o es verdadera la condición). Un
ciclo tiene las siguientes características:
a. El conjunto de instrucciones debe ser finito
b. La cantidad de veces que se repita dicho conjunto de instrucciones también
debe ser finita. En algunos casos esta cantidad de veces va a depender de una
condición explícita y en otros casos va a depender de una condición implícita. Una
condición es explícita cuando depende solamente de la misma ejecución del
programa sin que sea importante la participación del usuario.
Asimismo una condición es implícita cuando depende solamente de la voluntad del
usuario y por lo tanto la cantidad de iteraciones o repeticiones del ciclo podría
llegar a ser diferente cada vez pues sería posible que cambiara con cada usuario.
c. Deben estar claramente demarcados el inicio y el fin del ciclo. En los casos en
los cuales solo exista una instrucción a iterar, no serán necesarias dichas marcas.
d. Dentro de un ciclo podrá ir cualquiera de las otras estructuras que se han
estudiado incluyendo otros ciclos.
Un bucle consta de tres partes:
 Decisión
 Cuerpo del bucle
 Salida del bucle
Arreglos
Un arreglo (array) es una colección de datos del mismo tipo, que se almacenan en
posiciones consecutivas de memoria y reciben un nombre común. Para referirse a
un determinado elemento de un array se deberá utilizar un índice, que especifique
su posición relativa en el array.
Un arreglo es una colección finita, homogénea y ordenada de elementos.
 Finita: Todo arreglo tiene un límite; es decir, debe determinarse cuál será el
número máximo de elementos que podrán formar parte del arreglo.
 Homogénea: Esto significa que todos los elementos del arreglo deben ser
del mismo tipo. (Todos enteros, todos reales, todos booleanos, etc.)
 Ordenada: Se puede determinar cuál es el primer elemento, el segundo, el
tercero,.... y el n-ésimo elemento.
También el orden es significativo, el orden viene dado por el subíndice de un
vector
Modularidad
Respecto a las cualidades deseables de todo algoritmo bien diseñado, la
modularidad hace referencia a que nunca hay que olvidarse del hecho de que un
algoritmo puede formar parte de la solución a un problema mayor. Pero, a su vez,
dicho algoritmo debe descomponerse en otros, siempre y cuando, esto favorezca
a la claridad del mismo.

Más contenido relacionado

PPTX
Programación Orientada a Objetos - atributos y métodos
PPTX
Tipos de usuarios de base de datos diapositivas
PPTX
Unidad 2 ensamblador
PPTX
Ventajas y desventajas de visual studio
PPTX
Librerias de C++
PPTX
Llave primaria y llave foránea
PPT
Estructuras condicionales
DOCX
Tareas de ingenieria de requerimientos
Programación Orientada a Objetos - atributos y métodos
Tipos de usuarios de base de datos diapositivas
Unidad 2 ensamblador
Ventajas y desventajas de visual studio
Librerias de C++
Llave primaria y llave foránea
Estructuras condicionales
Tareas de ingenieria de requerimientos

La actualidad más candente (20)

PDF
Herramientas case
PPTX
Enfoque estructurado y Enfoque OO - Ingenieria de software
DOCX
Lenguajes libre de contexto
PDF
Variables, expresiones y ejecución de condiciones les en PSeInt
DOCX
Comandos c#
PPTX
tipos de requisitos
PPT
Poo 3 herencia
PDF
Diagramas UML: Componentes y despliegue
PPSX
Diagramas uml
PPTX
Fundamentos básicos de la programación orientada a objetos
PPTX
Listas,pilas y colas Estructura de Datos
PDF
Estructuras de Datos (Arreglos)
PPT
Funciones en C++
PDF
Manual sql server parte 1
PPTX
Exposición Diagrama de Clases
PPSX
Modelo Entidad Relación
PPTX
Manejo de los procesos en los sistemas operativos
DOCX
Manual tecnico y manual de usuario
PPTX
METODOLOGÍA UWE (UML-BASED WEB ENGINEERING)
PPTX
diagrama de despliegue
Herramientas case
Enfoque estructurado y Enfoque OO - Ingenieria de software
Lenguajes libre de contexto
Variables, expresiones y ejecución de condiciones les en PSeInt
Comandos c#
tipos de requisitos
Poo 3 herencia
Diagramas UML: Componentes y despliegue
Diagramas uml
Fundamentos básicos de la programación orientada a objetos
Listas,pilas y colas Estructura de Datos
Estructuras de Datos (Arreglos)
Funciones en C++
Manual sql server parte 1
Exposición Diagrama de Clases
Modelo Entidad Relación
Manejo de los procesos en los sistemas operativos
Manual tecnico y manual de usuario
METODOLOGÍA UWE (UML-BASED WEB ENGINEERING)
diagrama de despliegue
Publicidad

Similar a Estructuras basicas de un algoritmo (20)

PPTX
2ª unidad de algoritmo
PPTX
Estructuras de control algoritmos
PPTX
U2-TEMA-2 ALGORITMO Y LOGICA DE PROGRAMACION.pptx
PPTX
ESTRUCTURAS REPETITIVAS PROGRAMACION.pptx
DOCX
Algoritmos y programas ing civil
PDF
Algoritmo diagrama de_flujo
PDF
Secuencial
DOCX
Guia4
PPTX
Programacion Expocision
PPTX
Sintaxis de los algoritmos estructurados
PPTX
Pseudocodigo 2 am2
PPTX
Pseudocodigo 2 am
PPTX
Exposicion de programacion merlin
PPT
Seudocodigos1
PDF
11 estructuras de repeticion-tema11
PPT
Ambiente de programación en pascal
PPT
Ambiente de programación en pascal
PPT
Ambiente de programacin en pascal
PPT
Ambientedeprogramacinenpascal 111015091809-phpapp02
PPT
Ambiente
2ª unidad de algoritmo
Estructuras de control algoritmos
U2-TEMA-2 ALGORITMO Y LOGICA DE PROGRAMACION.pptx
ESTRUCTURAS REPETITIVAS PROGRAMACION.pptx
Algoritmos y programas ing civil
Algoritmo diagrama de_flujo
Secuencial
Guia4
Programacion Expocision
Sintaxis de los algoritmos estructurados
Pseudocodigo 2 am2
Pseudocodigo 2 am
Exposicion de programacion merlin
Seudocodigos1
11 estructuras de repeticion-tema11
Ambiente de programación en pascal
Ambiente de programación en pascal
Ambiente de programacin en pascal
Ambientedeprogramacinenpascal 111015091809-phpapp02
Ambiente
Publicidad

Último (20)

PDF
Maste clas de estructura metálica y arquitectura
PPTX
sa-cs-82-powerpoint-hardware-y-software_ver_4.pptx
PPTX
REDES INFORMATICAS REDES INFORMATICAS.pptx
PPTX
Propuesta BKP servidores con Acronis1.pptx
PDF
Estrategia de apoyo tecnología grado 9-3
PDF
MÓDULO DE CALOR DE GRADO DE MEDIO DE FORMACIÓN PROFESIONAL
PPT
El-Gobierno-Electrónico-En-El-Estado-Bolivia
PDF
taller de informática - LEY DE OHM
PDF
Estrategia de apoyo tecnología miguel angel solis
PDF
Instrucciones simples, respuestas poderosas. La fórmula del prompt perfecto.
PPT
introduccion a las_web en el 2025_mejoras.ppt
PDF
Diapositiva proyecto de vida, materia catedra
PDF
MANUAL TECNOLOGÍA SER MINISTERIO EDUCACIÓN
PPTX
RAP01 - TECNICO SISTEMAS TELEINFORMATICOS.pptx
PPTX
Presentación PASANTIAS AuditorioOO..pptx
PPTX
Sesion 1 de microsoft power point - Clase 1
PPTX
Power Point Nicolás Carrasco (disertación Roblox).pptx
PDF
Plantilla para Diseño de Narrativas Transmedia.pdf
PDF
CyberOps Associate - Cisco Networking Academy
PDF
Calidad desde el Docente y la mejora continua .pdf
Maste clas de estructura metálica y arquitectura
sa-cs-82-powerpoint-hardware-y-software_ver_4.pptx
REDES INFORMATICAS REDES INFORMATICAS.pptx
Propuesta BKP servidores con Acronis1.pptx
Estrategia de apoyo tecnología grado 9-3
MÓDULO DE CALOR DE GRADO DE MEDIO DE FORMACIÓN PROFESIONAL
El-Gobierno-Electrónico-En-El-Estado-Bolivia
taller de informática - LEY DE OHM
Estrategia de apoyo tecnología miguel angel solis
Instrucciones simples, respuestas poderosas. La fórmula del prompt perfecto.
introduccion a las_web en el 2025_mejoras.ppt
Diapositiva proyecto de vida, materia catedra
MANUAL TECNOLOGÍA SER MINISTERIO EDUCACIÓN
RAP01 - TECNICO SISTEMAS TELEINFORMATICOS.pptx
Presentación PASANTIAS AuditorioOO..pptx
Sesion 1 de microsoft power point - Clase 1
Power Point Nicolás Carrasco (disertación Roblox).pptx
Plantilla para Diseño de Narrativas Transmedia.pdf
CyberOps Associate - Cisco Networking Academy
Calidad desde el Docente y la mejora continua .pdf

Estructuras basicas de un algoritmo

  • 1. ESTRUCTURAS BASICAS DE UN ALGORITMO Un problema se puede dividir en acciones elementales o instrucciones, usando un número limitado de estructuras de control (básicas) y sus combinaciones que pueden servir para resolver dicho problema. Las estructuras de control de un lenguaje de programación son métodos de especificar el orden en que las instrucciones de un algoritmo se ejecutarán. Estas son por consiguiente fundamentales en los lenguajes de programación y en los diseños de algoritmos. Se les llama de control debido a que controlan el modo de ejecución del programa. Estructuras Secuenciales Son problemas en los que, para su solución se emplea una serie de acciones ejecutadas invariablemente en un orden secuencial. Las tareas suceden de tal modo que la salida de una es la entrada de la siguiente y así sucesivamente hasta el fin del proceso. Dentro de este tipo podemos encontrar operaciones de inicio/fin, inicialización de variables, operaciones de asignación, cálculo, sumarización, etc. Este tipo de estructura se basa en las 5 fases de que consta todo algoritmo o programa:  Definición de variables (Declaración)  Inicialización de variables.  Lectura de datos  Cálculos  Salida REPRESENTACIÓN GRÁFICA.
  • 2. Estructura Condicionales Las estructuras condicionales comparan una variable contra otro(s) valor (es), para que en base al resultado de esta comparación, se siga un curso de acción dentro del programa. Cabe mencionar que la comparación se puede hacer contra otra variable o contra una constante, según se necesite. Existen tres tipos básicos, las simples, las dobles y las múltiples. Simples: Las estructuras condicionales simples se les conocen como Tomas de decisión. Estas tomas de decisión tienen la siguiente forma: Pseudocódigo: Diagrama de flujo: Dobles: Las estructuras condicionales dobles permiten elegir entre dos opciones o alternativas posibles en función del cumplimiento o no de una determinada condición. Se representa de la siguiente forma: Pseudocódigo: Diagrama de flujo: Dónde: Si: Indica el comando de comparación Condición: Indica la condición a evaluar Entonces: Precede a las acciones a realizar cuando se cumple la condición Instrucción(es): Son las acciones a realizar cuando se cumple o no la condición si no: Precede a las acciones a realizar cuando no se cumple la condición Dependiendo de si la comparación es cierta o falsa, se pueden realizar una o más acciones.
  • 3. Múltiples: Las estructuras de comparación múltiples, son tomas de decisión especializada que permiten comparar unas variables contras distintas posibles resultadas, ejecutando para cada caso una serie de instrucciones específicas. La forma común es la siguiente: Pseudocódigo: Diagrama de flujo: Múltiples (En caso de): Las estructuras de comparación múltiples, es una toma de decisión especializada que permiten evaluar una variable con distintos posibles resultados, ejecutando para cada caso una serie de instrucciones específicas. La forma es la siguiente: Pseudocódigo: Diagrama de flujo:
  • 4. Contadores Un contador es una variable cuyo valor se incrementa o decrementa en una cantidad fija en cada iteración. Se utilizan en los siguientes casos:  Para contabilizar el número de veces que es necesario repetir una acción (variable de control de un bucle)  Para contar un suceso particular solicitado por el enunciado del problema (asociado a un bucle independiente)  Representa la variable de control del ciclo.  Toma un valor inicial (generalmente 0 ó 1) y se incrementa en la mayoría de los casos.  Toma un valor inicial y se compara con el valor final. Los contadores se utilizan con la finalidad de contar sucesos o acciones internas de un bucle; deben realizar una operación de inicialización y posteriormente las sucesivas de incremento o decremento del mismo. La inicialización consiste en asignarle al contador un valor. Se situará antes y fuera del bucle. Representación: <nombre del contador> ß <nombre del contador> + <valor constante> Si en vez de incremento es decremento se coloca un menos en lugar del más. Ejemplo: i = i + 1 (incremento) i = i – 1 (decremento) Acumuladores Un acumulador es un campo de memoria que suma sobre sí misma un conjunto de valores para de esta manera tener la suma de todos ellos en una sola variable. Se utiliza en aquellos casos en que se desea obtener el total acumulado de un conjunto de cantidades, siendo preciso inicializarlo con el valor cero. Además en las situaciones en que hay que obtener un total como producto de distintas cantidades se utiliza un acumulador, debiéndose inicializar con el valor. La diferencia entre un contador y un acumulador es que mientras el primero va aumentando de uno en uno en un valor constante, el acumulador va aumentando en una cantidad variable. Representación: <Nombre del acumulador> ß <nombre del acumulador> + <valor variable>
  • 5. Ciclos El bucle, ciclo o lazo, es un segmento de un algoritmo o programa cuyas instrucciones se repiten un número determinado de veces, mientras se cumple una determinada condición específica (existe o es verdadera la condición). Un ciclo tiene las siguientes características: a. El conjunto de instrucciones debe ser finito b. La cantidad de veces que se repita dicho conjunto de instrucciones también debe ser finita. En algunos casos esta cantidad de veces va a depender de una condición explícita y en otros casos va a depender de una condición implícita. Una condición es explícita cuando depende solamente de la misma ejecución del programa sin que sea importante la participación del usuario. Asimismo una condición es implícita cuando depende solamente de la voluntad del usuario y por lo tanto la cantidad de iteraciones o repeticiones del ciclo podría llegar a ser diferente cada vez pues sería posible que cambiara con cada usuario. c. Deben estar claramente demarcados el inicio y el fin del ciclo. En los casos en los cuales solo exista una instrucción a iterar, no serán necesarias dichas marcas. d. Dentro de un ciclo podrá ir cualquiera de las otras estructuras que se han estudiado incluyendo otros ciclos. Un bucle consta de tres partes:  Decisión  Cuerpo del bucle  Salida del bucle
  • 6. Arreglos Un arreglo (array) es una colección de datos del mismo tipo, que se almacenan en posiciones consecutivas de memoria y reciben un nombre común. Para referirse a un determinado elemento de un array se deberá utilizar un índice, que especifique su posición relativa en el array. Un arreglo es una colección finita, homogénea y ordenada de elementos.  Finita: Todo arreglo tiene un límite; es decir, debe determinarse cuál será el número máximo de elementos que podrán formar parte del arreglo.  Homogénea: Esto significa que todos los elementos del arreglo deben ser del mismo tipo. (Todos enteros, todos reales, todos booleanos, etc.)  Ordenada: Se puede determinar cuál es el primer elemento, el segundo, el tercero,.... y el n-ésimo elemento. También el orden es significativo, el orden viene dado por el subíndice de un vector Modularidad Respecto a las cualidades deseables de todo algoritmo bien diseñado, la modularidad hace referencia a que nunca hay que olvidarse del hecho de que un algoritmo puede formar parte de la solución a un problema mayor. Pero, a su vez, dicho algoritmo debe descomponerse en otros, siempre y cuando, esto favorezca a la claridad del mismo.