Консультация № 129661
30.03.2008, 04:27
0.00 руб.
0 9 3
Здравствуйте, уважаемые эксперты портала. Вот такая вот незамысловатая задачка по Турбо Паскалю:
Написать программу, которая в веденной с клавиатуры строке преобразует строчные буквы алфавита в прописные.
Заранее спасибо. Георгий.

Обсуждение

давно
Профессор
401888
1232
30.03.2008, 09:13
общий
это ответ
Здравствуйте, Чечин Георгий Александрович!
Решение задачи с переводом строчных букв в прописные в приложении. Если для латинских букв есть специальная функция UpCase(ch), то русские буквы приходится переводить вручную, используя таблицу символов ASCII и функции ord(ch), chr(val).

Приложение:
uses crt;var s:string; i:integer;beginclrscr;write (‘s:‘);readln(s);for i:=1 to length(s)do begin s[i]:=UpCase(s[i]); if ord(s[i]) in [160..175] then begin s[i]:=chr(ord(s[i])-32); end else if ord(s[i]) in [224..239] then begin s[i]:=chr(ord(s[i])-80); end else if s[i]=‘с‘ then s[i]:=‘р‘; end;write(s);readln;end.
давно
Мастер-Эксперт
425
4118
30.03.2008, 10:46
общий
<b>Чечин Георгий Александрович</b>Если Вы вместо давно никому ненужного и плохо работающего Turbo Pascal‘я поставите себе FreePascal (www.freepascal.org), то сможете пользоваться для перевода всего одной встроенной функцией - AnsiUpperCase(Ваша_строка).
Об авторе:
Я только в одном глубоко убеждён - не надо иметь убеждений! :)
давно
Профессор
401888
1232
30.03.2008, 11:01
общий
Вообще-то я пользуюсь Delphi 7, а задачи решаю на допотопном Паскале, который установлен в большинстве учебных заведений и на котором обучают наших доблестных школьников и студентов. Лично мне он не нужен, как и Ваш суррогатный FreePascal . И вообще, если Вы все знаете о переводе строчных букв в прописные, зачем задаете вопрос?
Неизвестный
30.03.2008, 13:24
общий
это ответ
Здравствуйте, Чечин Георгий Александрович!
Программа в приложении она может переводить строчные буквы в прописные на русском и английском языке.
Удачи !!!!!

Приложение:
vAri:integer;s:string;BeginReadln(s);For i:=1 to length(s) doIf ((s[i]>=‘A‘)and(s[i]<=‘Z‘))or ((s[i]>=‘А‘)and(s[i]<=‘П‘)) thens[i]:=Chr(ord(s[i])+32)elseIf (s[i]>=‘Р‘)and(s[i]<=‘Я‘) thenS[i]:=Chr(ord(s[i])+80);Writeln(s);Readln;end.
Неизвестный
30.03.2008, 14:39
общий
это ответ
Здравствуйте, Чечин Георгий Александрович!
Тут два варианта:
1. Вы вводите только латинские буквы.
2. Вы вводите русские и латинские буквы.
1. В плане реализации очень быстрый:
Program z1; uses crt;
var s:string;
i:integer;
begin
clrscr;
Writeln(‘Введите строку: ‘);
readln(s);
for i:=1 to length(s) do
s[i]:= UpCase(s[i]);
Writeln(s);
readln
end.
функция UpCase преобразует строчную латинскую букву в прописную.
Второй выриант немного посложнее:
Program z1; uses crt;
var s:string;
i:integer;
begin
clrscr;
Writeln(‘Введите строку: ‘);
readln(s);
for i:=1 to length(s) do
case s[i] of
‘а‘: s[i]:=‘А‘;
‘б‘: s[i]:=‘Б‘;
‘в‘: s[i]:=‘В‘;
...
‘я‘: s[i]:=‘Я‘;
else s[i]:=UpCase(s[i]);
end;
Writeln(s);
readln
end.
Надеюсь я Вам помог...
Неизвестный
31.03.2008, 04:25
общий
Извиняюсь, хотелось бы спросить:Вот этот монолог сверху, который Пупкин Юрий Борисович написал, это кому адресуется? Кто тут задает вопросы еще кроме меня?Пупкин Юрий Борисович - что это было?!
Неизвестный
31.03.2008, 04:30
общий
И вообще, "допотопный Паскаль, который установлен в большинстве учебных заведений и на котором обучают наших доблестных школьников и студентов" - это, я считаю, целая история. Многих из нас еще в проекте не было, когда на Паскале писали продвинутые для своего времени программы. Ее надо уважать. Не изучив Турбо Паскаля, в Делфи нежелательно соваться. А после того, как человек изучит Паскаль, он без особых проблем сможет изучить Делфи. Если я не прав, то поправьте меня.
давно
Профессор
401888
1232
31.03.2008, 06:35
общий
Уважаемый Чечин Георгий Александрович. Во первых моя фамилия Пупорев, что легко может прочитать любой человек, знающий русские буквы. Во вторых мой "монолог" был написан в ответ на Ваш совет по поводу FreePascal. Ясно, что это адресовалось Вам, поскольку на тот момент на форуме кроме Вашего вопроса, моего ответа и Вашего мне совета ничего не было. Странно, что Вы сначала пишете"Если Вы вместо давно никому ненужного и плохо работающего Turbo Pascal‘я ", а потом "Паскаль... это, я считаю, целая история. Многих из нас еще в проекте не было, когда на Паскале писали продвинутые для своего времени программы. Ее надо уважать. "
Неизвестный
01.04.2008, 04:13
общий
Здравствуйте, уважаемый Пупкин Юрий Борисович. "Если Вы вместо давно никому ненужного и плохо работающего Turbo Pascal‘я ... и т. д. " - это все писал не я, а некий sir henry - академик. Пожалуйста, внимательно прочтите это сообщение в форуме. Оно лишь только адресовалось мне. Вот так то так. С уважением, Георгий.
Форма ответа