Nested Control Structures: Difference between revisions

From BR Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 1: Line 1:
[[DO]] loops, [[FOR]] loops, [[IF]] statements, [[GOTO]] statements are the different control structures which may all be mixed together into one program. Please, see the example below as a demonstration of this mix:
[[DO]] loops, [[FOR]] loops, [[IF]] statements, [[GOTO]] statements are the different control structures which may all be mixed together into one program. Please, see the example below as a demonstration of this mix:


00010
00010 ! This program calculates the average score
00020 print newpage
00030 let sum_of_scores = 0 ! provided for clarity, not required
00040 let average = 0 ! provided for clarity, not required
00050 let number_of_scores = 0 ! provided for clarity, not required
00060 let new_score = 0 ! provided for clarity, not required
00070 start: !
00080 let more_scores$ = "Y"
00090 do while trim$(uprc$(more_scores$)) = "Y"
00100    print "Do you want to add more scores?"
00110    input more_scores$
00120    if trim$(uprc$(more_scores$))="N" then
00130      exit do
00140    else if trim$(uprc$(more_scores$))<>"Y" then
00150      print "Invalid entry"
00160      let more_scores$ = "Y"
00170    else
00180      print "How many scores do you want to add?"
00190      input scores_to_add
00200      for count = 1 to scores_to_add
00210          print "Enter new score"
00220          input new_score
00230          if new_score < 0 or new_score > 100 then
00240            print "Invalid score. you will be asked to re-enter the score"
00250            let count -= 1
00260          else
00270            let sum_of_scores += new_score
00280            let number_of_scores += 1
00290          end if
00300      next count
00310    end if
00320 loop
00330 if number_of_scores <> 0 then
00340    let average = sum_of_scores / number_of_scores
00350    print "The average of "&str$(number_of_scores)&" scores is "&str$(average)
00360    print "Do you want to add more scores?"
00370    input more_scores$
00380    if trim$(uprc$(more_scores$)) = "Y" then
00390      goto start
00400    end if
00410 end if
00420 print "Good bye"
00430 stop


<noinclude>
<noinclude>
[[Category:Control Structures]]
[[Category:Control Structures]]
</noinclude>
</noinclude>

Revision as of 14:28, 20 February 2012

DO loops, FOR loops, IF statements, GOTO statements are the different control structures which may all be mixed together into one program. Please, see the example below as a demonstration of this mix:

00010 ! This program calculates the average score 00020 print newpage 00030 let sum_of_scores = 0 ! provided for clarity, not required 00040 let average = 0 ! provided for clarity, not required 00050 let number_of_scores = 0 ! provided for clarity, not required 00060 let new_score = 0 ! provided for clarity, not required 00070 start: ! 00080 let more_scores$ = "Y" 00090 do while trim$(uprc$(more_scores$)) = "Y" 00100 print "Do you want to add more scores?" 00110 input more_scores$ 00120 if trim$(uprc$(more_scores$))="N" then 00130 exit do 00140 else if trim$(uprc$(more_scores$))<>"Y" then 00150 print "Invalid entry" 00160 let more_scores$ = "Y" 00170 else 00180 print "How many scores do you want to add?" 00190 input scores_to_add 00200 for count = 1 to scores_to_add 00210 print "Enter new score" 00220 input new_score 00230 if new_score < 0 or new_score > 100 then 00240 print "Invalid score. you will be asked to re-enter the score" 00250 let count -= 1 00260 else 00270 let sum_of_scores += new_score 00280 let number_of_scores += 1 00290 end if 00300 next count 00310 end if 00320 loop 00330 if number_of_scores <> 0 then 00340 let average = sum_of_scores / number_of_scores 00350 print "The average of "&str$(number_of_scores)&" scores is "&str$(average) 00360 print "Do you want to add more scores?" 00370 input more_scores$ 00380 if trim$(uprc$(more_scores$)) = "Y" then 00390 goto start 00400 end if 00410 end if 00420 print "Good bye" 00430 stop