por Gilberto Pacheco Gallegos
Este sitio presenta contenido introductorio sobre las tecnologías de la información
Puedes ver el listado de mis sitios educativos en https://gilpgcl.github.io.
Los siguientes controles te permitirán navegar por todo el contenido del sitio.
Oculta el menú de navegación.
Muestra el menú de navegación.
Regresa a la página anterior.
Avanza a la página siguiente.
En esta lección se presenta el concepto de computadora.
Definición de la Real Academia Española:
Máquina electrónica que, mediante determinados programas, permite almacenar y tratar información, y resolver problemas de diversa índole.
En esta lección se definió el concepto de computadora y se presentaron varios tipos de esta.
En esta lección se presenta el concepto de programa.
Definición de la Real Academia Española:
Conjunto unitario de instrucciones que permite a una computadora realizar funciones diversas, como el tratamiento de textos, el diseño de gráficos, la resolución de problemas matemáticos, el manejo de bancos de datos, etc.
Definición de la Real Academia Española:
Programa o conjunto de programas que realizan funciones básicas y permiten el desarrollo de otros programas.
Definición de la Real Academia Española:
Conjunto ordenado y finito de operaciones que permite hallar la solución de un problema.
Los programas son implementaciones de algoritmos.
En esta lección se definieron los siguientes conceptos:
Programa
Sistema operativo
Algoritmo
En esta lección se presenta el concepto de hardware.
Definición de la Real Academia Española:
Conjunto de aparatos de una computadora.
Definición del Diccionario Oxford:
Conjunto de elementos físicos o materiales que constituyen una computadora o un sistema informático.
Tarjeta en el interior de una computadora sobre la cual están colocados los componentes que realizan el procesamiento de programas.
Almacena todo lo que usa la computadora para ejecutar un algoritmo:
Programas
Datos
Acrónimo del termino en inglés Central Processing Unit, que se traduce al español como Unidad Central de Procesamiento y es la parte de la computadora encargada de ejecutar los algoritmos.
Utiliza un par de señales eléctricas, conocidas como 1 y 0 para representar y procesar los algoritmos.
Las instrucciones del algoritmo deben estar cargadas en la memoria de la computadora para poder ejecutarse.
Puede usar datos, que también se almacenan en la memoria de la computadora.
Componente eléctrico o electromecánico colocado dentro o fuera de una computadora, que le que permite recibir datos del exterior; por ejemplo:
Teclado
Mouse y touch pad
Componente eléctrico o electromecánico colocado dentro o fuera de una computadora, que le que permite enviar datos al exterior; por ejemplo:
Tareta de video y pantalla
Componente eléctrico o electromecánico colocado dentro o fuera de una computadora, que le permite enviar datos al exterior y recibir datos del exterior; por ejemplo:
Pantallas touch
Discos duros
Controladores de USB
Controladores de red Ethernet o WiFI
Diseño de hardware con sus propias reglas de funcionamiento, que es incompatible con otras arquitecturas.
Algunas arquitecturas de hardware son:
Intel y AMD, para computadoras personales y Servidores.
Dispositivos móviles y computadoras personales Apple.
Hardware abierto, drones, controladores
En esta lección se definieron los siguientes conceptos:
Hardware
Tarjeta Madre
Memoria
CPU
Dispositivo de entrada
Dispositivo de salida
Dispositivo de entrada y salida
Arquitectura de hardware
En esta lección se presenta el concepto de software.
Definición de la Real Academia Española;
Conjunto de programas, instrucciones y reglas informáticas para ejecutar ciertas tareas en una computadora.
Definición de la Real Academia Española:
Conjunto de signos y reglas que permite la comunicación con una computadora.
Los programas normalmente se construyen usando uno o más lenguajes de programación.
Definición de la Real Academia Española:
Conjunto de instrucciones codificadas que una computadora interpreta y ejecuta directamente.
Cada arquitectura de hardware tiene un código de máquina diferente.
Programa expresado usando uno o más lenguajes de programación.
Definiciones de la Real Academia Española:
Convertir un programa en lenguaje máquina a partir de otro programa de computadora escrito en otro lenguaje.
Programa que compila.
Un compilador toma como entrada el código de un lenguaje de programación y genera el código para una combinación de lenguaje de máquina y sistema operativo precisos.
Algunos lenguajes de programación que se compilan son:
Programa que ejecuta un código de un lenguaje de computación sin generar un archivo de compilación.
Los lenguajes de programación usados normalmente en un navegador web, como HTML, CSS y JavaScript son interpretados.
El lenguaje de programación Java se compila a un lenguaje de máquina genérico y luego es ejecutado por un intérprete de ese lenguaje de máquina.
En esta lección se definieron los siguientes conceptos:
Software
Lenguaje de programación
Lenguaje de máquina
Código fuente
Compilar
Compilador
Intérprete
En esta lección se presenta el concepto de las app nativas y multiplataforma.
App desarrollada específicamente para una plataforma de cómputo.
App diseñada para ejecutarse en diferentes plataformas.
App Nativa | App Multiplataforma |
---|---|
1 código por plataforma. (Posiblemente en distintos lenguajes.) | 1 código único para todas las plataformas. |
Permiten que la experiencia de usuario se integre mejor al uso de la plataforma.
Mejor rendimiento.
Sacan mejor provecho a las características de la plataforma.
Requieren un equipo de desarrollo con más conocimientos.
Hay que desarrollar y dar mantenimiento a más código.
Más caro.
Más tiempo para desarrollar.
Forma de trabajo más complicada.
Software que requiere más recursos de hardware.
1 solo código.
Menor tiempo de desarrollo.
Desarrollo más barato.
Menor rendimiento.
Se integran menos con el sistem operativo.
Cuando el rendimiento sea un problema.
Cuando el tiempo para desarrollar no esté limitado.
Cuando se cuente con suficiente dinero para pagar un equipo de trabajo muy capacitado, un hardware más caro y una forma de trabajo complicada.
Cuando el rendimiento no sea un problema.
Cuando no se cuente con mucho dinero para desarrollar.
Cuando el tiempo para desarrollar sea una limitante.
En esta lección se introducen los conceptos de caracter y texto.
Símbolo de comunicación escrita; por ejemplo:
a, b o C
1, 2 o 5
%, $ o !
😎, 🎸 o 🤸♀️
En computación a cada uno de los símbolos anteriores se les considera un eslabón.
Para formar un texto juntamos caracteres. Si consideramos a un caracter como un eslabón, al juntarlos obtenemos una cadena de texto.
En muchos lenguejes de programación, para referirse a un texto, se usa el término en ingles string, que el equivalente a la palabra en español, cadena.
Es la implementación en bits de un dato.
A cada caracter del texto se le asigna una combinación de varios 1 y 0. La combinación se puede expresar como un número.
La codificación más usada actualmente es Unicode, que incluye casi todos los caracteres de muchos idiomas a nivel internacional y está definida en https://unicode.org.
Representa la lógica de valores verdaderos y falsos.
true
false
En esta lección se definieron los siguientes conceptos:
Caracter
Texto
Codificación
boolean
En esta lección se presenta un resumen de la historia de los numeros. Está
basada en el libro: El reino de los números
de Isaac Asimov.
Son los números que usamos para contar.
Para saber en que grupo hay más elementos, se pueden comparar entre sí. (Los matemáticos le dicen coordinar.)
🍓🍓🍓🍓🍓
👼👼👼
También se pueden contar con los dedos
🍓 | 🍓 | 🍓 | 🍓 | 🍓 |
I | I | I | I | / |
En romano, los números representan lo siguiente:
Los mayas, al tener los dedos de los pies descubiertos, podian contar hasta el 20. Por eso su sistema numérico es de base 20.
En Sumeria contaban con las 3 falanges de cada dedo, lo cual nos permite contar hasta 15 con cada dedo. Si consideramos los pies, podemos contar hasta 60. Por eso su sistema numérico es de base 60.
I I I I I I I I I I I I / / /
Con el tiempo se prefirió el uso de ábacos.
Un número que no fué usado desde el inicio es el cero, que representa el concepto de nada.
En América los mayas y en Asia, tanto indios como chinos usaban el 0.
Para los matemáticos el número base es el 0.
El 1 se forma agregando una piedrita al 0, obteniendo 0'. A la piedrita se le llama operador sucesor; o sea que el 1 (0') es el sucesor de 0.
El 2 se forma agregando una piedrita al 1, obteniendo 0''.
Agregando piedritas generamos todos los números naturales.
Los números naturales (ℕ) se pueden expresar en diferentes sistemas de numeración.
0, 0', 0'', 0''', 0'''', ...
0, 1, 10, 11, 100, ...
0, 1, 2, 3, 4, ..., 9, 10 , 11, ...
0, 1, 2, 3, 4, ..., 9, A, B, ..., E, F, 10, 11, ..., 1F, 20, ...
Todas las notaciones funcionan de manera parecida, pero cuando se usan, cada una tiene características que la hacen diferente a las otras.
🍔🍔+🍔 === 🍔🍔🍔
🍕🍕 + 🍕 === 🍕🍕🍕
I I + I === I I I
0 + b = b
a' + b = (a + b)'
0 + 3 = 3
1 + 3 = (0 + 3)' = 3' = 4
2 + 3 = (1 + 3)' = 4' = 5
Si le quiero dar 🎈🎈🎈🎈 a cada angelito y tengo 3 amgelitos, ¿Cuantos debo comprar?
🎈🎈🎈🎈 🎈🎈🎈🎈 🎈🎈🎈🎈 === 12 4 + 4 + 4 (suma 4, 3 veces) 4 * 3
(a)(0) = 0
(a)(b') = ((a)(b)) + a
(2)(0) = 0
(2)(1) = ((2)(0)) + 2 = 0 + 2 = 2
(2)(2) = ((2)(1)) + 2 = 2 + 2 = 4
(2)(3) = ((2)(2)) + 2 = 4 + 2 = 6
Hasta aquí todos eran felices 😁, pero hubo algo que les partió el corazón 😢.
Alguien se dió cuenta que los números podían tener 2 direcciones. Por ejemplo, si un número significa un avance, si voy en sentido contrario, hay un retroceso. Con esto aparece la resta al disminuír, y los números negativos al restar un número más grande.
Si tengo 🍔🍔🍔🍔🍔 y le voy a dar de comer 1 a cada 😋😋😋 me quedan 🍔🍔. O sea, 5 - 3 === 2
Si tengo 🍔🍔🍔 y le voy a dar de comer 1 a cada 😋😋😋 me quedan 0. O sea, 3 - 3 === 0
Si tengo 🍔🍔🍔 y le voy a dar de comer 1 a cada 😋😋😋😋 quedo debiendo 🍔. O sea 3 - 4 === -1.
Si a + b = c, entonces a = c - b. De esta forma se define la resta, como la operación contraria a la suma.
Los matemáticos se repusieron 😁, pero posteriormente hubo algo que les partió el corazón 😢.
Repartir 🎈🎈🎈🎈 🎈🎈🎈🎈 🎈🎈🎈🎈 entre 👼👼👼 para que a todos les toque lo mismo.
👼 🎈🎈🎈🎈
👼 🎈🎈🎈🎈
👼 🎈🎈🎈🎈
O sea 12/3 === 4
Si repartimos 12 entre 3 dándole la misma cantidad a todos, a cada uno le tocan 4.
Repartir 🎈🎈🎈🎈 🎈🎈🎈🎈 🎈🎈🎈 entre 👼👼👼 para que a todos les toque lo mismo.
👼 🎈🎈🎈
👼 🎈🎈🎈
👼 🎈🎈🎈
y 🎈🎈 no se reparten.
11 div 3 === 3, es el cociente.
11 % 3 === 2, es el residuo.
Si a = ((b)(c)) + d, con 0 ≤ d < c, a div c = b. Al resultado se le conoce como cociente o división entera.
Como 11 = ((3)(3)) + 2 y 0 ≤ 2 < 3, 11 div 3 = 3.
Si a = ((b)(c)) + d, con 0 ≤ d < c, a % c = d. Al resultado se le conoce como módulo o como residuo.
Como 11 = 3 * 3 + 2, y 0 ≤ 2 < 3, 11 % 3 = 2
Repartir 🎈🎈🎈🎈 🎈🎈🎈🎈 🎈🎈🎈 entre 👼👼👼 para que a todos les toque lo mismo, pero que no sobre nada.
A cada 👼 le tocan 🎈🎈🎈 y tenemos que partir los 🎈🎈 que sobran de tal forma que todos les toque la misma cantidad de 🎈.
11 / 3 === (9/3) + (2/3) === 3+(2/3). A cada 👼 le tocan 🎈🎈🎈 y 2 partes de lo que resulta de partir 🎈 en 3 pedazos iguales.
2/3 se puede expresar con decimales, obteniendo 0.6666... con el número 6 repitiéndose, sin parar. A la parte que se repite se le llama periodo.
Por lo mismo, 11/3 también se puede expresar como 3.666... o 3.(6), poniendo entre paréntesis el periodo.
Si (a)(b) = c, entonces c/b = a.
Se pensaba que todos los números se podían expresar como fracciones o como números periódicos. Hasta aquí todos eran felices 😁, pero hubo algo que les rompió el corazón 😢.
Algunos campesinos que necesitaban calcular el número de semillas que necesitaban para sembrar sus campos. Para simplificar su trabajo, dividian el campo en triángulos, pues había fórmulas para calcular el área de un triángulo. A partir de aquí se desarrolló la trigonometría.
Otros los hicieron con rectángulos. A partir de aquí se desarrolló el cálculo diferencial e integral.
Al estudiar los triángulos descubrieron que en los triángulos rectángulos, la suma de los cuadrados de cada cateto es igual al cuadrado de la hipotenusa.
Aunque este resultado se obtuvo en la antigua Babilonia (hoy Irak), llega a nosotros por medio de la escuela pitagórica de hace mucho, pero mucho tiempo, en lo que hoy es Grecia.
En el siguiente triángulo, a2 + b2 = c2.
La operación a2 = (a)(a). Por ejemplo, 32 = (3)(3) = 9.
Para poder obtener el valor de la hipotenusa, se desarrolló la raíz cuadrada, de tal forma que si a2 = b, entonces a = √b.
Se sabía que si a y b valen 1, el valor de c es √2.
Un miembro de la escuela pitagórica se dió cuenta de que √2 no se puede expresar como número racional; su escuela tenía como dogma que el Universo era perfecto y todo se podía expresar como números racionales. El descubridor murió; unos dicen que se suicidó y otros dicen que lo suicidaron en su escuela y sus miembros fingieron felicidad 🙄, aunque tenían el corazón partido 😢 y ocultaron este resultado al mundo 🤬, pero con el paso del tiempo todo el mundo se enteró de este resultado y no le importó.
Los matemáticos volvieron a ser felices 😁, pero hubo algo que les rompió el corazón 😢.
El resultado de 0/0. De la fórmula, se requiere que (a)(0) = 0.
(0)(0) = 0.
(1)(0) = 0.
(-233.45)(0) = 0.
No existe un resultado único; el número que se te ocurra es una solución 🤪.
El resultado de √-1. De la fórmula, se requiere que a2 = -1. O sea que (a)(a) = -1; pero por la regla de los signos el resultado no se puede cumplir (-1)(-1) = 1 y (1)(1) = 1. 😵
Los matemáticos observaron que las matemáticas llevaban a contradicciones lógicas y se les partió el corazón 😢, pero pensaban que se podían corregir. A finales del siglo XIX hicieron un concurso que se llamaba Metamatemáticas, donde se le iba a dar mucho dinero 💵 a quien pudiera hacer una formulación de las matemáticas que no tuviera errores.
Los matemáticos tenían entonces la esperanza de ser felices 🙃, pero hubo algo que les rompió el corazón 😭.
Kurt Gödel demostró en los años 30 del siglo XX que aquellas matemáticas que razonen usando al menos los números naturales, tienen uno de 2 problemas.
Hay algunas cosas que se puede demostrar que son falsas, pero también se puede demostrar que son verdaderas 😡.
Hay algunas cosas que no se puede demostrar si son verdaderas o son falsas 🙁.
Otro de los problemas es que no se sabe cual es el problema hasta que te explota en la cara y que si ya encontraste el problema y lo arreglas, aparecerá otro problema de incompletez o de contradicción, pero una vez más no lo puedes detectar hasta que te explota en la cara.
Aquí los matemáticos se volvieron infelices 😭. Algunos pretendieron que estos teoremas nunca existieron. Otros lo ocultaron. Otros intentaron demostrar que el señor Gödel estaba mal.
Lo que se consiguió fué demostrar de muchas formas que los teoremas de Gödel estaban bien, pero se pudo encontrar una salida: no razonar usando conjuntos infinitos como los números naturales, enteros, racionales o reales 😜. Tampoco se podía calificar una teoría por medio de la misma teoría, o sea que las matemáticas no se pueden usar para saber si las matemáticas funcionan bien.
Con estas restricciones empezaron los estudios que llevaron a la Teoría Matemática de la Computación, a las computadoras, los videojuegos, las redes sociales, teniendo también la satisfacción de saber que las matemáticas con las que tanto nos torturaron en la escuela están dañadas y nunca las podrán arreglar. ¡Ja!¡Ja!¡Ja! 🤣🤣😂😈.
Esto no quiere decir que las matemáticas no sirvan, pero tienen unas sorpresitas para los que las quieran usar. Úselas bajo su riesgo.
El uso de estos números para cálculos financieros es riesgoso.
Los números enteros se representan con una cierta cantidad de bits.
Los números enteros positivos se representan en notación binaria.
Los números enteros negativos se representan con una notación llamada complemento de 2.
Si le sumas 1 al número más grande que se puede representar, sucede un
Si le restas 1 al número más negativo que se puede representar, sucede otro
Como la cantidad de números reales definidos por las matemáticas es infinita en muchos sentidos y no se puede implementar en una computadora. La cantidad números es infinita porque no tiene límite para los números positivos y negativos, pero además entre 2 números hay una cantidad infinita de números.
Para poder usar algo parecido a los números reales, necesitamos un modelo que sea totalmente finito en cuanto a la cantidad total de números y la cantidad de números entre 2 números.
La computadoras usan el estándar IEEE 754 y en realidad son límites.
Estos números no se deben usar para cálculos financieros.
Un límite es un número que se representa a sí mismo, a
números ligeramente menores y ligeramente mayores; por ejemplo,
1.0
representa a
1.0
,
así como números muy cercanos,
como podrían ser
1.000000000000000000000001
,
1.000000000000000000000002
,
0.999999999999999999999999
o
0.999999999999999999999998
.
Incluyen a los números enteros como
1
,
2
,
101
.
El valor 0
representa a los números
cercanos a 0, ya sean positivos o negativos.
El valor +0
representa a los
números positivos cercanos a 0.
El valor -0
representa a los
números negativos cercanos a 0.
Hay un valor positivo muy grande después del cuál, el siguiente número es el
símbolo POSITIVE_INFINITY
.
Hay un valor negativo muy pequeño antes del cuál, el número anterior es el
símbolo NEGATIVE_INFINITY
.
El valor
NaN
representa valores que no son un número; por ejemplo, los resultados
de
0 / 0
y
Math.sqrt(-1)
(la raíz cuadrada de -1).
Representación de números en notación científica.
Se revisó la forma en que se formulan:
Los números naturales.
Los números enteros.
Los números racionales.
Los números irracionales.
Rarezas matemáticas.
Los teoremas de Gödel.
Representación de números enteros.
Representación de números en general.