+ Ответить в теме
Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10, из 18.

Тема: Задача N - хз

  1. #1
    Редкае Жывотнае
    А я - не тру!
    Аватар для Fessaer
    Регистрация
    11.12.2005
    Сообщения
    4,226

    По умолчанию Задача N - хз

    Есть две интересные задачи на создание алгоритмов.

    1. Стандартный алгоритм перемены двух переменных Х и У местами состоит из

    а) Z=X
    b) X=Y
    C) Y=Z

    Грубо говоря он меняет местами значения Y и X с помощью вспомогательной переменной Z. Пример:

    X=1 Y=2

    a)Z=X (Z=1)
    b)X=Y (X=2)
    c)Y=Z (Y=1)

    результат: X=2 Y=1

    Первая задача состоит в том, чтобы составить алгоритм перемены значений двух переменных БЕЗ использования вспомогательных переменных.

    2. Имеется функция MAX(), которая получает 3 числа и возвращает значение наибольшего из них. Пример:

    MAX(1,2,3) = 3 MAX(5,8,8) = 8

    Требуется составить алгоритм, который найдет из трех чисел a,b,c МИНИМАЛЬНОЕ, используя только вспомогательные переменные, математические операции и функцию MAX() и не сравнивая числа друг с другом (перевожу для программеров - "If(...) ... Else ..." и подобные вещи использовать нельзя).



    Вопросы по поводу принципов составления алгоритмов мона задавать в личку.



    З.Ы. Алгоритм функции MAX(a,b,c):

    1) if (a>b) maximum=a
    1.1) else maximum=b
    2) if (c>MAX) maximum=c
    3) return maximum

    Алгоритм сравнивает a и b и присваивает значение большего из них
    переменной maximum, затем проверяет, если с больше значения этой переменной, то присваивает ей значение с, если же нет, то оставляет ее без изменений.

    Для примера возьмем числа 1, 2 и 3 :

    1) 2 больше 1, значит maximum=2
    2) 3 больше maximum, значит maximum=3
    Последний раз редактировалось Fessaer, 19.12.2008 в 16:14

  2. #2
    Почётный флудераст
    Я тру!
    Аватар для ILS
    Регистрация
    16.02.2006
    Сообщения
    12,011

    По умолчанию

    Проверь личку

  3. #3

  4. #4
    Редкае Жывотнае
    А я - не тру!
    Аватар для Fessaer
    Регистрация
    11.12.2005
    Сообщения
    4,226

    По умолчанию

    ILS, решение верное, решению второй задачи даже приятель программер поапплодировал. У меня лично немного длиннее получилось, хотя немного проще для проверки.

    Masha, вторая решена, правда с некоторыми неточностями, насчет первой выслал обьяснение.

  5. #5
    Почётный флудераст
    Я тру!
    Аватар для ILS
    Регистрация
    16.02.2006
    Сообщения
    12,011

    По умолчанию

    Fessaer, я учил программирование, хотя такие задачи передо мной в ходе обучения не ставили

  6. #6
    Редкае Жывотнае
    А я - не тру!
    Аватар для Fessaer
    Регистрация
    11.12.2005
    Сообщения
    4,226

    По умолчанию

    Merlin, решил обе. Оба решения аналогичны решениям Илса.

  7. #7

    По умолчанию

    А к какому полю принадлежать числа во второй задаче? Целые, положительные, реальные?
    Плебейство заразно

  8. #8
    Ryzhaya
    Guest

    По умолчанию

    Кинула свои варианты в личку.

  9. #9
    Ryzhaya
    Guest

    По умолчанию

    sirUjin,
    По традиции, если не указано иное, числа считаются целыми обычной длины, то есть Int32.

  10. #10

    По умолчанию

    Если числа могут быть отрицательными, решение будет совсем другое.
    А традиции... Смотря где традиции. Для програмистов на Матлабе, по традиции по умолчанию используется Double
    Плебейство заразно

+ Ответить в теме
Страница 1 из 2 12 ПоследняяПоследняя

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Ваши права в разделе

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts