13.08.2013 Views

?????????????? ?????? ? ????????? ?????????? ??????? ?????

?????????????? ?????? ? ????????? ?????????? ??????? ?????

?????????????? ?????? ? ????????? ?????????? ??????? ?????

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

CALL ENDGRF; CALL DISFIN<br />

! вывод кнопок OK и QUIT<br />

CALL WGOK (IP, ID_OK); CALL WGQUIT (IP, ID_Q)<br />

! завершение работы библиотеки вывода виджетов<br />

CALL WGFIN<br />

return ! выход из подпрограммы<br />

end subroutine vyvod ! завершение подпрограммы<br />

Рассмотренные команды библиотеки DISLIN далеко не полностью исчерпывают<br />

все ее возможности. Отметим только еще две команды. Если<br />

требуется вручную задать масштабы осей, то при обращении к п/программе<br />

GRAF требуется указать 8 параметров. Минимальное и максимальное<br />

значение по оси Х, минимальное и максимальное значение<br />

шкалы сетки по оси Х, минимальное и максимальное значение по оси У<br />

и минимальное и максимальное значение сетки по оси У. При этом рекомендуется<br />

указывать с помощью п/программы LABDIG число цифр<br />

после десятичной точки. Например:<br />

call LABDIG(3,'Y')<br />

call GRAF(Xmin, Xmax, Xmin,Xmax/5,Ymin, Ymax, Ymin,Ymax/5.),<br />

где значения Xmin Xmax Ymin Ymax должны быть определены заранее,<br />

а для оси Y будет отображаться 3 цифры после десятичной точки.<br />

Приведем теперь текст модуля для преобразования знаков латинского<br />

алфавита в русский алфавит, предназначенный для библиотеки DISLIN.<br />

Здесь следует отметить, что ряд знаков для преобразования не входят в<br />

латинский шрифт. Приведем полные списки соответствия:<br />

a b c d e f g h i j k l m n o p q r s t u v w x y z { } < > ~ | =<br />

а б э д й ф г ж и ч к л м н о п ш р с т ю в ш х у з е ц ъ ь я ё ы<br />

A B C D E F G H I J K L M N O P Q R S T U VWX Y Z [ ] $ & ^ \ %<br />

А Б Э Д Й Ф Г Ж И Ч К Л М Н О ПШ Р С Т ЮВ ШХ У З Е Ц Ъ Ь Я Ё Ы<br />

Модуль преобразования алфавита<br />

module Convert<br />

integer, private, parameter:: StrLen=400<br />

contains<br />

function conv(String)<br />

character (len=StrLen):: conv<br />

character (len=*), intent(in):: String<br />

integer, dimension (192:255):: rusm<br />

data rusm /&<br />

65, 66, 86, 71, 68, 91, 72, 90, 73, 69, 75, 76, 77, 78, 79, 80, 82, 83, 84, &<br />

89, 70, 88, 93, 74, 81, 87, 36, 37, 38, 67, 85, 94, &<br />

97, 98, 118, 103, 100, 123, 104, 122, 105, 101, 107, 108, 109, 110, 111, 112, &<br />

114, 115, 116, 121, 102, 120, 125, 106, 113, 119, 60, 61, 62, 99, 117, 126/<br />

character (len=1) Sym<br />

conv=String<br />

do i=1, len_trim (String)<br />

Sym=conv(i:i); indexs=ichar (Sym)<br />

if (indexs==184) then<br />

Sym=char(124)<br />

157

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!