Advertisement
Guest User

Untitled

a guest
Dec 6th, 2018
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. program array_func
  2. real, dimension(0:50) :: x, y
  3. integer :: i=0, n=50, max_i, min_i, j
  4. real :: h, a=0, b=1, m, d, plus, minus, e, k, temp
  5. h=(b-a)/n
  6. do while (i<=n)    !задание массива x
  7.     x(i) = a+i*h
  8.     i = i+1
  9. end do             !задание массива x
  10. i = 0              !задание массива y
  11. do while (i<=n)    
  12.     y(i) = FUNC(x(i))
  13.     i = i+1
  14. end do             !задание массива y
  15. i = 1              !поиск максимального элемента
  16. m = y(0)
  17. max_i = 0
  18. do while (i<=n)
  19.     if (m < y(i)) then
  20.         m = y(i)
  21.         max_i = i
  22.     end if
  23.     i = i+1
  24. end do
  25. print*, "maximalniy element massiva", m
  26. print*, "index maximalnogo elementa", max_i      !поиск максимального элемента
  27. i = 1                                            !поиск минимального элемента
  28. m = y(0)
  29. min_i = 0
  30. do while (i<=n)
  31.     if (m > y(i)) then
  32.         m = y(i)
  33.         min_i = i
  34.     end if
  35.     i = i+1
  36. end do
  37. print*, "minimalniy element massiva", m
  38. print*, "index minimalnogo elementa", min_i      !поиск минимального элемента
  39. i = 0                                            !поиск значений
  40. m = 0
  41. do while (i<=n)
  42.     m = m + y(i)
  43.     i = i+1
  44. end do
  45. e = m/(n+1)
  46. print*, "srednee znachenie", e
  47. m = 0
  48. i = 0
  49. do while (i<=n)
  50.     m = m + (y(i))**2
  51.     i = i+1
  52. end do
  53. d = m/(n+1)
  54. print*, "sredniy quadrat", d
  55. d = sqrt(d)
  56. print*, "srednequadratichnoe znachenie", d       !поиск значений
  57. i = 0                                             !относитльное количество+и-
  58. d = 0                                            
  59. m = 0
  60. do while (i<=n)
  61.     if (y(i) < 0) then
  62.         d = d+1
  63.     end if
  64.     if (y(i) > 0) then
  65.         m = m+1
  66.     end if
  67.     i = i+1
  68. end do
  69. plus = m/(n+1)
  70. minus = d/(n+1)
  71. print*, "otnositelnoe chislo pologitelnih", plus
  72. print*, "otnositelnoe chislo otrizatelnih", minus !относитльное количество+и-
  73. m = 0                                             !поиск среднеквадратичного отклонения
  74. i = 0
  75. do while (i<=n)
  76.     m = m + (y(i)-e)**2
  77.     i = i+1
  78. end do
  79. k = sqrt(m/(n+1))
  80. print*, "srednequadratichnoe otklonenie", k       !поиск среднеквадратичного отклонения
  81. i = 0                                             !сортировка массива
  82. do while (i<=n)
  83.     j = 0
  84.     do while (j<=(n-i-1))
  85.         if (y(j) >= y(j+1)) then
  86.             temp = y(j+1)
  87.             y(j+1) = y(j)
  88.             y(j) = temp
  89.         end if
  90.         j = j+1
  91.     end do
  92.     i = i+1
  93. end do                                            !сортировка массива
  94. print*, y
  95. end program
  96.  
  97. real function FUNC(x)               !задание функции
  98. real :: x
  99. FUNC = (1-x)**2-tan(pi*x**2/4)**2
  100. return
  101. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement