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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.12.2022, 03:00   #1
GRAND_FORD
Новичок
Джуниор
 
Регистрация: 22.12.2022
Сообщений: 1
По умолчанию Пожалуйста помогите с Turbo Basic

Доброй ночи. Пожалуйста помогите, уже две недели ломаю голову над заданием. Нужно построить четыре графика на двух из них а именно Z(X) и Z(Y) не появляются координатные оси соответственно X и Y. Ничего не помогает. Отдельный код для Z(X).
CLS
n=5000
x=0
kx=4*3.14
dx=kx/n
DIM z(n),x(n)
FOR i=1 TO n
z(i)=3*COS(0.2*dx*(i-1))+0.5*dx*(i-1)
x(i)=x
x=x+dx
NEXT i
maxz=z(1)
maxx=x(1)
minz=z(1)
minx=x(1)
FOR i=2 TO n
IF x(i)>maxx THEN maxx=x(i)
IF z(i)>maxz THEN maxz=z(i)
IF x(i)<mixx THEN minx=x(i)
IF z(i)<minz THEN minz=z(i)
NEXT i
print "maxx=";maxx
print "minx=";minx
print "maxz=";maxz
print "minz=";minz
input o
SCREEN 2
VIEW (4,4)-(636,196),,1
VIEW (8,8)-(632,192)
WINDOW (minx,minz)-(maxx,maxz)
FOR i=1 TO n
PSET (x(i),z(i))
NEXT i
LINE (0,maxz)-(0,minz)
LINE (minx,0)-(maxx,0)
GRAND_FORD вне форума Ответить с цитированием
Старый 22.12.2022, 07:37   #2
сфинкс
Форумчанин
 
Аватар для сфинкс
 
Регистрация: 17.06.2012
Сообщений: 957
По умолчанию

Проверено в qb64

Опечатка в строке
IF x(i)<mixx THEN minx=x(i)
ведь minx должно быть оба раза
и надеюсь правильно считает минимаксы

У меня оси появились если в конце программы
Line (minx, minz)-(maxx, minz)

Видимость повышается вводя поля например 0.1
Window (minx - 0.1, minz - 0.1)-(maxx + 0.1, maxz + 0.1)

В целом задача непонятная и пишу что выяснил
и особо неясно почему программа строит 1 график
Случайные и Массивы https://programmersforum.ru/showthread.php?t=344371 Учим C# & basic & excel & python https://programmersforum.ru/showthre...=327446&page=5 ничего нерекомендую
сфинкс вне форума Ответить с цитированием
Старый 22.12.2022, 10:19   #3
FPaul
Форумчанин
 
Регистрация: 25.01.2015
Сообщений: 472
По умолчанию

Когда-то, лет 30 назад делал на TB построение графика функций так
Код:
  DEF FNY (x) = 3*cos(0.2*x)+0.5*x 'Функция
  Xmin = 0  'Мин. и макс. значение
  Xmax = 4*3.14159265   'аргумента X
  N = 100    'Число выводимых точек
  delX = (Xmax - Xmin) / N
  Xsmax = 640 'Размеры экрана по горизонтали
  Ysmax = 200 'и по вертикали
'Для надписей на экране отступить
  delXs = 32   'по горизонтали
  delYs = 32   'и по вертикали
'Нахождение мин. и макс. значений
'функции для масштабирования графика
  Ymin = FNY(Xmin)
  Ymax = Ymin
  FOR x = Xmin TO Xmax STEP delX
    Y = FNY(x)
    IF Y < Ymin THEN Ymin = Y
    IF Y > Ymax THEN Ymax = Y
  NEXT x
'Размеры (число точек) графика
  Rx = Xsmax - 2 * delXs
  Ry = Ysmax - 2 * delYs

  Y = INT(Ymin)
  IF Y > Ymin THEN Ymin = Y - 1 ELSE Ymin = Y
  Ymax = INT(Ymax) + 1
'Масштаб графика
  Mx = Rx / (Xmax - Xmin)'по горизонтали
  My = Ry / (Ymax - Ymin)'и по вертикали
  SCREEN 2
  FOR i = 0 TO 10    'Построение сетки
    LINE (delXs, delYs + i * Ry / 10)-(delXs + Rx, delYs + i * Ry / 10)
    LINE (delXs + i * Rx / 10, delYs)-(delXs + i * Rx / 10, Ry + delYs)
  NEXT i
  LOCATE 13, 1: PRINT "Y"
  LOCATE 23, 40: PRINT "X"
  LOCATE 23, 3: PRINT using "###.#"; Xmin
  LOCATE 23, 75: PRINT using "###.#"; Xmax
  LOCATE 22, 1: PRINT using "##.#"; Ymin
  LOCATE 5, 1: PRINT using "##.#"; Ymax
'Построение графика
  Xg = delXs
  Yg = delYs + My * (Ymax - FNY(Xmin))
  LINE (Xg, Yg)-(Xg, Yg)
  FOR x = Xmin TO Xmax STEP delX
    Y = FNY(x)
    Xg = delXs + Mx * (x - Xmin)
    Yg = delYs + My * (Ymax - Y)
    LINE -(Xg, Yg)
  NEXT x

'Ожидание нажатия любой клавиши
waiting:
  IF INKEY$ = "" THEN GOTO waiting

END   'КОНЕЦ ПРОГРАММЫ
Тут масштабирование графика под размеры экрана - основное отличие от программы топикстартера.
Можно переделать под сохранение в массив и построение из массива. Но это оставлю ученику.
FPaul вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите пожалуйста (BASIC) LINNNNNN Помощь студентам 2 11.11.2020 09:25
Помогите написать программу в Turbo Basic Vanek112 Помощь студентам 2 24.12.2013 16:37
Помогите решить в Turbo Basic Almes Помощь студентам 0 21.12.2013 21:34
Помогите пожалуйста (BASIC 256) pahom4ik8 Помощь студентам 1 30.09.2013 20:48