1 204111 computers and programming อนันต์ ผลเพิ่ม anan phonphoem anan...

34
1 204111 Computers and Programming ออออออ อออออออ Anan Phonphoem http://www.cpe.ku.ac.th/ ~anan [email protected]

Upload: aron-mitchell

Post on 25-Dec-2015

250 views

Category:

Documents


2 download

TRANSCRIPT

1

204111 Computers and Programming

อนั�นัต์� ผลเพิ่��มAnan Phonphoem

http://www.cpe.ku.ac.th/~anan

[email protected]

2

Outline Intro to computer Computer components How can we load and run program? Programming languages Problem solving and programming Programming strategy Intro to Pascal

Program structure Basic elements (reserved words, identifiers)

3

Categories of Computers Microcomputer

Personal Computer, Desktop computer Notebook, Laptop, Palmtop Use by one person at a time

Minicomputer Faster speed Many users at the same time

Mainframe -> Supercomputer High computation power

4

Categories of Computers Workstation

CAD Workstation Unix Workstation

Server Client /Server (Networks)

5

Computer Components

6

CPU

MainMemory

HD

Computer ComponentsSecondary Memory

Input Devices

Output Devices

7

Computer Memory

1. Main Memory2. Secondary Memory

8

1. Main Memory Store information

100-34.9

A23

W

000001002003...

999

Memory Cell

Memory Address

9

1. Main Memory Memory Cell Byte Bit 1 Byte = 8 bits Can be divided into 2 Categories

RAM (Random Access Memory) ROM (Read Only Memory)

10

2. Secondary Memory (Storage) Floppy disk Hard disk CD-ROM Tape Information called “file” (data file,

output file, program file) 1 Kbyte = 210 = 1024 bytes 1 Mbyte = 220 = 1,048,576 bytes 1 Gbyte = 230 = 1,073,741,824 bytes

11

Main VS. Secondary Memory Main Memory

Much faster More expensive Volatile (RAM)

Secondary Memory Slower Less expensive Permanent

12

CPU

MainMemory

HD

Computer ComponentsSecondary Memory

Input Devices

Output Devices

13

Central Processor Unit (CPU) Retrieve information from memory Calculate Put back results to memory Intel / AMD (Pentium / Athlon)

14

How can we load and run program?

Boot process Load OS into Memory

Tell user to load and run Program “p1” User start using program

HWOS

SecondaryStorage

p1 USER

15

Programming Language Machine Language Assembly Language High-Level Language CPU can execute only the machine

language

16

How can a non-machine language program be executed?

2 methods Interpretation Translation

17

The interpretation Process

Source Program

Input Data

Interpreter(on computer)

Output

18

Translation Process Translation Phase Link Phase Execute Phase

SourceProgram Translator Object

Program

Library

Linker ExecuteProgram

Output CPU Input Data

19

Translators Assembler (assembly) Compiler (High-level language)

20

High-Level Languages Procedural Language

Fortran Cobol Basic C Pascal

Object-Oriented Language C++

Functional Language Lisp

Logic Language Prolog

21

Problem Solving and Programming Solve Problems Combine art and science Art

Transform a description (word to equation) Difficult (problem is not clear, input, output)

Science Knowledge of problems Equation and formula

22

Programming Strategy Don’t rush to key in the computer Think carefully about the problem Try to solve by hand Plan your program Test by hand if possible Start programming Program Compilation Testing / Debug Documentation Maintenance

23

Introduction to Pascal Procedural programming language Developed by Prof.Niklaus Wirth

(Switzerland, 1970s) Named in honor to mathematician,

Blaise Pascal Most popular -> Turbo Pascal

24

Pascal Program Structure Program Heading Declarations Main Routine (Program body)

25

Pascal Program Structureprogram myFirstProgram;const

myStudentId = 1234567;var

courseTaken: integer;begin

write(‘Please Enter a number of courses’);read(‘courseTaken’);writeln(‘Student’, myStudentId, ‘ takes ’, courseTaken, ‘ courses in this semester’);

end.

Program Heading

Declarations

Program Body

26

Basic Elements of Pascal Character set Reserved words Identifiers Constants / Variables Statement / Expression Function / Procedure

27

Character Set Three categories

Letter (A…Z, a…z) Digit (0…9) Special character (+ - * / _ = ! <> []

{})

28

Reserved Words (คำ��สงวน) Predefined meaning and usage Cannot be redefined by the

programmer Examples

program begin / end const / var etc.

29

Reserved Words (คำ��สงวน)program myFirstProgram;const

myStudentId = 1234567;var

courseTaken: integer;begin

write(‘Please Enter a number of courses’);read(‘courseTaken’);writeln(‘Student’, myStudentId, ‘ takes ’, courseTaken, ‘ courses in this semester’);

end.

30

Identifiers (คำ��บ่งช ี้ ) Symbolic names for program elements

Program name Variable name Data Type name Etc.

Rules for constructing identifiers Letters, digits, and under score (_) First character letter Can be long (63 char) Reserved words are not allowed

31

Identifiers (คำ��บ่งช ี้ )program myFirstProgram;const

myStudentId = 1234567;var

courseTaken: integer;begin

write(‘Please Enter a number of courses’);read(‘courseTaken’);writeln(‘Student’, myStudentId, ‘ takes ’, courseTaken, ‘ courses in this semester’);

end.

32

Identifier examples Valid examples

score, count, total score1, count99, total09 score_1, count_99, total_99 myStudentId my_student_id

Invalid examples point&score total-number 9points

33

Notes for Identifiers Identifiers are case-insensitive

mystudentId Mystudentid MYSTUDENTID

Some identifiers are predefined meanings (Standard Identifiers) interger, real write, writeln, read, readln

34

Standard Identifiersprogram myFirstProgram;const

myStudentId = 1234567;var

courseTaken: integer;begin

write(‘Please Enter a number of courses’);read(‘courseTaken’);writeln(‘Student’, myStudentId, ‘ takes ’, courseTaken, ‘ courses in this semester’);

end.