View
225
Download
0
Category
Tags:
Preview:
Citation preview
UniMAP Sem1-08/09 EKT120: Computer Programming
1
Week 1 – Lecture 1
UniMAP Sem1-08/09 EKT120: Computer Programming
2
General Information
Contributes 4 units: 2 hours - lectures 4 hours – lab and tutorial
Main Objective: Students can independently write a
computer program to solve calculation problems, especially those related to engineering
UniMAP Sem1-08/09 EKT120: Computer Programming
3
Overall Evaluation 3 main components:
6 Assignments + Lab Activities + End-Lecture Assessment (30%)
1st & 2nd Test (15% +25%) Group Mini-project (30%)
Assignments are individual “take home” + lab
The two tests are written tests Project : Max number of group member is 2
UniMAP Sem1-08/09 EKT120: Computer Programming
4
References “ C How To Program
4th edition”, Deitel and Deitel, Pearson-Prentice Hall ,2004
“C Programming for Engineering & Computer Science ”, H.H.Tan and T.B.Orazio, Mc Graw Hill, 1999.
Any other C programming books
UniMAP Sem1-08/09 EKT120: Computer Programming
5
Notes This course is NOT about the
language per se, it’s about problem solving / analytical skills & to apply C to solve problems.
Write C program in Linux environment
Do early reading Do not hesitate to ask during
lecture sessions
UniMAP Sem1-08/09 EKT120: Computer Programming
6
Outline Computer fundamentals
Computer organization and hardware Computer software
Programming languages Machine language Assembly language High-level language
Algorithm : pseudocode and flowchart Control structures Simple C program
UniMAP Sem1-08/09 EKT120: Computer Programming
7
Computer Fundamentals Computer system are divided into
hardware and software. Hardware refers to physical components
of computers which are: Input Device Output Device Main memory Secondary memory device Central Processing Unit (CPU)
UniMAP Sem1-08/09 EKT120: Computer Programming
8
Computer Hardware
Input Device Output Device
Secondary Memory
Control Unit
Arithmetic and Logic Unit
Register
CPU
Main Memory
UniMAP Sem1-08/09 EKT120: Computer Programming
9
Input/Output Device
Input device - feeds data and programs into computers E.g. keyboard, mouse, touch screen,
scanners Output device - display results
produced by computer E.g. monitor, printer, speaker
UniMAP Sem1-08/09 EKT120: Computer Programming
10
Main Memory
keeps information from the input unit also keeps processed information until
it can be placed on output devices all programs must be loaded into main
memory before they can be executed and all data must be brought into main memory before it can be manipulated.
UniMAP Sem1-08/09 EKT120: Computer Programming
11
Main Memory Main memory can be further
classified into two types: Random Access Memory (RAM)
information in RAM will be lost when the computer is turned-off.
Read Only Memory (ROM) they have been set during the
manufacturing process. ROM usually contains instructions and information considered to be fundamental to the computer.
UniMAP Sem1-08/09 EKT120: Computer Programming
12
Secondary Memory
Main memory is only used during processing following certain instructions
Permanent information is NOT stored in main memory but is stored in secondary memory E.g. program file, data fail etc E.g hard disk, diskette, CD
UniMAP Sem1-08/09 EKT120: Computer Programming
13
Central Processing Unit(CPU) CPU is the computer’s administrator
and is responsible for supervising the operation of the other section
Consists of two functional units: a control unit and an arithmetic-logic unit (ALU)
Control unit supervises all activities of the computer system
ALU perform basic arithmetic operations and comparison operations
UniMAP Sem1-08/09 EKT120: Computer Programming
14
Software
As a complement to hardware, computer system needs software to solve problems.
Software are classified into : System software Application software
UniMAP Sem1-08/09 EKT120: Computer Programming
15
System Software System software : manage the
computer and its peripheral devices (hardware) E.g. Operating systems(OS) Text editor Preprocessor Language translator Linker Loader
UniMAP Sem1-08/09 EKT120: Computer Programming
16
Application Software Application software : performs specific
tasks There are two types:
Program to solve specific problems Program written by user to solve specified
problem E.g word processor, desktop publishing
software, spreadsheets, database, graphics, communication, program perform a specific task such as accounting, scientific, engineering, education etc
UniMAP Sem1-08/09 EKT120: Computer Programming
17
Programming Languages
Programming language is divided into three categories: Machine Language Assembly Language High-Level Language
UniMAP Sem1-08/09 EKT120: Computer Programming
18
Machine Language Language understood by the computer Bunch of 0’s and 1’s Program written in machine language
can be executed without being translated
Nevertheless, hard to learn because it is written in 0’s and 1’s
Program is too long to solve simple problem Machine-dependant and not portable E.g. 0101 1000 0101 1001 1100 0111
0101 0001 1100 0100 1011 1000
UniMAP Sem1-08/09 EKT120: Computer Programming
19
Assembly Language
Strings of 0’s and 1’s are replaced into instructions which resembles English language to represent computer operation element
Easier to understand and written E.g LOAD rate
MULT hourSTOR wages
UniMAP Sem1-08/09 EKT120: Computer Programming
20
Assembly Language
Nevertheless, need language translator called Assembler to change Assembly Language to Machine Code for execution purpose
still too long and not portable
UniMAP Sem1-08/09 EKT120: Computer Programming
21
High-Level Language Improve weaknesses in Machine
Language and Assembly Language portable Written in one instruction to carry out
several instruction in machine level E.g. discount_price = price – discount;
Must be changed to machine code before executed, need compiler : a system software that translate source program to object program
UniMAP Sem1-08/09 EKT120: Computer Programming
22
Algorithms
The solution to any computing problem involves executing a series of actions in a specific orderRouti ne taken by Routi ne taken by
Executi ve on Day 1: Executi ve on Day 2:
Get out of bed Get out of bedTake off paj amas Take off paj amasTake a shower Get dressedGet dressed Take a showerEat breakfast Eat breakfastCarpool to work Carpool to work
UniMAP Sem1-08/09 EKT120: Computer Programming
23
Algorithms Pseudocode : artificial and informal
language that helps programmers develop algorithms
E.g. if student’s grade is greater than or equal to 50
Print “Pass” else
Print “Fail”
UniMAP Sem1-08/09 EKT120: Computer Programming
24
Algorithms
Flowchart: visual-form of an algorithm
E.g.
Process 2Decision
Data
Process 1
Begin
End
UniMAP Sem1-08/09 EKT120: Computer Programming
25
Algorithm-Basic symbols in a flowchart
Start/ End
Process
Input/Output
Decision
Flow direction
Connector
UniMAP Sem1-08/09 EKT120: Computer Programming
26
Flowchart-(E.g)
Start
read num1, num2
sum=num1+num2
print sum
End
UniMAP Sem1-08/09 EKT120: Computer Programming
27
Control Structure
All programs could be written in terms of three control structures: Sequence structure Selection structure Repetition structure
UniMAP Sem1-08/09 EKT120: Computer Programming
28
Sequence structure
Is a series of steps executed sequentially by default
Read num1,num2
Calculate total=num1+num2
Print total
Pseudocode Flowchart
Read num1,num2
total = num1+num2
print total
UniMAP Sem1-08/09 EKT120: Computer Programming
29
Selection structure
Used to choose among alternative courses of action
C has three types: if, if..else, and switch
UniMAP Sem1-08/09 EKT120: Computer Programming
30
The if selection structure
if structure is a single-entry/single-exit structure
true
false
grade >= 60
print “Passed”
If student’s grade is greater than or equal to 60
Print “Passed”
UniMAP Sem1-08/09 EKT120: Computer Programming
31
The if..else selection structure
Specifies an action to be performed both when the condition is true and when it is false
truefalse
print “Failed” print “Passed”
grade >= 60
If student’s grade is greater than or equal to 60
Print “Passed”else
Print “Failed”
UniMAP Sem1-08/09 EKT120: Computer Programming
32
Repetition structure
Specifies a block of one or more statements that are repeatedly executed until a condition is satisfied
Three types : while, for, do-while
UniMAP Sem1-08/09 EKT120: Computer Programming
33
The while repetition structure Programmer specifies an action is to be
repeated while some conditions remains true
product <= 1000 product = 2 * producttrue
falseWhile product is less than or equal 1000
calculate product=2 * product
UniMAP Sem1-08/09 EKT120: Computer Programming
34
Simple C Program//This program will calculate number of RM 50, RM 20, RM 10, RM 5 and RM 1 notes//for a given value entered by user.#include <stdio.h>
int main(void){ int value, balance; int note50, note20, note10, note5, note1;
printf("Enter value in RM : "); scanf("%d",&value); note50 = value / 50; balance = value % 50; note20 = balance /20; balance = balance % 20; note10 = balance / 10; balance = balance % 10; note5 = balance / 5; note1 = balance % 5; printf("Number of RM 50 notes : %d\n", note50); printf("Number of RM 20 notes : %d\n", note20); printf("Number of RM 10 notes : %d\n", note10); printf("Number of RM 5 notes : %d\n", note5); printf("Number of RM 1 notes : %d\n", note1); return 0;}
UniMAP Sem1-08/09 EKT120: Computer Programming
35
End Week 1 – Session 1
Q & A!
Recommended