Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.10.2008, 19:01   #1
Ananim-Pbl6ak
Пользователь
 
Регистрация: 28.10.2008
Сообщений: 77
По умолчанию помогите с программой

Написать в ТР программу реализующие следующие действия:
Запросить и ввести с клавиатуры символ, если символ буква латинского алфавита то напечатать три буквы латинского алфавита следующие после нее в другом регистре.
Если введенный символ цифра то написать сумму цифр стоящих до и после заданной.
В противном случае сообщить что символ не буква и не цифра.
скелет вот такой я думаю, а как дальше не знаю


program bykBa_Cifra;
{Романов Антон ЭЭ 31-08}
var symbol:char;
begin
writeln('введите символ ');
readln(symbol);
if{Латинская буква }
then
begin
{действия по букве }
end
else
if{цифра} then
begin
{действия по цифре }
end
else writeln('символ не буква латинского алфавита и не цифра ')
readln
end.


помоги пожалуйста
Ananim-Pbl6ak вне форума Ответить с цитированием
Старый 28.10.2008, 20:08   #2
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Разбирайся, что не поймешь, спрашивай, но вроде все ясно.
Код:
uses crt;
var c:char;
    t,a:integer;
begin
clrscr;
write('Vvedite simvol:  ');
readln(c);
case c of
'A'..'W':write(chr(ord(c)+33),chr(ord(c)+34),chr(ord(c)+35));
'a'..'w':write(chr(ord(c)-31),chr(ord(c)-30),chr(ord(c)-29));
'X'..'Z','x'..'z':write('Dalshe net treh bukv!');
'1'..'8':begin
           val(c,t,a);
           write(2*t);
         end;
'0':write('Sleva net cifry!');
'9':write('Sprava net cifry!');
else write('Ne cifra i ne bukva!');
end;
readln
end.
puporev вне форума Ответить с цитированием
Старый 28.10.2008, 20:11   #3
Ananim-Pbl6ak
Пользователь
 
Регистрация: 28.10.2008
Сообщений: 77
По умолчанию

мне надо в турбо паскале 7
все надо сделать с развилками препод не поверит что я написал,
если не тяжело просто дополните мой первый пост там есть скелет программы. заранее спасибо
Ananim-Pbl6ak вне форума Ответить с цитированием
Старый 28.10.2008, 20:36   #4
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

А это что, на китайском? Я и так в Турбо Паскале 7,0 пишу, или что второй раз видите? Если думаете что if ... then ... else легче, то пожалуйста:
Код:
uses crt;
var c:char;
    t,a:integer;
begin
clrscr;
write('Vvedite simvol:  ');
readln(c);
if c in ['A'..'W'] then write(chr(ord(c)+33),chr(ord(c)++34),chr(ord(c)+35))
else if c in ['a'..'w'] then write(chr(ord(c)-31),chr(ord(c)-30),chr(ord(c)-29))
else if c in ['X'..'Z','x'..'z'] then write('Dalshe net treh bukv!')
else if c in ['1'..'8'] then
    begin
      val(c,t,a);
      write(2*t);
    end
else if c='0' then write('Sleva net cifry!')
else if c='9' then write('Sprava net cifry!')
else write('Ne cifra i ne bukva!');
readln
end.
puporev вне форума Ответить с цитированием
Старый 28.10.2008, 20:48   #5
Ananim-Pbl6ak
Пользователь
 
Регистрация: 28.10.2008
Сообщений: 77
По умолчанию

if c in ['A'..'W'] then write(chr(ord(c)+33),chr(ord(c)++34 ),chr(ord(c)+35))
else if c in ['a'..'w'] then write(chr(ord(c)-31),chr(ord(c)-30),chr(ord(c)-29))
вот эти места непонятны вообще
в паскале в школе максимум вычисляли площадь треугольника и так далее, большое спасибо вам за помощь
Ananim-Pbl6ak вне форума Ответить с цитированием
Старый 28.10.2008, 20:49   #6
Alter
Старожил
 
Аватар для Alter
 
Регистрация: 06.08.2007
Сообщений: 2,183
Сообщение

вот с ифами:
Код:
uses crt;
var c:char;
    t,a:integer;
begin
 clrscr;
 write('Vvedite simvol:  ');
 readln(c);
If (c in ['A'..'W']) then
 begin
  write(chr(ord(c)+33),chr(ord(c)+34),chr(ord(c)+35));
 end
  else
if (c in ['a'..'w']) then
 begin
  write(chr(ord(c)-31),chr(ord(c)-30),chr(ord(c)-29));
 end
  else
if (c in ['X'..'Z','x'..'z']) then
 write('Dalshe net treh bukv!')
  else
if (c in ['1'..'8']) then
 begin
  val(c,t,a);
  write(2*t);
 end
  else
if c='0' then write('Sleva net cifry!')
 else
if c='9'then write('Sprava net cifry!')
 else write('Ne cifra i ne bukva!');
 Readln;
end.
Alter вне форума Ответить с цитированием
Старый 28.10.2008, 20:56   #7
Ananim-Pbl6ak
Пользователь
 
Регистрация: 28.10.2008
Сообщений: 77
По умолчанию

большое спасибо!!!
Ananim-Pbl6ak вне форума Ответить с цитированием
Старый 28.10.2008, 20:56   #8
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Цитата:
if c in ['A'..'W'] then write(chr(ord(c)+33),chr(ord(c)++34 ),chr(ord(c)+35 ))
Если введенный символ принадлежит множеству ... то вывести на экран символы(chr) c порядковыми номерами(ord) на 32+1,+2,+3 больше (смотрите таблицу символов ANSII).
Цитата:
else if c in ['a'..'w'] then write(chr(ord(c)-31),chr(ord(c)-30),chr(ord(c)-29))
Если введенный символ принадлежит множеству ... то вывести на экран символы(chr) c порядковыми номерами(ord) на -32+1,-32+2,-32+3 меньше (смотрите таблицу символов ANSII).
puporev вне форума Ответить с цитированием
Старый 28.10.2008, 20:59   #9
Ananim-Pbl6ak
Пользователь
 
Регистрация: 28.10.2008
Сообщений: 77
По умолчанию

хорошо спасибо еще раз
Ananim-Pbl6ak вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите с программой Panda Помощь студентам 4 07.07.2008 18:13
Помогите с программой(( stan1k Фриланс 4 10.05.2008 16:16
помогите с программой LexusSPb Фриланс 2 04.09.2007 16:29