суббота, 9 февраля 2013 г.

системы линейных дифференциальных уравнений с нач

2,28 Mb.страница8/12Дата конвертации04.03.2012Размер2,28 Mb.Тип ... Смотрите также:             8         ^ Организация подпрограмм Язык QBasic в отличии от традиционных версий Basic-a имеет развитый аппарат описания подпрограмм и функций с параметрами, что позволяет создавать в нем сложные модульные программы подобно языкам Pascal, Ada, Modula, С и т.п. ^ Основная часть программы имеет следующий вид: end Подпрограммы в языке QBasic могут быть двух типов без параметров и с параметрами. Аппарат подпрограмм без параметров построен на следующих правилах вызова подпрограмм и их описания: вызов подпрограмм без параметров: gosub описание подпрограммы без параметров: : где идентификатор длиной до 40 символов return Недостатком подпрограмм без параметров в языке Basic является то, что в них все переменные глобальные. Это означает, что любая переменная доступна из любой подпрограммы я может быть в ней изменена с соответствующими последствиями. В подпрограммах с параметрами в языке QBasic все переменные считаются локальными. Поэтому, одно и то же имя (например, n), используемые в нескольких подпрограммах, означает совершенно разные переменные, если они не используются в качестве параметров или аргументов при вызове подпрограмм. Аппарат подпрограмм с параметрами в языке QBasic строится на описании вызова подпрограмм с параметрами, операторах вызова подпрограмм с фактическим параметрами и собственно описании подпрограмм с [формальными] параметрами: описание вызова подпрограммы с параметрами: declare sub (, , ) где , ... , имена параметров с указанием типов их значений. вызов подпрограммы с параметрами: call (, , ) где, ... , фактические аргументы: конкретные значения, выражения или имена переменных, используемых в данной программе. При вызове подпрограмм обязательно совпадение типов значений формальных параметров и фактических аргументов обращений к подпрограммам. Контроль за соответствием фактических аргументов и формальных параметров система QBasic проводит автоматически сравнением этих описаний. В силу этих причин описание вызова подпрограмм должно включаться в начале программы. описание подпрограмм с параметрами: sub (,.) end sub Аппарат функций в языке QBasic основан на тех же принципах описания и проверки формальных и фактических параметров. описания вызова функций с параметрами: declare function (,) обращение к функции с параметрами: х = (, ) описание функции с параметрами: function (, ) = end function Пример программы на языке QBasic с подпрограммами и функцией с параметрами, обеспечивающих вывод графика математической функции на экран ЭВМ с выводом изображения осей. ^ DECLARE FUNCTION f! (х!) DECLARE SUB osi (a!, b!, c!, d!) DECLARE SUB grafic (n!, a!, b!, c!, d!) 'график функцииCLS xm = 620: ym = 320^ SCREEN 9,0 LINE (0, 0)-(xm, ym), 4, Ва = -10: b=5с= -5: d = 5CALL osi(a, b, с, d)n = 100 CALL grafic(n, a, b, c, d)ENDFUNCTION f (x) f=SIN(x) END FUNCTIONSUB grafic(n. a, b, c, d) xm = 620: ym = 320 dx = xm / (b-a) dy = ym / (d-c) h = (b-a) / n FOR k = 1 TO n x = a+(k-1)*h y = f(x) xg = (x-a)*dx yg = (y-c)*dy PSET(xg, ym-yg), 13 NEXT k END SUBSUB osi (a, b, c, d) xm = 620: ym = 320 IF a = b THEN x0 = xm*(-a) / (b-a) LINE (x0, 0)-(x0, ym), 15 END IF IF c = d THEN y0 = ym-ym*(-c) / (d-c) LINE (0, y0)-(xm, y0), 15 END IF END SUB алг "график функции" нач очистка_экранахт = 620: ут = 320графический_экранрамка (0,0)-(хт, ут)a = -10: Ь = 10c = -5: d = 5оси(а, Ь, с, d)п = 100 график (n, a, h, с, d) ENDалг "у = f(x)" нач f= sin(x) коналг "графика (n, a, b, с, d)" xm = 620: ym = 320 dx = xm / (b-a) dy = ym / (d- c) h = (b-a) / n от k = 1 до n x = a+(k-l)*h y = f(x) xg = (x-a)*dx yg = (y-c)*dy точка (xg, ym-yg) кцикл коналг "оси (а, b, с, d)" xm = 620: ym = 320

И вычислительной техники из опыта работы в 8, 9, 10, 11 классах

Организация подпрограмм - И вычислительной техники из опыта работы в 8, 9, 10, 11 классах

Комментариев нет:

Отправить комментарий