Tarea #3
El algoritmo recursivo que yo seleccione es "Búsqueda binaria".
Saludos.
viernes, 8 de julio de 2011
Algoritmos recursivos: Búsqueda binaria
jueves, 30 de junio de 2011
Algoritmo computacional simple (Algoritmo de conversión hexadecimal a binario)
Bueno compañeros el algoritmo que yo seleccione sirve para realizar conversiones de Hexadecimal a Binario.
El sistema numérico hexadecimal solo permite los dígitos del 0 al 9 y a los números del 10 al 15 se les nombra A, B, C, D, E, y F respectivamente.
El sistema binario solo permite los dígitos 0 y 1.
Para realizar una conversión de Hexadecimal a Binario en forma práctica, se realiza de la siguiente manera:
Suponiendo que el número Hexadecimal a convertir en número Binario es 48C.
1. Primero tomamos el primer dígito que es el 4.
2. Después dividimos el número 4 entre 2 (ya que el 2 es la base del sistema binario), y seguiremos dividiendo pero ahora el dividendo será el cociente anterior y se seguirá dividiendo hasta que el cociente llegue a ser 0.
El sistema binario solo permite los dígitos 0 y 1.
Para realizar una conversión de Hexadecimal a Binario en forma práctica, se realiza de la siguiente manera:
Suponiendo que el número Hexadecimal a convertir en número Binario es 48C.
1. Primero tomamos el primer dígito que es el 4.
2. Después dividimos el número 4 entre 2 (ya que el 2 es la base del sistema binario), y seguiremos dividiendo pero ahora el dividendo será el cociente anterior y se seguirá dividiendo hasta que el cociente llegue a ser 0.
4. Ahora tomamos el dígito 8 y realizamos los pasos que realizamos con el dígito 4 para convertirlo en número binario.
6. Ahora tomamos la letra C que viene siendo el número 12 y realizamos los mismos pasos que realizamos para convertir los dígitos 8 y 4 en dígitos binarios.
8. Ahora tomamos los residuos ordenados al revés de cada dígito, es decir, del 4, del 8 y de C y juntamos los dígitos y el resultado es el número 48C hexadecimal convertido en número binario.
Pseudocódigo
Bueno en este pseudocódigo primero se pide cuantos son los dígitos que tiene el número hexadecimal. Después se entra en un ciclo en donde se inicializa con el primer dígito y si el dígito llega a ser A, B , C, D, E o F, el valor del dígito será 10, 11, 12, 12, 14, ó 15 respectivamente. O si el dígito llega a ser un número mayor o igual a 0 y menor o igual a 9 pues se realiza la división de el dígito entre la base de el sistema binario, es decir, 2 y se guarda el residuo. Mientras que el cociente sea mayor a 0, se seguirá dividiendo pero entonces ahora el dividendo será el cociente. Se guarda el residuo. Después los residuos son ordenados al revés. La misma operación se realiza si se introduce como dígito o dígitos A, B, C, D y/o F. Y el ciclo para continúa hasta que se termine de cumplir la condición. Al final del algoritmo se imprimen los residuos ordenados al revés.
Bueno una muy buena referencia que hay sobre conversiones de diferentes sistemas numéricos a otros sistemas numéricos es el libro Fundamentos Digitales de César A. Leal Chapa.
Fundamentos Digitales
Saludos.
Etiquetas:
Binario,
Conversión,
Hexadecimal
lunes, 22 de noviembre de 2010
Lenguajes orientados a objetos
Los lenguajes orientados a objetos son los que implementan las características de la programación orientada a objetos.
Los conceptos definidos o las características de la programación orientada a objetos no son una condición para que a un cierto lenguaje se le pueda llamar lenguaje orientado a objetos. Existen algunos conceptos de la programación orientada a objetos que pueden no estar presentes en un cierto lenguaje, pero sin embargo esto no quita que este lenguaje deje de ser un lenguaje orientado a objetos.
Puede ser que las condiciones que son mínimas pero necesarias las provea el formalismo, el cual modela mejor las propiedades de un sistema orientado a objetos, dichas propiedades son: los tipos de datos abstractos.
Cualquier lenguaje que permita definir tipos de datos, y operaciones nuevas sobre estos tipos de datos y además que permita realizar instancias a los tipos de datos, se puede considerar como un lenguaje orientado a objetos.
Como el mismo nombre lo indica, un lenguaje de programación orientado a objetos se basa en la idea de un objeto, que es la combinación de métodos y variables locales, formando una entidad de programación.
Algunos de los lenguajes orientados a objetos:
- Python
- C++
- Java
- Smalltalk
- COBOL
- PHP 5
Ciertas Ventajas de un lenguaje orientado a objetos:
- Induce a la re utilización del código
- Admite la creación de sistemas mas complejos
- Vinculación del sistema al mundo real
- Posibilita la creación de programas visuales
Conceptos básicos del modelo orientado a objetos
Objetos
Todo un programa esta compuesto en base por varios componentes y dichos componentes son los objetos, en sí cada objeto tiene su función especifica en dicho programa y además todos los componentes (objetos) pueden comunicarse entre ellos de formas predefinidas.
Los objetos tienen características y comportamientos. Las características las tienen mantenidas en una o mas variables y los comportamientos los implementan con métodos. Dichos métodos son subrutinas que están asociadas a los objetos.
Cuando a las características del objeto les damos valores, se dice que el objeto tiene estados. Dichos estados son almacenados en un momento determinado por las variables.
Clase
En sí una clase es un modelo, prototipo o plantilla genérica para un conjunto de objetos con características parecidas (similares).
También es un modelo que define las variables y lo métodos que son similares a todos los objetos de una clase.
Hay otra formar de llamar a un objeto de una clase en particular y esto es, instancia de una clase, es decir objeto e instancia son representación de una clase en particular. Es decir, entre objeto e instancia no hay diferencia.
Herencia
La herencia consiste en que una clase puede heredar sus variables y sus métodos a varias subclases. La clase que hereda es llamada super clase o también clase padre. Esto quiere decir, que una subclase además de tener sus atributos y métodos propios, también tiene los atributos y métodos que son heredados por la clase padre. Y así se crea una jerarquía de herencia.
Se puede tener una jerarquía de clases grande, por ejemplo:

En donde Clase A es la clase padre de B. Clase B es la subclase de A. La clase B es la clase padre de C, D y E. Y C, D y E son las subclases de B.
Envío de mensajes
Los objetos interactúan entre si, por medio de los mensajes.
Características que son asociadas a la POO (Programación Orientada a Objetos)
Abstracción
La abstracción consiste en abstraer las características esenciales y similares de un objeto.
Encapsulamiento
El encapsulamiento consiste en unir las variables y los métodos de una clase, es decir, se tiene todo esto en una sola entidad.
Ocultamiento
El ocultamiento consiste en ocultar los detalles internos de una clase y solo exponer los detalles que son necesarios para el resto del sistema.
El ocultamiento permite la restricción y el control del uso de una clase. El ocultamiento permite la restricción porque habrá cierto contenido del comportamiento de la clase, que no podrá ser accedido por otras clases. Y también el ocultamiento permite el control de uso de una clase porque se darán mecanismos para modificar el estado de la clase.
Referencias
Saludos.
Lenguaje FORTRAN
Como anteriormente mencione FORTRAN es un lenguaje muy potente y es el primer lenguaje científico que fue desarrollado enlos últimos años de la década de los 50. En Unix tradicionalmente los programas en FORTRAN se escriben con la extensión .f, por ejemplo, supongamos que un programa se llama prueba, entonces será prueba.f
VARIABLES EN FORTRAN
Al comienzo de un programa en FORTRAN, se declararan las varibles, de la manera siguiente:
TIPO VARIABLE.
Los tipos de variables son:
INTEGER (para números enteros, es decir, sin decimales).
REAL (para números decimales y exponenciales).
CHARACTER (esta variable va seguida de *n, que es el número de caracteres que permitirá la variable)
Depende de la precisión que se desee de las variables, la forma en que serán declaradas, es decir, si se desea que una variable entera y una variable decimal, seán de simple precisión (de 4 bytes), entonces se declararán así:
INTEGER *4 VARIABLE
REAL *4 VARIABLE
Pero si se desea que la variables tengan una doble precisión(8 bytes), entonces se declarán así:
INTEGER *8 VARIABLE
REAL *8 VARIABLE
VARIABLES EN FORTRAN
Al comienzo de un programa en FORTRAN, se declararan las varibles, de la manera siguiente:
TIPO VARIABLE.
Los tipos de variables son:
INTEGER (para números enteros, es decir, sin decimales).
REAL (para números decimales y exponenciales).
CHARACTER (esta variable va seguida de *n, que es el número de caracteres que permitirá la variable)
Depende de la precisión que se desee de las variables, la forma en que serán declaradas, es decir, si se desea que una variable entera y una variable decimal, seán de simple precisión (de 4 bytes), entonces se declararán así:
INTEGER *4 VARIABLE
REAL *4 VARIABLE
Pero si se desea que la variables tengan una doble precisión(8 bytes), entonces se declarán así:
INTEGER *8 VARIABLE
REAL *8 VARIABLE
ENTRADA Y SALIDA DE DATOS
Ahora, para imprimir en pantalla cualquier oración, se escribe PRINT*,
Hay otra forma para imprimir en pantalla, la cual es WRITE(*,*)
Para leer algún dato que el usuario introduzca, se utiliza, READ(*,*)
BUCLE DO
La sintaxis de este bucle es muy sencilla, dicha sintaxis es la siguiente:
DO índice = valor inicial, valor final
...
END DO
CONDICIÓN IF
La sintaxis de esta condición es:
IF(condición) THEN
...
END IF
En la condición del if van ciertos operadores, los cuales son:
.EQ. : igual a
.LT. : menor que
.GT. : mayor que
.LE. : menor o igual que
.GE. : mayor o igual queEs muy sencillo utilizar estos operadores en la condición del IF, por ejemplo supongamos que queremos comparar las variables A y B, con los distintos operadores, entonces lo que haremos será lo siguiente:
IF(A.EQ.B)THEN
...
END IFIF(A.LT.B)THEN
...
END IF
IF(A.GT.B)THEN
...
END IF
IF(A.LE.B)THEN
...
END IF
IF(A.GE.B)THEN
...
END IF
Referencia
FORTRAN
Saludos.
Presentación Tipos de datos (Presentación #4)
Bueno, aquí les muestro mi video de la presentación de tipos de datos, con aplicación al tema que yo seleccione, el cual es boletos de avión.
Bueno, disculpen en donde me salgo de la presentación en un momento, es que moví mal el mouse.
Presentación para descargar aquí
Saludos.
Presentación para descargar aquí
Saludos.
Suscribirse a:
Entradas (Atom)