CamelCase в Pascal
Пример для версий
Free Pascal 2.2.0,
Free Pascal 2.2.4,
Turbo Pascal 4.0,
Turbo Pascal 5.0,
Turbo Pascal 5.5,
Turbo Pascal 6.0,
gpc 20070904
Пример использует такую же логику, как и предыдущий, но для проверки того, является ли символ буквой, используются множества символов lower
и upper
. Это делает код более читабельным.
Отметим, что в Turbo Pascal программа работает, начиная с версии Turbo Pascal 4.0, в которой впервые появляется тип данных char
.
program Camelcase;
var
text, cc: string[100];
c: char;
i: integer;
lastSpace: boolean;
upper, lower: set of char;
begin
upper := ['A'..'Z'];
lower := ['a'..'z'];
readln(text);
lastSpace := true;
cc := '';
for i := 1 to Length(text) do
begin
c := text[i];
if (c in lower) or (c in upper) then
begin
if (lastSpace) then { convert to uppercase }
begin
if (c in lower) then
c := chr(ord(c) - 32);
end
else { convert to lowercase }
if (c in upper) then
c := chr(ord(c) + 32);
cc := cc + c;
lastSpace := false;
end
else
lastSpace := true;
end;
writeln(cc);
end.
Комментарии
]]>blog comments powered by Disqus
]]>