Week 2 Recitation Slides - Purdue CS Wiki/Application server

Download Report

Transcript Week 2 Recitation Slides - Purdue CS Wiki/Application server

CS 177 Week 2 Recitation Slides
Introduction
1
Announcements
2
What Computers Understand?


Computers can only understand Encoding of
numbers.
So what is the meaning of
Encoding?
How can we represent voltages?

Computers are electronic devices that react to wires.
Computer hardware produces (patterns of) voltages
(variations of electric current).
If a wire has a voltage on it, we say that it encodes 1.

If it has no voltage, we say 0.


Encoding
Encoding is the activity of converting data or
information into some symbol.
Computer understand just two symbols, 0 and 1.
0 and 1 are also numbers (in the binary number
system). A binary number system gets its name
from having just two digits, O and 1.
Binary Number System



Represents numeric values using two symbols, 0 and 1
Also called Base-2 number system
To convert decimal numbers into binary, divide the
decimal number repeatedly by 2


Remainder at each step becomes a digit of the binary number
Repeat until result of further division becomes zero
6
Decimal to Binary Conversion

To convert the decimal number 26 into binary,

In a computer, 26 is represented as 11010
7
Binary to Decimal Conversion


Multiply successive digits of the binary number with
increasing powers of 2
Add the products to get the
decimal number
8
Examples
23 = 8 * 1 = 8 +
22 = 4 * 1 = 4 +
21 = 2 * 0 = 0 +
20 = 1 * 1 = 1
Interpreted as 13
Can you do this?
Example 1: Emoticons







What if you want to tell a friend your emotion by texting them on
your mobile phone (without texting a long message)?
You can use emoticons…
Emoticons are an encoding of emotions:
:) I’m happy, I like it
:( I’m unhappy, I dislike it
:’( I’m crying and sad
You are using a combination of symbols (parenthesis, punctuation
symbols), that you normally you use in writing, to represent your
emotions.
Example 2: Character Codes


Now suppose that you want to encode the previous 3
symbols : ( ) using numbers…
You may use the ASCII code …
ASCII Table
Definitions

Bit: is the smallest unit of data in a computer that has a
single binary value either 0 or 1.

Byte: is a unit of data that is

How many bits are there in 5 bytes?
eight binary digits long.
Questions


How many combinations can be represented in one
bit? Two bits?
What about three bits and four bits?
Decoding

So, Decoding is the activity of converting code
into plain text.
Statements

On starting Python, there is a Python prompt indicating that Python
is ready to accept a command. These commands are called
statements.

Different kinds of statements
>>> print("Hello, world“)
Hello, world
>>> print(2+3)
5
>>> print("2+3=", 2+3)
2+3= 5
>>>
17
Simple Statements

Assigning values
>>> a = 10
>>> b = 2
>>> c = 4

Arithmetic Operations
>>> x = a + b
>>> y = a – b
>>> p = a/b
>>> q = a/c
18
Operator Precedence


Order of mathematical operations in an expression
Python uses the same precedence as in Mathematics




Terms inside parentheses or brackets
Exponents and Roots
Multiplication and Division (Left to Right)
Addition and Subtraction (Left to Right)
19
Print Statements

From previous example,
>>> print(x)
12
>>> print("y =", y)
y=8
>>> print("Sum of a and b :", a + b)
Sum of a and b : 12

Other examples,
>>> print("Hello, World!")
Hello, World!
>>> print("Hello", ",", "World!")
Hello , World!

We will revisit the print() statement later
20
Programming Tip

Use print() statements for debugging
>>> a = 2 + 3 * 6
>>> b = 10 - 2 * 3
>>> print(a/b)
5.0
Did we get the expected result?
21
Print statements for debugging
Print statements allow us to observe the operator precedence
>>> a = 2 + 3 * 6
>>> print("a = ", a)
a = 20
>>> b = 10 - 2 * 3
>>> print("b = ", b)
b= 4
>>> print("Result = ", a/b)
Result = 5.0
Print statements allow us to observe various variables and the
values they have during the course of the program
22
Python Math Library


Provides access to mathematical functions
Documentation – http://docs.python.org/library/math.html





math.pow(x, y) - Return x raised to the power y.
math.sqrt(x) - Return the square root of x.
math.factorial(x) - Return x factorial.
math.ceil(x) - Return the ceiling of x.
math.floor(x) - Return the floor of x.
23
Examples
>>> import math
>>> a = math.factorial(6)
>>> print(a)
720
>>> b = math.sqrt(123)
>>> print(b)
11.0905365064
>>> c = math.floor(5.9)
>>> print(c)
5
24
Examples
>>> x = math.factorial(4) * math.pow(2,3)
>>> print(x)
192.0
>>> y = 5.5
>>> z = math.floor(y) * math.ceil(y)
>>> print(z)
30
25