SlideShare una empresa de Scribd logo
1 de 6
Descargar para leer sin conexión
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

Cuadro comparativo s.o
Cuadro  comparativo s.oCuadro  comparativo s.o
Cuadro comparativo s.oriosofelia
 
Caracteristicas de C Sharp
Caracteristicas de C SharpCaracteristicas de C Sharp
Caracteristicas de C SharpEdgardo Martinez
 
Estructura básica de un programa en C++
Estructura básica de un programa en C++Estructura básica de un programa en C++
Estructura básica de un programa en C++Rosbelia Balza
 
1 introduccion a la programacion 1
1 introduccion  a la programacion 11 introduccion  a la programacion 1
1 introduccion a la programacion 1Evelin Claudia
 
Taller de ciclos en PSeInt
Taller de ciclos en PSeIntTaller de ciclos en PSeInt
Taller de ciclos en PSeIntCristian C
 
Recursividad
RecursividadRecursividad
Recursividadbetzy
 
Lenguaje natural pseudocodigo diagramacion y programacion
Lenguaje natural pseudocodigo diagramacion y programacionLenguaje natural pseudocodigo diagramacion y programacion
Lenguaje natural pseudocodigo diagramacion y programacionClaudia Poza
 
P. estructurada vs. programación orientada a objetos
P. estructurada vs. programación orientada a objetosP. estructurada vs. programación orientada a objetos
P. estructurada vs. programación orientada a objetosGeovanny Yungán
 
Algoritmos y metodología para la solución de problemas
Algoritmos y metodología para la solución de problemasAlgoritmos y metodología para la solución de problemas
Algoritmos y metodología para la solución de problemasMartin Pacheco
 

La actualidad más candente (20)

Fundamentos de programación
Fundamentos de programaciónFundamentos de programación
Fundamentos de programación
 
Razonamiento monotono
Razonamiento monotonoRazonamiento monotono
Razonamiento monotono
 
Cuadro comparativo s.o
Cuadro  comparativo s.oCuadro  comparativo s.o
Cuadro comparativo s.o
 
Clases/Tipos de lenguajes de programación
Clases/Tipos de lenguajes de programaciónClases/Tipos de lenguajes de programación
Clases/Tipos de lenguajes de programación
 
Presentacion Python
Presentacion  Python Presentacion  Python
Presentacion Python
 
Caracteristicas de C Sharp
Caracteristicas de C SharpCaracteristicas de C Sharp
Caracteristicas de C Sharp
 
Estructura básica de un programa en C++
Estructura básica de un programa en C++Estructura básica de un programa en C++
Estructura básica de un programa en C++
 
Diseño Estructurado de Algoritmos
Diseño Estructurado de AlgoritmosDiseño Estructurado de Algoritmos
Diseño Estructurado de Algoritmos
 
1 introduccion a la programacion 1
1 introduccion  a la programacion 11 introduccion  a la programacion 1
1 introduccion a la programacion 1
 
Taller de ciclos en PSeInt
Taller de ciclos en PSeIntTaller de ciclos en PSeInt
Taller de ciclos en PSeInt
 
Recursividad
RecursividadRecursividad
Recursividad
 
Lenguaje natural pseudocodigo diagramacion y programacion
Lenguaje natural pseudocodigo diagramacion y programacionLenguaje natural pseudocodigo diagramacion y programacion
Lenguaje natural pseudocodigo diagramacion y programacion
 
Tutorial PSEINT
Tutorial PSEINT Tutorial PSEINT
Tutorial PSEINT
 
Cuestionario de algoritmos
Cuestionario de algoritmosCuestionario de algoritmos
Cuestionario de algoritmos
 
Javascript
JavascriptJavascript
Javascript
 
Interrupciones
InterrupcionesInterrupciones
Interrupciones
 
Ejercicios Java
Ejercicios JavaEjercicios Java
Ejercicios Java
 
P. estructurada vs. programación orientada a objetos
P. estructurada vs. programación orientada a objetosP. estructurada vs. programación orientada a objetos
P. estructurada vs. programación orientada a objetos
 
Presentación PSeInt
Presentación PSeIntPresentación PSeInt
Presentación PSeInt
 
Algoritmos y metodología para la solución de problemas
Algoritmos y metodología para la solución de problemasAlgoritmos y metodología para la solución de problemas
Algoritmos y metodología para la solución de problemas
 

Similar a Estructuras basicas de un algoritmo

Estructuras de control algoritmos dq
Estructuras de control algoritmos   dqEstructuras de control algoritmos   dq
Estructuras de control algoritmos dqDorys Quiroz Quiroz
 
Estructuras de control Repetitivas.pdf
Estructuras de control Repetitivas.pdfEstructuras de control Repetitivas.pdf
Estructuras de control Repetitivas.pdfMauroZini1
 
diagramacionlogica
diagramacionlogicadiagramacionlogica
diagramacionlogicaCamiggg
 
Exposicion de programacion merlin
Exposicion de programacion merlinExposicion de programacion merlin
Exposicion de programacion merlinAlex Merlin Amjs
 
Introduccion a los algoritmos parte 1
Introduccion a los algoritmos parte    1Introduccion a los algoritmos parte    1
Introduccion a los algoritmos parte 1charnisch
 
Introducci+¦n a los algoritmos1
Introducci+¦n a los algoritmos1Introducci+¦n a los algoritmos1
Introducci+¦n a los algoritmos1Joaquin1418
 
Estructuras de control selectivas
Estructuras de control selectivasEstructuras de control selectivas
Estructuras de control selectivasmarigelcontreras
 
Estructuras de control de flujo
Estructuras de control de flujoEstructuras de control de flujo
Estructuras de control de flujoAliandroMejias
 
Estructuras de control algoritmos
Estructuras de control algoritmosEstructuras de control algoritmos
Estructuras de control algoritmosRuby
 
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
 

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 selectivas
Estructuras de control selectivasEstructuras de control selectivas
Estructuras de control selectivas
 
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
 
Estructuras de control algoritmos
Estructuras de control algoritmosEstructuras de control algoritmos
Estructuras de control algoritmos
 
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.
 

Último

SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersIván López Martín
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptMiguelAtencio10
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...JaquelineJuarez15
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxJOSEFERNANDOARENASCA
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
ejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofJuancarlosHuertasNio1
 
Clase N°4 - Purificación y secuenciación de acidos nucleicos Benoit Diringer ...
Clase N°4 - Purificación y secuenciación de acidos nucleicos Benoit Diringer ...Clase N°4 - Purificación y secuenciación de acidos nucleicos Benoit Diringer ...
Clase N°4 - Purificación y secuenciación de acidos nucleicos Benoit Diringer ...Luis Olivera
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativaAdrianaMartnez618894
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELmaryfer27m
 

Último (20)

SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.ppt
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptx
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
ejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sof
 
Clase N°4 - Purificación y secuenciación de acidos nucleicos Benoit Diringer ...
Clase N°4 - Purificación y secuenciación de acidos nucleicos Benoit Diringer ...Clase N°4 - Purificación y secuenciación de acidos nucleicos Benoit Diringer ...
Clase N°4 - Purificación y secuenciación de acidos nucleicos Benoit Diringer ...
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativa
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFEL
 

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.