350 likes | 519 Views
204111 Computers and Programming. อนันต์ ผลเพิ่ม Anan Phonphoem http://www.cpe.ku.ac.th/~anan anan@cpe.ku.ac.th. Outline. Intro to computer Computer components How can we load and run program? Programming languages Problem solving and programming Programming strategy Intro to Pascal
E N D
204111 Computers and Programming อนันต์ ผลเพิ่ม Anan Phonphoem http://www.cpe.ku.ac.th/~anan anan@cpe.ku.ac.th
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)
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
Categories of Computers • Workstation • CAD Workstation • Unix Workstation • Server • Client /Server (Networks)
Secondary Memory Main Memory CPU Output Devices Input Devices Computer Components HD
Computer Memory 1. Main Memory 2. Secondary Memory
Memory Cell 000 100 001 -34.9 002 A Memory Address 003 23 ... 999 W 1. Main Memory • Store information
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)
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
Main VS. Secondary Memory • Main Memory • Much faster • More expensive • Volatile (RAM) • Secondary Memory • Slower • Less expensive • Permanent
Secondary Memory Main Memory CPU Output Devices Input Devices Computer Components HD
Central Processor Unit (CPU) • Retrieve information from memory • Calculate • Put back results to memory • Intel / AMD (Pentium / Athlon)
Secondary Storage USER OS p1 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 HW
Programming Language • Machine Language • Assembly Language • High-Level Language • CPU can execute only the machine language
How can a non-machine language program be executed? • 2 methods • Interpretation • Translation
The interpretation Process Source Program Interpreter (on computer) Output Input Data
Library Translator Object Program Linker Execute Program Output CPU Input Data Translation Process • Translation Phase • Link Phase • Execute Phase Source Program
Translators • Assembler (assembly) • Compiler (High-level language)
High-Level Languages • Procedural Language • Fortran • Cobol • Basic • C • Pascal • Object-Oriented Language • C++ • Functional Language • Lisp • Logic Language • Prolog
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
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
Introduction to Pascal • Procedural programming language • Developed by Prof.Niklaus Wirth (Switzerland, 1970s) • Named in honor to mathematician, Blaise Pascal • Most popular -> Turbo Pascal
Pascal Program Structure • Program Heading • Declarations • Main Routine (Program body)
Pascal Program Structure Program Heading 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. Declarations Program Body
Basic Elements of Pascal • Character set • Reserved words • Identifiers • Constants / Variables • Statement / Expression • Function / Procedure
Character Set • Three categories • Letter (A…Z, a…z) • Digit (0…9) • Special character (+ - * / _ = ! <> []{})
Reserved Words (คำสงวน) • Predefined meaning and usage • Cannot be redefined by the programmer • Examples • program • begin / end • const / var • etc.
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.
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
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.
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
Notes for Identifiers • Identifiers are case-insensitive • mystudentId • Mystudentid • MYSTUDENTID • Some identifiers are predefined meanings (Standard Identifiers) • interger, real • write, writeln, read, readln
Standard 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.