Pangram checker: Difference between revisions

→‎{{header|BBC BASIC}}: Restored (edited) BBC Basic entry.
(Undo revision 359844 by Steve Drain (talk) The previous edit had completely destroyed the task (probably by accident) except for an (edited) BBC Basic entry.)
(→‎{{header|BBC BASIC}}: Restored (edited) BBC Basic entry.)
Line 761:
<pre>"The quick brown fox jumped over the lazy dog" is not a pangram
"The five boxing wizards jump quickly" is a pangram</pre>
 
String manipulation is expensive, especially in loops, so it may be better to buffer the string and use character values:
 
<pre>DEFFNisPangram(text$)
LOCAL size%,text%,char%,bits%
size%=LENtext$
IF size%<27 THEN =FALSE:REM too few characters
DIM text% LOCAL size%:REM BB4W and RISC OS 5 only
$text%=text$:REM buffer the string
FOR text%=text% TO text%+size%-1:REM each character
char%=?text% OR 32:REM to lower case
IF 96<char% AND char%<123 THEN bits%=bits% OR 1<<(char%-97):REM set ordinal bit
IF bits%=&3FFFFFF THEN =TRUE:REM all ordinal bits set
NEXT text%
=FALSE</pre>
 
=={{header|BCPL}}==
9,490

edits