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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 14.10.2014, 07:51   #1
Lumpup
Пользователь
 
Регистрация: 13.10.2014
Сообщений: 17
По умолчанию Придумать выражение на Паскале.

Написать выражение на Паскале с помощью mod, div, сложения, вычитания, умножения и деления, которое переводит число из троичной в девятеричную систему.
Lumpup вне форума Ответить с цитированием
Старый 14.10.2014, 12:31   #2
ZX Spectrum-128
Участник клуба
 
Регистрация: 05.11.2013
Сообщений: 1,602
По умолчанию

Придумывать ничего не надо.
"Все уже украдено до нас." (с)
В яндексе нужно набрать фразу "перевод из одной системы счисления в другую". Будет 100500 ответов, среди которых выбираете нужный.
ZX Spectrum-128 вне форума Ответить с цитированием
Старый 14.10.2014, 15:23   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
В яндексе нужно набрать фразу "перевод из одной системы счисления в другую". Будет 100500 ответов, среди которых выбираете нужный.
к сожалению, в такой формулировке, как у автора темы, я не уверен, что решение вообще может существовать!
Нужно составить выражение!
Насколько я понимаю, цикл в это выражение может быть включён только в виде рекурсии (вызова внутри выражения рекурсивной функции).

А так, по сути, конечно, задача выеденного гроша не стоит (основания 9-йй системы кратно 3-й СС).
Обычный цикл, справа налево берём по две цифры и переводим их следующим образом:
00 - 0
01 - 1
02 - 2
10 - 3
11 - 4
12 - 5
20 - 6
21 - 7
22 - 8

т.е. например, число 2210210 в троичной системе можно записать в девятеричной как:
2723
Serge_Bliznykov вне форума Ответить с цитированием
Старый 14.10.2014, 16:42   #4
Lumpup
Пользователь
 
Регистрация: 13.10.2014
Сообщений: 17
По умолчанию Придумать выражения на Паскале.

Придумать выражение на Паскале, которое с помощью mod, div, сложения, вычитания, умножения и деления, переводит число из троичной в девятеричную систему.
Lumpup вне форума Ответить с цитированием
Старый 14.10.2014, 16:48   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Lumpup, зачем Вы ещё раз продублировали пост #1 ?!
Вы бот? Или думаете, что если несколько раз повторить задание, то оно само решится?! Боюсь, что это не так...
Serge_Bliznykov вне форума Ответить с цитированием
Старый 14.10.2014, 17:48   #6
Lumpup
Пользователь
 
Регистрация: 13.10.2014
Сообщений: 17
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
Lumpup, зачем Вы ещё раз продублировали пост #1 ?!
Вы бот? Или думаете, что если несколько раз повторить задание, то оно само решится?! Боюсь, что это не так...
Нет, не бот, 2 пост отличается от 1.
Я уже неделю с этой задачей мучаюсь, почти сделал, но моё выражение переводит только двузначные числа в 9 СС
Lumpup вне форума Ответить с цитированием
Старый 14.10.2014, 18:21   #7
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

Покажи выражение. Да, и скорее всего без цикла не получится для любой длины числа
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 14.10.2014, 19:21   #8
Lumpup
Пользователь
 
Регистрация: 13.10.2014
Сообщений: 17
По умолчанию

Код:
function step(x:integer):longint; 
var i:integer; st:longint; 
begin if x=0 then step:=1 else
  begin
    st:=1;
for i:=1 to x do
  begin
    st:=st*3;
    step:=st;
  end;
  end;
end;
var k,a,b,d,s: longint;
begin
  s:=0;
  k:=0;
  readln(a);
repeat
  b:=a mod 10;
  d:=a div 10;
  s:=s+b*step(k);
  k:=k+1;
  a:=d;
until d=0;
writeln(s);
end.
Lumpup вне форума Ответить с цитированием
Старый 14.10.2014, 19:25   #9
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Если так судить то: http://www.programmersforum.ru/showp...4&postcount=36
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 14.10.2014, 20:44   #10
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
Нет, не бот, 2 пост отличается от 1.
уверены?!!
Цитата:
Код:
Написать  выражение на Паскале          с помощью mod, div, сложения, вычитания, умножения и деления, которое переводит число из троичной в девятеричную систему.
Придумать выражение на Паскале, которое с помощью mod, div, сложения, вычитания, умножения и деления,         переводит число из троичной в девятеричную систему.
отличия, в словах "которое" ?!
мда...

Цитата:
но моё выражение переводит только двузначные числа в 9 СС
стоп. Так эта программа с циклом у Вас считается ВЫРАЖЕНИЕМ?!
Тогда задача имеет решение и очень даже несложное!

p.s. да ещё и функции можно использовать, это вообще супер!!

p.p.s. посмотрите мой пост #3, обратите внимание, что для перевода из троичной в девятиричную нужно брать из троичной записи по два разряда (т.е. вам нужно mod 100, div 100), а потом это двухзначное число уже можно представить одной цифрой девятиричной СС.

Ну, теперь понятней? Сами докрутите? Или всё таки нужно написать вам решение?..

Последний раз редактировалось Serge_Bliznykov; 14.10.2014 в 20:48.
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Придумать выражение на Паскале. Lumpup Помощь студентам 1 14.10.2014 08:46
Не могу придумать решение. (Вычислить для заданного n указанное выражение.) bakanaev Общие вопросы Delphi 6 31.10.2012 17:24
записать выражение на Паскале express77 Паскаль, Turbo Pascal, PascalABC.NET 1 13.01.2011 23:51
как записать выражение в паскале? Галина-90 Помощь студентам 2 16.12.2010 20:38
как записать в паскале выражение 92DMITRY Помощь студентам 3 21.06.2010 22:46