Número aleatorio en ansi C

Moderador: Fundadores

Avatar de Usuario
cacharreo !Sinclair 1
Moderador
Moderador
Mensajes: 6009
Registrado: 09 Ago 2019, 10:17
Ubicación: /home/cacharreo/
Has thanked: 1231 times
Been thanked: 2949 times
Contactar:

Re: Número aleatorio en ansi C

Mensaje por cacharreo »

casiogames escribió: 03 Jul 2023, 13:49En ese emulador tienes que usar la combinación de teclas para entrar en C.
¿Sabes qué combinación de teclas es? ¿hay algún listado de los atajos de teclado para el emulador?
© cacharreo
Avatar de Usuario
casiogames España - Galicia
Seguidor infernal
Seguidor infernal
Mensajes: 24
Registrado: 31 May 2023, 14:20
Has thanked: 1 time
Been thanked: 5 times

Re: Número aleatorio en ansi C

Mensaje por casiogames »

Hola disculpa por la tardanza.
Última edición por casiogames el 08 Jul 2023, 10:54, editado 1 vez en total.
Avatar de Usuario
casiogames España - Galicia
Seguidor infernal
Seguidor infernal
Mensajes: 24
Registrado: 31 May 2023, 14:20
Has thanked: 1 time
Been thanked: 5 times

Re: Número aleatorio en ansi C

Mensaje por casiogames »

cacharreo escribió: 04 Jul 2023, 15:27
casiogames escribió: 03 Jul 2023, 13:49En ese emulador tienes que usar la combinación de teclas para entrar en C.
¿Sabes qué combinación de teclas es? ¿hay algún listado de los atajos de teclado para el emulador?
para ingresar en C presionas la tecla roja que tiene una S y luego la tecla amarilla FX, asi entras en C luego eliges la ranura que seria del 0 al 9 y presionas S para empezar a meter el codigo.
Avatar de Usuario
casiogames España - Galicia
Seguidor infernal
Seguidor infernal
Mensajes: 24
Registrado: 31 May 2023, 14:20
Has thanked: 1 time
Been thanked: 5 times

Re: Número aleatorio en ansi C

Mensaje por casiogames »

Se me olvidó comentar que lo del código para que no genere siempre los mismos números lo controlo con un ciclo loot en el cual se generan los números aleatorios de manera invisible y cuando el usuario presiona el enter asigna a las variables los valores así que es raro que se seleccionen los mismos. Avanzó lentamente en el proyecto y cada línea es un nuevo reto, son una burrada de líneas y voy poco a poco así que igual pido alguna ayuda para mejorar el código, ahora estoy peleándome con la entrada por teclado. Luego cuando termine de pasar el proyecto a C lo digo por aquí para que lo probéis no es necesario tener la Casio para ejecutarlo pero lo estoy haciendo para que principalmente funcione adaptado a esta máquina
Avatar de Usuario
cacharreo !Sinclair 1
Moderador
Moderador
Mensajes: 6009
Registrado: 09 Ago 2019, 10:17
Ubicación: /home/cacharreo/
Has thanked: 1231 times
Been thanked: 2949 times
Contactar:

Re: Número aleatorio en ansi C

Mensaje por cacharreo »

casiogames escribió: 08 Jul 2023, 20:48Se me olvidó comentar que lo del código para que no genere siempre los mismos números lo controlo con un ciclo loot en el cual se generan los números aleatorios de manera invisible y cuando el usuario presiona el enter asigna a las variables los valores así que es raro que se seleccionen los mismos.
¿Estudiaste la opción de guardar las semillas? Lo comentaba unos mensajes atrás. Quizás así se podría hacer en menos líneas y sería más rápido y eficiente.
© cacharreo
Avatar de Usuario
casiogames España - Galicia
Seguidor infernal
Seguidor infernal
Mensajes: 24
Registrado: 31 May 2023, 14:20
Has thanked: 1 time
Been thanked: 5 times

Re: Número aleatorio en ansi C

Mensaje por casiogames »

Si lo leí y tiene sentido pero tendría que ver como lo guardo en la Casio y como lo recupero y yo lo que quiero es primero ir avanzando hasta que funcione y luego ya iré puliendo las cosas con ayuda , creo que se pueden guardar los datos de las variables en la Casio pero como no lo he hecho nunca tendría que ponerme a buscar código y hacer pruebas y no se si serían exitosas por eso lo dejo para el final en plan de mejora. Ya he pasado más de 500 líneas de código funcional y en alguna ocasión casi abandono el proyecto por no poder encontrar solución a alguna parte del código , ha veces me lleva 1 semana avanzar 1 línea , pero la cosa sigue adelante creo que lo peor ha pasado pero ahora me he topado con un problema que no esperaba he encontrado 2 soluciones pero 1 me da resultados anómalos y el otro aún no lo he probado, el problema real es que el manual es muy escueto y debo recurrir a manuales como la de la pb2000c para ir saliendo del paso.
Avatar de Usuario
casiogames España - Galicia
Seguidor infernal
Seguidor infernal
Mensajes: 24
Registrado: 31 May 2023, 14:20
Has thanked: 1 time
Been thanked: 5 times

Re: Número aleatorio en ansi C

Mensaje por casiogames »

Bueno ahora si que estoy en punto muerto.
Podemos coger el ejemplo de la página 85 vista anteriormente cuando programó la parte rand luego en la Casio puedo hacer que se guarde en un archivo y ponerle nombre pues lo hago y parece estar bien aparece rand.c este lo dejo en la ranura 1 y en la ranura 0 el programa principal.
El problema es que da error rand undefined , me imagino que no he podido enlazar el archivo rand.c y por eso lógicamente falla , pero no se como enlazarlo he probado con include pero sigue igual en el manual de la pb-2000c no parece fallar igual me falta algo para enlazarlo en esta.
Avatar de Usuario
cacharreo !Sinclair 1
Moderador
Moderador
Mensajes: 6009
Registrado: 09 Ago 2019, 10:17
Ubicación: /home/cacharreo/
Has thanked: 1231 times
Been thanked: 2949 times
Contactar:

Re: Número aleatorio en ansi C

Mensaje por cacharreo »

casiogames escribió: 11 Jul 2023, 17:17El problema es que da error rand undefined , me imagino que no he podido enlazar el archivo rand.c y por eso lógicamente falla , pero no se como enlazarlo he probado con include pero sigue igual en el manual de la pb-2000c no parece fallar igual me falta algo para enlazarlo en esta.
¿Puedes publicar las 10-15 primeras líneas de cada programa (rand y el principal)?
© cacharreo
Avatar de Usuario
casiogames España - Galicia
Seguidor infernal
Seguidor infernal
Mensajes: 24
Registrado: 31 May 2023, 14:20
Has thanked: 1 time
Been thanked: 5 times

Re: Número aleatorio en ansi C

Mensaje por casiogames »

hola encontre un manual en japones y mas o menos di con la solucion aunque no es la que queria
Resulta que los includes en la z1gr parece que no hay que escribirlos y si se escriben debe ser asi:
/* #include <stdio.h> */
luego estube probando :
/* #include <rand.c> */
/* #include "rand.c" */
#include "rand.c"
y nada de nada
pero en el manual japones encontre un include que va al area de programa no del archivo guardado y se escribe asi:
#include "F1"

donde F1 es el area del programa. bueno servir me sirve pero no es el archivo pero bueno, eso lo queria probar por que tenia un error y creia que se solucionaba con eso.
Pero no se soluciono el error.El error estoy leyendo en 2 manuales y da la solucion pero no se aplicarla.
El error es : P.code area overflow
El error sale en la pagina 170 del manual de la casio pb2000c.
Este error segun leo es que el programa es muy grande y se necesita ampliar el area de memoria en C.
Yo memoria tengo asi que en principio no deberia de tener problema.
En la pagina25 y 26 del manual de la pb200c Te dice como se asigna mas memoria en C para arreglar ese error.
Yo en la z1gr segun el manual que tengo en ingles la asignacion de la memoria se hace con CLEAR y los numeros en bites.
Pero esa creo que no es la memoria de C ya que esa memoria influye en las variables y en el asembler creo recordar.
Asi que debe de haber algo para aumentar en C la memoria del programa o algun comando que no veo.

esto es lo que pone clear
CLEAR
PURPOSE: Clears all variables and determines the memory mapping in accordance
with the parameters entered.
FORMAT:
CLEAR [ [strings area size] [ , assembler area size , variables area size ] ]
Numeric expression Numeric expression Numeric expression
EXAMPLE: CLEAR
CLEAR 400
CLEAR 4096,512,6144
PARAMETERS:
1. Strings area size: Determines the area used for strings. The initial setting
when ALL RESET is executed is 4096. The current value can be obtained
through FRE 3.
2. Assembler area size: Determines the area used for assembler programs. The
initial setting when ALL RESET is executed is 0. The current value can be
obtained through FRE 6.
3. Variables area size: It has to be bigger than the sum of strings and assembler
area sizes to avoid a “BS Error”. The current value can be obtained through
FRE 2.
EXPLANATION:
1. Clear all variables
2. Strings, assembler or variables areas cannot be set during program execution.
3. If assembler area size and variable area size are omitted, these values will
remain unchanged.
4. If strings area size is omitted, the CLEAR statement will clear all variables
without changing memory mapping
Avatar de Usuario
cacharreo !Sinclair 1
Moderador
Moderador
Mensajes: 6009
Registrado: 09 Ago 2019, 10:17
Ubicación: /home/cacharreo/
Has thanked: 1231 times
Been thanked: 2949 times
Contactar:

Re: Número aleatorio en ansi C

Mensaje por cacharreo »

casiogames escribió: 12 Jul 2023, 01:39luego estube probando :
/* #include <rand.c> */
/* #include "rand.c" */
Este formato sería raro que funcionara porque "/*" y "*/" son respectivamente las marcas de inicio y fin de un comentario.
casiogames escribió: 12 Jul 2023, 01:39El error es : P.code area overflow
...
CLEAR [ [strings area size] [ , assembler area size , variables area size ]]
Y el espacio para la zona de memoria dedicada al programa en ensamblador, ¿no sería la zona equivalente en caso de utilizar otro lenguaje? Dicho de otro modo, "assembler area size" ¿no podría leerse como "program area size"? Sea como sea, no te costará probarlo aunque sería de especial utilidad conocer los valores por defecto de estos parámetros en la configuración de fábrica de la calculadora.
© cacharreo
Responder

Volver a “Otros Sistemas”