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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.10.2014, 11:08   #21
g25092011
Новичок
Джуниор
 
Регистрация: 13.10.2014
Сообщений: 9
По умолчанию Из троичной в десятичную

Код:
program perevod;
function stepen1(ch,st:integer):integer;
var 
g,f:integer;
begin
  if st<>0 then
  begin
  g:=ch;
  for f:=1 to st-1 do
  g:=g*ch;
  stepen1:=g;
  end
  else
  stepen1:=1;
end;
var
klo,t,i,p,k:integer;
vod:array[1..100] of integer;
begin
p:=1;
  writeln('Введите любое целое число в троичной системе по разрядно');
  writeln('Троичная система  - в разрядах только 0,1 и 2,');
  writeln('Любая другая цифра завершает ввод');
  writeln('Начинайте с младшего разряда');
 while ((k=0)or(k=1)or(k=2)) do
  begin
  read(k);
  vod[p]:=k;
  p:=p+1;
  end;
      for i:=1 to p-2 do
        write(vod[i]); 
        writeln;
        writeln('Введено ',(p-2),'  разрядное троичное число ');
  { из троичной в десятичну}
        klo:=0;
        for t:=1 to p-2 do { начинаем с младшего разряда }
          begin
            klo:=((stepen1(3,(t-1))*vod[t])+klo);
          end;
          write('Получилось в десятичной= 'klo);
    
   end.
А из десятичной в девятиричную систему еще пишу, как допишу представлю на всеобщее обозрение.
Четвертый день в паскале.
g25092011 вне форума Ответить с цитированием
Старый 15.10.2014, 11:13   #22
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,656
По умолчанию

Так вроде б циклы нельзя юзать по условию задачи!
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 15.10.2014, 11:14   #23
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Lumpup, поймите, НЕВОЗМОЖНО написать выражение для числа (или строки) НЕИЗВЕСТНОЙ длины. Понадобится использовать ЦИКЛ (ну или тот же цикл, но спрятанный в виде рекурсии).
Чудес НЕ БЫВАЕТ.

так, просто для поддержания разговора.
попробуйте подойти к преподавателю с таким "выражением":
Код:
var s : string;
begin
  repeat
    WriteLn('Введите троичное число от 1 до 10 знаков длиной:');
    ReadLn(s);
  until length(s) in [1..10];
  if odd(Length(s)) then s := '0' + s;
  
  case length(s) of
    2: WriteLn( Chr(48+((Ord(s[1]) and 3)*3+(Ord(s[2]) and 3))) );
    4: WriteLn( Chr(48+((Ord(s[1]) and 3)*3+(Ord(s[2]) and 3)))
                 + Chr(48+((Ord(s[3]) and 3)*3+(Ord(s[4]) and 3)))  );
    6: WriteLn( Chr(48+((Ord(s[1]) and 3)*3+(Ord(s[2]) and 3)))
                 + Chr(48+((Ord(s[3]) and 3)*3+(Ord(s[4]) and 3)))
                 + Chr(48+((Ord(s[5]) and 3)*3+(Ord(s[6]) and 3)))  );
    8: WriteLn( Chr(48+((Ord(s[1]) and 3)*3+(Ord(s[2]) and 3)))
                 + Chr(48+((Ord(s[3]) and 3)*3+(Ord(s[4]) and 3)))
                 + Chr(48+((Ord(s[5]) and 3)*3+(Ord(s[6]) and 3)))
                 + Chr(48+((Ord(s[7]) and 3)*3+(Ord(s[8]) and 3)))
                 );
    10: WriteLn( Chr(48+((Ord(s[1]) and 3)*3+(Ord(s[2]) and 3)))
                 + Chr(48+((Ord(s[3]) and 3)*3+(Ord(s[4]) and 3)))
                 + Chr(48+((Ord(s[5]) and 3)*3+(Ord(s[6]) and 3)))
                 + Chr(48+((Ord(s[7]) and 3)*3+(Ord(s[8]) and 3)))
                 + Chr(48+((Ord(s[9]) and 3)*3+(Ord(s[10]) and 3)))
                 );
  end;
end.
Lumpup, а ведущие нули допускаются?!
ну, если число 101, можно ли выдать в качестве ответа 00011 ?!!


g25092011, к чему этот код?!! автору темы нужно ВЫРАЖЕНИЕ!!

Последний раз редактировалось Serge_Bliznykov; 15.10.2014 в 11:18.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 15.10.2014, 11:21   #24
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Цитата:
автору темы нужно ВЫРАЖЕНИЕ!!
Боюсь что автор всетки не так понял преподавателя )
Эх... пичальные нонче сенсеи, раз падаванам обьяснить не могут истиные вещи
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 15.10.2014, 11:22   #25
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,964
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
Покажи выражение. Да, и скорее всего без цикла не получится для любой длины числа
No for ewe.
- ап-ч-хи.
- шоб ты сдохла, прости, тебе лекарства?
- Да от** от меня, а
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder

Последний раз редактировалось Smitt&Wesson; 15.10.2014 в 12:01.
Smitt&Wesson вне форума Ответить с цитированием
Старый 15.10.2014, 11:47   #26
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
Сообщение от Stilet
Боюсь что автор всетки не так понял преподавателя )
я тоже думаю, что автор темы что-то не допонял или упустил.

Например, задача формулировалась так:
Написать выражение на Паскале с помощью mod, div, сложения, вычитания, умножения и деления, которое переводит четырёхзначное число из троичной в девятеричную систему.

казалось бы, отличие всего в одном слове. Но это позволяет написать именно ВЫРАЖЕНИЕ, без всяких циклов и хакерских фокусов!

Впрочем, на месте нашего автора темы, я бы уже давно общался не на форуме, а с преподавателем.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 15.10.2014, 11:57   #27
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,656
По умолчанию

Цитата:
Впрочем, на месте нашего автора темы, я бы уже давно общался не на форуме, а с преподавателем.
Я ему уже посоветовал это вот тут. Однако, предположу, что товарищ учится на специальность "большой начальник" и ему не надо вникать специфику, его учат выдавать задания исполнителям по ГОСТу: "сходи туданезнаюкуда, принеси тонезнаючто, и шоб было кругленькое, белого цвета, пищало и печатало мне деньги"!
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 15.10.2014, 18:42   #28
Lumpup
Пользователь
 
Регистрация: 13.10.2014
Сообщений: 17
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
я тоже думаю, что автор темы что-то не допонял или упустил.

Например, задача формулировалась так:
Написать выражение на Паскале с помощью mod, div, сложения, вычитания, умножения и деления, которое переводит четырёхзначное число из троичной в девятеричную систему.

казалось бы, отличие всего в одном слове. Но это позволяет написать именно ВЫРАЖЕНИЕ, без всяких циклов и хакерских фокусов!

Впрочем, на месте нашего автора темы, я бы уже давно общался не на форуме, а с преподавателем.
На входе максимум трехзначное число и если есть двойка, то на 1 месте она стоять не может.
Но этого действительно не было написано. Извините меня все.
Lumpup вне форума Ответить с цитированием
Старый 15.10.2014, 18:51   #29
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Цитата:
На входе максимум трехзначное число и если есть двойка, то на 1 месте она стоять не может.
Безымянный.jpg
Как это понимать?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 15.10.2014, 21:19   #30
Lumpup
Пользователь
 
Регистрация: 13.10.2014
Сообщений: 17
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Вложение 70537
Как это понимать?
Ну условие такое, на 1 месте только единичка.
Lumpup вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 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