Difference between revisions of "KTurtle/C3/Common-Errors-in-KTurtle/English"

From Script | Spoken-Tutorial
Jump to: navigation, search
Line 83: Line 83:
 
||I already have a program in a text editor.  
 
||I already have a program in a text editor.  
 
|-
 
|-
||Comment code  
+
||'''Comment code'''
 
||To explain the error in the program, I will comment part of the code.  
 
||To explain the error in the program, I will comment part of the code.  
 
|-
 
|-
 
||Highlight  
 
||Highlight  
  $a=ask "enter any number and click Ok"  
+
  '''$a=ask "enter any number and click Ok"'''
||Here, I will comment the line $a=ask "enter a number and click Ok"  
+
||Here, I will comment the line '''$a=ask "enter a number and click Ok"'''
 
|-
 
|-
 
||Type #
 
||Type #
||I will use hash(#) sign to comment a line.
+
||I will use hash(#) sign to comment the line.
 
|-
 
|-
||reset  
+
||'''reset'''
#$a=ask "enter a number and click ok"  
+
 
print $a^3
+
'''#$a=ask "enter a number and click ok"'''
spritehide
+
  
 +
'''print $a^3''''
 +
 +
'''spritehide'''
 
||I will Copy the program into '''Kturtle''' Editor.
 
||I will Copy the program into '''Kturtle''' Editor.
  
 
Pause the tutorial and type the program your into '''KTurtle''' editor  
 
Pause the tutorial and type the program your into '''KTurtle''' editor  
 
  
 
Resume the tutorial after typing the program.
 
Resume the tutorial after typing the program.
|-
 
||'''Zoom text'''
 
||Let me zoom into the program text.
 
 
It may possibly be a little blurred.
 
|-
 
||'''Comment code'''
 
||To explain error in the program, I will comment the code.
 
|-
 
||Highlight
 
 
'''$a=ask "enter any number and click Ok"'''
 
||Here, I will comment the line '''$a=ask "enter any number and click Ok"'''
 
 
|-
 
|-
 
||'''Run the program'''
 
||'''Run the program'''
Line 125: Line 113:
 
'''The variable "$a" was used without first being assigned  to a value.'''
 
'''The variable "$a" was used without first being assigned  to a value.'''
 
|-
 
|-
||Highlight '''Line number 2'''
+
||Highlight '''Line number 4'''
||Error is in line number 2.
+
||Here the error is in line number 4
 
|-
 
|-
 
||'''Syntax error'''
 
||'''Syntax error'''
 
||This is syntax error. It occured, as the variable  'a' was not declared.
 
||This is syntax error. It occured, as the variable  'a' was not declared.
 
|-
 
|-
||Highlight '''$a=ask "enter any number and click Ok"'''  
+
||Highlight '''$a=ask "enter any number and click Ok"'''  
  
 
'''Remove the comment'''
 
'''Remove the comment'''
 
||So I will go to line number 2 and remove the comment.
 
||So I will go to line number 2 and remove the comment.
 +
|-
 +
||reset
 +
$a=ask "enter a number and click ok"
 +
print $a^3
 +
spritehide
 +
|| I will copy the program from text Editor and paste it into KTurtle editor.
 
|-
 
|-
 
||'''Run the program'''
 
||'''Run the program'''
||Let's run again
+
||Let's run the program again
 
+
press '''F5''' key to run the program
+
  
 
Enter 6 for 'a' and click OK
 
Enter 6 for 'a' and click OK
Line 147: Line 139:
 
||“clear” command
 
||“clear” command
 
||I will clear the current program from the editor.
 
||I will clear the current program from the editor.
Type clear command and Run to clean the canvas.
+
Type clear command and '''Run''' to clean the canvas.
 
|-
 
|-
 
||
 
||
Line 154: Line 146:
 
||
 
||
 
||I already have a program in a text editor.  
 
||I already have a program in a text editor.  
 +
|-
 +
|| Highlight
 +
'''$radian=(pi/180)*$degree'''
 +
||Value of "pi" is predefined in KTurtle.
 +
|-
 +
||Highlight $
 +
||Let's delete $ sign in the program.
 
|-
 
|-
 
||'''reset'''  
 
||'''reset'''  
'''$degree=ask "enter an angle value and click OK"'''  
+
'''degree=ask "enter an angle value and click OK"'''  
  
 
'''$radian=(pi/180)*$degree'''  
 
'''$radian=(pi/180)*$degree'''  
Line 171: Line 170:
  
 
Resume the tutorial after typing the program.
 
Resume the tutorial after typing the program.
|-
 
||'''Zoom text'''
 
||Let me zoom into the program text.
 
It may possibly be a little blurred.
 
|-
 
||Highlight'''$radian=(pi/180)*$degree'''
 
||Value of "pi" is predefined in KTurtle.
 
|-
 
||Highlight $
 
||Let's delete '''$''' sign in the program.
 
 
|-
 
|-
 
||'''Run the program'''
 
||'''Run the program'''
||Let's Click on Run button to run the program.  
+
||Let's Click on '''Run''' button to run the program.  
  
 
Complier shows the following error,
 
Complier shows the following error,
Line 190: Line 179:
 
|-
 
|-
 
||Highlight '''Line number 2'''
 
||Highlight '''Line number 2'''
||Error is in line number 2.  
+
||This error is in line number 2.  
 
|-
 
|-
 
||'''Show error'''
 
||'''Show error'''
Line 196: Line 185:
 
|-
 
|-
 
||'''Replace $ sign'''  
 
||'''Replace $ sign'''  
||Let's replace the $ sign and run again.  
+
||Let's go back to the program replace the $ sign.
Enter 35 for angle value and click OK
+
Program runs properly
+
 
|-
 
|-
||Highlight "enter an angle value and click OK"
+
||'''reset'''
||Let's remove one of the quotes of the string.
+
'''$degree=ask "enter an angle value and click OK" '''
 +
'''$radian=(pi/180)*$degree '''
 +
'''go 50,50'''
 +
'''print "Value in radians is"+ " " +$radian'''
 +
'''spritehide'''
 +
||I will copy the program from text editor and paste it into '''KTurtle's''' Editor
 +
|-
 +
||'''Run the program'''
 +
||Click on '''Run''' button to run the program.
 +
 
 +
Enter 45 for angle value and click OK
 +
 
 +
Program runs without errors.
 +
|-
 +
||
 +
||Next let's look at another error.
 +
|-
 +
||Highlight '''"enter an angle value and click OK" '''
 +
||Let's remove one of the quotes of the string.  
 +
|-
 +
||'''reset'''
 +
 
 +
'''$degree=ask "enter an angle value and click OK'''
 +
 
 +
'''$radian=(pi/180)*$degree'''
 +
 
 +
'''go 50,50'''
 +
 
 +
'''print "Value in radians is"+ " " +$radian'''
 +
 
 +
'''spritehide'''
 +
|| I will copy the program from text editor and paste it into '''KTurtle''' Editor
 
|-
 
|-
 
||'''Run the program'''
 
||'''Run the program'''
Line 210: Line 228:
 
|-
 
|-
 
||Highlight '''Line number 2'''
 
||Highlight '''Line number 2'''
||Error is in line number 2.  
+
||Here the error is in line number 2.  
 
|-
 
|-
 
||'''Replace the quotes'''  
 
||'''Replace the quotes'''  
 
||So I will  go to line number 2 and replace the quotes.  
 
||So I will  go to line number 2 and replace the quotes.  
 +
|-
 +
||'''reset'''
  
press F5 key to run the program.
+
'''$degree=ask "enter an angle value and click OK" '''
  
Program runs without errors.
+
'''$radian=(pi/180)*$degree'''
  
This way you can find the line at which error has occured, and correct it.
+
'''go 50,50'''
 +
 
 +
'''print "Value in radians is"+ " " +$radian'''
 +
 
 +
'''spritehide'''
 +
||
 +
I will copy the program from text editor and paste it into Kturtle Editor
 +
|-
 +
Run the program
 +
||Click on Run Button to  execute again.
 +
 
 +
Enter 45 for angle value and click OK.
 +
 
 +
Program runs without errors.  
  
 +
This way you can find the line at which error has occured, and correct it.
 
|-
 
|-
 
||
 
||
Line 244: Line 278:
 
||I will clear the current program from the editor.
 
||I will clear the current program from the editor.
  
Type clear command and Run to clean the canvas.
+
Type clear command and '''Run''' to clean the canvas.
 
|-
 
|-
||
+
||Highlight the program
 
||I already have a program in a text editor.  
 
||I already have a program in a text editor.  
 +
 +
This program divides two numbers.
 +
 +
'a' is dividend and 'r' is divisor.
 
|-
 
|-
 
||'''reset'''  
 
||'''reset'''  
Line 264: Line 302:
  
 
Resume the tutorial after typing the program.  
 
Resume the tutorial after typing the program.  
|-
 
||'''Zoom text'''
 
||I will zoom into the program text.
 
 
It may possibly be a little blurred.
 
 
|-
 
|-
 
||'''Run the program'''  
 
||'''Run the program'''  
Line 284: Line 317:
 
|-
 
|-
 
||Highlight '''Line number 4'''
 
||Highlight '''Line number 4'''
||Here error is in line number 4.
+
||This error is in line number 4.
 
|-
 
|-
 
||'''Run time error'''
 
||'''Run time error'''
Line 290: Line 323:
 
|-
 
|-
 
||Run the program  
 
||Run the program  
||Let's run again.press F5 to run
+
||Let's run the program again.  
 
+
Complier does not show any error.
+
 
+
  
 
Let's enter 5 for 'a' and click OK  
 
Let's enter 5 for 'a' and click OK  
Line 299: Line 329:
 
enter 2 for 'r' and click OK  
 
enter 2 for 'r' and click OK  
  
Program runs properly.
+
Program without errors.
 
|-
 
|-
 
||“clear” command
 
||“clear” command
 
||I will clear the current program from the editor.
 
||I will clear the current program from the editor.
Type clear command and Run to clean the canvas.
+
 
 +
Type '''clear''' command and '''Run''' to clean the canvas.
 
|-
 
|-
 
||
 
||
Line 338: Line 369:
  
 
'''print $x''' }  
 
'''print $x''' }  
||I will copy the program into Kturtle Editor  
+
||I will copy the program from text editor and paste it into Kturtle's Editor  
  
 
Pause the tutorial and type the program into your KTurtle editor  
 
Pause the tutorial and type the program into your KTurtle editor  
Line 344: Line 375:
 
Resume the tutorial after typing the program.  
 
Resume the tutorial after typing the program.  
 
|-
 
|-
||'''Zoom text'''
 
||Let me zoom into the program text.
 
  
It may possibly be a little blurred.
 
|-
 
 
||Run the program  
 
||Run the program  
 +
||Now click on the '''Run''' button to run the program.
  
Highlight '''“ while”  loop condition'''
+
A dilog box pops-up let's click OK.
||Now click on the Run button to run the program.
+
 
+
Complier does not show any error.  
+
  
 
Loop goes into an infinite loop.  
 
Loop goes into an infinite loop.  
 
+
|-
We see that “while” loop prints numbers from 31 and it is still printing.
+
||Highlight '''“ while”  loop condition'''
 +
||We see that “while” loop prints numbers from 31 and it is still printing.
  
 
This is a logical error.
 
This is a logical error.
Line 367: Line 393:
  
 
So the loop never terminates.
 
So the loop never terminates.
 
 
|-
 
|-
 
||'''Abort the process'''  
 
||'''Abort the process'''  
Line 373: Line 398:
 
|-
 
|-
 
||Change '''$x=$x+1''' to '''$x=$x-1'''
 
||Change '''$x=$x+1''' to '''$x=$x-1'''
||Let's Change '''$x=$x+1''' to '''$x=$x-1'''.
+
||Let's change $x=$x+1 to $x=$x-1.
 +
|-
 +
||'''reset'''  
  
Run again.
+
'''$x=30'''
 +
 
 +
'''message"In while loop, code inside the loop repeats till boolean
 +
evaluates false" '''
 +
 
 +
'''while $x>20 { '''
 +
 
 +
''''$x=$x-1''''
 +
 
 +
'''fontsize 15'''
 +
 
 +
'''forward 20'''
 +
 
 +
'''print $x } '''
 +
||Copy the program from text editor and paste it into KTurtle's editor.
 +
|-
 +
||'''Run the program'''
 +
||Click on the Run button to run the program.  
  
program runs properly.
+
A  dilog box pop-up let's click OK.
  
Loop terminates after printing values from 29 to 20.
+
Loop terminates after printing values from 29 to 20.  
 
|-
 
|-
 
||
 
||

Revision as of 13:16, 7 February 2013

Run the program
Visual Cue Narration
Slide Number 1 Hello everybody.

Welcome to this tutorial on Common Errors in KTurtle.

Slide Number 2

Learning Objectives

In this tutorial, we will learn about
  • Syntax errors
  • Runtime errors
  • Logical errors
Slide Number 3

System Requirement

To record this tutorial I am using,

Ubuntu Linux OS v. 12.04.

KTurtle v. 0.8.1 beta.

Slide Number 4

Pre-requisites

We assume that you have basic working knowledge of KTurtle

If not,

for relevant tutorials, please visit our website.

http://spoken-tutorial.org

Slide Number 5

Definition of Error

Let's first define, What is an error ?

Error is a mistake in a program that produces an incorrect or unexpected result.

First I will explain about "Types of errors".
Slide Number 5

Syntax Errors

A syntax error is a violation of grammatical rules, of a programming language.

Compilation fails when a program has syntax errors.

Syntax errors are easy to find and fix.

For Example:

  • Unmatched parentheses, square brackets and curly braces.
  • Use of variable that has not been declared.
  • Missing quotes in strings.
Switch to KTurtle Application

Dash home >>Search bar appears>> In the Search bar type KTurtle Click on the KTurtle icon.

Let's open a new KTurtle Application.

Click on Dash home. The Search bar appears.

In the Search bar, type KTurtle.

Click on the KTurtle icon.

Let's begin the tutorial with some types of syntax errors.
I already have a program in a text editor.
Comment code To explain the error in the program, I will comment part of the code.
Highlight
$a=ask "enter any number and click Ok"
Here, I will comment the line $a=ask "enter a number and click Ok"
Type # I will use hash(#) sign to comment the line.
reset

#$a=ask "enter a number and click ok"

print $a^3'

spritehide

I will Copy the program into Kturtle Editor.

Pause the tutorial and type the program your into KTurtle editor

Resume the tutorial after typing the program.

Run the program Let's Click on Run button to run the program

Complier shows the following error,

The variable "$a" was used without first being assigned to a value.

Highlight Line number 4 Here the error is in line number 4
Syntax error This is syntax error. It occured, as the variable 'a' was not declared.
Highlight $a=ask "enter any number and click Ok"

Remove the comment

So I will go to line number 2 and remove the comment.
reset

$a=ask "enter a number and click ok"

print $a^3 

spritehide

I will copy the program from text Editor and paste it into KTurtle editor.
Run the program Let's run the program again

Enter 6 for 'a' and click OK

We see that the program runs without errors.

“clear” command I will clear the current program from the editor.

Type clear command and Run to clean the canvas.

Next let's look at another error.
I already have a program in a text editor.
Highlight

$radian=(pi/180)*$degree

Value of "pi" is predefined in KTurtle.
Highlight $ Let's delete $ sign in the program.
reset

degree=ask "enter an angle value and click OK"

$radian=(pi/180)*$degree

go 50,50

print "Value in radians is"+ " " +$radian

spritehide

I will copy the program into Kturtle Editor

Pause the tutorial and type the program your into KTurtle editor


Resume the tutorial after typing the program.

Run the program Let's Click on Run button to run the program.

Complier shows the following error,

you cannot put “=” here

Highlight Line number 2 This error is in line number 2.
Show error This syntax error occured, as there is no container of variables.
Replace $ sign Let's go back to the program replace the $ sign.
reset

$degree=ask "enter an angle value and click OK" $radian=(pi/180)*$degree go 50,50 print "Value in radians is"+ " " +$radian spritehide

I will copy the program from text editor and paste it into KTurtle's Editor
Run the program Click on Run button to run the program.

Enter 45 for angle value and click OK

Program runs without errors.

Next let's look at another error.
Highlight "enter an angle value and click OK" Let's remove one of the quotes of the string.
reset

$degree=ask "enter an angle value and click OK

$radian=(pi/180)*$degree

go 50,50

print "Value in radians is"+ " " +$radian

spritehide

I will copy the program from text editor and paste it into KTurtle Editor
Run the program Let's click on Run button to run the program

Complier shows the following error,

text string was not properly closed, expected a double quote “ ” to close the string.

Highlight Line number 2 Here the error is in line number 2.
Replace the quotes So I will go to line number 2 and replace the quotes.
reset

$degree=ask "enter an angle value and click OK"

$radian=(pi/180)*$degree

go 50,50

print "Value in radians is"+ " " +$radian

spritehide

I will copy the program from text editor and paste it into Kturtle Editor

Click on Run Button to execute again.

Enter 45 for angle value and click OK.

Program runs without errors.

This way you can find the line at which error has occured, and correct it.

Let's now learn about runtime errors.
Slide Number 6

Runtime errors

Run-time error occurs during the execution of a program.

It may crash the program when you run it.

Runtime errors are commonly due to wrong input from the user.

Compiler cannnot find these errors.

For example:

  • Trying to multiply or divide by a variable that contains no value.
  • Run a loop without a terminating condition or increment value.
“clear” command I will clear the current program from the editor.

Type clear command and Run to clean the canvas.

Highlight the program I already have a program in a text editor.

This program divides two numbers.

'a' is dividend and 'r' is divisor.

reset

$a=ask "enter a number for 'a' and click Ok"'

$r = ask "enter a number for 'r' and click OK"

$d=$a/$r

print $d

I will copy the program into Kturtle Editor.

Pause the tutorial and type the program into your KTurtle editor

Resume the tutorial after typing the program.

Run the program Let's click on the Run button to run the program.

Complier does not show any error.

Let's enter 5 for 'a' and click OK

enter 0 for 'r' and click OK

Here we get a runtime error,

“ you tried to divide by zero”

Highlight Line number 4 This error is in line number 4.
Run time error This error occurs as we cannot divide a number with zero.
Run the program Let's run the program again.

Let's enter 5 for 'a' and click OK

enter 2 for 'r' and click OK

Program without errors.

“clear” command I will clear the current program from the editor.

Type clear command and Run to clean the canvas.

Next we will learn about logical errors.
Logical errors Logical error is a mistake in a program's source code that results in incorrect or unexpected behavior.

For example,

Assigning a value to the wrong variable.

Multiplying two numbers instead of adding.

I already have a program in a text editor.
reset

$x=30

message"In while loop, code inside the loop repeats till boolean

evaluates false"

while $x>20 {

$x=$x+1

fontsize 15

forward 20

print $x }

I will copy the program from text editor and paste it into Kturtle's Editor

Pause the tutorial and type the program into your KTurtle editor

Resume the tutorial after typing the program.

Run the program Now click on the Run button to run the program.

A dilog box pops-up let's click OK.

Loop goes into an infinite loop.

Highlight “ while” loop condition We see that “while” loop prints numbers from 31 and it is still printing.

This is a logical error.

In this “while” condition x is greater than 20,

but the variable x is always greater than 20

So the loop never terminates.

Abort the process I will click on Abort button to abort the process.
Change $x=$x+1 to $x=$x-1 Let's change $x=$x+1 to $x=$x-1.
reset

$x=30

message"In while loop, code inside the loop repeats till boolean evaluates false"

while $x>20 {

'$x=$x-1'

fontsize 15

forward 20

print $x }

Copy the program from text editor and paste it into KTurtle's editor.
Run the program Click on the Run button to run the program.

A dilog box pop-up let's click OK.

Loop terminates after printing values from 29 to 20.

With this we have come to the end of this tutorial.

Let us summarise.

Slide Number 9

Summary

In this tutorial we have learnt, errors and types of errors such as
  • Use of variable that has not been declared.
  • Missing quotes in strings.
  • Errors related to print command
  • Runtime errors
  • Logical errors
Slide Number 10

Assignment

As an assignment I would like you to find errors in the given programs-
Assignment 1 reset

$x=3

$y=3

if $x==$y

print"they are equal"

else {

print "they are not equal"}

Assignment 2 program to find the nth term and sum of n terms in GP

reset

$x=ask "enter value for x and click Ok"

$y = ask "enter value for y and click Ok"

$g =sqrt ($x*$y)

print "Geometric mean is ="+

Assignment 3 reset

learn sum $x {

{$r=0

for $i= 1 to $x{

return $r}

}

print

Slide number 11

Acknowledgement

Watch the video available at

http://spoken-tutorial.org/What is a Spoken Tutorial It summarises the Spoken Tutorial project If you do not have good bandwidth, you can download and watch it

Slide Number 12

The Spoken Tutorial Project Team :

Conducts workshops using spoken tutorials Gives certificates to those who pass an online test For more details, please write to contact@spoken-tutorial.org

Slide number 13 Spoken Tutorial Project is a part of the Talk to a Teacher project

It is supported by the National Mission on Education through ICT, MHRD, Government of India More information on this Mission is available at http://spoken-tutorial.org/NMEICT-Intro ]

This is Madhuri Ganpathi from IIT Bombay Thank you for joining

Contributors and Content Editors

Arya Ratish, Madhurig