SlideShare una empresa de Scribd logo
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

La actualidad más candente

Estructuras de control selectivas
Estructuras de control selectivasEstructuras de control selectivas
Estructuras de control selectivasmarigelcontreras
 
Listas como estructura de datos..
Listas como estructura de datos..Listas como estructura de datos..
Listas como estructura de datos..
NANO-06
 
Estructura de Datos - Unidad 6 Metodos de busqueda
Estructura de Datos - Unidad 6 Metodos de busquedaEstructura de Datos - Unidad 6 Metodos de busqueda
Estructura de Datos - Unidad 6 Metodos de busqueda
José Antonio Sandoval Acosta
 
Metodos de-ordenamiento
Metodos de-ordenamientoMetodos de-ordenamiento
Metodos de-ordenamiento
deff000001
 
Recursividad
RecursividadRecursividad
Recursividad
TAtiizz Villalobos
 
Estructuras de repeticion
Estructuras de repeticion Estructuras de repeticion
Estructuras de repeticion abmendo28
 
Informe técnico - Métodos de búsqueda Unidad 6 (Rubí Verónica)
Informe técnico - Métodos de búsqueda Unidad 6 (Rubí Verónica)Informe técnico - Métodos de búsqueda Unidad 6 (Rubí Verónica)
Informe técnico - Métodos de búsqueda Unidad 6 (Rubí Verónica)
Rubi Veronica Chimal Cuxin
 
Redes neuronales multicapa y monocapa
Redes neuronales multicapa y monocapaRedes neuronales multicapa y monocapa
Redes neuronales multicapa y monocapa
Levy GT
 
Estructuras de control algoritmos
Estructuras de control algoritmosEstructuras de control algoritmos
Estructuras de control algoritmos
Ruby
 
Mapa conceptual unidad 1 benita
Mapa conceptual unidad 1 benitaMapa conceptual unidad 1 benita
Mapa conceptual unidad 1 benitaTAtiizz Villalobos
 
ALGORITMO RESUELTOS EN PSEINT
ALGORITMO RESUELTOS EN PSEINTALGORITMO RESUELTOS EN PSEINT
ALGORITMO RESUELTOS EN PSEINT
Carlos Aviles Galeas
 
Lenguajes de Programación: Herencia, Polimorfismo Y UML
Lenguajes de Programación: Herencia, Polimorfismo Y UMLLenguajes de Programación: Herencia, Polimorfismo Y UML
Lenguajes de Programación: Herencia, Polimorfismo Y UML
Luis Fernando Aguas Bucheli
 
Búsqueda secuencial y binaria
Búsqueda secuencial y binariaBúsqueda secuencial y binaria
Búsqueda secuencial y binaria
Alvaro Enrique Ruano
 
Estructura selectiva doble
Estructura selectiva dobleEstructura selectiva doble
Estructura selectiva doble
Nora O. Martínez
 

La actualidad más candente (20)

Estructuras de control selectivas
Estructuras de control selectivasEstructuras de control selectivas
Estructuras de control selectivas
 
Listas como estructura de datos..
Listas como estructura de datos..Listas como estructura de datos..
Listas como estructura de datos..
 
Estructura de Datos - Unidad 6 Metodos de busqueda
Estructura de Datos - Unidad 6 Metodos de busquedaEstructura de Datos - Unidad 6 Metodos de busqueda
Estructura de Datos - Unidad 6 Metodos de busqueda
 
Arboles multicamino
Arboles  multicaminoArboles  multicamino
Arboles multicamino
 
Metodos de-ordenamiento
Metodos de-ordenamientoMetodos de-ordenamiento
Metodos de-ordenamiento
 
Arboles Binarios
Arboles BinariosArboles Binarios
Arboles Binarios
 
Recursividad
RecursividadRecursividad
Recursividad
 
Estructuras de repeticion
Estructuras de repeticion Estructuras de repeticion
Estructuras de repeticion
 
Informe técnico - Métodos de búsqueda Unidad 6 (Rubí Verónica)
Informe técnico - Métodos de búsqueda Unidad 6 (Rubí Verónica)Informe técnico - Métodos de búsqueda Unidad 6 (Rubí Verónica)
Informe técnico - Métodos de búsqueda Unidad 6 (Rubí Verónica)
 
Redes neuronales multicapa y monocapa
Redes neuronales multicapa y monocapaRedes neuronales multicapa y monocapa
Redes neuronales multicapa y monocapa
 
Estructuras de control algoritmos
Estructuras de control algoritmosEstructuras de control algoritmos
Estructuras de control algoritmos
 
Mapa conceptual unidad 1 benita
Mapa conceptual unidad 1 benitaMapa conceptual unidad 1 benita
Mapa conceptual unidad 1 benita
 
Top down
Top downTop down
Top down
 
Unidad IV
Unidad IVUnidad IV
Unidad IV
 
ALGORITMO RESUELTOS EN PSEINT
ALGORITMO RESUELTOS EN PSEINTALGORITMO RESUELTOS EN PSEINT
ALGORITMO RESUELTOS EN PSEINT
 
Lenguajes de Programación: Herencia, Polimorfismo Y UML
Lenguajes de Programación: Herencia, Polimorfismo Y UMLLenguajes de Programación: Herencia, Polimorfismo Y UML
Lenguajes de Programación: Herencia, Polimorfismo Y UML
 
Búsqueda secuencial y binaria
Búsqueda secuencial y binariaBúsqueda secuencial y binaria
Búsqueda secuencial y binaria
 
Algoritmos condicionales
Algoritmos condicionalesAlgoritmos condicionales
Algoritmos condicionales
 
Monografia lobo cabra y col
Monografia lobo cabra y colMonografia lobo cabra y col
Monografia lobo cabra y col
 
Estructura selectiva doble
Estructura selectiva dobleEstructura selectiva doble
Estructura selectiva doble
 

Similar a Estructuras basicas de un algoritmo

Diagrama Logica
Diagrama LogicaDiagrama Logica
Diagrama Logica
McDonaldTrump
 
Estructuras de control algoritmos dq
Estructuras de control algoritmos   dqEstructuras de control algoritmos   dq
Estructuras de control algoritmos dq
Dorys Quiroz Quiroz
 
Estructuras de control Repetitivas.pdf
Estructuras de control Repetitivas.pdfEstructuras de control Repetitivas.pdf
Estructuras de control Repetitivas.pdf
MauroZini1
 
Estructuras básicas
Estructuras básicas Estructuras básicas
Estructuras básicas
valeriacaicedo7
 
Guía Práctica de Diagramas de Flujo
Guía Práctica de Diagramas de FlujoGuía Práctica de Diagramas de Flujo
Guía Práctica de Diagramas de Flujo
José Ricardo Tillero Giménez
 
Estructuras básicas
Estructuras básicas Estructuras básicas
Estructuras básicas
Ana Sofía Correa Llanos
 
diagramacionlogica
diagramacionlogicadiagramacionlogica
diagramacionlogica
Camiggg
 
Exposicion de programacion merlin
Exposicion de programacion merlinExposicion de programacion merlin
Exposicion de programacion merlin
Alex Merlin Amjs
 
Introduccion a los algoritmos parte 1
Introduccion a los algoritmos parte    1Introduccion a los algoritmos parte    1
Introduccion a los algoritmos parte 1
charnisch
 
Introducci+¦n a los algoritmos1
Introducci+¦n a los algoritmos1Introducci+¦n a los algoritmos1
Introducci+¦n a los algoritmos1Joaquin1418
 
Estructuras de control de flujo
Estructuras de control de flujoEstructuras de control de flujo
Estructuras de control de flujo
AliandroMejias
 
Trabajo algoritmo
Trabajo algoritmo Trabajo algoritmo
Trabajo algoritmo
VictorRodriguez692
 
Diagrama secuencial
Diagrama secuencialDiagrama secuencial
Diagrama secuencial
Leomar Salazar
 
Programación de nivel básico 3. c1. p2.
Programación de nivel básico 3. c1. p2.Programación de nivel básico 3. c1. p2.
Programación de nivel básico 3. c1. p2.
DENIRAMIREZANDRADE
 
Estructuras de control selectivas
Estructuras de control selectivasEstructuras de control selectivas
Estructuras de control selectivasmarigelcontreras
 

Similar a Estructuras basicas de un algoritmo (20)

Diagrama Logica
Diagrama LogicaDiagrama Logica
Diagrama Logica
 
Algortimos jury
Algortimos juryAlgortimos jury
Algortimos jury
 
Estructuras de control algoritmos dq
Estructuras de control algoritmos   dqEstructuras de control algoritmos   dq
Estructuras de control algoritmos dq
 
2ª unidad de algoritmo
2ª unidad de algoritmo2ª unidad de algoritmo
2ª unidad de algoritmo
 
fTópicos 2.0
fTópicos 2.0fTópicos 2.0
fTópicos 2.0
 
Estructuras de control Repetitivas.pdf
Estructuras de control Repetitivas.pdfEstructuras de control Repetitivas.pdf
Estructuras de control Repetitivas.pdf
 
Estructuras básicas
Estructuras básicas Estructuras básicas
Estructuras básicas
 
Guía Práctica de Diagramas de Flujo
Guía Práctica de Diagramas de FlujoGuía Práctica de Diagramas de Flujo
Guía Práctica de Diagramas de Flujo
 
Estructuras básicas
Estructuras básicas Estructuras básicas
Estructuras básicas
 
diagramacionlogica
diagramacionlogicadiagramacionlogica
diagramacionlogica
 
Exposicion de programacion merlin
Exposicion de programacion merlinExposicion de programacion merlin
Exposicion de programacion merlin
 
Introduccion a los algoritmos parte 1
Introduccion a los algoritmos parte    1Introduccion a los algoritmos parte    1
Introduccion a los algoritmos parte 1
 
Introducci+¦n a los algoritmos1
Introducci+¦n a los algoritmos1Introducci+¦n a los algoritmos1
Introducci+¦n a los algoritmos1
 
Estructuras de control de flujo
Estructuras de control de flujoEstructuras de control de flujo
Estructuras de control de flujo
 
Unidad 2
Unidad 2Unidad 2
Unidad 2
 
Trabajo algoritmo
Trabajo algoritmo Trabajo algoritmo
Trabajo algoritmo
 
Diagrama secuencial
Diagrama secuencialDiagrama secuencial
Diagrama secuencial
 
Programación de nivel básico 3. c1. p2.
Programación de nivel básico 3. c1. p2.Programación de nivel básico 3. c1. p2.
Programación de nivel básico 3. c1. p2.
 
Estructuras de control selectivas
Estructuras de control selectivasEstructuras de control selectivas
Estructuras de control selectivas
 
Http estructa
Http estructaHttp estructa
Http estructa
 

Último

trabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6ftrabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6f
zoecaicedosalazar
 
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Telefónica
 
EduFlex, una educación accesible para quienes no entienden en clases
EduFlex, una educación accesible para quienes no entienden en clasesEduFlex, una educación accesible para quienes no entienden en clases
EduFlex, una educación accesible para quienes no entienden en clases
PABLOCESARGARZONBENI
 
proyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmusproyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmus
raquelariza02
 
Conceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación ProyectoConceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación Proyecto
cofferub
 
3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto
cdraco
 
Diagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestreDiagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestre
DiegoCampos433849
 
Estructuras básicas_ conceptos de programación (1).docx
Estructuras básicas_ conceptos de programación  (1).docxEstructuras básicas_ conceptos de programación  (1).docx
Estructuras básicas_ conceptos de programación (1).docx
SamuelRamirez83524
 
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTALINFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
CrystalRomero18
 
Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5
JulyMuoz18
 
Estructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdfEstructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdf
cristianrb0324
 
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
vazquezgarciajesusma
 
Diagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestreDiagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestre
rafaelsalazar0615
 
Posnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativaPosnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativa
Fernando Villares
 
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
vazquezgarciajesusma
 
Alan Turing Vida o biografía resumida como presentación
Alan Turing Vida o biografía resumida como presentaciónAlan Turing Vida o biografía resumida como presentación
Alan Turing Vida o biografía resumida como presentación
JuanPrez962115
 
Estructuras básicas_ conceptos básicos de programación.pdf
Estructuras básicas_  conceptos básicos de programación.pdfEstructuras básicas_  conceptos básicos de programación.pdf
Estructuras básicas_ conceptos básicos de programación.pdf
ItsSofi
 
Inteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdfInteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdf
Emilio Casbas
 
Diagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdfDiagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdf
ManuelCampos464987
 
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
marianabz2403
 

Último (20)

trabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6ftrabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6f
 
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
 
EduFlex, una educación accesible para quienes no entienden en clases
EduFlex, una educación accesible para quienes no entienden en clasesEduFlex, una educación accesible para quienes no entienden en clases
EduFlex, una educación accesible para quienes no entienden en clases
 
proyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmusproyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmus
 
Conceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación ProyectoConceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación Proyecto
 
3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto
 
Diagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestreDiagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestre
 
Estructuras básicas_ conceptos de programación (1).docx
Estructuras básicas_ conceptos de programación  (1).docxEstructuras básicas_ conceptos de programación  (1).docx
Estructuras básicas_ conceptos de programación (1).docx
 
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTALINFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
 
Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5
 
Estructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdfEstructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdf
 
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
 
Diagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestreDiagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestre
 
Posnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativaPosnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativa
 
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
 
Alan Turing Vida o biografía resumida como presentación
Alan Turing Vida o biografía resumida como presentaciónAlan Turing Vida o biografía resumida como presentación
Alan Turing Vida o biografía resumida como presentación
 
Estructuras básicas_ conceptos básicos de programación.pdf
Estructuras básicas_  conceptos básicos de programación.pdfEstructuras básicas_  conceptos básicos de programación.pdf
Estructuras básicas_ conceptos básicos de programación.pdf
 
Inteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdfInteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdf
 
Diagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdfDiagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdf
 
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.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.