Форум программистов, компьютерный форум, киберфорум
Наши страницы
Basic
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
Skrpion
0 / 0 / 0
Регистрация: 22.10.2012
Сообщений: 5
1

С помощью программы magnetism определите силовые линии магнитиого поля круговой петли с током

22.10.2012, 23:22. Просмотров 1069. Ответов 8
Метки нет (Все метки)

Здравствуйте, помогите с решением одной программкой, есть у меня такая программка которая по задачке в ней "рассматривается круговая петля с током в плоскости x-z и рисуются силовые линии магнитного поля в плоскости x-y"

С помощью программы magnetism определите силовые линии магнитиого поля круговой петли с током


а. С помощью программы magnetism определите силовые линии магнитиого поля круговой петли с током, лежащей в плоскости х-г с центром в начале координат (см. рис. ). Мы располагаем петлю в плоскости х-г, поскольку требуется, чтобы в качестве экрана выступала плоскость х-у. Интересующие нас силовые линии лежат в плоскости, перпендикулярной плоскости витка Задайте радиус петли а равным 5 см и delta— длину прямолинейного участка магнитных силовых линий—равной 0.1 см. Имеет ли в данном случае значение величина силы тока? Опишите характер магнитных силовых линий. Поле вдали от витка называют дипольным магнитным полем, а сам виток —диполем.
б. Возможно, вы обнаружите, что, когда начинаете магнитную силовую линию вблизи витка тока, эта линия круто загибается и не образует замкнутой петли. Как должно быть на самом деле? Каким образом можно улучшить результаты для таких магнитных силовых линий?

Код:
Кликните здесь для просмотра всего текста
QBasic/QuickBASIC
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
program magnetism
    DIM x(50), y(50), z(50), dlx(50), dly(50), dlz(50)
    CALL wire(N, a, delta, x, y, z, dlx, dly, dlz)
    CALL SCREEN(a, xmax, ymax, dx, dy, r, cursor$, save$)
    CALL move(N, delta, x, y, z, dlx, dly,dlz, xmax, ymax, dx, dy, r, cursor$, save$)
END
 
SUB wire(N, a, delta, x(), y(), z(), dlx(), dly(), dlz())
INPUT prompt "radius vitka = ": a
    INPUT prompt "cislo uciastkov = ": N
    INPUT prompt "delta = ": delta
    LET delta_angle = 2*pi/N
    LET angle = 0
    LET dl = 2*pi*a/N
    FOR i = 1 TO N
        LET x(i) = a*COS(angle)
        LET y(i) = 0
        LET z(i) = a*SIN(angle)
        LET dlx(i) = -dl*SIN(angle)
        LET dly(i) = 0
        LET dlz(i) = dl*COS(angle)
        LET angle = angle + delta_angle
    NEXT i
END SUB   
 
SUB SCREEN(a, xmax, ymax, dx, dy, r, cursor$, save$)
    LET ymax = 3*a
    LET aspect_ratio = 1.5
    LET xmax = aspect_ratio*ymax
    set WINDOW -xmax, xmax, -ymax, ymax
    LET dx = 0.025*xmax
    LET dy = 0.025*ymax
    LET r = 0.01*xmax
    LET xtemp = 0.9*xmax
    LET ytemp = 0.9*ymax
    box keep xtemp-r, xtemp+r, ytemp-r, ytemp+r in save$
    box area xtemp-r, xtemp+r, ytemp-r, ytemp+r 
    box keep xtemp-r, xtemp+r, ytemp-r, ytemp+r in cursor$
    box CLEAR xtemp-r, xtemp+r, ytemp-r, ytemp+r 
    box show cursor$ at -r, -r
    box CIRCLE -a, a, -0.4, 0.4
END SUB
 
SUB move(N, delta, x, y, z, dlx, dly,dlz, xmax, ymax, dx, dy, r, cursor$, save$)
    LET xcursor = 0
    LET ycursor = 0
    DO
        LET choice = 0
        IF KEY INPUT THEN
            GET KEY choice
            LET xold = xcursor
            LET yold = ycursor
            SELECT CASE choice
            CASE 108
                IF xcursor > -xmax THEN LET xcursor = xcursor - 2*dx
            CASE 114
                IF xcursor < xmax THEN LET xcursor = xcursor + 2*dx
            CASE 117
                IF ycursor > -ymax THEN LET ycursor = ycursor + 2*dy
            CASE 100 
                IF ycursor < ymax THEN LET ycursor = ycursor - 2*dy
            CASE 112
                box show save$ at xcursor-r, ycursor-r
                CALL DRAW (N, delta, x, y, z, dlx, dly, dlz, xcursor, ycursor)
                box keep xcursor-r, xcursor+r, ycursor-r, ycursor+r in save$
            CASE ELSE
            END SELECT
            box show save$ at xold-r, yold-r
            box keep xcursor-r, xcursor+r, ycursor-r, ycursor+r in save$
            box show cursor$ at xcursor-r, ycursor-r
        END IF
    LOOP UNTIL choice = 115
END SUB
 
SUB DRAW (N, delta, x(), y(), z(), dlx(), dly(), dlz(), xcursor, ycursor)
    LET rx = xcursor
    LET ry = ycursor
    DO
        LET Bx = 0.0
        LET By = 0.0
        LET Bz = 0.0
        FOR i = 1 TO N 
            LET dx = rx - x(i)
            LET dy = ry - y(i)
            LET dz = zcursor - z(i)
            LET r = SQR(dx*dx + dy*dy + dz*dz)
            LET B0 = 1/(r*r*r)
            LET Bx = Bx + B0*(dly(i)*dz - dlz(i)*dy)
            LET By = By + B0*(dlz(i)*dx - dlx(i)*dz)
            LET Bz = Bz + B0*(dlx(i)*dy - dly(i)*dx)
        NEXT i
        LET B = SQR(Bx*Bx + By*By + Bz*Bz)
        LET rx = rx + delta*Bx/B
        LET ry = ry + delta*By/B
        LET rz = rz + delta*Bz/B
        plot rx, ry;
    LOOP UNTIL KEY INPUT
    plot
END SUB
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.10.2012, 23:22
Ответы с готовыми решениями:

Нарисовать силовые линии электрического поля
Добрый день , уважаемые форумчане! Скоро защита диплома и я как среднестатистический студент...

Силовые линии электрического поля трех зарядов (ошибка с Detect)
Программа рисует силовые линии электрического поля трех зарядов. в PascalABC.NET выдает ошибку...

Силовые линии поверхности проводника.
КАК доказать , что силовые линии перпендикулярны поверхности проводника?

Силовые линии Объясните пожалуйста
В замкнутую поверхность входят 5, а выходят 2 электрические силовые линии. Что это значит? Спасибо)

Как идут силовые линии в проводе
Здравствуйте! Подскажите, как можно решить данную задачу Каким образом расположены силовые...

8
Quiet Snow
4412 / 1309 / 377
Регистрация: 25.04.2010
Сообщений: 3,393
23.10.2012, 00:00 2
Эта прога не для QBasic\QuickBasic, очевидно.
1
Skrpion
0 / 0 / 0
Регистрация: 22.10.2012
Сообщений: 5
23.10.2012, 01:14  [ТС] 3
Цитата Сообщение от >Quiet Snow< Посмотреть сообщение
Эта прога не для QBasic\QuickBasic, очевидно.
А для чего ?
0
Dragokas
Эксперт WindowsАвтор FAQ
17065 / 7120 / 861
Регистрация: 25.12.2011
Сообщений: 10,931
Записей в блоге: 16
23.10.2012, 22:26 4
Похоже на какое-то ответвление поздних реализаций Spectrum-a...
1
23.10.2012, 22:26
Pro_grammer
Модератор
6196 / 2277 / 447
Регистрация: 24.04.2011
Сообщений: 4,048
Записей в блоге: 10
24.10.2012, 08:21 5
Цитата Сообщение от Skrpion Посмотреть сообщение
А для чего ?
Cудя по стилю написания кода и по некоторым особенностям ключевых слов это True Basic
Между прочим версия True BASIC Gold Edition v.6 стоит целых $499
( Spectrum целиком стоил около $100 !)
1
Skrpion
0 / 0 / 0
Регистрация: 22.10.2012
Сообщений: 5
24.10.2012, 11:51  [ТС] 6
Мда, все таки есть шанс откомпилировать это прогу или нет ?
0
Pro_grammer
Модератор
6196 / 2277 / 447
Регистрация: 24.04.2011
Сообщений: 4,048
Записей в блоге: 10
24.10.2012, 12:06 7
Там есть демка бесплатная, наверно можно запустить код на ней? Попытайтесь.
0
Quiet Snow
4412 / 1309 / 377
Регистрация: 25.04.2010
Сообщений: 3,393
24.10.2012, 12:23 8

Не по теме:

фига себе вы нашли)))


Между прочим версия True BASIC Gold Edition v.6 стоит целых $499
Что же это за бейсик такой навороченный? Если пюр стоит 80, а этот 500, то он
по идее должен сам за вас прогу писать, типа сказал в микрофон, надо то и сё,
пошёл за чаем, вернулся - прога готова ...
0
Skrpion
0 / 0 / 0
Регистрация: 22.10.2012
Сообщений: 5
24.10.2012, 16:47  [ТС] 9
Цитата Сообщение от Pro_grammer Посмотреть сообщение
Там есть демка бесплатная, наверно можно запустить код на ней? Попытайтесь.
Пробовал, но вот что мне выдает при компилирование:
С помощью программы magnetism определите силовые линии магнитиого поля круговой петли с током


нашел в инете похожий на мою прогу код: http://sip.clarku.edu/programs/chapter10/magnetism
но и тут выдает ошибку
С помощью программы magnetism определите силовые линии магнитиого поля круговой петли с током


без той библиотеки выдает
С помощью программы magnetism определите силовые линии магнитиого поля круговой петли с током
0
24.10.2012, 16:47
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.10.2012, 16:47

Магнитное поле и его силовые линии
Магнитное поле (постоянного магнита или соленоида или катушки с сердечником) имеет силовые линии...

Длина петли линии
1)Вычислить длину петли линии x=t^3-3t и y=3(t^2+1) Вроде бы решила, но хотелось бы узнать, почему...

По заданной матрице смежности неориентированного графа определите, содержит ли он петли?
По заданной матрице смежности неориентированного графа определите, содержит ли он петли. сделал...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru