Guest User

Untitled

a guest
Dec 20th, 2011
150
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /* Eidmantas Ivanauskas - Rexx namu darbas */
  2. 'pathtvarkytojas.bat'
  3. bibliotekos:
  4. say Kad diskriminanto programa reikia 'rxmath' bibliotekos.
  5. say Ji yra ideta i jusu paleidimo faila.
  6. say viska kita sutvarkysime mes.
  7. say
  8. say
  9. call dlltikrinimas
  10.  
  11. resume:
  12. call rxfuncadd "MathLoadFuncs", "rxmath", "MathLoadFuncs"
  13.  
  14. pradzia:
  15. say 'Laba diena, si programa skaiciuoja standartines'
  16. say 'kvadratinio diskriminanto lygtis'
  17. say
  18. say 'Prasome ivesti a'
  19. pull a
  20. say 'Prasome ivesti b'
  21. pull b
  22. say 'Prasome ivesti c'
  23. pull c
  24. say
  25. say
  26.  
  27. tikrinimas:
  28. if a=0 | b=0 THEN SIGNAL nekvadr
  29. else
  30. if datatype(a)=char | datatype(b)=char | datatype(c)=char THEN SIGNAL nekvadr
  31. else
  32.  
  33. teisingaivestis:
  34. say 'Jusu ivesti duomenys:' /* kontrole */
  35. say 'A:' a
  36. say 'B:' b
  37. say 'C:' c
  38. say
  39. say
  40. skaiciavimas:
  41. d=((b*b)-(4*a*c))
  42. saknis=RxCalcSqrt(d)
  43. ::requires 'rxmath' LIBRARY
  44.  
  45. SELECT
  46. when (d=0) THEN
  47. do
  48. SIGNAL ddlyg0
  49. end
  50. when (d>0) THEN
  51. do
  52. SIGNAL dduz0
  53. end
  54. when (d<0) THEN
  55. do
  56. SIGNAL ddmaz0
  57. end
  58. OTHERWISE SAY 'Kazkur ivyko klaida'
  59. END
  60. dduz0:
  61.  
  62. x1=((-b-saknis)/(2*a))
  63. x2=((-b+saknis)/(2*a))
  64. signal atsakymas
  65.  
  66. ddlyg0:
  67. x1=-b-RxCalcSqrt(d)/2*a
  68. x2=-b-RxCalcSqrt(d)/2*a
  69. signal atsakymas
  70.  
  71. ddmaz0:
  72. say 'Realiuju saknu nera'
  73. signal irasymasbeskn
  74.  
  75.  
  76. /* Viskas gerai - duodame atsakyma */
  77. atsakymas:
  78. say 'Jusu saknys:'
  79. say 'X1: 'x1
  80. say 'X2: 'x2
  81. say 'Diskriminantas: ' d
  82.  
  83. signal irasymas
  84. /* Klaidos funkcija - restartavimas */
  85. erroras:
  86. say 'Nestandartine kvadratine lygtis arba netinkamas skaicius'
  87. signal pradzia
  88.  
  89. /* Taisiklinga iszejimo funkcija */
  90.  
  91. irasymas:
  92. say
  93. flkint=DATE('S')' ir 'Time( 'S' )' s. su Diskriminantu 'd'.txt'
  94. say 'Uzdavinio atsakymai irasyti darbiniam kataloge.'
  95. isvedimas=lineout(flkint, 'Pagal salyga: 'a 'x^2 +' b 'x +' c,)
  96. isvedimas=lineout(flkint,'Atsakymai:',)
  97. isvedimas=lineout(flkint, 'X1=' x1' |||' 'X2= 'x2,)
  98. isvedimas=lineout(flkint,'Diskriminantas: 'd,)
  99. CALL LINEOUT flkint
  100. say
  101.  
  102. signal pabaiga
  103.  
  104. irasymasbeskn:
  105. say ' Uzdavinio atsakymai irasyti darbiniam kataloge '
  106. flkint=DATE('S')' ir 'Time( 'S' )' s. su Diskriminantu 'd'.txt'
  107. isvedimas=lineout(flkint,'Atsakymai:\n',)
  108. isvedimas=lineout(flkint,'Realiuju saknu nera',)
  109. isvedimas=lineout(flkint,'Diskriminantas: 'd,)
  110. CALL LINEOUT flkint
  111. signal pabaiga
  112.  
  113. pabaiga:
  114. say 'Ar norite pakartoti programa is naujo? Taip(1) Ne(2)'
  115. pull ats
  116. if datatype(ats)=char then signal raide
  117. if ats='1' then signal bibliotekos
  118. say 'Geros dienos!'
  119. exit 0
  120.  
  121. /* Ivesta raide */
  122. raide:
  123. say 'Nepasirinkote nei 1 nei 2'
  124. signal pabaiga
  125.  
  126. /* Ne kvadratine funkcija~ */
  127. nekvadr:
  128. say 'Funkcija nera iprasta kvadratine funkcija'
  129. say 'Prasome ivesti normalios kvadratines funkcijos elementus'
  130. say
  131. say
  132. DROP a
  133. DROP b
  134. DROP c
  135. signal pradzia
  136.  
  137. /* Papildomos funkcijos */
  138. dlltikrinimas:
  139. IF STREAM('rxmath.dll', 'C', 'OPEN READ') == 'READY:' then
  140. do
  141. SAY 'DLL failas egzistuoja ir yra paruostas'
  142. signal resume
  143. end
  144. else
  145. do
  146. say 'DLL failo nëra esamamajame folderyje'
  147. say 'Pasitikrinkite ar rxmath.dll failas egzistuoja'
  148. signal pabaiga
  149. end
  150. exit 0
RAW Paste Data