Story Transcript
PROGRAMAS PARA LA CLASSPAD MANAGER. BUSCA DIVISORES Vamos a preparar un programa sencillo, cuya misión es buscar los divisores de un número. Primero lo prepararemos con el Classpad Manager del ordenador, por que para mi gusto es más cómodo y después lo pasaremos a la calculadora. DISEÑO DEL PROGRAMA Para preparar el programa tenemos que: 1. Escogemos la opción Programas de la Classpad para empezar a escribir nuestro programa.
Pulsamos la opción Programas.
2. Ponemos un nombre al programa y seleccionamos la carpeta donde vamos a colocar el programa:
Pulsamos la segunda opción a la izquierda, que sirve para poner el nombre del programa.
Pulsamos el icono del menú y aparecerá la siguiente ventana:
Nos aparecerá esta ventana. Por eso, ahora vamos a introducir el nombre de nuestro programa y a partir de ahí vamos a empezar a introducir el programa correspondiente.
Podremos ponerle al fichero un nombre no superior a 8 letras. Después le damos a la opción de Aceptar.
3. Estamos ahora en la ventana de Edición de Programas. Ahora es el momento de introducir nuestro programa.
Esta es la ventana de Edición de Programas. Vamos a introducir en la ventana el programa que hemos preparado.
4. El programa que hemos preparado busca los divisores de un número. También nos dice si el número es compuesto o si es primo. Este es el programa:
ClrText Input u 0⇒div For 1⇒x To u If u/x=int(u/x) Then Print x div+1⇒div IfEnd Next If div=2 Then Print "Solo tiene de" Print "divisores al 1 y a" Print "si mismo por tanto" Print u Print "es PRIMO" IfEnd If div>2 Then Print "El numero" Print u Print "es COMPUESTO" Print "pues tiene varios" Print "divisores" IfEnd 5. Vamos a desgranar lo que hemos escrito para entender mejor lo que hemos programado: a. ClrText. Esta opción nos sirve para limpiar la pantalla de texto. b. Input u. Con esta orden le decimos a la calculadora que pregunte cual es el valor del número que queremos utilizar para encontrar sus divisores. c. 0⇒div. Vamos a crear una variable a la que llamaremos div, que se va a encargar de contar los divisores que el programa va a ir encontrando del número. Si solo encuentra 2 divisores, lógicamente el número tiene
que ser PRIMO, por que esos divisores serán el 1 y si mismo. Como ese contador de divisores tiene que empezar a 0, tenemos que asignarle ese valor a la variable. La forma correcta de hacer esto es 0⇒div. La flecha asigna el valor de la izquierda a la variable que aparezca a la derecha. d. For 1⇒x To u. Iniciamos con este programa una especie de bucle que se va a ir repitiendo. Si recordamos u era el nombre de la variable que escogimos para que se almacenara la cantidad a la que queremos encontrarle los divisores. Este bucle se va a repetir u veces. Eso quiere decir que va a realizar u veces la operación que le indiquemos. El programa va contando el número de veces que tiene que realizar la operación. Para eso utiliza la variable x. Al principio esta variable vale 1, por que es la primera vez que realiza las operaciones indicadas. La segunda vez que lo hace x valdrá 2. La tercera x valdrá 3. Así hasta que x valga lo mismo que u, en cuyo caso será la última vez que realice las operaciones indicadas en el bucle. Una vez hecha saldrá del bucle y pasará a los siguientes pasos que indique el programa. La instrucción FOR va asociada a la instrucción NEXT. La primera indica el principio del bucle y la otra indica el final del bucle. Cuando x vale u el programa, al finalizar el bucle sigue leyendo a partir de NEXT. e. Veamos el bucle que tiene que repetir u veces:
For 1⇒x To u If u/x=int(u/x) Then Print x div+1⇒div IfEnd Next Este bucle nos dice en resumidas cuentas. Empezando por el 1 divide el número u entre el valor que tiene x. Si (If) la división es exacta (u/x=int(u/x), la división da lo mismo que el resultado de la división entera, lo cual solo es posible si la división no tiene en el cociente decimales y por tanto es exacta), entonces es que el valor que tiene en ese momento x, es un divisor de u. Por tanto hemos encontrado un divisor de u , entonces (THEN) el programa incrementa el valor de la variable div en 1. Las instrucciones If, Then, IfEnd siempre van juntas, pues es como decir, Si sucede una opción Entonces realiza esta orden. La opción del IfEnd nos indica cual es el final de la orden If. Print escribe en pantalla lo que hay entre comillas si es texto y si el texto no está entrecomillado, entiende que el texto es el valor de una variable, por lo que escribe en pantalla el valor de esa variable en ese momento. En este caso nos escribiría lo que vale x y en ese justo instante nos estaría escribiendo el divisor del número. f. Ahora es el tiempo de que recuente la cantidad de divisores que tiene el número.
Si tiene solo dos divisores, el número es primo, pero si tiene más de 2 es que el número es compuesto.
If div=2 Then Print "Solo tiene de" Print "divisores al 1 y a" Print "si mismo por tanto" Print u Print "es PRIMO" IfEnd If div>2 Then Print "El numero" Print u Print "es COMPUESTO" Print "pues tiene varios" Print "divisores" IfEnd g. Veamos como queda el programa una vez introducido en la calculadora:
Le damos al icono del disquete del menú para guardar el programa. Ahora pulsamos el icono primero por la izquierda para ir a la ventana de ejecución.
h. Pulsando en el icono del Play, ejecutaremos el programa:
Pulsemos el Play programa Divisore.
para
ejecutar
el
EJECUCIÓN DEL PROGRAMA Una vez que pulsemos al Play, empieza la ejecución de nuestro programa: 1. El programa nos pregunta por el valor que vamos a estudiar:
Vamos a decirle que estudie el 24, un número compuesto con una buena cantidad de divisores. Una vez dicho el 24 pulsamos Aceptar y dejamos que el programa nos diga sus divisores.
2. Como el 24 tiene múltiples divisores. El programa nos calcula todos esos divisores y nos dice que 24 es Compuesto.
Como vemos en la ventana inferior nos aparecen todos los divisores de 24 y además nos dice que 24 es Compuesto.
3. Ahora, probemos con el 19. Como este valor solo tiene dos divisores, el programa nos dirá que el 19 es primo.
Veamos que pasa ahora con 19.
Como vemos, el programa solo encuentra dos divisores y por tanto el número es primo.
PASANDO EL PROGRAMA A LA CALCULADORA GRÁFICA. Seguimos los siguientes pasos:
1. Conectamos el ordenador y la calculadora utilizando el USB y la opción de Comunicación de nuestra calculadora.
Comunicación se encuentra en la ventana del menú principal.
Pulsando el tercer icono por la izquierda, conectamos la calculadora con el ordenador. Puede que Windows necesite algún driver, pero este está en el cd que nos dieron junto con la calculadora. Se introduce el cd en el ordenador y dejaremos que Windows busque el driver que necesita, para instalar la calculadora.
2. Ahora en el programa Classpad Manager, pulsaremos con el botón derecho del ratón, para coger la opción de Exchange Window, que es la ventana que nos deja intercambiar información entre nuestra calculadora y el Classpad Manager del ordenador.
En la ventana de la izquierda nuestra calculadora, a la derecha nuestro ordenador. Busquemos en el Classpad Manager de nuestro ordenador el programa Divisore y lo pasamos a nuestra calculadora.
Vemos en el dibujo la ruta donde está el programa Divisore. 3. Con las opciones de Copiar y Pegar, copiamos el programa Divisore y lo colocamos en la misma carpeta main de la calculadora. De esta forma tan sencilla hemos pasado el programa del ordenador a la calculadora.
Ahora, ya tenemos nuestro programa lista para usar en nuestra calculadora Classpad 300. En breve presentaré otro programa que tendrá como objetivo, localizar números primos en un intervalo.
BUSCA PRIMOS EN UN INTERVALO NUMÉRICO Este programa esta diseñado para buscar los números que sean primos en un intervalo. El programa nos pedirá los extremos de ese intervalo y después se pondrá a calcular divisores. Si un número solo tienen dos divisores, es por que ese número es primo. En caso contrario será compuesto. Veamos ahora el diseño del programa.
DISEÑO DEL PROGRAMA El programa que he diseñado le voy a poner de nombre Busprimo. El formato es el siguiente: ClrText Print "Primer valor intervalo" Input u Print u Print "Segundo valor intervalo" Input v Print v For u⇒m To v 0⇒div For 1⇒x To u If u/x=int(u/x) Then div+1⇒div IfEnd Next If div=2 Then Print "El numero" Print u Print "es PRIMO" IfEnd If div>2 Then Print "El numero" Print u Print "es COMPUESTO" IfEnd u+1⇒u Next 1. La primera parte del programa es para introducir los valores del intervalo que vamos a estudiar. Para ello creamos dos variables. A la primera le llamamos u y a la otra v.
2. Introducimos la instrucción For u⇒m To v Con este For que va de la primera variable a la segunda, es para que el programa busque los divisores desde el primer valor al segundo. El proceso que tienen que realizar siempre es el mismo. Por último, si ponemos un For se tiene que poner en alguna línea el Next. Este se encuentra en la última línea del programa. 3. La siguiente parte del programa funciona igual que el programa Divisore que expliqué anteriormente. Esta pequeña parte va desde 0⇒div hasta Print "es COMPUESTO" IfEnd. Con esto calcularemos los divisores que tiene lo que valga u en ese momento. Nos dirá también si es primo o compuesto. 4. Por último, una vez estudiado el valor u y ya sabiendo si es primo o compuesto, pasamos a estudiar el valor siguiente. Para ello incrementamos en una unidad el valor de la variable u y volvemos a empezar. Como sabemos por la instrucción For del principio, cuando u sea igual a v, el programa realizará los últimos cálculos y finalizará. Las últimas instrucciones son pues: u+1⇒u Next
EJECUCIÓN DEL PROGRAMA Una vez que pulsemos al Play, empieza la ejecución de nuestro programa: 1. El programa nos pregunta por el primer valor que va a tener el intervalo que vamos a estudiar:
Vamos a decirle que estudie desde el 10 al 20. No podemos poner intervalos muy amplios, por que el programa no escribe muchas líneas y por tanto habría números que no podríamos ver. Una vez puesto el 10 pulsamos Aceptar.
Ponemos 20 y le damos a Aceptar.
2. Busprimo se pone a calcular los divisores que tiene cada número y nos indica entre el 10 y el 20 quienes son primos y quienes compuestos. Como vemos en la ventana inferior, hay pocas lineas de texto, es por eso que el intervalo no puede ser muy amplio. No vemos el 10 por que el intervalo es demasiado amplio y como he dicho antes, el programa no escribe tantas líneas de texto. Se puede modificar el diseño del programa para que escriba menos texto y así poder calcular más valores. Por ejemplo, podríamos decirle que solo nos dijera los que son primos. Eso nos daría la posibilidad de poner intervalos más grandes. Dejo por tanto al lector como ejercicio abierto que intente programar esa modificación.
CONCLUSIÓN Espero que estos sencillos programas, animen a más de uno a realizar alguna pequeña aplicación y a compartirlos con toda la comunidad que utiliza la Classpad.