Apagada docs

Aprendiendo a programar el pasado

Herramientas de usuario

Herramientas del sitio


es:basic:qbasic:zapatos

Comparar qué encordado de los zapatos necesita cordones más largos

Sugerido por la sección de entretenimientos matemáticos de un número de Investigación y Ciencia ( Scientific American ) En aquellos tiempos solo tres formas de encordar eran populares:

  • americano: 8XXX
  • de deporte: 8X|X|X
  • de zapatería: 8\|\|\
zapatos.bas
DECLARE SUB Grafican (st!, a!, b!)
DECLARE SUB Graficab (st!, a!, n!)
DECLARE SUB graficaa (st!, b!, n!)
'Resolviendo el problema de los cordones.
 
'En las siguientes funciones, la interpretaci¢n de las
'variables es:
'a: distancia (vertical) entre dos ojales consecutivos.
'b: distancia (horizontal) entre dos ojales opuestos.
'n: n£mero de parejas de ojales.
 
'Longitud de un cord¢n desde el ojal de arriba de un lado
'hasta el ojal contrario, colocado con el sistema americano
' (XXXX)
DEF fnCordonA (a, b, n) = (n - 1) * 2 * SQR(a ^ 2 + b ^ 2)
 
'Longitud de un cord¢n desde el ojal de arriba de un lado
'hasta el ojal contrario, colocado con el sistema americano
' (|X|X|)
DEF fnCordonE (a, b, n) = (n - 2) * SQR(4 * a ^ 2 + b ^ 2) + 2 * SQR(a ^ 2 + b ^ 2) + (n - 1) * b
 
 
'Longitud de un cord¢n desde el ojal de arriba de un lado hasta
'el ojal contrario, colocado con el sistema de las zapater¡as
'(|\|\|\|)
DEF fnCordonZ (a, b, n) = SQR(((n - 1) * a) ^ 2 + b ^ 2) + (n - 1) * b * SQR(a ^ 2 + b ^ 2)
 
 
 
SCREEN 12
a = 2.5
b = 2 * a
Grafican 0, 2.5, 2 * 2.5
Graficab 200, 2.5, 4
graficaa 400, 2 * 2.5, 4
 
SUB graficaa (st, b, n)
    FOR a = 2 TO 17 STEP .1
        IF a = 2 THEN
            PSET (st + a * 10, fnCordonA(a, b, n)), 1
        ELSE
            LINE STEP(0, 0)-(st + a * 10, fnCordonA(a, b, n)), 1
        END IF
    NEXT a
    FOR a = 2 TO 17 STEP .1
        IF a = 2 THEN
            PSET (st + a * 10, fnCordonE(a, b, n)), 2
        ELSE
            LINE STEP(0, 0)-(st + a * 10, fnCordonE(a, b, n)), 2
        END IF
    NEXT a
    FOR a = 2 TO 17 STEP .1
        IF a = 2 THEN
            PSET (st + a * 10, fnCordonZ(a, b, n)), 3
        ELSE
            LINE STEP(0, 0)-(st + a * 10, fnCordonZ(a, b, n)), 3
        END IF
    NEXT a
END SUB
 
SUB Graficab (st, a, n)
    FOR b = 2 TO 17 STEP .1
        IF b = 2 THEN
            PSET (st + b * 10, fnCordonA(a, b, n)), 1
        ELSE
            LINE STEP(0, 0)-(st + b * 10, fnCordonA(a, b, n)), 1
        END IF
    NEXT b
 
 
    FOR b = 2 TO 17 STEP .1
        IF b = 2 THEN
            PSET (st + b * 10, fnCordonE(a, b, n)), 2
        ELSE
            LINE STEP(0, 0)-(st + b * 10, fnCordonE(a, b, n)), 2
        END IF
    NEXT b
 
    FOR b = 2 TO 17 STEP .1
        IF b = 2 THEN
            PSET (st + b * 10, fnCordonZ(a, b, n)), 3
        ELSE
            LINE STEP(0, 0)-(st + b * 10, fnCordonZ(a, b, n)), 3
        END IF
    NEXT b
END SUB
 
SUB Grafican (st, a, b)
    FOR n = 2 TO 17 STEP .1
        IF n = 2 THEN
            PSET (st + n * 10, fnCordonA(a, b, n)), 1
        ELSE
            LINE STEP(0, 0)-(st + n * 10, fnCordonA(a, b, n)), 1
        END IF
    NEXT n
    FOR n = 2 TO 17 STEP .1
        IF n = 2 THEN
            PSET (st + n * 10, fnCordonE(a, b, n)), 2
        ELSE
            LINE STEP(0, 0)-(st + n * 10, fnCordonE(a, b, n)), 2
        END IF
    NEXT n
    FOR n = 2 TO 17 STEP .1
        IF n = 2 THEN
            PSET (st + n * 10, fnCordonZ(a, b, n)), 3
        ELSE
            LINE STEP(0, 0)-(st + n * 10, fnCordonZ(a, b, n)), 3
        END IF
    NEXT n
 
END SUB
Este sitio web utiliza cookies. Al utilizar el sitio web, usted acepta almacenar cookies en su computadora. También reconoce que ha leído y entendido nuestra Política de privacidad. Si no está de acuerdo abandone el sitio web.Más información
es/basic/qbasic/zapatos.txt · Última modificación: 2025/02/02 21:31 por nepenthes