Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- sem track // Get From 'semtrack' Table
- current session // Get From 'semtrack' Table
- start session // Get From 'semtrack' Table
- number of fails // Get From 'nofs' Table | corrosponding to lastest sem in 'sem track'
- failed sem // Get From 'nofs' Table | array returning subject in which failed
- current group // Get From 'stgrp' Table | corrosponding to lastest sem in 'sem track'
- exam registration // Get From 'exam_registration'
- // No Exam Registration
- if (exam registration == False){
- sem track += blank // comma seperated
- }
- // [AB] Group Cases
- if ( current group == [AB] ) {
- // No Backs
- if ( number of fails == 0 ) {
- // Promote to next sem
- sem track += sem track[-1]++ // Comma Seperated | Serially Increase 'sem track' | Example : 1, 2, 3, 4
- }
- // Atleast 1 back and less than 6
- if ( number of fails > 0 and number of fails < 6) {
- sem track += failed sem + sem track[-1]++ // Comma Seperated | Serially Increase 'sem track' and add failed sem | Example : 1, 2, 23, 34
- }
- // Gets more than 6 Backs
- // Change group to [BA], only if next session is Odd
- if ( number of fails >= 6 && current session == even ) {
- current group = [BA]
- if (failed sem != 0) {
- sem track += failed sem + sem track[-1] // Comma Seperated | lastest sem reapeated in 'sem tack' | Example : 1, 2, 23, 234, 24
- }
- else {
- sem track += sem track[-1] // Comma Seperated | lastest sem reapeated in 'sem tack' | Example : 1, 2, 3, 4, 4
- }
- }
- }
- // [BA] Group Cases
- else if ( current group == [BA] ) {
- // Backs reduced to less than 6
- if ( number of fails < 6 ) {
- // Calculate if student was [AB], his next theoritical sem
- theoritical sem = length( sem track ) + 1
- // Promote to next Sem with Same Batch if current session was Odd
- if ( current session == odd ) {
- if (failed sem != 0) {
- sem track += failed sem + theoritical sem // (theoritical sem ) gives same Batch's session | Example : 1, 2, 23, 24, 24, 46
- }
- else {
- sem track += theoritical sem // (theoritical sem ) gives same Batch's session | Example : 1, 2, 3, 4, 4, 6
- }
- }
- // Promote to next Sem with Jr Batch if current session was Even
- if ( current session == even ) {
- if (failed sem != 0) {
- sem track += theoritical sem - 2 // (theoritical sem - 2) gives Jr Batch's session | Example : 1, 2 3, 34, 34, 46, 45
- }
- else {
- sem track += theoritical sem - 2 // (theoritical sem - 2) gives Jr Batch's session | Example : 1, 2 3, 4, 4, 6, 5
- }
- }
- }
- // Backs Not Cleared
- // Change group to [YB], only if next session is Odd
- if ( number of fails >= 6 && current session == even ) {
- if (failed sem != 0) {
- }
- else {
- }
- current group = [YB]
- sem track += sem track[-1] // lastest sem reapeated in 'sem tack' | Example : 12 34 44
- }
- }
- // [YB] Group Cases
- else if ( current group == [YB] ) {
- // Backs reduced to less than 6
- if ( number of fails < 6 ) {
- // Calculate if student was [AB], his theoritical sem
- theoritical sem = length( sem track ) + 1
- // Promote to next Sem with Jr Batch
- sem track += theoritical sem - 2 // (theoritical sem - 2) gives Jr Batch's session | Example : 12 34 44 5
- }
- // Backs Not Cleared
- // Change group to [BA], only if next session is Odd
- if ( number of fails >= 6 && current session == even ) {
- // figuring out how to futher update
- // use of multiplier flag ??? | Would require additional col
- // semtrack pattern detection ??? | Would require additional logics
- }
- }
- /////////////////////////////////
- Questions
- > Can odd sems be registered at even sem ? What about 1st year and rest ?
Add Comment
Please, Sign In to add comment