lunes, 5 de octubre de 2015

Algoritmos

 Podemos encontrar muchas definiciones completas o formales de algoritmo en los textos de algoritmica y programacion, todas ellas muy similares:


  • Secuencia finita de instrucciones, reglas o pasos que describen de forma precisa las operaciones de un ordenador debe realizar para llevar a cabo un tarea en un tiempo mas finito. [Donald E. Knuth, 1968]

  • Descripcion de un esquema de comportamiento expresado mediante un reportorio finito de acciones y de informaciones elementales, identificadas, bien comprendidas y realizables a priori. Este repertorio se denomica lexico [Pierre Scholl, 1988]

  • Un algoritmo es un conjunto finito de pasos definidos, estructurados en el tiempo y formulados con base a un conjunto finito de reglas no ambiguas, que proveen un procedimiento para dar la solución o indicar la falta de esta a un problema en un tiempo determinado. [Rodolfo Quispe-Otazu, 2004]

Caracteristicas:

Las características fundamentales que debe cumplir todo algoritmo son:

  • Ser definido: Sin ambigüedad, cada paso del algoritmo debe indicar la acción a realizar sin criterios de interpretación.

  • Ser finito: Un número específico y numerable de pasos debe componer al algoritmo, el cual deberá finalizar al completarlos.

  • Tener cero o más entradas: Datos son proporcionados a un algoritmo como insumo (o estos son generados de alguna forma) para llevar a cabo las operaciones que comprende.

  • Tener una o más salidas: Debe siempre devolver un resultado; de nada sirve un algoritmo que hace algo y nunca sabemos que fue. El devolver un resultado no debe ser considerado como únicamente “verlos” en forma impresa o en pantalla, como ocurre con las computadoras. Existen muchos otros mecanismos susceptibles de programación que no cuentan con una salida de resultados de esta forma. Por salida de resultados debe entenderse todo medio o canal por el cual es posible apreciar los efectos de las acciones del algoritmo.

  • Efectividad: El tiempo y esfuerzo por cada paso realizado debe ser preciso, no usando nada más ni nada menos que aquello que se requiera para y en su ejecución.

     Programa: Un programa es una serie de instrucciones ordenadas, codificadas en lenguaje de programación que expresa un algoritmo y que puede ser ejecutado en un computador.


CLASIFICACIÓN DE ALGORITMOS:

Los algoritmos se pueden clasificar en cuatro tipos:

  • Algoritmo computacional: Es un algoritmo que puede ser ejecutado en una computadora. Ejemplo: Fórmula aplicada para un cálculo de la raíz cuadrada de un valor x.

  • Algoritmo no computacional: Es un algoritmo que no requiere de una computadora para ser ejecutado. Ejemplo: Instalación de un equipo de sonido.

  • Algoritmo cualitativo: Un algoritmo es cualitativo cuando en sus pasos o instrucciones no están involucrados cálculos numéricos. Ejemplos: Las instrucciones para desarrollar una actividad física, encontrar un tesoro.

  • Algoritmo cuantitativo: Una algoritmo es cuantitativo cuando en sus pasos o instrucciones involucran cálculos numéricos.
                                           Ejemplo: Solución de una ecuación de segundo grado



PARTES DE UN ALGORITMO: 

Todo Algoritmo debe tener las siguientes partes:

· Entrada de datos, son los datos necesarios que el algoritmo necesita para ser ejecutado.

· Proceso, es la secuencia de pasos para ejecutar el algoritmo.

· Salida de resultados, son los datos obtenidos después de la ejecución del algoritm
o.


TÉCNICAS DE REPRESENTACIÓN: 

Para la representación de un algoritmo, antes de ser convertido a lenguaje de programación, se utilizan algunos métodos de representación escrita, gráfica o matemática. Los métodos más conocidos son:

· Diagramación libre (Diagramas de flujo).

· Diagramas Nassi-Shneiderman.

· Pseudocódigo.

· Lenguaje natural (español, inglés, etc.).

· Fórmulas matemáticas.



Sistema Binario

Sistema hexadecimal



El sistema Hexadecimal está en base 16, sus números están representados por los 10 primeros dígitos de la numeración decimal, y el intervalo que va del número 10 al 15 están representados por las letras del alfabeto de la A a la F.

Actualmente el sistema hexadecimal es uno de los más utilizados en el procesamiento de datos, debido principalmente a 2 ventajas:La primera ventaja es la simplificación en la escritura de los números decimales, cada 4 cifras binarias se representan por una hexadecimal.

La segunda es que cada cifra hexadecimal se pueden expresar mediante 4 cifras binarias, con lo que se facilita la trasposición entre estos 2 sistemas. Para convertir un número binario en hexadecimal se realiza el mismo proceso, pero a la inversa.

Sistema octal


El sistema numérico en base 8 se llama octal y utiliza los dígitos 0 a 7.Para convertir un número en base decimal a base octal se divide dicho número entre 8, dejando el residuo y dividiendo el cociente sucesivamente hasta obtener cociente 0, y los restos de las divisiones en orden inverso indican el número en octal. 

Para pasar de base 8 a base decimal, solo hay que multiplicar cada cifra por 8 elevado a la posición de la cifra, y sumar el resultado.


El computador


HARDWARE

 son los  componentes fisicos del ordenador como  tal    lo cual  la constituyen  este  se estructura de  varias partes.


CPU
Dirige y controla el funcionamiento del ordenador ademas de recibir ordenes,interpretarlas y ejecutarlas
Su velocidad esta medida en gigahertz (Gh)
contiene bits de multiplos de ocho  y los ultimos siendo 84bits o mas
Hertzio:la unidad  de control que contiene un rleoj interno que sincroniza las  operaciones del ordenador


Unidades de entrada/salida
salida: son las cuales el ordenador envia procesos los cuales se visualizan o proceden en otro elemento(pantalla impresora, parlantes)
Entrada: son las cuales el ordenador  recibe procesos  que se pueden visualisar en la salida(pantalla) un ejemplo de estos es el Mouse y el  teclado


Memoria
Es la cual almacena informacion del ordenador cuales pueden ser datos,resultados parciales o configuraciones
se clasifican  en interna  y externa
Interna:RAM(Almacena datos e  intrucciones para el procesador),ROM(Procesa y almacena programas necesarios para el arranque y uso del computador,Cache datos /intrucciones recientes y/o temporales.
Externa: no tiene buena velocidad de acceso, peor puede teener una gran capacidad,almacenar datos portatiles para la utilizacion en otro equipo


Placa Madre(Motherboard):


Es la placa electrónica donde se asientan los componentes. 
Comunica los dispositivos a 

Puertos que son conectores que el sirven 

Componentes del computador