Este documento describe diferentes algoritmos de búsqueda como la búsqueda lineal, binaria y por transformación de claves. Explica que los algoritmos de búsqueda buscan un elemento específico dentro de una estructura de datos, mientras que los de ordenamiento ordenan los elementos. Luego detalla los métodos de búsqueda lineal, binaria y por transformación de claves como plegamiento, aritmética modular, mitad del cuadrado y truncamiento.
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
Los vectores informáticos son herramientas que nos ayudan a resolver programas. Tiene 2 tipos de Vectores, su forma de acceso y su notación. Los vectores informáticos tienen sus propios recursos para la realización de programas.
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
Los vectores informáticos son herramientas que nos ayudan a resolver programas. Tiene 2 tipos de Vectores, su forma de acceso y su notación. Los vectores informáticos tienen sus propios recursos para la realización de programas.
Cómo hacer un algoritmo en PSeInt. Su estructura
En programación un algoritmo o programa es una secuencia de acciones o instrucciones que resuelve un determinado problema. A continuación verás cómo hacer un algoritmo en PSeInt:
Algoritmo (nombre_programa)
// Esto es un comentario
acción 1;
acción 2;
.
.
.
acción n;
FinAlgoritmo
Algoritmo y FinAlgoritmo son las palabras clave que se utilizan para abrir y cerrar, respectivamente, el algoritmo o programa. Y después, cada acción o instrucción puede consistir en: definiciones de variables, mostrar texto por pantalla, pedir datos al usuario por teclado, borrar la pantalla, expresiones matemáticas o lógicas, estructuras de control (condicionales, bucles, …), etc. Para escribir comentarios se empieza la línea con los símbolos «//».
Variables y tipos de datos de los algoritmos con PSeInt
Una variable es un espacio de la memoria donde guardar información. La información que se guarda en la variable puede ser de diversos tipos y puede ir cambiando a lo largo del programa. A la variable hay que darle un nombre para identificarla, y ese nombre estará formado solo por letras, números y el guion bajo únicamente; no debe contener espacios ni operadores, ni palabras claves del lenguaje. Identificadores de variable correctos podrían ser: nombre_usuario, fecha_2018, edad, A, X, suma, …
Cada variable tiene un tipo de dato asociado, por lo que siempre guardará el mismo tipo de dato. Una variable que guarde un número no podrá guardar después otro tipo que no sea un número. Los tipos de datos en PSeInt pueden ser: NUMERO, NUMERICO, ENTERO, REAL, CARACTER, TEXTO, CADENA y LOGICO. Para declarar una variable se utiliza la palabra clave Definir. A continuación veremos la sintaxis y un ejemplo de como declarar variables:
// Sintaxis para declarar variables
Definir (var1, var2, ..., varN) Como (tipo_de_dato);
// Ejemplos
Definir nombre Como Texto;
Definir edad Como Entero;
Definir respuesta Como Logico;
Una vez declarada la variable se le puede asignar un valor y también pedir por teclado ese valor (leer). También existe una palabra clave para mostrar datos por pantalla, esta es Escribir, si se utiliza Sin Saltar, no se hace un salto de línea después, sino se utiliza se hará un salto de línea.
// Asignación de variables
var1 <- valor;
// Lectura de variables
Leer var1;
Leer var2 Sin Saltar;
// Mostrar datos por pantalla
Escribir (cadena_texto);
Escribir var1;
// Ejemplos
nombre <- "Antonio";
Escribir "Introduce tu nombre: ";
Leer nombre;
Escribir "¿Edad?: " Sin Saltar;
Leer edad;
Los tipos de datos anteriores son simples, además existen los arreglos, que son algo más complejos, son las matrices matemáticas, estructuras de datos homogéneos del mismo tipo que pueden tener varias dimensiones. También se suelen llamar arrays.
Ilustración de un cubo
Para declarar un arreglo se utiliza la palabra clave Dimension, puedes verlo
ROMPECABEZAS DE ECUACIONES DE PRIMER GRADO OLIMPIADA DE PARÍS 2024. Por JAVIE...JAVIER SOLIS NOYOLA
El Mtro. JAVIER SOLIS NOYOLA crea y desarrolla el “ROMPECABEZAS DE ECUACIONES DE 1ER. GRADO OLIMPIADA DE PARÍS 2024”. Esta actividad de aprendizaje propone retos de cálculo algebraico mediante ecuaciones de 1er. grado, y viso-espacialidad, lo cual dará la oportunidad de formar un rompecabezas. La intención didáctica de esta actividad de aprendizaje es, promover los pensamientos lógicos (convergente) y creativo (divergente o lateral), mediante modelos mentales de: atención, memoria, imaginación, percepción (Geométrica y conceptual), perspicacia, inferencia, viso-espacialidad. Esta actividad de aprendizaje es de enfoques lúdico y transversal, ya que integra diversas áreas del conocimiento, entre ellas: matemático, artístico, lenguaje, historia, y las neurociencias.
Instrucciones del procedimiento para la oferta y la gestión conjunta del proceso de admisión a los centros públicos de primer ciclo de educación infantil de Pamplona para el curso 2024-2025.
2. ¿Qué es un algoritmo de
Búsqueda?
Los Algoritmos de búsqueda son aquellos diseñados para encontrar
algún elemento especifico dentro de una estructura.
3. Los Algoritmos de búsqueda
Estos están diseñados para localizar un elemento con propiedades
especificas dentro de una estructura (array) de datos. Mientras que
los algoritmos de ordenamiento son los que ponen elementos de una
lista o vector en una posición dada por alguna relación de orden;
estos son:
-Búsqueda Lineal
-Búsqueda Binaria
-Búsqueda por transformación de claves.
4. Búsqueda Lineal
La búsqueda lineal consiste en buscar de manera secuencial un
elemento, es decir preguntar si el elemento es igual al primero, si no
pasa al segundo y así sucesivamente hasta encontrar la igualdad.
Ejemplo
5. Búsqueda Binaria
La búsqueda Binaria consiste en buscar el elemento en el centro del
vector, en caso de que esta posición no sea la que se esta buscando
se comparara si el índice es mayor o menor, si es mayor se tomara
el índice mayor y el resto de desechara en caso que sea contrario se
realizara la misma operación pero con el índice menor y se repetirá
hasta que encuentre el elemento.
Ejemplo
6. Búsqueda por transformación
clave
Hashing consiste en una transformación matemática de una función
que da como resultado la posición en la que se guardara o buscara
el elemento clave.
7. Por plegamiento
El plegamiento consiste en dividir la clave en distintas partes, luego
combinarlas ya sea mediante una operación de suma o multiplicación
para así obtener el índice.
Ejemplo:
Vector de 60
Clave: 112233
Procedimiento:
V(clave) = 11+22+33
V(Clave) = 66 ( El resultado sobrepasa al vector que se tiene, por lo
consiguiente se trunca)
66/2 = 33
Así que se guardara en la posición 33 del vector.
8. Aritmética Modular.
La aritmética modular consiste en convertir la clave en un entero, lo que
se hace es dividir por el tamaño del vector, el resto o residuo de esta
división es la posición donde se almacenara.
Ejemplo:
Vector de 50
Clave: 111
Procedimiento:
V(clave) = 111 MOD 50
V(clave) = 11
El residuo de la división es 11, por lo que en esa posición se almacenara el
elemento.
9. Mitad del Cuadrado
Consiste en calcular el cuadro de la clave y tomar los dígitos
centrales como resultado, estos serán la posición en el vector.
La funcion esta expresada por la formula: H(x) = X^2 (donde x es la
clave)
Ejemplo:
Vector 100
Clave: 25
V(clave) = 25^2
V(clave) = 625
Ya que el resultado es 625, el vector a utilizar para almacenar es la posición
2.
10. Truncamiento
Consiste en tomar algunos dígitos de la clave y con estos formar una
posición en el array.
Ejemplo:
Vector 1000
1225563 263
1637890 179
3369547 397
9873258 828