QBASIC Pattern Printing Program 'PROGRAMMING', 'PROGRAMMIN', 'PROGRAMMI' .....'P'

2 years ago

This pattern can be print with a simple for loop with len() and left$() library function. First we have to find the length of given string. After that we use for loop with step -1. Inside the loop we have to print the string from the left side using left$() string library function. In each loop length of the string will be decreased by 1. 

Program

CLS
a$ = "PROGRAMMING"
FOR i = LEN(a$) TO 1 STEP -1
    PRINT LEFT$(a$, i)
NEXT i
END

Output

PROGRAMMING
PROGRAMMIN
PROGRAMMI
PROGRAMM
PROGRAM
PROGRA
PROGR
PROG
PRO
PR
P

Using USB .... END SUB

Program

DECLARE SUB pat(p$)
CLS
p$ = "PROGRAMMING"
CALL pat(p$)
END

SUB pat (p$)
    FOR i = LEN(p$) TO 1 STEP -1
        PRINT LEFT$(p$, i)
    NEXT i
END SUB

Output

PROGRAMMING
PROGRAMMIN
PROGRAMMI
PROGRAMM
PROGRAM
PROGRA
PROGR
PROG
PRO
PR
P

Using FUNCTION ... END FUNCTION

Program

DECLARE FUNCTION pat$()
CLS
p$ = pat
END

FUNCTION pat$ ()
    p$ = "PROGRAMMING"
    FOR i = LEN(p$) TO 1 STEP -1
        PRINT LEFT$(p$, i)
    NEXT i
END FUNCTION

Output

PROGRAMMING
PROGRAMMIN
PROGRAMMI
PROGRAMM
PROGRAM
PROGRA
PROGR
PROG
PRO
PR
P
  2642