VAL returns the number representation of a string.
- a$ = "33"
- PRINT VAL("10") + VAL(a$) + 1
10 + 33 + 1 = 44, the strings were converted to values.
You have to convert the string to values in order to use them in a mathematical expression also since mixing strings with numbers isn't allowed.
If VAL wasn't used the program would break with error, as you can't add the value 1 to a string, if the 1 was a string ("1") then the program would return "10331", but now since we used VAL the numbers were added as they should.