El documento describe las estructuras básicas de un algoritmo, incluyendo estructuras secuenciales, condicionales, contadores, acumuladores, ciclos y arreglos. Explica que un problema puede dividirse en acciones elementales usando estas estructuras de control para especificar el orden de ejecución de las instrucciones y resolver el problema.
Esta presentación es parte del contenido del curso de Programación Avanzada impartido en la Universidad Rafael Landívar durante el año 2015.
Incluye los temas:
• Método Burbuja
• Método por Inserción
Creado por Ing. Alvaro Enrique Ruano
Esta presentación es parte del contenido del curso de Estructuras de Datos I impartido en la Universidad Rafael Landívar durante el año 2017.
Creado por Ing. Alvaro Enrique Ruano
Esta presentación es parte del contenido del curso de Programación Avanzada impartido en la Universidad Rafael Landívar durante el año 2015.
Incluye los temas:
• Método Burbuja
• Método por Inserción
Creado por Ing. Alvaro Enrique Ruano
Esta presentación es parte del contenido del curso de Estructuras de Datos I impartido en la Universidad Rafael Landívar durante el año 2017.
Creado por Ing. Alvaro Enrique Ruano
Esta presentación es parte del contenido del curso de Programación Avanzada impartido en la Universidad Rafael Landívar durante el año 2015.
Incluye los temas:
• Búsqueda por método secuencial
• Búsqueda por método binario
• Búsqueda por método hashing
Creado por Ing. Alvaro Enrique Ruano
Esta presentación es parte del contenido del curso de Programación Avanzada impartido en la Universidad Rafael Landívar durante el año 2015.
Incluye los temas:
• Búsqueda por método secuencial
• Búsqueda por método binario
• Búsqueda por método hashing
Creado por Ing. Alvaro Enrique Ruano
Definiciones básicas
Algoritmo.Tipos de datos informáticos
Análisis del Problema, ejemplos
Diseño del algoritmo, ejemplos.
Medios de Expresión de un algoritmo
Diagramas de Flujo, ejemplos, Pseudocódigo., ejemplos
Estructuras de control
Estructuras secuenciales
Estructuras selectivas
Selectiva doble (alternativa)
Selectiva múltiple
Selectiva múltiple-Casos
Estructuras iterativas
Bucle mientra Bucle repetir
Bucle hacer Bucle para
Bucle para cada
Algoritmos de búsqueda, ejemplos
Algoritmos de ordenación, ejemplos
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...Telefónica
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0xWord escrito por Ibón Reinoso ( https://mypublicinbox.com/IBhone ) con Prólogo de Chema Alonso ( https://mypublicinbox.com/ChemaAlonso ). Puedes comprarlo aquí: https://0xword.com/es/libros/233-big-data-tecnologias-para-arquitecturas-data-centric.html
3Redu: Responsabilidad, Resiliencia y Respetocdraco
¡Hola! Somos 3Redu, conformados por Juan Camilo y Cristian. Entendemos las dificultades que enfrentan muchos estudiantes al tratar de comprender conceptos matemáticos. Nuestro objetivo es brindar una solución inclusiva y accesible para todos.
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informáticavazquezgarciajesusma
En este proyecto de investigación nos adentraremos en el fascinante mundo de la intersección entre el arte y los medios de comunicación en el campo de la informática.
La rápida evolución de la tecnología ha llevado a una fusión cada vez más estrecha entre el arte y los medios digitales, generando nuevas formas de expresión y comunicación.
Continuando con el desarrollo de nuestro proyecto haremos uso del método inductivo porque organizamos nuestra investigación a la particular a lo general. El diseño metodológico del trabajo es no experimental y transversal ya que no existe manipulación deliberada de las variables ni de la situación, si no que se observa los fundamental y como se dan en su contestó natural para después analizarlos.
El diseño es transversal porque los datos se recolectan en un solo momento y su propósito es describir variables y analizar su interrelación, solo se desea saber la incidencia y el valor de uno o más variables, el diseño será descriptivo porque se requiere establecer relación entre dos o más de estás.
Mediante una encuesta recopilamos la información de este proyecto los alumnos tengan conocimiento de la evolución del arte y los medios de comunicación en la información y su importancia para la institución.
Es un diagrama para La asistencia técnica o apoyo técnico es brindada por las compañías para que sus clientes puedan hacer uso de sus productos o servicios de la manera en que fueron puestos a la venta.
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informáticavazquezgarciajesusma
En este proyecto de investigación nos adentraremos en el fascinante mundo de la intersección entre el arte y los medios de comunicación en el campo de la informática.
La rápida evolución de la tecnología ha llevado a una fusión cada vez más estrecha entre el arte y los medios digitales, generando nuevas formas de expresión y comunicación.
Continuando con el desarrollo de nuestro proyecto haremos uso del método inductivo porque organizamos nuestra investigación a la particular a lo general. El diseño metodológico del trabajo es no experimental y transversal ya que no existe manipulación deliberada de las variables ni de la situación, si no que se observa los fundamental y como se dan en su contestó natural para después analizarlos.
El diseño es transversal porque los datos se recolectan en un solo momento y su propósito es describir variables y analizar su interrelación, solo se desea saber la incidencia y el valor de uno o más variables, el diseño será descriptivo porque se requiere establecer relación entre dos o más de estás.
Mediante una encuesta recopilamos la información de este proyecto los alumnos tengan conocimiento de la evolución del arte y los medios de comunicación en la información y su importancia para la institución.
Actualmente, y debido al desarrollo tecnológico de campos como la informática y la electrónica, la mayoría de las bases de datos están en formato digital, siendo este un componente electrónico, por tanto se ha desarrollado y se ofrece un amplio rango de soluciones al problema del almacenamiento de datos.
Inteligencia Artificial y Ciberseguridad.pdfEmilio Casbas
Recopilación de los puntos más interesantes de diversas presentaciones, desde los visionarios conceptos de Alan Turing, pasando por la paradoja de Hans Moravec y la descripcion de Singularidad de Max Tegmark, hasta los innovadores avances de ChatGPT, y de cómo la IA está transformando la seguridad digital y protegiendo nuestras vidas.
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.