Presentation is loading. Please wait.

Presentation is loading. Please wait.

Introduction to Computers and Programming 01204111 – Computer Programming.

Similar presentations


Presentation on theme: "Introduction to Computers and Programming 01204111 – Computer Programming."— Presentation transcript:

1 Introduction to Computers and Programming 01204111 – Computer Programming

2 2 What is a computer? A computer is a machine that  Follows instructions (software) in memory  Reads input data  Stores and processes data  Produce outputs

3 3 Development Abacus Analytical Engine 1 Generation (1940-1956): Vacuum Tubes 2 Generation (1956-1963): Transisters 3 Generation (1964-1971): Integrated Circuits 4 Generation (1971-Present): Microprocessors, VLSI/ULSI

4 4 Types of computers Desktop computers Notebook computers Mobile computers (Personal Digital Assistants, PDA) Mainframes Super computers Microcomputers

5 5 Hardware Input devices Output devices Central Processing Unit (CPU) Main memory Storage

6 6 Computer Programming To program a computer is to write instructions so that the computer can complete the required task. These instructions must be specific and unambiguous.  To do so, you have to think carefully and describe your idea into instructions in the language that the machine can understand.

7 7 Basic Steps Problem analysis Program design Implementation Testing

8 8 Programming languages  Low-level languages. e.g., machine languages, assembly language  High-level language. e.g., C, Pascal, Java, C#, Python

9 9 Low-level languages Instructions depend on the specific architecture of the machines  E.g., x86, ARM, AVR architectures Each instruction correspond to specific cycle of execution A program written for a specific architecture cannot be executed in another architecture.

10 10 Low-level languages Machine languages  Ready to be executed  Usually written as binary or hexadecimal numbers Assembly language  Encoded machine languages  Each instruction corresponds to one machine instruction. SUBR3, #2, R6 00011000 01101011 00011001 11111100 10011000 11100000 00011000 01101011 00011001 11111100 10011000 11100000 18 6B 19 FC 98 E0 รหัสฐานสอง รหัสฐานสิบหก 01 011 110 00000010

11 11 High-level languages Read more naturally Are usually independent of the underlying architecture. -> More portable Each statement may correspond to many machine instructions SUM := A * 2 + ALPHA/3; PRINTLN(SUM); SUM := A * 2 + ALPHA/3; PRINTLN(SUM);

12 12 Example of high-level languages Procedural  Fortran  Cobol  Basic  C  Pascal Functional  Lisp Object-oriented  C++  Java  C#  VB Logic  Prolog

13 Program Execution A computer does not "understand" high-level languages. To execute program in these languages, you need either:  An interpreter  A compiler 13

14 14 Interpreters An interpreter reads each high-level language instruction and executes that instruction, one by one. อินเทอร์พรีเตอร์อินพุท เอาท์พุท prog.bas ซอร์สโค้ด

15 15 Compilers A compiler reads the whole program and translate it into machine readable instructions. คอมไพเลอร์อินพุท เอาท์พุท prog.c ซอร์สโค้ด prog.exe รหัสภาษาเครื่อง

16 16 Languages used in this course Python  An interpretative language  Can be used on many computing systems (e.g., on MS Windows, Unix, and even some mobile phones). C#  A compilation language  More restrictive syntax  Very good for developing GUI applications

17 17 Python Is a multi-paradigm programming language  Procedural  Functional  Object-oriented Is an interpretative language Easy to get started Very rich standard library

18 18 Installation Download Python 3.1 at  http://www.python.org/ftp/python/3. 1.2/python-3.1.2.msi http://www.python.org/ftp/python/3. 1.2/python-3.1.2.msi After the installation, you can try calling the Python Shell from the Start Menu.

19 19 Thinking Corners Try to guess what the following program is doing. print("Welcome") g = input("Guess the number: ") guess = int(g) if guess == 5: print("You win!") else: print("You lose!") print("Game over!") print("Welcome") g = input("Guess the number: ") guess = int(g) if guess == 5: print("You win!") else: print("You lose!") print("Game over!") 1: 2: 3: 4: 5: 6: 7: 8: 1: 2: 3: 4: 5: 6: 7: 8:

20 20 Natural languages A program is not that different from human natural language Display "Welcome" Let g be input("Guess the number: ") Let guess be int(g) if guess equals 5: Display "You win!" else: Display "You lose!" Display "Game over!" Display "Welcome" Let g be input("Guess the number: ") Let guess be int(g) if guess equals 5: Display "You win!" else: Display "You lose!" Display "Game over!" 1: 2: 3: 4: 5: 6: 7: 8: 1: 2: 3: 4: 5: 6: 7: 8:

21 21 Interaction with Python A "prompt" that shows that the system is ready to take commands

22 22 Try this Try these commands (Don't type >>>) and observe the output >>> print(1) >>> print(3*8) >>> print("Hello") >>> input() >>> exit() >>> print(1) >>> print(3*8) >>> print("Hello") >>> input() >>> exit()

23 23 Combining instructions into programs We can combine many instructions into a single program for ease of usage later on.  Each instruction are executed in order from top to bottom.  We call this sequence of instructions "a program". You can use any editing software to create this program file, e.g., Notepad. Python programs's names end with.py,e.g., first.py

24 24 Traditional program development cycle Pythoninput output prog.py program Editor The development process gets much simplified with the use of IDE's. We shall talk about a particular IDE on the next few slides.

25 25 How to run your program You can double-click at the.py file. The Python interpreter will start to execute your program. Notes: After the program finishes, the window will be closed immediately.  By adding a command " input()", you can keep the window opened.

26 26 Wing IDE 101 In this course, we will develop programs in an Integrated Development Environment (IDE)  It has a build-in editor  Can execute programs inside the system  It comes with a debugging tool.

27 27 Turtle-style graphics We shall learn basic ideas of programming by telling and teaching turtles to draw. From the Python Shell we can start using the Turtle graphics system by typing from turtle import *

28 28 What can a turtle do? Moves forward/backward Turns left or right Takes a pen with it

29 29 Basic turtle control t = Turtle() – Create a turtle, call it t t.forward(d) - tell t to walk d steps t.backward(d) - tell t to walk backwards d for steps t.right(a) - tell t to turn right for a degree t.left(a) - tell t to turn left for a degree t.penup() – tell t to lift the pen up from the canvas t.pendown() - tell t to put the pen back to the canvas

30 Tell the turtle to draw a square In English: 30 Walk for 100 steps Turn right 90 degree Walk for 100 steps Turn right 90 degree Walk for 100 steps Turn right 90 degree Walk for 100 steps Turn right 90 degree Walk for 100 steps Turn right 90 degree Walk for 100 steps Turn right 90 degree Walk for 100 steps Turn right 90 degree Walk for 100 steps Turn right 90 degree

31 Tell the turtle to draw a square In Python: 31 from turtle import * t = Turtle() t.forward(100) t.right(90) t.forward(100) t.right(90) t.forward(100) t.right(90) t.forward(100) from turtle import * t = Turtle() t.forward(100) t.right(90) t.forward(100) t.right(90) t.forward(100) t.right(90) t.forward(100)

32 32 Teach the turtle You can define new commands using def from turtle import * t = Turtle() def square(): t.forward(100) t.right(90) t.forward(100) t.right(90) t.forward(100) t.right(90) t.forward(100) t.right(90) square() from turtle import * t = Turtle() def square(): t.forward(100) t.right(90) t.forward(100) t.right(90) t.forward(100) t.right(90) t.forward(100) t.right(90) square() Make sure the indentati on is aligned.

33 33 Repetitive instructions The instructions are very repetitive. High-level languages have ways to reduce this instruction repetition and duplication  To reduce program complexity and increase readability. from turtle import * t = Turtle() def square(): for x in range(4): t.forward(100) t.right(90) square() from turtle import * t = Turtle() def square(): for x in range(4): t.forward(100) t.right(90) square()

34 34 Thinking Corner Write a program that tells the turtle to draw a equilateral triangle whose sides are 200- step long, on the canvas.

35 35 Software required for the first half Python 3.1.2  http://python.org/ftp/python/3.1.2/py thon-3.1.2.msi Wing IDE 101  An integrated development environment for Python  http://wingware.com/pub/wingide-101/3.2.5/wingide- 101-3.2.5-1.exe


Download ppt "Introduction to Computers and Programming 01204111 – Computer Programming."

Similar presentations


Ads by Google