Archivo de la etiqueta: Algoritmos

Fundamentos de la Arquitectura de Computadores y Sistemas Operativos

Arquitectura de Computadores

Clasificación de los Buses

Los buses se clasifican en: serie, paralelo, multiplexados, dedicados, centralizados, distribuidos, síncronos y asíncronos. Dos buses serán compatibles si son eléctricamente idénticos.

Arquitectura Von Neumann

La arquitectura Von Neumann se caracteriza por disponer de una sola memoria principal donde se almacenan datos e instrucciones. La CPU está formada por:

Programación: Pseudocódigo, Diagramas de Flujo y Lenguajes

Pseudocódigo

Consiste en escribir el programa con un lenguaje intermedio entre el lenguaje natural y los lenguajes de programación. En general, se escribe una «orden» en cada línea. Se utilizan una serie de palabras clave, generalmente en inglés, que suelen coincidir con las estructuras de programación que se repiten en todos los lenguajes. El pseudocódigo permite describir tanto el programa principal como las subrutinas.

Diagramas de Flujo

Es una técnica que se utiliza para describir cualquier Seguir leyendo “Programación: Pseudocódigo, Diagramas de Flujo y Lenguajes” »

Implementación de una Lista Doblemente Enlazada en C

Introducción

Este código implementa una lista doblemente enlazada en C, permitiendo la inserción, borrado y otras operaciones como la verificación de palíndromos. Incluye funciones para mostrar la lista en orden ascendente y descendente.

Código

#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#include <conio.h> //Para usar getch() y system("pause")
#include <string.h> //Para usar strlen()

#define ASCENDENTE 1
#define DESCENDENTE 0
#define TRUE 1

typedef  Seguir leyendo “Implementación de una Lista Doblemente Enlazada en C” »

Optimización de Procesos: Planificación y Gestión de Memoria

Planificación de Procesos

La planificación es la técnica que indica qué procesos deben ejecutarse. Con los algoritmos de planificación se decide qué proceso se ejecuta y por qué. Cuando hacemos doble clic en un proceso para lanzarlo, el sistema operativo lo introduce en planificación y ahí empieza el proceso.

Instrucciones y Procesamiento

¿Cuántas instrucciones puede procesar en un instante de tiempo la UCP?

Una instrucción, a no ser que el ordenador sea multiproceso/multiprocesador o tenga Seguir leyendo “Optimización de Procesos: Planificación y Gestión de Memoria” »

Algoritmos de Reemplazo de Páginas: FIFO, LFU, MFU y Segunda Oportunidad

Algoritmos de Reemplazo de Páginas

1. FIFO (First-In, First-Out)

Descripción:

El algoritmo FIFO reemplaza la página que llegó primero a la memoria. Es simple y fácil de implementar, ya que solo necesita recordar el orden de llegada.

Función:

Cuando llega una nueva página y la memoria está llena, FIFO reemplaza la página que ha estado allí más tiempo, sin importar si se ha usado recientemente.

Ejemplo de Implementación:

Secuencia de referencias: [3, 2, 4, 1, 3, 2, 5]
Número de marcos: 3

PasoReferenciaMarcos Seguir leyendo “Algoritmos de Reemplazo de Páginas: FIFO, LFU, MFU y Segunda Oportunidad” »

Funciones Esenciales para Árboles Binarios en Java

// Ejercicio 1
public static int numNodos(ArbolBinario arbol) {
if (arbol.esVacio())
return 0;
else
return 1 + numNodos(arbol.hijoIzq()) + numNodos(arbol.hijoDer());
}

// Ejercicio 2
public static int numHojas(ArbolBinario arbol) {

if (arbol.esVacio())
return 0;
else

if (arbol.hijoIzq().esVacio() && arbol.hijoDer().esVacio())
return 1;
else
return numHojas(arbol.hijoIzq()) + numHojas(arbol.hijoDer());
}
// Ejercicio 3
public static boolean esDegenerado(ArbolBinario arbol) {
if (arbol.esVacio( Seguir leyendo “Funciones Esenciales para Árboles Binarios en Java” »

Introducción a la Informática: Conceptos Fundamentales

Introducción a la Informática

Conceptos Básicos

Algoritmo

Los algoritmos son procedimientos específicos que señalan paso a paso la solución de un problema y que garantizan el logro de una solución siempre y cuando sean relevantes al problema.

Dato

Es toda aquella representación de una entidad y que es susceptible de tratamiento ya sea en un programa o proceso informático. Por ejemplo, nombre, apellido y edad son datos de una persona (entidad). En otras palabras, un dato es la representación Seguir leyendo “Introducción a la Informática: Conceptos Fundamentales” »

Tipos de Datos y Estructuras en Programación: Una Guía Completa

Variables Compuestas

Son variables con estructura interna, es decir, con partes que podemos diferenciar. En muchas de ellas hay que detallar alguna parte de su definición (su tamaño, el número o tamaño de las partes, etc.). Las más frecuentes son:

Cadena (String)

Conjunto de 0 a 255 caracteres. El primer byte contiene el número de caracteres y los siguientes cada uno un carácter.

Registro (Record)

Variable compuesta por la unión en una única estructura de más de una variable; cada una de ellas Seguir leyendo “Tipos de Datos y Estructuras en Programación: Una Guía Completa” »

Enrutamiento y Control de Congestión en Redes

Enrutamiento

Características

Corrección, simplicidad, robustez, estabilidad, equidad y optimalidad.

Datagramas vs. Circuitos Virtuales (CV)

Con datagramas, la decisión de enrutamiento se toma en cada paquete que llega. Con CV, puede tomarse en cada establecimiento de un CV nuevo.

Algoritmos de Enrutamiento

Algoritmos No Adaptativos (Estáticos)

No se basan en medir o estimar el tráfico, se determinan anticipadamente.

Algoritmos Adaptativos

Cambian las rutas de encaminamiento para reflejar cambios de Seguir leyendo “Enrutamiento y Control de Congestión en Redes” »

Ejercicios de Estructuras de Datos

Inserción Binaria

1) En el Código 1 se muestra la implementación de la inserción binaria. En el lugar indicado como (1), debe incluirse la operación:
A) i=R
B) a[m] <= x
C) a[m] >= x
D) Ninguna de las anteriores

2) En el Código 1 se muestra la implementación de la inserción binaria. En el lugar indicado como (2), debe incluirse la operación:
A) j:=j+1;
B) j:=j-1;
C) a[j]:=a[j+1];
D) Ninguna de las anteriores

3) En el Código 1 se muestra la implementación de la inserción binaria. En el lugar Seguir leyendo “Ejercicios de Estructuras de Datos” »