Upload
aron-mitchell
View
250
Download
2
Embed Size (px)
Citation preview
1
204111 Computers and Programming
อนั�นัต์� ผลเพิ่��มAnan Phonphoem
http://www.cpe.ku.ac.th/~anan
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)
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
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
18
Translation Process Translation Phase Link Phase Execute Phase
SourceProgram Translator Object
Program
Library
Linker ExecuteProgram
Output CPU Input Data
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
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