Archivo de la etiqueta: Algoritmos

Criptografía: Fundamentos, Técnicas y Aplicaciones en la Seguridad Informática

Criptografía: Fundamentos, Técnicas y Aplicaciones

La criptografía consiste en escribir con una clave secreta para proteger datos. Permite enviar mensajes en clave secreta a través de la red.

Cifrado

Cifrar: Proteger datos modificándolos usando una clave. Aplicaciones:

Implementación Eficiente de TDA Cola: Optimización de Procedimientos y Almacenamiento

TDA Cola

Implementación de TDA Cola que prioriza velocidad de procedimiento

CONST
max = 10

TIPO
t_cola = registro
contenedor = array[1…max] de tipo_dato
e, s = entero
fin_registro

VAR
cola = t_cola

e: posición en la que debe ingresar el nuevo elemento
s (frente): posición de la cual se debe extraer un elemento

Proc. inicializar_cola (var cola: t_cola)
INICIO
cola.e = 1
cola.s = 1
FIN

Función cola_vacia (cola: t_cola): lógico
INICIO
cola_vacia = (cola.s = cola.e)
FIN

Proc. agregar_cola (var cola: t_cola, nuevo: Seguir leyendo “Implementación Eficiente de TDA Cola: Optimización de Procedimientos y Almacenamiento” »

Conceptos Fundamentales de Sistemas Operativos y Programación

Sistema Operativo:

Un sistema operativo se puede ver como una máquina virtual, que facilita su uso, o como un administrador de recursos, para conseguir un uso eficiente de todo el sistema, dependiendo de cómo interese verlo en cada momento.

El sistema operativo como máquina virtual:

Tanto el programador como el usuario necesitan una herramienta que les libere de toda la complejidad que supone manejar el hardware mediante código máquina. Esta herramienta es el sistema operativo, el cual puede ser Seguir leyendo “Conceptos Fundamentales de Sistemas Operativos y Programación” »

Introducción a la Programación: Conceptos y Herramientas Fundamentales

Programación y Algoritmos de Control

¿Qué es un Algoritmo?

Un algoritmo es una lista de pasos organizados que establecen las acciones a seguir para obtener la solución a un problema concreto.

Características de los Algoritmos

Fases del Desarrollo de Software y Conceptos Básicos de Programación en C

Fases del Desarrollo de Software

Fase de definición

Analizamos el problema a resolver.

  1. Análisis del problema.
  2. Diseño y verificación del algoritmo.

Fase de desarrollo

Creamos el/los programas y la documentación asociada a ellos.

  1. Codificación en un lenguaje de programación.
  2. Compilación y enlazado.
  3. Pruebas y depuración.
  4. Documentación.

Detalles de las Fases

1. Análisis del Problema

El objetivo es determinar qué ha de hacer el programa. En esta fase se estudiarán los datos de entrada necesarios, el tratamiento Seguir leyendo “Fases del Desarrollo de Software y Conceptos Básicos de Programación en C” »

Conceptos Clave de Informática: Hardware, Software, Sistemas Operativos y Bases de Datos

Conceptos Clave de Informática

• Los controladores de dispositivos (drivers) son software.

• En la arquitectura Von Neumann, la CPU dispone de un registro denominado contador de programa (PC), que almacena la dirección (posición) de memoria de la siguiente instrucción a ejecutar.

• Los registros de la CPU son unidades de memoria situadas dentro de la CPU, de acceso mucho más rápido que la memoria principal.

• Los dispositivos periféricos de almacenamiento necesitan un software de control Seguir leyendo “Conceptos Clave de Informática: Hardware, Software, Sistemas Operativos y Bases de Datos” »

Desarrollo de Programas y Algoritmos: Fases, Representación y Estructuras de Control

Fases de creación de un programa

El proceso de resolución de problemas en un ordenador conduce a la escritura de un programa y su ejecución. Las fases en el desarrollo de un programa pueden resumirse de la siguiente forma:

  1. Analizar el problema: consiste en conocer perfectamente en qué consiste y qué resultados se desean obtener.
  2. Planificación de la resolución del problema, dividiéndolo, si es complicado, en una secuencia de etapas más simples. Esta fase se lleva a cabo EN UN PAPEL, estableciendo Seguir leyendo “Desarrollo de Programas y Algoritmos: Fases, Representación y Estructuras de Control” »

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” »