Module: (Python) Subroutines: Procedures and Functions - 1


Problem

1/11

Subroutines: Introduction

Theory Click to read/hide

Subroutines

A subroutine is a separate part of the program that has a name and solves its own separate task. The subroutine is located at the beginning of the main program and can be launched (called) from the main program by specifying the name.

Using subroutines allows you to avoid code duplication, if you need to write the same code in different places in the program. 
Libraries that are imported into a program (for example, the math library math) consist of subroutines that have already been compiled by someone. Programmers do not need to think about what algorithms they implement, but simply apply them, thinking only about what exactly they are doing. This is a big time saver. There is no need to write an algorithm that has already been written by someone else.

Each subroutine should only do one task,  either just calculate something, or output some data, or do something else. 

There are two types of subroutines - proceduresand functions.

Sub-procedures perform some action, such as displaying a result on the screen in a certain form (a simple example, the print() statement is a standard sub-procedure that prints data to the screen).

Function subroutines return a result (number, character string, etc.) that we can use in the main program.

Let's try to write a simple procedure:
Suppose we need to display the string "Error" on the screen every time an error can occur in the code due to the fault of the user. For example, when he enters incorrect data.
This can be done by writing the operator print("Error") And now imagine that such a line needs to be inserted in many places in the program. Of course, you can just write it everywhere. But this solution has two drawbacks.
1) This string will be stored in memory many times.
2) If we want to change the output on error, we will have to change this line throughout the program, which is rather inconvenient

For such cases, procedures are needed.
A program with a procedure might look like this:
  def printError(): # procedure description print("Error") ... printError() # start the procedure for execution. # Just specify the name of the procedure we want to execute ... printError()
Need to remember!
  1. The procedure begins with the word def (from English - define - to define). After the name of the procedure, empty brackets and a colon are written. Parameters can be specified inside the brackets (we will talk about this later).
  2. All statements that are executed in a procedure are indented. 
  3. To execute a procedure, in the main program you need to call it by name and remember to write parentheses!
  4. You can call a procedure in a program as many times as you like.

Problem

Write a procedure that displays the phrase "Error. Division by zero! Give the correct name to the procedure.