miércoles, 28 de febrero de 2018

Bloque 2

Resultado de imagen para seuat logoMáquina de Turing


Una máquina de Turing es un dispositivo que manipula símbolos sobre una tira de cinta de acuerdo a una tabla de reglas. A pesar de su simplicidad, una máquina de Turing puede ser adaptada para simular la lógica de cualquier algoritmo de computador y es particularmente útil en la explicación de las funciones de una CPU dentro de un computador.

Originalmente fue definida por el matemático inglés Alan Turing como una «máquina automática» en 1936, en la revista Proceedings of the London Mathematical Society,​ La máquina de Turing no está diseñada como una tecnología de computación práctica, sino como un dispositivo hipotético que representa una máquina de computación. Las máquinas de Turing ayudan a los científicos a entender los límites del cálculo mecánico.


La importancia de la máquina de Turing en la historia de la computación es doble: primero, la máquina de Turing fue uno de los primeros (si no el primero) modelos teóricos para las computadoras, viendo la luz en 1936. Segundo, estudiando sus propiedades abstractas, la máquina de Turing ha servido de base para mucho desarrollo teórico en las ciencias de la computación y en la teoría de la complejidad. Una razón para esto es que las máquinas de Turing son simples, y por tanto amenas al análisis. Dicho esto, cabe aclarar que las máquinas de Turing no son un modelo práctico para la computación en máquinas reales, las cuales precisan modelos más rápidos como los basados en RAM.















La máquina de Turing modela matemáticamente a una máquina que opera mecánicamente sobre una cinta. En esta cinta hay símbolos que la máquina puede leer y escribir, uno a la vez, usando un cabezal lector/escritor de cinta. La operación está completamente determinada por un conjunto finito de instrucciones elementales como "en el estado 42, si el símbolo visto es 0, escribe un 1; Si el símbolo visto es 1, cambia al estado 17; en el estado 17, si el símbolo visto es 0, escribe un 1 y cambia al estado 6; etc". En el artículo original ("Sobre números computables con una aplicación al Entscheidungsproblem"), Turing no imagina un mecanismo, sino una persona a la que él llama la "computadora", quien ejecuta servilmente estas reglas mecánicas deterministas (o como Turing pone, "de una manera desganada").


miércoles, 7 de febrero de 2018

                                                                 VARIABLES EN EL LENGUAJE C

Todo lo expuesto en relación a variables en el curso Bases de la programación nivel I será válido y útil con el lenguaje C, pero con matices, ya que cada lenguaje sigue sus propias normas y pautas. 
NOMBRES Y TIPOS DE VARIABLES. DECLARACIÓN.
El lenguaje C obliga a declarar una variable antes de ser usada. Es decir, no podríamos escribir algo del tipo: Mostrar velocidad 01, si antes no hemos “dicho” (declarado) que existe una variable con ese nombre. Declarar una variable no significa que se le asigne contenido, sino simplemente se indica que la variable existe.¿Qué nos mostrará si intentamos mostrar o utilizar la variable si no le hemos asignado contenido? Hay lenguajes que asignan automáticamente contenido cero, vacío o falso a una variable, dependiendo de qué tipo sea.

TIPO DE DATOS
SE ESCRIBE
MEMORIA REQUERIDA*
RANGO ORIENTATIVO*
EQUIVALENCIA EN SEUDOCIENTÍFICO
OBSERVACIONES
Entero
int
2 bytes
- 32768 a 32767
Entero
Uso en contadores, control de bucles etc.
Entero largo
long
4 bytes
- 2147483648 a 2147483647
Entero
Igual que int pero admite un rango más amplio
Decimal simple
float
4 bytes
- 3,4·1038 a 3,4·1038
Real
Hasta 6 decimales. También admite enteros
Decimal doble
double
8 bytes
- 1,79·10308 a 1,79·10308
Real
Hasta 14 decimales. También admite enteros
Carácter
char
1 bytes
0 a 255
Alfanumérica
Carácter, independiente o parte de una cadena
* Podría variar

 ¿QUE ES ASCII?

ASCII (acrónimo inglés de American Standard Code for Information Interchange —Código Estándar Estadounidense para el Intercambio de Información—).

es un código de caracteres basado en el alfabeto latino, tal como se usa en inglés moderno. Fue creado en 1963 por el Comité Estadounidense de Estándares (ASA, conocido desde 1969 como el Instituto Estadounidense de Estándares Nacionales, o ANSI) como una refundición o evolución de los conjuntos de códigos utilizados entonces en telegrafía. Más tarde, en 1967, se incluyeron las minúsculas, y se redefinieron algunos códigos de control para formar el código conocido como US-ASCII.


jueves, 25 de enero de 2018

Introducción al lenguaje C++

C++ es un lenguaje de programación diseñado a mediados de los años 1980 por Bjarne Stroustrup. La intención de su creación fue el extender al lenguaje de programación C, mecanismos que permiten la manipulación de objetos.
En este sentido, desde el punto de vista de loa lenguajes orientado a objetos, el c++ es un lenguaje híbrido.




Posteriormente se añadieron facilidades de programación genérica, que se sumaron años paradigmas de programación estructuradas y programación orientada a objetos. Por esto se suele decir que el lenguaje C++ es un lenguaje de programación multiparadigma.


Actualmente existe un estándar, denominado ISO C++, al que se han adherido la mayoría de los fabricantes de compiladores mas modernos. Existen también algunos interpretes, tales como ROOT.




Lenguajes de programación

Un lenguaje de programación consiste en un conjunto de ordenes o comandos que describen el proceso deseado. Cada lenguaje tiene sus instrucciones y enunciados verbales propios, que se combinan para formar los programas de computo
Los lenguajes de programación no son aplicaciones, sino herramientas que permiten construir y adecuar aplicaciones.







El primer programador de computadoras que se haya conocido fue una mujer llamada ada lovelace.
El nombre del lenguaje ada fue escogido como homenaje a esta programadora.
Los primeros lenguajes de programación fueron: el pankalkül (1943), el ENIAC (1943 y el BINAC (1949).

Para que la computadora entienda nuestras instrucciones debe usarse un lenguajes especifico conocido como código maquina, el cual la maquina comprende fácilmente, pero que lo hace excesivamente complicado para las personas. De hecho solo consiste en cadenas extensas de números 0 y 1.