UNITY (programming language)
ಯುನಿಟಿ ಎಂಬುದು ಕೆ. ಮಣಿ ಚಾಂಡಿ ಮತ್ತು ಜಯದೇವ್ ಮಿಶ್ರಾ ಅವರು ತಮ್ಮ ಪ್ಯಾರಲಲ್ ಪ್ರೋಗ್ರಾಂ ಡಿಸೈನ್ಃ ಎ ಫೌಂಡೇಶನ್ ಎಂಬ ಪುಸ್ತಕಕ್ಕಾಗಿ ನಿರ್ಮಿಸಿದ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಭಾಷೆಯಾಗಿದೆ. ಇದು ಎಲ್ಲಿ, ಯಾವಾಗ ಅಥವಾ ಹೇಗೆ ಎಂಬುದರ ಬದಲು ಏನು ಎಂಬುದರ ಮೇಲೆ ಕೇಂದ್ರೀಕರಿಸುವ ಸೈದ್ಧಾಂತಿಕ ಭಾಷೆಯಾಗಿದೆ. ಭಾಷೆಯು ಹರಿವಿನ ನಿಯಂತ್ರಣದ ಯಾವುದೇ ವಿಧಾನವನ್ನು ಹೊಂದಿಲ್ಲ, ಮತ್ತು ಕಾರ್ಯಗತಗೊಳಿಸುವ ಸಮಯದಲ್ಲಿ ಹೇಳಿಕೆಗಳು ಬದಲಾವಣೆಗಳನ್ನು ಉಂಟುಮಾಡುವುದನ್ನು ನಿಲ್ಲಿಸುವವರೆಗೆ ಪ್ರೋಗ್ರಾಂ ಹೇಳಿಕೆಗಳು ಅನಿರ್ದಿಷ್ಟ ರೀತಿಯಲ್ಲಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತವೆ. ಇದು ಸ್ವಯಂ-ಚಾಲಕ ಅಥವಾ ವಿದ್ಯುತ್ ಸ್ಥಾವರ ಸುರಕ್ಷತಾ ವ್ಯವಸ್ಥೆಗಳಂತಹ ಕಾರ್ಯಕ್ರಮಗಳು ಅನಿರ್ದಿಷ್ಟವಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸಲು ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ, ಜೊತೆಗೆ ಸಾಮಾನ್ಯವಾಗಿ ಕೊನೆಗೊಳ್ಳುವ ಕಾರ್ಯಕ್ರಮಗಳು (ಇಲ್ಲಿ ಒಂದು ಸ್ಥಿರ ಬಿಂದುವಿಗೆ ಒಮ್ಮುಖವಾಗುತ್ತವೆ). ವಿವರಣೆ ಎಲ್ಲಾ ಹೇಳಿಕೆಗಳು ನಿಯೋಜನೆಗಳಾಗಿವೆ, ಮತ್ತು ಅವುಗಳನ್ನು #ನಿಂದ ಬೇರ್ಪಡಿಸಲಾಗಿದೆ. ಒಂದು ಹೇಳಿಕೆಯು a, b, c: = x, y, z, ಅಥವಾ a: = x | | b: = y | c: = z ರೂಪದ ಅನೇಕ ನಿಯೋಜನೆಗಳನ್ನು ಒಳಗೊಂಡಿರಬಹುದು. ನೀವು ಕ್ವಾಂಟಿಫೈಡ್ ಸ್ಟೇಟ್ಮೆಂಟ್ ಲಿಸ್ಟ್ ಅನ್ನು ಸಹ ಹೊಂದಬಹುದು, <#x, y: ಎಕ್ಸ್ಪ್ರೆಶನ್ಃಃ ಸ್ಟೇಟ್ಮೆಂಟ್>, ಅಲ್ಲಿ ಎಕ್ಸ್ಪ್ರೆಶನ್ ಅನ್ನು ತೃಪ್ತಿಪಡಿಸುವ ಮೌಲ್ಯಗಳಲ್ಲಿ x ಮತ್ತು y ಅನ್ನು ಯಾದೃಚ್ಛಿಕವಾಗಿ ಆಯ್ಕೆ ಮಾಡಲಾಗುತ್ತದೆ. ಪ್ರಮಾಣೀಕರಿಸಿದ ನಿಯೋಜನೆಯು ಇದೇ ರೀತಿಯದ್ದಾಗಿದೆ. <| x, y: ಅಭಿವ್ಯಕ್ತಿಃಃ ಹೇಳಿಕೆ> ನಲ್ಲಿ, ಅಭಿವ್ಯಕ್ತಿಯನ್ನು ತೃಪ್ತಿಪಡಿಸುವ x ಮತ್ತು y ನ ಎಲ್ಲಾ ಜೋಡಿಗಳಿಗೆ ಹೇಳಿಕೆಯನ್ನು ಏಕಕಾಲದಲ್ಲಿ ಕಾರ್ಯಗತಗೊಳಿಸಲಾಗುತ್ತದೆ. ಉದಾಹರಣೆಗಳು ಬಬಲ್ ವಿಂಗಡಣೆ ಬಬಲ್ ಪಕ್ಕದ ಸಂಖ್ಯೆಗಳನ್ನು ಹೋಲಿಸುವ ಮೂಲಕ ಶ್ರೇಣಿಯನ್ನು ವಿಂಗಡಿಸುತ್ತದೆ ಮತ್ತು ಅವು ತಪ್ಪು ಕ್ರಮದಲ್ಲಿದ್ದರೆ ಅವುಗಳನ್ನು ವಿನಿಮಯ ಮಾಡಿಕೊಳ್ಳುತ್ತದೆ. ನಿರೀಕ್ಷಿತ ಸಮಯ, ಸಂಸ್ಕಾರಕಗಳು ಮತ್ತು ನಿರೀಕ್ಷಿತ ಕೆಲಸವನ್ನು ಬಳಸುವುದು. ನೀವು ಸಮಯವನ್ನು ಮಾತ್ರ ನಿರೀಕ್ಷಿಸಲು ಕಾರಣವೆಂದರೆ, k ಅನ್ನು ಯಾವಾಗಲೂ ಯಾದೃಚ್ಛಿಕವಾಗಿ ಆಯ್ಕೆ ಮಾಡಲಾಗುತ್ತದೆ. ಕೆ ಅನ್ನು ಹಸ್ತಚಾಲಿತವಾಗಿ ತಿರುಗಿಸುವ ಮೂಲಕ ಇದನ್ನು ಸರಿಪಡಿಸಬಹುದು. ಪ್ರೋಗ್ರಾಂ ಬಬಲ್ಸಾರ್ಟ್ ಘೋಷಿಸುತ್ತದೆ n: ಪೂರ್ಣಾಂಕ, A: ಪೂರ್ಣಾಂಕದ ಶ್ರೇಣಿಯನ್ನು [0.n-1] ಆರಂಭದಲ್ಲಿ n = 20 #<| | i: 0 <= i ಮತ್ತು i <n:: A [i] = rand ()% 100> ನಿಯೋಜಿಸಿ <#k: 0 <= k <2:: <| i: i% 2 = k ಮತ್ತು 0 <= i <n-1:: A [i], A [i + 1]: = A [i + 1], A [i] ವೇಳೆ A [i]> A [i + 1]> ಅಂತಿಮ ಶ್ರೇಣಿ-ವಿಂಗಡಣೆ ನೀವು ಶ್ರೇಣಿಯನ್ನು ವಿಂಗಡಿಸಬಹುದು. ನಿಮಗೆ ಪ್ರೊಸೆಸರ್ಗಳು ಬೇಕಾಗುತ್ತವೆ, ಮತ್ತು ನೀವು ಕೆಲಸ ಮಾಡುತ್ತೀರಿ. ಪ್ರೋಗ್ರಾಮ್ ಶ್ರೇಯಾಂಕಗಳ ಪ್ರಕಾರವು n ಅನ್ನು ಘೋಷಿಸುತ್ತದೆಃ ಪೂರ್ಣಾಂಕ, A, R: ಪೂರ್ಣಾಂಕದ ವ್ಯೂಹ [0.n-1] ಆರಂಭದಲ್ಲಿ n = 15 #<| | i: 0 <= i <n:: A [i], R [i] = rand ()% 100, i> ನಿಯೋಜಿಸಿ <| i: 0 <= i <n:: R [i]: = <+ j: 0 <= j <n ಮತ್ತು (A [j] <A [i] ಅಥವಾ (A [j] = A [i] ಮತ್ತು j <i)::: 1> #<| i: 0 <= i <n:: A [R [i]: = A [i]> ಅಂತ್ಯ ಫ್ಲಾಯ್ಡ್-ವಾರ್ಷ್ ಪ್ರೋಗ್ರಾಂ ಶಾರ್ಟ್ಟೆಸ್ಟ್ ಪಾತ್ ಡಿಕ್ಲೇರ್ n, k: ಪೂರ್ಣಾಂಕ, D: ಪೂರ್ಣಾಂಕದ ಅರೇ [0.n-1,0.n-1] ಆರಂಭದಲ್ಲಿ n = 10 #k = 0 #<| i, j: 0 <= i <n ಮತ್ತು 0 <= j <n:: D [i, j] = rand ()% 100> ನಿಯೋಜಿಸಿ <| i, j: 0 <= i <n ಮತ್ತು 0 <= j <n:: D [i, j]: = min (D [i, j], D [i, k] + D [k, j])> | k: = k + 1 ವೇಳೆ k <n-1 ಅಂತ್ಯ ನಾವು ಇದನ್ನು ಇನ್ನಷ್ಟು ವೇಗವಾಗಿ ಮಾಡಬಹುದು. ಈ ಕೆಳಗಿನ ಪ್ರೋಗ್ರಾಂಗಳು ಪ್ರೊಸೆಸರ್ಗಳು ಮತ್ತು ಕೆಲಸವನ್ನು ಬಳಸಿಕೊಂಡು ಎಲ್ಲಾ ಜೋಡಿಗಳು ಸಮಯದ ಅತ್ಯಂತ ಕಡಿಮೆ ಮಾರ್ಗವನ್ನು ಲೆಕ್ಕಾಚಾರ ಮಾಡುತ್ತವೆ. ಪ್ರೋಗ್ರಾಮ್ ಕಿರಿದಾದ ಪಾತ್ 2 ಘೋಷಿಸುತ್ತದೆ n: ಪೂರ್ಣಾಂಕ, D: ಪೂರ್ಣಾಂಕದ ವ್ಯೂಹ [0.n-1,0.n-1] ಆರಂಭದಲ್ಲಿ n = 10 #<| i, j: 0 <= i <n ಮತ್ತು 0 <= j <n:: D [i, j] = rand ()% 10> ನಿಯೋಜಿಸಿ <| i, j: 0 <= i <n ಮತ್ತು 0 <= j <n:: D [i, j]: = min (D [i, j], <min k: 0 <= k <n::: D [i, k] + D [k, j]>)> ಕೊನೆಯ ಸುತ್ತಿನ ನಂತರ, D [i, j] ಚಿಕ್ಕದಾದ ಮಾರ್ಗದ ಉದ್ದವನ್ನು ಹೊಂದಿರುತ್ತದೆ. ಮುಂದಿನ ಸುತ್ತಿನಲ್ಲಿ, ಉದ್ದ, ಮತ್ತು ಹೀಗೆ. ಉಲ್ಲೇಖಗಳು ಕೆ. ಮಣಿ ಚಾಂಡಿ ಮತ್ತು ಜಯದೇವ್ ಮಿಶ್ರಾ (1988) ಪ್ಯಾರಲಲ್ ಪ್ರೋಗ್ರಾಂ ಡಿಸೈನ್ಃ ಎ ಫೌಂಡೇಶನ್. ಪ್ರಾಯೋಗಿಕ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಭಾಷೆಗಳು