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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 06.04.2011, 13:09   #1
danbes1
 
Регистрация: 06.04.2011
Сообщений: 9
По умолчанию Кто может помочь разобраться с кодом!(Basic)

нужно помочь разобрать код. чем подробней тем лучше. задача проста, но сам разобраться не могу(( вот код:


Код:
DIM y%(65 TO 90)
CLS
DO
 PRINT "‘Система 1 (Макс. - 16)"
 INPUT "", n1%
 IF (n1% < 2) OR (n1% > 16) THEN
  PRINT "Ошибка ввода*"
  EXIT DO
 ELSE
  PRINT "‘Система* 2 (Макс. - 16)"
  INPUT "", n2%
  IF (n2% < 2) OR (n2% > 16) THEN
   PRINT "Ошибка ввода"
  ELSE
   PRINT "Введите число"
   INPUT "", s$
   e% = 0
   b% = 1
   FOR i% = 1 TO LEN(s$)
    s1$ = MID$(s$, i%, 1)
    IF s1$ = "." THEN
     e% = e% + 1
    END IF
    IF (s1$ = "-" AND i% <> 1) OR (LEN(s$) = 1 AND s1$ = "-") OR (s1$ = "." AND (i% = 1 OR e% > 1)) THEN
     PRINT ("Ошибка ввода")
     b% = 0
     EXIT FOR
    ELSE
     IF ((ASC(s1$) < ASC("0") AND s1$ <> ".") AND (ASC(s1$) < ASC("0") AND s1$ <> "-")) OR ((ASC(s1$) >= ASC("0") + n1%) AND n1% < 11) OR ((ASC(s1$) > ASC("9") AND ASC(s1$) < ASC("A")) OR ASC(s1$) > (ASC("A") + n1% - 11) AND n1% > 10) THEN
      PRINT ("Ошибка ввода")
      b% = 0
      EXIT FOR
     END IF
    END IF
   NEXT
   IF b% = 1 THEN

   FOR i% = ASC("A") TO ASC("Z")
     y%(i%) = i% - 55
    NEXT
    m% = 1
    z% = 0
    x = 0
    f = 0
    FOR i% = 1 TO LEN(s$)
     s1$ = MID$(s$, i%, 1)
     IF s1$ <> "-" THEN
      IF s1$ <> "." THEN
       z% = z% + 1
      ELSE
       f = 1
       EXIT FOR
      END IF
     ELSE
      m% = 2
     END IF
    NEXT
   
    FOR i% = m% TO m% - 1 + z%
     s1$ = MID$(s$, i%, 1)
     IF (ASC(s1$) >= 65) AND (ASC(s1$) <= 90) THEN
      x = x + y%(ASC(s1$)) * n1% ^ (z% - i% + m% - 1)
     ELSE
      x = x + VAL(s1$) * n1% ^ (z% - i% + m% - 1)
     END IF
    NEXT

    FOR i% = z% + m% + 1 TO LEN(s$)
     s1$ = MID$(s$, i%, 1)
     IF (ASC(s1$) >= 65) AND (ASC(s1$) <= 90) THEN
      x = x + y%(ASC(s1$)) * n1% ^ (z% - i% + m%)
     ELSE
      x = x + VAL(s1$) * n1% ^ (z% - i% + m%)
     END IF
    NEXT

    d = x - FIX(x)
    s$ = ""
    s1$ = ""
    IF FIX(x) < n2% THEN
     IF FIX(x) < 10 THEN
      s$ = STR$(FIX(x))
     ELSE
      s$ = CHR$(y%(FIX(x) + 55) + 55)
     END IF
    ELSE
     WHILE FIX(x) >= n2%
      IF FIX(x) MOD n2% > 9 THEN
       s$ = LTRIM$(s$) + LTRIM$(CHR$(y%((FIX(x) MOD n2%) + 55) + 55))
      ELSE
       s$ = LTRIM$(s$) + LTRIM$(STR$(FIX(x) MOD n2%))
      END IF
      x = (FIX(FIX(x) / n2%))
     WEND
      IF x < 10 THEN
       s$ = (s$) + LTRIM$(STR$(x))
      ELSE
       s$ = s$ + LTRIM$(CHR$(y%(x + 55) + 55))
      END IF
    END IF
   
    FOR i = 1 TO LEN(s$)
     s1$ = LTRIM$(s1$) + LTRIM$(MID$(s$, LEN(s$) - i + 1, 1))
    NEXT
   
    IF f = 1 THEN
     s1$ = LTRIM$(s1$) + LTRIM$(".")
     g% = 0
     DO
      d = d * n2%
      IF FIX(d) > 9 THEN
       s1$ = LTRIM$(s1$) + LTRIM$(CHR$(y%(FIX(d) + 55) + 55))
      ELSE
       s1$ = LTRIM$(s1$) + LTRIM$(STR$(FIX(d)))
      END IF
      d = d - FIX(d)
      g% = g% + 1
     LOOP UNTIL d = 0 OR g% > 10
    END IF
    IF m% = 1 THEN
     PRINT "Ответ:"; s1$
    ELSE
     PRINT "-" + LTRIM$(s1$)
    END IF
   END IF
  END IF
 END IF
 PRINT "*Нажмите y для повтора программы"
 INPUT "", s$
LOOP WHILE s$ = "y"
END
готов заплатить через WM! очень нужно! надо закрыть первый семестр! заранее спасибо!



___________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE] (это кнопочка с решёточкой #)
Не забывайте об этом!
Модератор.

Последний раз редактировалось Serge_Bliznykov; 07.04.2011 в 16:31.
danbes1 вне форума Ответить с цитированием
Старый 06.04.2011, 13:32   #2
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

Разобраться в чём?
Составить блок-схему?
Прокомментировать строки?
Разобраться в алгоритме?
Готов помочь, но сути задачи не понял.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder
Smitt&Wesson вне форума Ответить с цитированием
Старый 06.04.2011, 13:35   #3
danbes1
 
Регистрация: 06.04.2011
Сообщений: 9
По умолчанию

Цитата:
Сообщение от Smitt&Wesson Посмотреть сообщение
Разобраться в чём?
Составить блок-схему?
Прокомментировать строки?
Разобраться в алгоритме?
Готов помочь, но сути задачи не понял.
мне нужно прокоментировать строки(и разорать каждый оператор)
и можно краткий алгоритм для собственного развития
danbes1 вне форума Ответить с цитированием
Старый 06.04.2011, 13:45   #4
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

К какому числу сделать?
Блок-схема нужна?
Аси пока нет, но можно обсудить по Skype.
Да и ещё. Это QUICK BASIC? На Microsoft Office не похож.
Вопрос не праздный. У Basic слишком много клонов.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder

Последний раз редактировалось Smitt&Wesson; 06.04.2011 в 13:49.
Smitt&Wesson вне форума Ответить с цитированием
Старый 06.04.2011, 13:54   #5
danbes1
 
Регистрация: 06.04.2011
Сообщений: 9
По умолчанию

Цитата:
Сообщение от Smitt&Wesson Посмотреть сообщение
К какому числу сделать?
Блок-схема нужна?
Аси пока нет, но можно обсудить по Skype.
Да и ещё. Это QUICK BASIC? На Microsoft Office не похож.
Вопрос не праздный. У Basic слишком много клонов.
ненене) блок схему не надо) да это QBasic) мне надо просто прийти к преподу и рассказать во всех подробностях что и для чего) поэтому можно делать для любого числа)
danbes1 вне форума Ответить с цитированием
Старый 06.04.2011, 13:59   #6
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

Сделаю, сколько платишь?
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder
Smitt&Wesson вне форума Ответить с цитированием
Старый 06.04.2011, 14:12   #7
danbes1
 
Регистрация: 06.04.2011
Сообщений: 9
По умолчанию

Цитата:
Сообщение от Smitt&Wesson Посмотреть сообщение
Сделаю, сколько платишь?
Последние деньги отдаю) 65 р. 54 коп. нормально будет?
danbes1 вне форума Ответить с цитированием
Старый 06.04.2011, 14:19   #8
danbes1
 
Регистрация: 06.04.2011
Сообщений: 9
По умолчанию

ну что? поможешь? а то мне както вылетать не охота с универа(((( если мало я могу потом ещё добавить! просто щас небольшие финансовые проблемы
danbes1 вне форума Ответить с цитированием
Старый 07.04.2011, 16:18   #9
danbes1
 
Регистрация: 06.04.2011
Сообщений: 9
По умолчанию

то есть как я понимаю здесь мне не помогут?
danbes1 вне форума Ответить с цитированием
Старый 07.04.2011, 17:52   #10
EniOk
Пользователь
 
Аватар для EniOk
 
Регистрация: 07.06.2009
Сообщений: 43
По умолчанию

Просто товарищи тут сидят не круглые сутки... Да и задание не всем интересное) =) помочь то рады надо договариваться...
EniOk вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Кто может помочь..... teres C++ Builder 1 18.03.2011 17:59
Может кто помочь с заданиями? fatalistika Фриланс 15 30.12.2010 08:52
Кто может помочь с программой codemasters Фриланс 2 28.11.2010 16:41
кто может помочь с задачками по Паскалю? Defa4ka Помощь студентам 22 10.05.2009 22:19