Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Пример 10




Пример 9.

FOR X% = -5 TO 5 STEP 1

Y% = X% * X%

PRINT TAB(Y%); "*"; Y%

NEXT X%

STOP

В результате выполнения этой программы получим график (рисунок 3).

Рис. 3

Модифицируем программу так, чтобы на экране вычерчивались также оси абсцисс и ординат. Для этого добавим еще один член в список вывода оператора PRINT, с тем, чтобы на каждой строке в первой позиции печатался символ «!» (из этих символов и будет состоять ось абсцисс). Ось ординат начертим символами – «-», которые должны для этого быть выведены во всю строку при x=0.

Программа на бейсике для решения этой задачи имеет вид:

FOR x% = -5 TO 5 STEP 1

IF x% = 0 THEN

PRINT "*";

FOR I = 1 TO 30

PRINT "-";

NEXT I

END IF

PRINT "I"; TAB(x% * x%); "*"

NEXT x%

При выполнении такой программы получим график, изображенный на рис. 4

Рис. 4

При составлении программы для получения графика функции нужно иметь в виду, что аргумент функции TAB может изменяться в диапазоне от 0 до 80 и, следовательно, если значения функции y=f(x) лежат вне этого диапазона или изменяются незначительно для отдельных точек графика, то следует вводить масштаб и сдвиг. Масштаб выбирается, исходя из тех соображений, чтобы минимальное и максимальное значения функции изображались точками, отстоящими друг от друга не более чем на ширину экрана. Сдвиг выбирается так, чтобы минимальное значение выводилось не менее чем в 0-ю позицию.

Если ymax и ymin – максимальное и минимальное значения функции y=f(x) при изменении x в заданных пределах, то масштаб M и сдвиг S можно определить, используя соотношения

Mymax+S=Amax ,

Mymin+S=Amin,

Где Amax и Amin – максимальное и минимальное значения аргумента функции TAB (выбираются в пределах от 0 до 71).

Аргумент функции TAB задается далее выражением S+Mf(x).

Пример 11:

Построить график функции y=sin x в интервале от 0 до 2π с шагом π/8 с вычерчиванием оси абсцисс.

Значения функции sin x изменяются в пределах от –1 до 1, и значения масштаба и сдвига можно, следовательно, определить из соотношений

M+S=50,

-M+S=0

(график будет располагаться между 0-й и 50-й позициями экрана).

Отсюда M=25, S=25.

При вычерчивании оси абсцисс нужно иметь в виду, что в первом полупериоде символ, изображающий ось абсцисс (!), должен печататься до символа, изображающего функцию, во втором – наоборот. Если же функция равна 0, т. е. Пересекает в этой точке ось абсцисс, то в эту позицию должен выводиться только один символ (*). Поэтому в программе должны быть три различных оператора PRINT.

Пояснения к программе. В программе использованы вспомогательные переменные P и H, чтобы не вычислять многократно одни и те же выражения.

Проверка P на совпадение с нулем осуществляется с точностью 2*10-3. Точное равенство нулю значения sin x практически никогда не достигается, так как вычисление sin x в ЭВМ осуществляется приближенно суммированием ряда.

Программа на бейсике:

H = 3.14 / 8

FOR X = 0 TO 2 * 3.14 STEP H

P = 25 * SIN(X)

IF ABS(P) <=.002 THEN

PRINT TAB(25); "*"

END IF

IF P > 0 THEN

PRINT TAB(25); "I"; TAB(P + 25); "*"

END IF

PRINT TAB(P + 25); "*"; TAB(25); "I"

NEXT X

Результат выполнения программы представлен на рис.5

*

! *

! *

! *

! *

! *

! *

! *

*

*!

*!

*!

*!

*!

*!

*!

*

Рис. 5

Для выполнения лабораторной работы студент получает вариант задания у преподавателя.

Отчет по работе должен содержать:

1. Математическую постановку задачи

2. Блок-схему алгоритма

3. Программу на языке QBASIC

4. Результаты выполнения программы

5. Результат выполнения задачи с использованием ППП EUREKA

6. Анализ полученных результатов

Варианты заданий для самостоятельной работы:

Табулирование функций, нахождение максимума и минимума

 

Nп/п Функция Начальное х Конечное х Шаг по х
1. Y=sinx + |x| + 2x 0.5 3.5 0.5
2. Y=sinx1/2 + ex - 3     0.1
3. Y=2x + sin2x – x1/2     0.1
4. Y=x3 + x1/2 + 3 ex     0.1
5. Y=arctgx2 + x - 3     0.2
6. Y=x1/2 + cosx - 3     0.1
7. Y=lnx2 + x2 + 2     0.1
8. Y=cosx2 + sin2x + 2     0.5
9. Y=cosx + lnx + ex     0.2
10. Y=ex +|x| + x2     0.1
11. Y=x3 + ln|x| - 3     0.2
12. Y=arctgx + x1/2 + 2     0.3
13. Y=x5 + 2x2 - 3     0.2
14. Y=x1/2 + 3|x| + x2     0.1
15. Y= cos2x + lnx + 2     0.1
16. Y= x3 + 2ln|x| + 3     0.2
17. Y=sin2x + x3 + |x|     0.2
18. Y=arctgx2 – 3 + 2x     0.3
19. Y=sin3x + 3x2 + 3     0.4
20. Y=arctg x3 + 2sinx - 3     0.2
21. Y=lnx3 + 2cosx - 2     0.4
22. Y=x5 + 3arctgx2 + 2 2.5 3.5 0.1
23. Y= x3 + 3sin2x - 3 1.5 2.5 0.1
24. Y=arctgx + 2sinx - 2     0.2
25. Y=sin2x + 2cosx + 3     0.2
26. Y=x5 + x1/2 - 3     0.2
27. Y= x8 + 5x2 - 5     0.2
28. Y=sin|x| + cos2x     0.1
29. Y=x1/3 + x3 - 3     0.1
30. Y = sin x2 +cos x2 – lnx     0.1
31. Y = arctg x + 2     0.3
32. Y = sin x2 + 5     0.2
33. Y =cos x + x1/5     0.1
34. Y = ln |x| + 2     0.2
35. Y=(cos|x| + 2x)/(x5 + 5)     0.3

 




Поделиться с друзьями:


Дата добавления: 2014-11-16; Просмотров: 526; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.023 сек.