BASH/C2/Conditional-Loops/English-timed

From Script | Spoken-Tutorial
Jump to: navigation, search
Time Narration
00:01 Dear friends, welcome to the spoken tutorial on loops in BASH.
00:07 In this tutorial, we will learn:
00:09 for loop
00:11 while loop
with a few examples.
00:15 To record this tutorial, I am using:
00:18 Ubuntu Linux 12.04 Operating System
00:22 GNU BASH version 4.1.10
00:26 Please note, GNU bash version 4 or above is recommended to practice this tutorial.
00:34 Let us start with an introduction to loops.
00:37 Loops are used to execute a group of statements repeatedly.
00:43 Let us see the syntax.
00:45 for expression 1, 2, 3
00:49 statement 1, 2, 3
00:51 and this is the end of for loop.
00:55 An alternate syntax of for loop is:
00:58 for variable in sequence/range
01:03 statement 1, 2, 3
01:06 and end of for loop.
01:09 Let us see an example of for loop using the first syntax.
01:14 In this program, we will calculate the sum of first n numbers.
01:20 Note that our filename is for.sh.
01:25 This is our shebang line.
01:28 The variable number will store the value given by user.
01:34 The value is an integer here.
01:37 Now, we initialize the variable sum as zero.
01:42 This is where we begin the for loop.
01:45 First, we initialize 'i' to 1.
01:48 Then we check whether 'i' is less than or equal to number.
01:54 Now here, we calculate the sum as sum plus i
02:00 and then we print it.
02:03 After this, we increment the value of 'i' by 1.
02:08 And then we check the condition till this condition is False.
02:14 On exiting the for loop, this message is printed.
02:19 Let us execute the program and observe what happens.
02:24 On the terminal, type - chmod +x for.sh
02:31 Then type: ./for.sh
02:36 I will enter 5 as the input number.
02:40 The sum that is calculated for each value of 'i' is displayed.
02:46 After that, the last line of the output is displayed:
02:50 "Sum of first n numbers is 15".
02:54 Now, let us see the flow of the program.
02:57 Let me resize the windows.
03:00 First, we have value of 'i' as 1.
03:04 Then we check whether 1 is less than or equal to 5.
03:10 Since the condition is True, we calculate the sum as 0 + 1.
03:16 Now we have the sum as 1.
03:20 Then we print sum i.e 1.
03:24 Next, 'i' is incremented by 1 and the new value of 'i' is 2.
03:31 Then we check whether 2 is less than or equal to 5.
03:36 The condition is True and now sum will be 1 + 2 i.e 3.
03:44 'i' is then incremented by 1 and then the new value of 'i' is 3.
03:51 And we get sum as 6.
03:55 The script will continue to add the next value of 'i' to the previous value in sum.
04:02 This will continue till i<=5 is False.
04:09 On exiting the for loop, the final message is printed.
04:14 Let us see another example of for loopusing the second syntax.
04:20 I have written the code in this file and named it as for-loop.sh.
04:27 This simple program will list the files in a directory.
04:32 This is the shebang line.
04:35 Then we have for loop.
04:37 'ls' command lists the directory content.
04:41 -1 (hyphen one) lists one file per line.
04:46 This will list all the files present in your home directory.
04:51 This is the end of for loop.
04:53 Let us execute the script on the terminal by typing -
04:58 chmod +x for-loop.sh
05:04 Type: ./for-loop.sh
05:09 This will display all the files present in the Home directory.
05:14 Now we will learn about while loop.
05:18 Let us understand the syntax first.
05:21 while condition

statement 1, 2, 3 end of while loop.

05:27 This means that the while loop will execute as long as the condition is True.
05:34 Let us see an example of while loop.
05:37 Here, I have named it as while.sh.
05:42 In this program, we will calculate the sum of even numbers within a given range.
05:49 Let us go through the code.
05:52 Here, we accept a number from the user and store it in variable number.
05:59 Next, we declare variables 'i' and sum and initialize them to 0 (zero).
06:06 Now, this is the while condition.
06:08 Here, we check whether 'i' is less than or equal to value of number given by the user.
06:17 Then we calculate the sum by adding value of 'i' to value of sum.
06:24 Next, we increment the value of 'i' with 2.
06:28 This will ensure that we only add the even numbers.
06:33 And the while loop is repeated till the value of 'i' exceeds the value of number.
06:40 When we exit the while loop, we print the sum of all the even numbers within the given range.
06:47 Let us execute the program.
06:50 Type on the terminal:
06:52 chmod +x while.sh
06:56 ./while.sh
07:00 I will give 15 as my input.
07:04 The last line of the output is:
07:06 "Sum of even numbers within the given range is 56".
07:11 Let me resize the window and explain the output.
07:14 First we check whether 'i' which is 0, is less than or equal to the number which is 15.
07:24 The condition is True. Hence sum will be '0+0' i.e 0.
07:31 Now 'i' will be incremented by 2 and the new value of 'i' is 2.
07:37 Then we check if 2 is less than or equal to 15.
07:43 The condition again is True; so we add 0+2.
07:49 Now sum has the value 2.
07:52 Again the value of 'i' will be incremented by 2.
07:56 So, now value of 'i' will be 2+2 i.e 4.
08:03 And the next value of sum will be 4+2 i.e 6.
08:09 In the same way, the script will continue to add 2 to the previous value of 'i', till it exceeds 15.
08:18 And we get the total value in sum as 56.
08:24 This brings us to the end of this tutorial.
08:27 Let us summarize. In this tutorial, we learned two different syntax of for loop and we also learned about the while loop.
08:37 As an assignment -find the sum of the first "n" prime numbers.
08:43 Watch the video available at the link shown below.
08:46 It summarizes the Spoken-Tutorial project.
08:50 If you do not have good bandwidth, you can download and watch it.
08:54 The Spoken Tutorial Project team:
08:56 Conducts workshops using spoken tutorials.
09:00 Gives certificates to those who pass an online test.
09:04 For more details, please write to contact@spoken-tutorial.org
09:11 Spoken Tutorial Project is a part of the Talk to a Teacher project.
09:14 It is supported by the National Mission on Education through ICT, MHRD, Government of India.
09:22 More information on this mission is available at the link shown below.
09:28 The script has been contributed by Fossee and spoken-tutorial team.
09:34 This is Ashwini Patil from IIT Bombay, signing off.
09:38 Thank You for joining.

Contributors and Content Editors

PoojaMoolya, Pratik kamble, Ranjana, Sandhya.np14