Var str:string; i, n: integer; begin readln(str); if str:='q', 'w', 'e', 'r', 't', 'y',...

0 голосов
142 просмотров

Var str:string;
i, n: integer;

begin
readln(str);
if str:='q', 'w', 'e', 'r', 't', 'y', 'u', 'i', 'o', 'p', 'a', 's', 'd', 'f', 'g', 'h', 'j', 'k', 'l', 'z', 'x', 'c', 'v', 'b', 'n', 'm';
for i:= 1 to n do
writeln(chr(ord(str[i])+32));
else
writeln(chr(ord(str[i])-32));

end.
Задача:Написать функцию, возвращающую преобразованную к верхнему регистру строку в качестве аргумента(сделать для заглавных и строчных)с таблицей "АСКИ"
Например
ввод: ABcz
вывод:ABCZ


Информатика (12 баллов) | 142 просмотров
Дано ответов: 2
0 голосов

Написал Вам функцию для преобразования из нижнего регистра в верхний с вводом слова:

function TOUPPERCASE(s: string): string;
begin
var i: integer;
for i:=1 to length(s) do begin
Result := Result + Upcase(s[i]);
end;
write('Результат:'+Result);
end;

begin
var str:string;
write('Введите слово: ');
read(str);
TOUPPERCASE(str);

end.

У себя протестировал - все работает. У Вас тоже должно.

Надеюсь помог, удачи :)

(377 баллов)
0 голосов

Var  s : string;
 function Conv(var aStr : string): string;
  var ch : char;
       i : integer;
   begin
   Conv:=' '; { na sluchai esli stroka budet pustoi}
    for ch:='a' to 'z' do
     for i:=1 to Length(aStr) do if aStr[i]=ch then aStr[i]:=Chr(Ord(aStr[i])-32);
     Conv:=aStr;
   end; 
 begin
  Writeln('Enter string');
  Readln(s);
  Writeln(Conv(s));
  Readln
 end.


для преобразования больших в маленькие замените -32 на +32 и в операторе for 'a' to 'z' поменяйте на большие

(7.1k баллов)