Форум программистов, компьютерный форум, киберфорум
Assembler: математика, вычисления
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.92/13: Рейтинг темы: голосов - 13, средняя оценка - 4.92
Идеи становятся силой...
121 / 121 / 64
Регистрация: 08.12.2009
Сообщений: 445
1
TASM

График функции y=x/cos(x)

02.06.2011, 22:39. Показов 2730. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброе время суток, разработать программу вычисления значений функций согласно варианту и вывод на экран их графиков. Вывести оси координат. Аргументы тригонометрических функций задавать в радианах:
y=x/cos(x)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.06.2011, 22:39
Ответы с готовыми решениями:

Где здесь ошибка, заранее спасибо. Условие:Вычислить значение суммы cos(x)+cos(cos(x)+.+cos(cos(.cos(x).) n раз
Sub max3() Dim s As Double Dim n, i, t, j As Integer n = Cells(1, 1) x = Cells(1, 2) s = 0 t...

Вывести график функции e^-cos(3x)
Вывести график функции e^-cos(3x)

График функции y = sin x / cos x
Доброго времени суток. В mulisp под DOS необходимо нарисовать график функции y = sin x / cos x в...

Построить график функции y=cos(x+3)
Задание на TB, need help pls построить график функции y=cos(x+3) Заранее спасибо

1
Идеи становятся силой...
121 / 121 / 64
Регистрация: 08.12.2009
Сообщений: 445
09.06.2011, 10:20  [ТС] 2
Assembler
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
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
.386
assume  ds:data, cs:code
data segment use16
min_x       dq     -7.36            ; дійсне мінімальне значення по осі х
max_x       dq      7.36            ; дійсне максимальне значення по осі х
max_crt_x   dw      320         ; максимальна кількість точок                                     
                                    ;на екрані по осі х
crt_x       dw   0          ; екранна координата по осі х ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
scale_x     dq   ?              ; масштаб по осі х
;y
min_y       dq  -4.6
max_y       dq  4.6
max_crt_y   dw   200
crt_y       dw   0  ;;;;;;;;;;;; ;;;;;;;;;;;; ;;;;;;;;;;;; ;;;;;;;;;;;;
scale_y     dq   ?
 
tmp dq ?
data ends
 
code segment use16
start:
    mov ax, data
    mov ds, ax
    finit  ;Инициализируем сопроцессор
 
;;;;;;;;;;;;;;;;
scale       macro   p1
; обчислення масштабного коефіцієнта по осі p1 
; наприклад, для осі х: (max_x - min_x) / max_crt_x
; top=0
fld         max_&p1         ; st0=max_&p1; top=7
fsub        min_&p1         ; st0=max_&p1 - min_&p1; ;top=7
fild    max_crt_&p1         ; st0=max_crt_&p1, st1=max_&p1-min_&p1; top=6
fdivp   st (1), st (0)      ; 1-й крок st1=st1/st0
                            ; 2-й крок st1 стає st0; top=7
                            ; і містить масштаб
fstp        scale_&p1             ; top=0
endm
;;;;;;;;;;;;;;;;    
    
 
;задаём граф режим
    mov     ax, 13h
    int     10h
;заносимо початкову адресу відеосторінки в ES
    mov ax, 0a000h
    mov es, ax
; coordinates
    mov      cx,200
    mov      bx,160
Y:
   mov      byte ptr es:[bx],2
   add      bx,320
   loop     Y
 
   mov      cx,320
   mov      ax,320
   mov      bx,100
   mul      bx
   mov      bx,ax
X:
   mov      byte ptr  es:[bx],2
   add      bx,1
   loop     X
 
;Макрокоманди доцільно задати поза циклом обчислення функцій.
scale       x
scale       y
 
;цикл
loop1:
; перетворення екранної координати в дійсну. ; top=0
fld         scale_x     ; st0 - масштаб
fild        crt_x           ; st0=crt_x, st1-масштаб ;top=6
fmulp   st (1), st (0)      ; top=7
fadd        min_x       ; st0 - реальне зн. Х; top=7
 
;.................
;function y=x/cosx;
fst tmp
 
fld tmp
fcos
fdivp
;.................
 
; контроль діапазону (top не змінюється)
fcom        min_y;  порівняння ST (0) та min_y
fstsw       ax; результат порівняння в ax
sahf                ; результат порівняння 
;ST (0) та min_y в регістр Flags
jc      @minus      ; st0 < min_y
; поза видимим діапазоном
; по @minus забезпечити top=0 і
; crt_y=max_crt_y
fcom        max_y       ; порівняння ST (0) та max_y
fstsw       ax
sahf
ja      @plus       ; st0 > max_y (zf=cf=0)
; поза видимим діапазоном
; по @plus - забезпечити top=0
; і встановити crt_y=0
 
fsub        min_y
fdiv        scale_y
frndint             ; округлення до цілого
fistp        crt_y          ; TOP=0!!!
mov         ax,max_crt_y
sub         ax,crt_y
mov         crt_y,ax        ; дзеркальне відображення
;вивід на екран
print:
    mov cx, crt_x   ;x
    mov si, crt_y   ;y
;ax = повне зміщення відповідного байта в графічній відеопам’яті 
    mov     ax, 320
    mul     si
    add     ax, cx
;регістрі es міститься сегментна адреса відеосторінки, а в регістрі dl знаходиться код кольору точки
    mov     bx,ax
    mov     byte ptr es:[bx], 13
    jmp continue
;.....................
@minus:
    fstp    ; TOP=0!!!
    jmp continue
@plus:
    fstp    ; TOP=0!!!
;;;;;;;;;;
continue:
    add crt_x, 1 ; крок 
    cmp crt_x, 320
    jne loop1
    
end_loop1:
 
;-  Обчислення масштабних коефіцієнтів по осі "х" і "у"
;-  Перерахунок екранної координати "х" у дійсне значення координати
;-  Обчислення значення функції по значенню аргументу, одержаного на попередньому кроці.
;-  Перерахунок значення функції в екранну координату "у"
;-  Виведення точки на екран згідно з п. 1.1.
    mov ah,01h
    int 21h
    mov ax,3
    int 10h
    mov ax,4c00h   
    int 21h   
code ends
end start
0
09.06.2011, 10:20
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.06.2011, 10:20
Помогаю со студенческими работами здесь

График функции y=x*(arccos(cos(5x)-pi/2)
Здраствуйте! Порядок выполнения: 1. Очистить экран монитора и при необходимости установить...

Построить график функции cos(x)^2
Построить график функции y=cos^2(x) соблюдая условия рис. 1

Построить график функции y=cos(x-1)+|x|
y=cos(x-1)+|x|.

Посторить график функции cos (x)
Вот такая проблемка неполучаеться посторить график простенькой функции cos(x) (сделать надо в...

Построить график функции y=a*cos(x)+b
Компьютер строит график функции y=a*cos(x)+b. Переменные a, b задает пользователь.

График функции (x+sin(x))/(1+cos(x))
Здравствуйте. Помогите пожалуйста в написании программы построения графика. функция...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru