The program takes input from stdin. So, after making it executable with chmod +x scriptname, you can either start it with ./scriptname and answer to each prompt, or redirect a file's content to stdin. For example, suppose this is numbers.txt:
4
7
1
Then execute the script this way:
$ ./scriptname < numbers.txt
type a number
The square of 4 is 16
type another number
The square of 7 is 49
type another number
The square of 1 is 1
type another number
Done
Why does that awk script read standard input? According to awk POSIX specification, section STDIN:
The standard input shall be used only if no file operands are specified, or if a file operand is '-', or if a progfile option-argument is '-';
Notice that awk was provided no file operand, so stdin is used.
#!/usr/bin/awk -f(adjust for correct location of awk) shebang line and drop the single quotes; see gnu.org/software/gawk/manual/gawk.html#Executable-Scripts