Guest User

Untitled

a guest
Feb 20th, 2018
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.66 KB | None | 0 0
  1. def sum a
  2. s = 0
  3. a.each {|x| s += x}
  4. s
  5. end
  6.  
  7.  
  8. noten = [
  9. 4.0, # algdat
  10. 3.3, # statistik
  11. 2.0, # swe 1
  12. 4.0, # datenbanken
  13. 1.0, # compiler
  14. 2.0, # maschprog
  15. 2.0, # numerik
  16. 3.0, # techphy
  17. 4.0, # rechtech
  18. 1.0, # rcr
  19. 1.7 # sivs
  20. ]
  21.  
  22. noten_neu = [
  23. 1.7, # c++
  24. 2.7, # sysprog
  25. 2.0, # twics
  26. 2.0 # dva
  27. ]
  28.  
  29.  
  30. def calcMark noten,ezs,awf,dipl,os,dako
  31. hMark = Array.new
  32. hMark.push((2.0+awf)/2)
  33. hMark.push(dipl)
  34. hMark.push(dipl)
  35. hMark.push(dipl)
  36. hMark.push(ezs)
  37. hMark.push(os)
  38. hMark.push(dako)
  39. res = sum(hMark + noten)/(hMark.length + noten.length)
  40. res.to_s[0..2]
  41. end
  42.  
  43. aw = [2.0]
  44. puts "Notenstand 17.07.2006: #{sum(noten)/noten.length}"
  45. puts "Notenstand 28.07.2006 (ohne aw): #{sum(noten + noten_neu)/(noten.length + noten_neu.length)}"
  46. puts "Notenstand 28.07.2006 (mit aw): #{sum(noten + noten_neu + aw)/(noten.length + noten_neu.length + aw.length)}"
  47.  
  48. m=[1.0,1.3,1.7,2.0,2.3,2.7,3.0,3.3,3.7,4.0]
  49. good = Array.new
  50. noten += noten_neu
  51. m.each do |ezs|
  52. m.each do |os|
  53. m.each do |dako|
  54. m.each do |awf|
  55. m.each do |dipl|
  56. mark = calcMark(noten,ezs,awf,dipl,os,dako).to_f
  57. if mark <= 2.3
  58. good.push([ezs,os,dako,awf,dipl,mark])
  59. end
  60. #puts "#{(ezs+os+dako)/3.0}/#{dipl}/#{awf}"
  61. end
  62. end
  63. end
  64. end
  65. end
  66.  
  67. good.each{|ezs,os,dako,awf,dipl,mark| puts "#{((ezs + os + dako + awf + dipl)/5.0).to_s[0..2]}=#{mark}" }
Add Comment
Please, Sign In to add comment