Вопрос о прорамме, рисования графиков

Тема в разделе "Университет", создана пользователем Лаврик_Дмитрий, 17 ноя 2008.

  1. TopicStarter Overlay

    Лаврик_Дмитрий Заслуженный

    • Заслуженный
    • Участник
    Рег.:
    15.02.2008
    Сообщения:
    486
    Симпатии:
    6
    Репутация:
    0
    Оффлайн
    Разумеется в любом учебнике по информатике есть несколько типов программ, которые позволяют увидеть наглядное построение графика зависимости X от Y. Вот, например, подредактированный код из среды Visual Basic 6.0.
    Dim X As Single, Y As Integer
    Private Sub Command1_Click()
    Picture1.Scale (-10, 10)-(10, -10)
    For X = -10 To 10 Step 0.001
    Picture1.PSet (X, Y)
    Next X
    Picture1.Line (-10, 0)-(10, 0)
    For Y = -10 To 10
    Picture1.PSet (Y, 0)
    Picture1.Print Y
    Next Y
    Picture1.Line (0, 10)-(0, -10)
    For Y = -10 To 10
    Picture1.PSet (O, Y)
    Picture1.Print Y
    Next Y
    То есть на Picture1 отображается график 10 на 10. Однако, программа очень неудобная. При данном коде будет просто пустые линии координат. А чтобы компьютер показывал зависимость надо менять в пятой строке кода (Picture1.PSet (X, Y)) Y на допустим X^3, или, например, X^2+Tan(X) .
    Программа наипростейшая и... очень-очень неудобная. Это ж постоянно надо выходить из запуска, лезть в код, менять, а потом снова заходить. Я пытался добовлять текстовое окно и код Y=Val(Text1.Text) но тогда Y не воспринимался.
    К уважаемым програмистам форума вопрос: "Что добавить, чтобы программа стала удобнее?" То есть, чтобы в графе "Y=" пишешь связь с X и автоматом рисует.
  2. evgeny Ветеран

    • Ветеран
    Рег.:
    30.09.2006
    Сообщения:
    5.028
    Симпатии:
    6
    Репутация:
    0
    Оффлайн
    А я обычно пользуюсь MATLAB-ом. Любой график можно построить при желании.
  3. gambler Учаcтник

    • Участник
    Рег.:
    09.10.2006
    Сообщения:
    720
    Симпатии:
    16
    Репутация:
    1
    Оффлайн
    Попробуйте использовать функцию EbExecuteLine
  4. Vladimirovich Консультант

    • Ветеран
    Рег.:
    27.09.2006
    Сообщения:
    5.669
    Симпатии:
    226
    Репутация:
    17
    Адрес:
    https://quantoforum.ru/
    Оффлайн
    Y сделать FUNCTION
    (Это если очень тупо)
  5. TopicStarter Overlay

    Лаврик_Дмитрий Заслуженный

    • Заслуженный
    • Участник
    Рег.:
    15.02.2008
    Сообщения:
    486
    Симпатии:
    6
    Репутация:
    0
    Оффлайн
    Мда... Опять ничего не получилось. Всё-таки язык Visial Basik очень специфичен, да и сама программа слабовата. Выяснилось, что она может воспринимать только целую степень... Где это видано, где это слыхано....
    Что касается рисования графиков- ничего не получается. Видимо, данная система кода просто рисует Y="HZ" X :), без способности его восприятия в текстовом поле. Если что-то менять, то в корне.
  6. gambler Учаcтник

    • Участник
    Рег.:
    09.10.2006
    Сообщения:
    720
    Симпатии:
    16
    Репутация:
    1
    Оффлайн
    Где это видано? Дробные степени должны прекрасно восприниматься...
    Вы смотрели функцию EbExecuteLine? (в яндексе)
    Заменяем 5 строчку в Вашем коде..
    stringValue = "Picture1.PSet (X,"& Text1.Text &")"
    EbExecuteLine(StrPtr(stringValue), 0&, 0&, 1)
    —-
    Дмитрий, главное не отчаивайтесь! Ищите о обрящите! Лучше, конечно, на специализированных форумах..
    Или воспользуйтесь MATLAB-ом :)
  7. TopicStarter Overlay

    Лаврик_Дмитрий Заслуженный

    • Заслуженный
    • Участник
    Рег.:
    15.02.2008
    Сообщения:
    486
    Симпатии:
    6
    Репутация:
    0
    Оффлайн
    Большое спасибо за помощь! Однако EbExecuteLine(StrPtr(stringValue), 0&, 0&, 1) выделяется красным цветом. Поищу ещё в яндексе.
    А на счёт возведения в степень всё очень туманно: пробовал писать и X^0.5, и X^(0.5), и X^(1/2).
    Зато, неожиданно для себя, составил возведение в степень в восьмеричной и шестнадцатеричной системах.
  8. gambler Учаcтник

    • Участник
    Рег.:
    09.10.2006
    Сообщения:
    720
    Симпатии:
    16
    Репутация:
    1
    Оффлайн
    Чтоб немного облегчить Ваши страдания, вот более-менее информативная ссылка
    http://ru.infocom.uz/more.php?id=131_0_1_0_M
  9. romus33 Роман

    • Заслуженный
    Рег.:
    10.05.2007
    Сообщения:
    656
    Симпатии:
    0
    Репутация:
    0
    Адрес:
    Иркутск
    Оффлайн
    А если возводить в степень через формулу с логарифмом
  10. TopicStarter Overlay

    Лаврик_Дмитрий Заслуженный

    • Заслуженный
    • Участник
    Рег.:
    15.02.2008
    Сообщения:
    486
    Симпатии:
    6
    Репутация:
    0
    Оффлайн
    Проблема в том, что мы ещё не проходили тонкости логарифма. То бишь я отдельно от школы изучал подобное, но в свойства особо не вникал. Попробую... Ведь функцию "Ебл Х" по прежнему выделяет красным.
  11. TopicStarter Overlay

    Лаврик_Дмитрий Заслуженный

    • Заслуженный
    • Участник
    Рег.:
    15.02.2008
    Сообщения:
    486
    Симпатии:
    6
    Репутация:
    0
    Оффлайн

Поделиться этой страницей