elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


  Mostrar Mensajes
Páginas: 1 ... 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 [77]
761  Programación / Programación General / Generar 2 condiciones que tenga sentido relacionarlas con &&. en: 23 Diciembre 2017, 05:01 am
Superado esto
https://foro.elhacker.net/programacion_general/mostrar_o_o_o_en_pantalla-t478377.0.html
...pasamos a cosas más interesantes, lamentablemente más difíciles.

A bote pronto es como si quisiéramos generar un texto de 7 palabras que representan:
1: La variable1 de condición1
2: El símbolo comparador de la condición1
3: La variable2 de la condición1
5: La variable1 de condición2
6: El símbolo comparador de la condición2
7: La variable2 de la condición2

La parte 4 no representa algo, siempre es "&&".

Las partes 2 y 6 pueden ser ==, !=, <= o <. Y pueden ser iguales entre sí o no.

La parte 1 o la 3 debe ser V.
La parte 5 o la 7 debe ser V.
En otras palabras, en cada condición debe estar la variable V.

Las partes 1, 3, 5 y 7 que no sean V, pueden ser V, A o B, pero no puede haber B si no hubo A. Pueden ser iguales entre sí o no.

V, A y B digamos que representan un número entero.

A < B.

Las condiciones que se generen debe haber casos en que se cumplan y otros en que no, y no deben tener redundancia. Tienen redundancia cuando una condición exige lo mismo que la otra y más aún. Por ejemplo: A == V && A <= V. En este caso alcanzaría con decir A == V.

Si no hay problema, quisiera que las variables menores aparezcan 1ero, por ejemplo así:
A < V && V < B
...en vez de así:
V < B && A < V
Por eso también, es que no uso los signos > y =>. No son necesarios ¿no?

-------------------------------------------------------------------------------

Si tienen dudas respecto a qué se quiere hacer, pregunten. Si se entendió, pasamos a cómo hacerlo.

Se me ocurren algunos métodos... aunque ninguno es del todo bueno o completo...

-------------------------------------------------------------------------------

Método 1:
Ponerme a pensar "manualmente" cuales son las combinaciones de condiciones que sirven, y escribirlas en una lista, en el código.

Esto no sólo carece de "gracia" (hacer que piense/escriba/etc la máquina, no ponerme a hacerlo yo), sino que además no me sirve porque más adelante quiero generar condiciones más complejas y tomaría mucho tiempo pensar una a una cual sirve y cual no, y escribirlas.

-------------------------------------------------------------------------------

Método 2:
Asignar valores al azar hasta que se cumplan los requisitos.

Poco eficiente ¿y cómo escribir en el código a los requisitos?

Se me ocurre algo así:
Código:
// La parte 1 o la 3 debe ser V.
Requisitos = "No"
Si V1C1 == "V" or V2C1 == "V"
    // La parte 5 o la 7 debe ser V.
    Si V1C2 == "V" or V2C2 == "V"
        // no puede haber B si no hubo A.
        Si V1C1 == "A"
           Requisitos = "Ok"
        sino si V1C1 != "B"
           Si V2C1 == "A"
              Requisitos = "Ok"
           sino si V2C1 != "B"
              Si V1C2 == "A"
                 Requisitos = "Ok"
              sino si V1C2 != "B" && V2C1 != "B"
                    Requisitos = "Ok"
fin de los si
Si Requisitos == "Ok"
   // A < B
   Si condición1 es "V < A" o "V <= A"
      Si condición2 es "B < V" o "B <= V" o "B == V" o "V == B"
         Requisitos = "No"
fin de los si

Esto vendría luego pero no sólo me parece dudoso, sino incompleto.
Código:
Si Requisitos = "Ok"
   Requisitos = "No"
   // Las condiciones que se generen debe haber casos en que se cumplan y otros en que no, y no deben tener redundancia.
   A = 10
   B = 20
   V = 5
   Caso1 = "No"
   Caso2 = "No"
   Caso3 = "No"
   Caso4 = "No"
   Hacer
      Si condición1 se cumple
         Si condición2 se cumple
            Caso1 = "Ok"
         sino
            Caso2 = "Ok"
         fin del si
      sino si condición2 se cumple
         Caso3 = "Ok"
      sino
         Caso4 = "Ok"
      fin del si
      V = V+5
   mientras 30 < V
   Si todos los casos son "Ok"
      Requisitos = "Ok"
   fin del si
fin del si

Según HABÍA pensado (ahora no me estoy concentrando en eso), que se den los 4 casos significa que la condición puede cumplirse o no, y que no hay redundancia. Pero tendría que analizarlo de nuevo.

Además, cada condición que se nombra en el pseudocódigo debería ser nombrada mediante sus partes, que sería algo así:
Código:
Si V1C1 C1S V2C1
Pero si alguna vez puse algo así en un if, ya no lo recuerdo bien.

Esto
"Si no hay problema, quisiera que las variables menores aparezcan 1ero."
...creo que se cumple con el código para A < B.

--------------------------------------------------------------------------------

Método 3:
Partiendo del método 2, pensar algunas cosas como cómo generar las condiciones de modo que cumplan los requisitos, con lo cual, ya no sería necesario chequearlos.

También me parece que carece de gracia, no tanto pero sí.

Nota: A partir de ahora invierto el orden de los nombres de algunas variables, por ejemplo V1C1 cambia a C1V1. No sé bien por qué, pero estoy más acostumbrado a eso, antes lo hice de la otra forma porque con palabras normales lo había planteado de ese modo.

Código:
// La parte 1 o la 3 debe ser V.
C1V1 = random("V" o "A")
Si C1V1 == "V"
   C1V2 = "A"
sino
   C1V2 = "V"
fin del si
// La parte 5 o la 7 debe ser V.
C2V1 = random("V" o "B")
Si C2V1 == "V"
   C2V2 = "B"
sino
   C2V2 = "V"
fin del si
// Considero que no tiene sentido comparar A dos veces. Pero no tengo una demostración...
// no puede haber B si no hubo A.
// Eso está hecho.
// A < B.

Bueno, habría que seguir, pero no me gusta este método y por hoy ya escribí mucho.

--------------------------------------------------------------------------------

Vuestro turno, gracias.
762  Programación / Programación General / Re: mostrar <> o < o <= o == en pantalla? en: 22 Diciembre 2017, 18:57 pm
Buenísimo!!!  ;-)

¿Y si en vez de sólo los símbolos quisiera que me muestre una condición de estas?
v == a
v <= a
a <= v
v < a
a < v
a <> v

a sería un número aleatorio, y v sería una referencia a una variable, se vería así, "v".

Basado en tu pseudocódigo supongo que podría ser algo así:
Código:
Funcion EleccionAleatoria
    entero x
    entero a
    char cha
    char resultado
    char respuesta
    Hacer
        x= Aleatorio(entre 0 y 5)
        a= Aleatorio(entre 0 y 10)
        ach= Convertir entero en char(a)
        Seleccionar x
              cuando 0
                  resultado= unir char ("v == ", cha)
              cuando 1
                  resultado= unir char ("v <= ", cha)
              cuando 2
                  resultado= unir char ("v < ", cha)
              cuando 3
                  resultado= unir char ("v <> ", cha)
              cuando 4
                  resultado= unir char (cha, " < v")
              cuando 5
                  resultado= unir char (cha, " <= v")
        Fin seleccion
        Mostrar resultado
        respuesta = PedirAlUsuario("Desea repetir la operación (s/n)?"
    Repetir mientras (respuesta = "s")
Fin funcion
¿Algún error?
763  Programación / Programación General / mostrar <> o < o <= o == en pantalla? en: 21 Diciembre 2017, 23:56 pm
hola mundo!!!

hice 1 programa q me muestra el num 0 o 1 o 2 o 3 al azar y ahora quiero q en ves de eso me muestre <> o < o <= o == al azar tambien ¿como seria el seudocode?

gracias!!!
Páginas: 1 ... 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 [77]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines