How to check if a word is all uppercase or lowercase or capitalized in Pascal

1 Answer

0 votes
program CheckWordCasing;

function VerifyAllUpperOrAllLowerOrIsCapitalized(word: string): boolean;
var
  i, upper, lower: integer;
begin
  upper := 0;
  lower := 0;

  for i := 1 to Length(word) do
  begin
    if word[i] in ['a'..'z'] then
      Inc(lower)
    else if word[i] in ['A'..'Z'] then
      Inc(upper);
  end;

  // Case 1: all lowercase 
  if upper = 0 then
    VerifyAllUpperOrAllLowerOrIsCapitalized := true
  // Case 2: all uppercase 
  else if lower = 0 then
    VerifyAllUpperOrAllLowerOrIsCapitalized := true
  // Case 3: capitalized (only first letter uppercase) 
  else if (upper = 1) and (word[1] in ['A'..'Z']) then
    VerifyAllUpperOrAllLowerOrIsCapitalized := true
  else
    VerifyAllUpperOrAllLowerOrIsCapitalized := false;
end;

procedure RunTest(word: string);
begin
  WriteLn('Testing word: "', word, '"');
  if VerifyAllUpperOrAllLowerOrIsCapitalized(word) then
    WriteLn('OK')
  else
    WriteLn('Error');
  WriteLn;
end;

begin
  RunTest('PROGRAMMING');  
  RunTest('programming');  
  RunTest('Programming');   
  RunTest('ProGramMing');  
end.



(*
run:

Testing word: "PROGRAMMING"
OK

Testing word: "programming"
OK

Testing word: "Programming"
OK

Testing word: "ProGramMing"
Error

*)

 



answered Oct 27, 2025 by avibootz
...