Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Numéricos
Los métodos numéricos constituyen un conjunto de técnicas y algoritmos, que
permiten resolver planteamientos matemáticos mediante una secuencia de
operaciones aritméticas simples. Una buena parte de dichos métodos están
sustentados por teoremas matemáticos, pero existen algunos donde no es así.
Si bien los métodos numéricos permiten resolver problemas de alta complejidad,
todos ellos requieren un elevado número de cálculos aritméticos. Por tal razón no
fueron muy utilizados hasta la aparición de las computadoras, a pesar de que muchos
métodos eran conocidos desde siglos antes.
Artículos de interés:
https://www.gacetaeronautica.com/gaceta/wp-101/?p=40018
https://www.bbc.com/mundo/vert-fut-45840951
Computadoras electrónicas
binarias
Circuitos electrónicos
0
1
0
1
1
1
0
1 1
1 1
0 1
0 0
1 1
0 0
1 1
1 1
1 1
INPUTS
0 0
1 1
1 0
0 1
1 0
0 1
1 0
1 1
0 0
0 0
0 1
1 0
1 0
0 1
1 0
1
0
1
1
1
0
0
1
1
Circuito lógico programable
0
1
0
1
1
1
0
1 1
1 1
0 1
0 0
1 1
0 0
1 1
1 1
1 1
INPUTS
0 0
OUTPUT
1 1
1 0
0 1
1 0
0 1
1 0
1 1
0 0
0 0
0 1
1 0
1 0
0 1
1 0
1
0
1
1
1
0
0
1
1
1 1 1 0 0 1 1 0 1 0 1 1 1 0 1 0 1 0 1 0 1 0 1 0
INSTRUCTION
Si bien las computadoras son máquinas complejas con muchos componentes, es
convención reconocer los siguientes como los más importantes y costosos
• Procesador o CPU
• Memoria RAM
Datos:
Fuentes:
https://elcodigoascii.com.ar/
https://es.wikipedia.org/wiki/ASCII
Para representar números enteros, el rango depende de la longitud de la cadena
binaria. Para la representación del signo se emplea el bit más a la izquierda de la
cadena.
1 1 1 0 1 0 0 1 0 1 0 1 0 1 0 0 = -5451
2 bytes, 16bits, 65536 combinaciones. Tipos short int y unsigned short int. Rango soportado: -32768 a 32767 (0 a 65535 sin
signo).
0 1 0 1 0 1 1 0 1 1 1 0 0 1 0 1 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 = 8693610
4 bytes, 32bits, 4294967296 combinaciones. Tipos int y unsigned int. Rango soportado: -2147483648 a 2147483647 (0 a
4294967295 sin signo).
Nota: Existen enteros con más bytes, pero no son compatibles entre todos los lenguajes y sistemas operativos.
En el caso de los números con cantidades decimales, se emplea la representación de
punto flotante, que consiste en dividir la cadena de bits en dos partes para
representar el número mediante una combinación de dos cantidades enteras. Se
asemeja a la notación científica, y permite representar cantidades de órdenes de
magnitud muy amplia de una manera muy compacta y eficiente.
=0
±𝑎 × 10±𝑏 Donde 𝑎 → se le llama mantisa o significante, siendo un
1 ≤ 𝑎 < 10
número con el punto decimal en posición fija, y b es un exponente entero.
Ejemplos:
2.99792458e8
-1.33247958e-10
0 1 0 1 0 1 1 0 1 0 1 0 0 1 0 1 0 1 0 1 0 1 1 0 1 0 1 0 0 1 0 1
Debido a que la mantisa tiene el punto decimal en una posición fija, es posible
representarlo mediante un número entero.
Tipos de datos estándar de punto flotante:
0 1 0 1 0 1 1 0 1 0 1 0 0 1 0 1 0 1 0 1 0 1 1 0 1 0 1 0 0 1 0 1
4 bytes: 1 bit para signo, 8 bits en exponente y 23 bits en la mantisa (tipo float o single), 10 cifras significativas de precisión. Rango
soportado: -1.701411733e±38 a 3.402823466e±38 .
0 1 0 1 0 1 1 0 1 1 1 0 0 1 0 1 0 0 1 0 0 0 0 0 1 1 1 0 0 1 1 1 0 1 0 1 0 1 1 0 1 1 1 0 0 1 0 1 0 0 1 0 0 0 0 0 1 1 1 0 0 1 1 1
8 bytes: 1 bit para signo, 11 bits en exponente y 52 bits en la mantisa (tipo double), 16 cifras significativas de precisión. Rango
soportado: -2.2250738585072014e±308, 1.7976931348623158e±308.
Nota: Existen tipos de datos populares de punto flotante con más bytes (long double), pero no son compatibles
entre todos los lenguajes y sistemas operativos. El estándar actual utilizado es el IEEE 754.
Fuente:
https://es.wikipedia.org/wiki/Coma_flotante
https://es.wikipedia.org/wiki/IEEE_754
Para las instrucciones existe el lenguaje ensamblador, y que es el lenguaje de
programación de más bajo nivel en la actualidad. Antes de ingresar al circuito
programable, las instrucciones deben traducirse a lenguaje máquina, el cual consiste
de cadenas binarias de instrucciones y que son específicas a la arquitectura del
circuito.
Normalmente los programas están escritos en un lenguaje de nivel más alto que el
ensamblador, por lo que el proceso de traducción del código fuente a lenguaje
máquina pasa por varias etapas de compilación y ensamblado.
Nota:
Los lenguajes interpretados son al menos 10 veces más lentos que los lenguajes compilados.
Conceptos importantes de
computación
En las primeras computadoras funcionales, la entrada de datos y el almacenamiento
de la información se realizaba por medio de tarjetas perforadas. Posteriormente, se
añadieron los teclados, y el almacenamiento de la información se realizó mediante
cintas magnéticas, que evolucionaron en los discos magnéticos giratorios (flexibles o
disquetes, y rígidos o duros). Finalmente, aparecieron los discos ópticos y los discos
en estado sólido.
Fuentes:
https://es.wikipedia.org/wiki/Tarjeta_perforada
https://es.wikipedia.org/wiki/Cinta_magnética
https://es.wikipedia.org/wiki/Disquete
https://es.wikipedia.org/wiki/Unidad_de_disco_duro
https://es.wikipedia.org/wiki/Disco_óptico
https://es.wikipedia.org/wiki/Unidad_de_estado_sólido
El volumen de datos en las computadoras se mide en bytes y en unidades derivadas
de ella. Se emplea para medir el espacio de almacenamiento en los dispositivos
permanentes, en las memorias RAM, en el ancho de bus de datos, etc.
https://es.wikipedia.org/wiki/Algoritmo
En el ámbito de la computación, la manera más usual es el pseudocódigo.
• Caso peor
• Caso mejor
• Caso promedio
i x
1 0.73935819
2 0.66719802 Caso mejor: 1 (al principio de la lista)
3 0.40056491
4 0.53262758
5 0.25520738
6 0.42512511
7 0.74879519 Caso peor: n (al final de la lista)
8 0.69212476
9 0.5714221
10 0.13658732
11 0.39810212
12 0.87865134 Caso promedio: (n+1)/2
13 0.21061698
14 0.73027072
15 0.7991441
16 0.53835923
17 0.61606979
18 0.40128178
19 0.98090738
20 0.44070134
Si la lista está ordenada, podemos realizar una búsqueda binaria.
i x
1 0.13658732
2 0.21061698
3 0.25520738
4 0.39810212 Caso mejor: 1 (a la primera partición)
5 0.40056491
6 0.40128178
7 0.42512511
8 0.44070134
9 0.53262758 Caso peor: 4 (última partición). Que se puede escribir
10 0.53835923
11 0.5714221
como log2(n)
12 0.61606979
13 0.66719802
14 0.69212476
15 0.73027072
16 0.73935819 Caso promedio: (log2(n)+1)/2
17 0.74879519
18 0.7991441
19 0.87865134
20 0.98090738
Ejercicios
i x i y
1 0.18523935 1 0.8343642
• Suma de dos vectores 2 0.78454766 2 0.8473527
3 0.38118323 3 0.88533281
4 0.75290174 4 0.89576505
5 0.22429491 5 0.94805955
6 0.70781083 6 0.13152811
7 0.78771754 7 0.17719501
Ejemplos:
T(n)=3n+log(n) O(n) = n
T(n)=4n2+10n O(n) = n2
Polinómicos NP-Duros
NP-Completo
Ejemplo
𝑛 𝑛
2∗𝑖 =2 𝑖 = 𝑛(𝑛 + 1) = 𝑛2 + 𝑛
𝑖=1 𝑖=1
𝑛 𝑛 𝑛
(2 ∗ 𝑖 − 1) = 2 𝑖− 1 = 𝑛2 + 𝑛 − 𝑛 = 𝑛2
𝑖=1 𝑖=1 𝑖=1
𝑛
2
𝑛(𝑛 + 1)(2𝑛 + 1) 2𝑛3 + 3𝑛2 + 𝑛
𝑖 = =
6 6
𝑖=1