Download Un problema concreto con números

Document related concepts
no text concepts found
Transcript
Lic. en Matemática Aplicada
Matemática Computacional I
UNLaM
PRÁCTICA Nº1
UN PROBLEMA CONCRETO CON NÚMEROS
En este primer experimento nos familiarizaremos con aspectos fundamentales del
cálculo (numérico o no), a saber: cómo efectuar una operación (la idea de
algoritmo), cómo ingresar datos en una máquina (la idea de notación científica).
Para hacer efectivo este acercamiento decidimos utilizar, entre todos los
programas disponibles, el software EXCEL; elección que está fundada en la
principal ventaja de este soft que es su gran difusión: está disponible en casi
cualquier máquina, y resulta familiar para casi cualquier usuario.
Comencemos considerando el problema de calcular el número =12^3 (utilizando
la escritura de EXCEL), como el exponente es natural podemos obtener el
resultado a mano haciendo 12 × 12 × 12, aunque uno prefiere hacer la cuenta con
EXCEL (o con la calculadora); como sea, el resultado obtenido es 1728. ¿Qué pasa
ahora si queremos calcular 12^1734? Bueno, siempre podemos aplicar el método a
mano 12 × … × 12 pero uno intuye que es un proceso agotador. Ahora bien, si
queremos hacer la cuenta con EXCEL el resultado que aparece en pantalla es
#NUM!, que es un mensaje de error.
Ejercicio 1. Verificar que la sintaxis =12^1734 produce un mensaje de error. Leer
el mensaje.
Esto quiere decir que el algoritmo más sencillo para calcular el número 121734 ,
efectuar las multiplicaciones una a continuación de la otra, no está disponible.
¿Qué ocurrió? El número que queremos calcular es demasiado grande; la máquina
trabaja con una cantidad finita de números, de manera que hay uno que es el más
grande, llamémoslo 𝑁𝑚𝑎𝑥 . En este caso, el número en cuestión es mayor que 𝑁𝑚𝑎𝑥 ;
fenómeno que se conoce como desborde por exceso.
Ejercicio 2. Con la nomenclatura ingresada en el parágrafo anterior, hallar 𝑁𝑚𝑎𝑥 ; es
decir, hallar el número más grande que puede ingresarse en EXCEL.
NOTA: la máquina hace todo en base 2 y luego pasa a base 10. Así, el mayor
número de máquina puede expresarse mediante 𝑁𝑚𝑎𝑥 = (2 − 10−15 ) ∗ 21023 cuya
representación con 15 dígitos y base 10 es 1,79769313486232𝐸 + 308.
Concluimos que el número 121734 es mayor que el más grande de los números de
máquina, inmediatamente surgen algunas preguntas, a saber:
(a) ¿Cuánto de grande es este número? Más precisamente, ¿cómo se mide el
tamaño de un número?
(b) ¿Que haya desborde quiere decir que no lo podremos calcular?
Comencemos por el punto (b). La respuesta es: de ninguna manera, eso sólo quiere
decir que debemos calcularlo de otra forma; aparece de manera natural la noción
de algoritmo, que en este contexto significa estrategia para calcular el número
121734 . Pero ¿cuál es esa estrategia? Utilizar las propiedades de la función
logaritmo: sabemos que todo número verifica la siguiente identidad, escrita
utilizando la sintaxis EXCEL:
1
Lic. en Matemática Aplicada
Matemática Computacional I
UNLaM
𝑀 = 10^𝐿𝑂𝐺(𝑀)
(1.1)
Esta propiedad nos permite resolver un problema concreto, y en apariencia
sencillo pues se trata de dos números naturales pequeños, empleando la
calculadora pero de una manera que podemos denominar astuta.
Ejercicio 3. Implementar en una planilla EXCEL el algoritmo sugerido por la
identidad anterior y comparar con el algoritmo ingenuo de las multiplicaciones
sucesivas. La sintaxis EXCEL utiliza las funciones ENTERO y LOG, que representan
la parte entera y el logaritmo (en base 10, si se omite la base):
N
=12^N
=N*LOG(12)
=ENTERO(C1)
=10^(C1-D1)
Ejercicio 4. Expresar el resultado usando la función CONCATENAR.
Ejercicio 5. Usar la planilla diseñada en el punto anterior para hallar la cantidad
exacta de dígitos que tiene el desarrollo decimal del número 1212435 . Investigar
cuánto lugar hace falta para imprimir todos los dígitos del desarrollo decimal en
una página tamaño A4, con 2 cm de márgenes (laterales, superior e inferior) en
tamaño 10. (Como para tener una idea del tamaño del número.)
Con este ejemplo queremos mostrar cómo es posible transformar el obstáculo
didáctico dado por el uso ingenuo de la máquina (obstáculo que debe ser evitado),
en el obstáculo epistemológico involucrado en la noción y en las propiedades de la
función logaritmo: este tipo de obstáculos son los que deben encararse y superarse
para conseguir un avance real en el proceso de enseñanza y aprendizaje. En este
caso, el avance estará dado por la respuesta a la pregunta (a), pues la conclusión
que queremos obtener con este problema es que la función logaritmo es la que
permite tener una idea del tamaño de un número: si escribimos un número en base
10, la cantidad de dígitos (es decir, el tamaño) estará dado por el primer exponente
de 10 (la base utilizada para representar los números) que lo supera. Así, la
cantidad de dígitos del número 1212435 es tal que podemos afirmar que se trata de
un número grande. No obstante, cabe señalar que este tipo de consideraciones
carecen de sentido, al menos en lo que respecta el buen uso del idioma: el adjetivo
grande involucra una comparación, sea de manera tácita o explícita, de modo que
un número puede ser considerado grande en un contexto pero no así en otros.
Veamos un ejemplo: nadie consideraría al 4 como un número grande; pero...
Ejercicio 6. Consideremos el algoritmo implícito en la sucesión A1=4; A2=4^A1;
A3=4^A2; A4=4^A3

Fabricar una planilla EXCEL que calcule: por un lado, el valor numérico de
los cuatro primeros términos de la sucesión, y por otro, que indique la
cantidad de dígitos que tiene el desarrollo decimal de cada miembro.

Prestar atención a los posibles mensajes de error y comparar con el tamaño
de nuestro número grande 1212435 .
Siguiendo en la línea de la aritmética, a continuación consideramos el problema de
encontrar el último dígito del número 121734 en una base cualquiera B. Como
antes, comenzaremos planteando un problema similar pero que pueda ser
abordado de manera ingenua: por ejemplo, hallar el último dígito del desarrollo en
2
Lic. en Matemática Aplicada
Matemática Computacional I
UNLaM
base 10 del número 37 . El algoritmo directo (ingenuo) es calcular el número 37 y
luego hallar el resto en la división por 10; operación que podemos realizar a mano,
pero como en el problema anterior queremos hacerlo empleando la máquina. En
EXCEL el resto en la división entera puede obtenerse mediante la función
RESIDUO.
Ejercicio 7. Implementar el algoritmo directo en una planilla EXCEL y testearlo
para diferentes valores del exponente (para simplificar la tarea dejamos fijas
ambas bases: la de la exponencial y la del sistema de numeración). Observar los
mensajes de error que aparecen cuando el exponente aumenta ¿a partir de qué
exponente aparecen? ¿Por qué aparece el mensaje de error?
Ejercicio 8. En el problema anterior, aumentar el exponente hasta que los
resultados terminen en 0 ¿es correcto ese resultado? ¿Por qué?
Ahora bien ¿cómo se explica este resultado? Antes de pasar a la explicación cabe
destacar que en este ejemplo el abordaje ingenuo nos condujo a soluciones
incorrectas: ésa es la idea, queremos mostrar con ejemplos concretos las
desventajas que ofrece el uso ingenuo de la máquina; en otras palabras, ante la
pregunta ¿a favor o en contra del uso de la máquina? la respuesta que intentamos
defender es que no estamos a favor del uso ingenuo, estamos a favor de
aprovechar las máquinas para superar los obstáculos epistemológicos. Pero
volvamos al resultado incorrecto, lo que ha ocurrido es que esos números, aunque
no alcanzan a desbordar la máquina (no son tan grandes), no pueden ser
calculados con todos sus dígitos; EXCEL sólo ofrece 15 dígitos de modo que si el
número tiene más de 15 dígitos los últimos dígitos serán reemplazados por 0.
Veamos, entonces, cómo superar el escollo. La idea es aprovechar la recursividad
de las potencias y un resultado teórico clave: tomar resto es un morfismo de
anillos; esto quiere decir que distribuye tanto a la suma como al producto, en la
notación de EXCEL el nuevo algoritmo se escribe:
RESIDUO(3^N;10)=RESIDUO(3*RESIDUO(3^(N-1);10);10)
(1.2)
¿Cuál es la ventaja de aplicar esta identidad? Que los números involucrados nunca
superan el número 10, de modo que independientemente del exponente requerido,
el valor puede ser alcanzado. Bueno, el precio que hay que pagar es el de la
recursividad: hay que hacer todos los pasos intermedios.
Ejercicio 9. Implementar el algoritmo en una planilla EXCEL y testearlo para el
número 3125 . Observar la periodicidad de la tabla y usarla para calcular el número
33241 sin necesidad de hacer todos los pasos intermedios.
Ejercicio 10. En el ejercicio anterior se sugiere una mejora para el algoritmo 1.2.
Diseñar una planilla EXCEL que tome como dato de entrada el exponente b y
devuelva el último dígito en base 10 del número 3𝑏 . ¿qué haría falta para tener una
planilla que tome como dato de entrada también a la base de la exponencial y a la
base del sistema de numeración?
Los resultados de los ejercicios anteriores nos permiten descubrir el teorema de
Fermat; de hecho esta herramienta nos facilita la resolución de otro problema
3
Lic. en Matemática Aplicada
Matemática Computacional I
UNLaM
importante que suele presentarse en el aula, que podemos resumir con las
preguntas

¿es periódico el desarrollo decimal del número 1/118?

¿es periódico puro o mixto?

¿cuántos dígitos tiene el período?

¿cuántos dígitos tiene la parte no periódica?
Dato: este es un número periódico mixto con 58 cifras en el período, cantidad que
no puede ser detectada con las herramientas habituales de cálculo numérico...
¡usadas de forma ingenua!
4