lunes, 25 de febrero de 2013

algoritmos

Que es un algoritmo?
un algoritmo es un sistema de pasos definidos en orden de tiempo finito que da solucion a unos procedimientos dados a un ordenador o dispositivo para que realice cierta cantidad de tareas  especificas.

Que es un diagrama de flujo?
es una representacion grafica de un algoritmo que conlleva a un procedimiento en jerarquia. este emplea simbolos y graficos que señalan la censecutividad de cada etapa del proceso .


 los tipos de datos en programacion

El tipo integer (entero)
Como ya habrás leído el tipo de datos entero es un tipo simple. Al declarar una variable de tipo entero, estás creando una variable numérica que puede tomar valores positivos o negativos, y sin parte decimal.
Este tipo de variables, puedes utilizarlas en asignaciones, comparaciones, expresiones aritméticas, etc. Algunos de los papeles más comunes que desarrollan son:
  • Usarlas como contador, incrementando su valor cuando sucede algo
  • Realizar operaciones enteras, es decir, sin parte decimal


      
   type
      tContador = integer;
   var 
      i : tContador;
      n : integer;

   begin
      n := 10; (* asignamos valor al maximo *)
      i := 1;  (* asignamos valor al contador *)
   
      while (i <= n) do begin
        writeln('El valor de i es ',i);
        i := i + 1
      end
   end.   
      

El tipo boolean (lógico)
El tipo de datos lógico es el que te permite usar variables que disponen sólo de dos posibles valores: cierto o falso. Debido a esto, su utilidad salta a la vista, y no es otra que variables de chequeo. Nos sirven para mantener el estado de un objeto mediante dos valores:
  • si/no
  • cierto/falso
  • funciona/no funciona
  • on/off
      
   type
      tLogico = boolean;
   var 
      llueve   : tLogico;   (* si llueve o no *)
      paraguas : boolean;   (* si encuentro o no el paraguas *)

   begin
      (* aqui se determinarian los valores de "llueve" y "paraguas" *) 
      
      if llueve and (not paraguas) then         
         writeln('Me quedo en casita')
      else 
         writeln('Me voy a dar un paseo')
   end.   
      

El tipo real (real)
Como ya has visto, Pascal soporta el conjunto entero de números. Pero no es el único, también te permite trabajar con números pertenecientes al conjunto real.
El tipo de datos real es el que se corresponde con los números reales. Este es un tipo importante para los cálculos. Por ejemplo en los estadísticos, ya que se caracterizan por tratar fundamentalmente con valores decimales.
nota: Aunque pueda que estés acostumbrado a escribir con coma los decimales, te advierto que en Pascal y en todos los lenguajes de programación se escribe con un punto. Por ejemplo: 3.1416
A continuación tienes un ejemplo en el que se utiliza el tipo real. En el puedes ver las dos formas de declarar una variable real, y tambíen el uso de una constante real. Por si tienes curiosidad, el resultado de ejecutar el programa compilado es:

El area para un radio de 3.14 es 63.6174

   const
      pi = 3.1416;      
   type
      tArea = real;
   var 
      A : tArea;     (* area *)
      R : real;      (* radio *)

   begin
      R := 4.50;
      A := pi * R * R;    (* calculamos el area *)
      
      writeln('El area para un radio de ',R:4:2,' es ',A:8:4)
   end.   
      

Los tipos char y string (carácter y cadena)
Con el tipo carácter puedes tener objetos que representen una letra, un número, etc. Es decir, puede usar variables o constantes que representen un valor alfanumérico. cada variable sólo podrá almacenar un carácter.
Sin embargo, con las cadenas de caracteres (strings) puedes contener en una sóla variable más de un carácter. Por ejemplo, puedes tener en una variable tu nombre.
Veamos cómo se usan ambos tipos en el siguiente ejemplo


      
   type
      tNombre = string[10];  (* puede almacenar 10 caracteres *)
   var 
      nombre    : tNombre;  (* variable para almacenar el nombre *)
      letra_NIF : char;     (* caracter para contener la letra del NIF *)

   begin
      nombre    := 'Beni';
      letra_NIF := 'L';
      
      writeln('Mi nombre es ',nombre,' y mi letra es ',letra_NIF)      
   end.   
      

http://teleformacion.edu.aytolacoruna.es/PASCAL/document/tipos.htm#caracter



domingo, 17 de febrero de 2013

Sistemas numéricos octal y hexadecimal

Sistema octal
Este sistema numérico corresponde al sistema de números que se impone de 8 números enteros 0-7 lo que refiere que luego de estas cifras no pueden haber números mayores.

Operaciones:

Suma: la suma se realiza como en la suma normal de enteros su diferencia se encuentra cuando la suma de esos números dan mayores a 7 ya que cada vez que da una cantidad mayor se completa el valor octal ósea 8 haciendo que se suba una cifra y el residuo se coloque en el resultado así sucesivamente
* si el resultado da 8 se sube la unidad y en el resultado se coloca cero
* si por el contrario da 17 se suben 2 unidades y en el resultado se coloca 1
 Ej: 740352+24567=765141

Resta: al igual que el la suma es similar a la resta de enteros pero la diferencia es que cada vez que el número octal se da se sube la cantidad de veces que este se encuentra en la resta y el resultado es el residuo de ese número
* cuando un número es menos al que se le va a restar el número consecutivo a este le presta una unidad que representa un número octal ósea su valor es igual a 8
Ej: 2 - 4 es un número que no se puede restar así que si el dos tiene un número anterior c;omo 7 este le presta 1 quedando el 7 en seis y el 2 en 8+2=10 y de esta manera la resta si se podría efectuar .
 Ejemplo resta:
45670030-7654321=36013507

Multiplicación: la multiplicación se lleva a cabo de manera que cada uno de los multiplicadores se operé con el multiplicado dando así múltiples resultados que luego se su,aún entre si. La base de cada operación es que cada vez que se multiplique el multiplicado se corra una cifra a la izquierda y asi consecutivamente. Luego se realiza lo ya comentado como suma de octal.
 Ej:   203572 * 13571 = 2203572+1032126+1222542+613156+203572= 3012077252

Sistema hexadecimal
Como su nombre lo indica es un sistema conformado de 0 a 16 lo que corresponde a que cada unidad de este sistema representa un sistema de 16 esto con respecto a la resta suma y multiplicación los cuales se conforman respecto a la cantidad de veces que se encuentra el número 16 en cada una d elas operaciones. Sin embargo este número o puede llegar a tener números compuestos de 2 enteros así que llega representado en número hasta el 9 y del 10 en adelante van representados en letras dando valor a cada una es decir: 10=A 11=B 12=C 13=D 14=E 15=f

Operaciones sistema hexadecimal:
Suma: similar que en la suma del sistema octal cada vez que la suma da igual o mayor a 16 se sube al sumando la cantidad de veces que se encuentra ese valor y el residuo va al resultado dando números no mayores a 15 si el residuo de mi suma es 10 este se cambia por la letra A y así sucesivamente si la suma es F+A+5= 30    30 = 16*1+14 = 1E

Resta: la resta en los números hexadecimales se da restando como comúnmente se hace con los enteros solo que cuando el número restado es mayor al que lo resta entonces el número consecutivo a este que esta en operación le debe prestar un unidad lo que representa en este sistema al número 16
Ej: 25-6 como el 5 es menor al seis entonces el dos toma una de sus unidades y se las suma al 5 y como cada unidad prestada equivale a 16 entonces la suma de esta es igual a 21-6 = 15 = F y como el 2 quedo en uno decido ala unidad que le perro al 5 entonces el resultado final sería 1F

Ej: 3015289-1BCDA3= 2E584E6

Multiplicación hexadecimal:
En la multiplicación los números del multiplicador se van multiplicando uno a uno en el multiplicado si es una letra la que se esta multiplicando y esta es F entonces los número o letras por las que se multiplican están siendo una serie de 15= F multiplicando el resto de multiplicados es decir: si 15 * A =150
Ej: 2468A * BCD= 1D9502+1B4E78+1907EE= 1ADA6A82
esto teniendo en cuenta que cada uno de los numeros que dan como resultado de la multiplicacion van corriendo una cifra a la izquierda para asi efectiar la suma correspondiente



jueves, 7 de febrero de 2013

Sistemas de números

Números binarios

Los números binarios son un conjunto numérico representado únicamente por el 1 y el 0 cuya conjunción o unión en representación de la base 10 dan como resultado números enteros. Así mismo los números enteros al estar representados en una 2 da la cifra contraria en este caso binarios. 

Como convertir de base 10 a base 2

Se toma el número entero y se divide hasta su mínimo entero entre dos el resultado de esta escala se comprende tomando los valores del residuo de derecha a izquierda dando por último un número binario.

Convertir de base 2 a base 10

Teniendo un número binario tal como 1001 lo multiplicamos por 2 aumentando su exponente al consecutivo del anterior ejemplo 2^0 2^1 2^2 etc. Y la su mayoría de cada una de estas multiplicaciones dan como resultado el número en enteros.

Operaciones con binarios
Suma: 
La suma se lleva a cabo poniendo un binario encima del otro como se realiza normalmente con los números enteros. Solo que al sumar estos número existe cierto tipo de condiciones tales como:
* 1+1= 2.      2=10
* 1+0=1
* 1+1+1=3.       3=2+1.     2 =10    = 10+1 
Lo que nos representa en la suma dejar un 1 en el resultado y el otro subirlo para seguirlo sumando con el resto de la operación 

En una operación con más cantidades binarias se puede realizar sumando la cantidad de 1 verticales y su resultado lo separo en cantidades de 2. Existen 2 condiciones cuando un número es par en la suma  de los 1 verticales el número de resultado da 0 y si es impar en el resultado se agrega 1.
Ejemplo: la suma vertical de los 1 dio 8 a lo que es igual 2*4+0 el cero se queda en el resultado y el cuatro sube para seguir sumando el resto de la operación. Si es lo contrario y su suma da 7 esto sería igual a 2*3+1=7 el uno queda como resultado y el tres sube para seguir sumando.

Resta de números binarios
Así como en la resta de enteros los números que no alcanzan a la resta de otro número es necesario que el consecutivo a este seda la base de si mismo para que este número sea mayor y pueda realizar la operación esa base se refiere a la base 10 de cada entero pero en el caso de lo binarios su base es dos así que sus condiciones son las siguiente:
* 1- 1= 0
* 1- 0=1
* 0 - 1 en el caso de que cero reste a uno el número consecutivo a cero que sea 1 sede su base 2 y al restar este 2-1=1
*en caso de que la operación de 0000010 solo se tienen en cuenta los números desde el primer uno dela izquierda o sea 10 en este caso



miércoles, 6 de febrero de 2013

Lógica de programacion

logica de programacion 

la logica de programacion consiste en dar instrucciones a un dispositivo en un lenguaje apropiado para que pueda leerlas y de esa manera generar el programa o funcion normalmente que solucionan un problema. esta logica de programacion es apenas una base del sistema previo de conjuntos algoritmicos que se fucionan para crear un programa especifico. este sistema tiene en cuanta las funciones básicas de un dispositivo como por ejemplo una computadora en la cual entra información, esta hace un proceso y la almacena y genera una salida de la misma, esto nos hace a nosotros razonar acerca de los distintos algoritmos que debemos usar a la hora de realizar un ejercicio ya sea de negocios o sistemáticos.