+ All Categories
Home > Documents > UniMAP Sem1-08/09EKT120: Computer Programming1 Week 1 – Lecture 1.

UniMAP Sem1-08/09EKT120: Computer Programming1 Week 1 – Lecture 1.

Date post: 12-Jan-2016
Category:
Upload: julianna-doyle
View: 220 times
Download: 0 times
Share this document with a friend
Popular Tags:
35
UniMAP Sem1-08/0 9 EKT120: Computer Programm ing 1 Week 1 – Lecture 1
Transcript
Page 1: UniMAP Sem1-08/09EKT120: Computer Programming1 Week 1 – Lecture 1.

UniMAP Sem1-08/09 EKT120: Computer Programming

1

Week 1 – Lecture 1

Page 2: UniMAP Sem1-08/09EKT120: Computer Programming1 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

Page 3: UniMAP Sem1-08/09EKT120: Computer Programming1 Week 1 – Lecture 1.

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

Page 4: UniMAP Sem1-08/09EKT120: Computer Programming1 Week 1 – Lecture 1.

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

Page 5: UniMAP Sem1-08/09EKT120: Computer Programming1 Week 1 – Lecture 1.

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

Page 6: UniMAP Sem1-08/09EKT120: Computer Programming1 Week 1 – Lecture 1.

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

Page 7: UniMAP Sem1-08/09EKT120: Computer Programming1 Week 1 – Lecture 1.

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)

Page 8: UniMAP Sem1-08/09EKT120: Computer Programming1 Week 1 – Lecture 1.

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

Page 9: UniMAP Sem1-08/09EKT120: Computer Programming1 Week 1 – Lecture 1.

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

Page 10: UniMAP Sem1-08/09EKT120: Computer Programming1 Week 1 – Lecture 1.

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.

Page 11: UniMAP Sem1-08/09EKT120: Computer Programming1 Week 1 – Lecture 1.

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.

Page 12: UniMAP Sem1-08/09EKT120: Computer Programming1 Week 1 – Lecture 1.

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

Page 13: UniMAP Sem1-08/09EKT120: Computer Programming1 Week 1 – Lecture 1.

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

Page 14: UniMAP Sem1-08/09EKT120: Computer Programming1 Week 1 – Lecture 1.

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

Page 15: UniMAP Sem1-08/09EKT120: Computer Programming1 Week 1 – Lecture 1.

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

Page 16: UniMAP Sem1-08/09EKT120: Computer Programming1 Week 1 – Lecture 1.

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

Page 17: UniMAP Sem1-08/09EKT120: Computer Programming1 Week 1 – Lecture 1.

UniMAP Sem1-08/09 EKT120: Computer Programming

17

Programming Languages

Programming language is divided into three categories: Machine Language Assembly Language High-Level Language

Page 18: UniMAP Sem1-08/09EKT120: Computer Programming1 Week 1 – Lecture 1.

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

Page 19: UniMAP Sem1-08/09EKT120: Computer Programming1 Week 1 – Lecture 1.

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

Page 20: UniMAP Sem1-08/09EKT120: Computer Programming1 Week 1 – Lecture 1.

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

Page 21: UniMAP Sem1-08/09EKT120: Computer Programming1 Week 1 – Lecture 1.

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

Page 22: UniMAP Sem1-08/09EKT120: Computer Programming1 Week 1 – Lecture 1.

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

Page 23: UniMAP Sem1-08/09EKT120: Computer Programming1 Week 1 – Lecture 1.

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”

Page 24: UniMAP Sem1-08/09EKT120: Computer Programming1 Week 1 – Lecture 1.

UniMAP Sem1-08/09 EKT120: Computer Programming

24

Algorithms

Flowchart: visual-form of an algorithm

E.g.

Process 2Decision

Data

Process 1

Begin

End

Page 25: UniMAP Sem1-08/09EKT120: Computer Programming1 Week 1 – Lecture 1.

UniMAP Sem1-08/09 EKT120: Computer Programming

25

Algorithm-Basic symbols in a flowchart

Start/ End

Process

Input/Output

Decision

Flow direction

Connector

Page 26: UniMAP Sem1-08/09EKT120: Computer Programming1 Week 1 – Lecture 1.

UniMAP Sem1-08/09 EKT120: Computer Programming

26

Flowchart-(E.g)

Start

read num1, num2

sum=num1+num2

print sum

End

Page 27: UniMAP Sem1-08/09EKT120: Computer Programming1 Week 1 – Lecture 1.

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

Page 28: UniMAP Sem1-08/09EKT120: Computer Programming1 Week 1 – Lecture 1.

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

Page 29: UniMAP Sem1-08/09EKT120: Computer Programming1 Week 1 – Lecture 1.

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

Page 30: UniMAP Sem1-08/09EKT120: Computer Programming1 Week 1 – Lecture 1.

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”

Page 31: UniMAP Sem1-08/09EKT120: Computer Programming1 Week 1 – Lecture 1.

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”

Page 32: UniMAP Sem1-08/09EKT120: Computer Programming1 Week 1 – Lecture 1.

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

Page 33: UniMAP Sem1-08/09EKT120: Computer Programming1 Week 1 – Lecture 1.

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

Page 34: UniMAP Sem1-08/09EKT120: Computer Programming1 Week 1 – Lecture 1.

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;}

Page 35: UniMAP Sem1-08/09EKT120: Computer Programming1 Week 1 – Lecture 1.

UniMAP Sem1-08/09 EKT120: Computer Programming

35

End Week 1 – Session 1

Q & A!


Recommended