Головна сторінка Випадкова сторінка КАТЕГОРІЇ: АвтомобіліБіологіяБудівництвоВідпочинок і туризмГеографіяДім і садЕкологіяЕкономікаЕлектронікаІноземні мовиІнформатикаІншеІсторіяКультураЛітератураМатематикаМедицинаМеталлургіяМеханікаОсвітаОхорона праціПедагогікаПолітикаПравоПсихологіяРелігіяСоціологіяСпортФізикаФілософіяФінансиХімія |
Запам’ятовування та його різновидиДата добавления: 2015-03-11; просмотров: 589
type(xycoord) xy
Производный тип (структура) wxycoord. содержит координаты (x,y) окна и определена как:
TYPE wxycoord REAL(8) wx ! x window coordinate REAL(8) wy ! y window coordinate END TYPE wxycoord Графическая функция MOVETO перемещает текущую графическую позицию в заданную точку видеопорта с координатами (x, y). Графическая функция MOVETO_W перемещает текущую графическую позицию в заданную точку окна с координатами (wx, wy). При этом рисования не происходит. Функции MOVETO и MOVETO_W присваивает координаты предыдущей позиции переменным t и wt, соответственно.
CALL MOVETO (x, y, t) CALL MOVETO_W (wx, wy, wt)
· x, y - (Input) INTEGER(2). Координаты новой графической позиции в системе координат видеопорта; · t - (Output) производный тип xycoord. Координаты предыдущей графической позиции в системе координат видеопорта; · wx, wy - (Input) REAL(8). Координаты новой графической позиции в системе координат окна; · wt - (Output) производный тип wxycoord. Координаты предыдущей графической позиции в системе координат окна.
Графическая функция рисует линию из текущей графической позиции в заданную конечную точку включительно. Линия рисуется текущим цветом (устанавливается с помощью SETCOLORRGB), в логическом режиме вывода (устанавливается SETWRITEMODE) и стилем (устанавливается SETLINESTYLE). Если не возникает ошибок, LINETO устанавливает текущую графическую позицию в точку видеопорта (x, y), а LINETO_W устанавливает текущую графическую позицию в точку окна (wx, wy). result = LINETO (x, y) result = LINETO_W (wx, wy)
x, y - (Input) INTEGER(2). Конечная точка видеопорта; wx, wy - (Input) REAL(8). Конечная точка окна; result - INTEGER(2). Результат имеет ненулевое значение, если успешно завершена функция, иначе 0.
Графическая функция SETPIXEL устанавливает заданный пиксел в текущий цвет, который устанавливается SETCOLOR и может быть получен с помощью GETCOLOR. Не RGB цветовые функции (такие как SETCOLOR and SETPIXELS) используют индексы цвета вместо реальных значений цвета.
result = SETPIXEL (x, y) result = SETPIXEL_W (wx, wy)
x, y - (Input) INTEGER(2). Координаты заданного пиксела в системе координат видеопорта; wx, wy - (Input) REAL(8). Координаты заданного пиксела в системе координат окна; result - INTEGER(2). Результатом является предыдущий цвет заданного пиксела, если функция успешна; в противном случае, -1 (например, если пиксел находится вне области рисования).
КАТЕГОРИЯ 2. Реализация процедуры W вывода в текстовый файл 'DZ2.out' массива С коэффициентов полинома аппроксимации степени m
Вариант 1 subroutine W(m,C) integer,parameter::fpw=2 ! устройство вывода integer m ! степень полинома real(8) C(0:m) ! массив коэффициентов open(unit=fpw,file='DZ2.out') ! открыть файл write(fpw,*) 'Коэффициенты полинома Pm(x):' write(fpw,'(100f8.4)') (c(i),i=0,m) close(fpw) ! закрыть файл end subroutine W
Вариант 2 subroutine W(m,C) integer m ! степень полинома double precision C(0:m) ! массив коэффициентов open(unit=2,file="DZ2.out") ! открыть файл write(2,*) "Коэффициенты полинома Pm(x):" write(2,"(100f8.4)") (c(i),i=0,m) close(2) ! закрыть файл end subroutine
Вариант 3 subroutine W(m,C) integer m ! степень полинома real*8 C(0:m) ! массив коэффициентов open(2,file='DZ2.out') ! открыть файл write(2,10) 'Коэффициенты полинома Pm(x):' 10 format(a) do i=0,m write(2,11) c(i),' ' end do 11 format(f8.4,a,$) close(2) ! закрыть файл end
КАТЕГОРИЯ 3. Реализация процедуры R считывания из текстового файла 'DZ.txt' динамических массивов X, Y координат n узлов аппроксимации. Текстовый файл DZ.txt .
Вариант 1 subroutine R(n,X,Y) implicit none integer,parameter::fi=1 ! устройство ввода integer,parameter::MAX=100 ! максимальное количество точек integer i ! счетчик точек полинома real(8):: X(0:MAX),Y(0:MAX) ! таблица данных X(n),Y(n) integer n ! количество точек функции (i=0..n-1) open(unit=fi,file='DZ.txt') ! открытие файла данных read(fi,*) n ! чтение количества узлов аппроксимации do i=0,n-1 ! проход по узлам аппроксимации read(fi,*) X(i),Y(i) ! чтение координат узлов enddo close(fi) ! закрытие файла end subroutine R
Вариант 2 subroutine R1(n,X,Y) implicit none integer,parameter::MAX=100 ! максимальное количество точек integer i ! счетчик точек полинома double precision X(0:MAX),Y(0:MAX) ! таблица данных X(n),Y(n) integer n ! количество точек функции (i=0..n-1) open(unit=1,file='DZ.txt') ! открытие файла данных read(1,*) n ! чтение количества узлов do 2 i=0,n-1 ! проход по узлам аппроксимации read(1,*) X(i),Y(i) ! чтение координат узлов 2 continue close(1) ! закрытие файла end subroutine
Вариант 3 subroutine R2(n,X,Y) real*8 X(0:100),Y(0:100) ! таблица данных X(n),Y(n) open(1,file='DZ.txt') ! открытие файла данных read(1,*) n ! чтение количества узлов аппроксимации do 2 i=0,n-1 ! проход по узлам аппроксимации 2 read(1,*) X(i),Y(i) ! чтение координат узлов close(1) ! закрытие файла end
|