UniMAP Sem2- 10/11 DKT121: Fundamental of Computer Programming 1 Introduction to C – Part 1
Jan 17, 2018
UniMAP Sem2-10/11
DKT121: Fundamental of Computer Programming 1
Introduction to C – Part 1
UniMAP Sem2-10/11
DKT121: Fundamental of Computer Programming 2
General Information Contributes 4 units:
2 hours - lectures 2 hours – lab and tutorial
Main Objective: Students can independently write a
computer program to solve calculation problems, especially those related to engineering
UniMAP Sem2-10/11
DKT121: Fundamental of Computer Programming 3
Overall Evaluation 4 main components:
4 Assignments (20%) Final exam (40%), Test 1 (10%) & Test
2 (10%) Individual Lab Test (20%)
Assignments are individual “take home” + lab
Two test is written test
UniMAP Sem2-10/11
DKT121: Fundamental of 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 Sem2-10/11
DKT121: Fundamental of 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 Sem2-10/11
DKT121: Fundamental of 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 Sem2-10/11
DKT121: Fundamental of Computer Programming 7
Computer Fundamentals Computer system are divided into
hardware and software. Hardware refers to physical components
of computers which are: Main memory Central Processing Unit(CPU) Input Device Output Device Secondary memory device
UniMAP Sem2-10/11
DKT121: Fundamental of Computer Programming 8
Computer Hardware
Input Device Output Device
Secondary Memory
Control UnitArithmetic and
Logic UnitRegister
CPU
Main Memory
UniMAP Sem2-10/11
DKT121: Fundamental of Computer Programming 9
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 Sem2-10/11
DKT121: Fundamental of 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 Sem2-10/11
DKT121: Fundamental of 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 Sem2-10/11
DKT121: Fundamental of 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 Sem2-10/11
DKT121: Fundamental of Computer Programming 13
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 Sem2-10/11
DKT121: Fundamental of 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 Sem2-10/11
DKT121: Fundamental of Computer Programming 15
Software System software : manage the
computer and its peripheral devices (hardware) E.g. Operating systems(OS) Text editor Preprocessor Language translator Linker Loader
UniMAP Sem2-10/11
DKT121: Fundamental of Computer Programming 16
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 Sem2-10/11
DKT121: Fundamental of Computer Programming 17
Programming Languages Programming language is divided
into three categories: Machine Language Assembly Language High-Level Language
UniMAP Sem2-10/11
DKT121: Fundamental of 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 Sem2-10/11
DKT121: Fundamental of 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 Sem2-10/11
DKT121: Fundamental of 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 Sem2-10/11
DKT121: Fundamental of 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 Sem2-10/11
DKT121: Fundamental of Computer Programming 22
Algorithms The solution to any computing problem
involves executing a series of actions in a specific order
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 Sem2-10/11
DKT121: Fundamental of Computer Programming 23
Algorithms Flowchart: visual-form of an
algorithm E.g.
Process 2Decision
Data
Process 1
Begin
End
UniMAP Sem2-10/11
DKT121: Fundamental of Computer Programming 24
Algorithm-Basic symbols in a flowchartStart/ End
Process
Input/Output
Decision
Flow direction
Connector
UniMAP Sem2-10/11
DKT121: Fundamental of Computer Programming 25
Flowchart-(E.g)Start
read num1, num2
sum=num1+num2
print sum
End
UniMAP Sem2-10/11
DKT121: Fundamental of Computer Programming 26
Control Structure All programs could be written in
terms of three control structures: Sequence structure Selection structure Repetition structure
UniMAP Sem2-10/11
DKT121: Fundamental of Computer Programming 27
Sequence structure Is a series of steps executed
sequentially by default
Read num1,num2Calculate total=num1+num2Print total
Pseudocode Flowchart
Read num1,num2
total = num1+num2
print total
UniMAP Sem2-10/11
DKT121: Fundamental of Computer Programming 28
Selection structure Used to choose among alternative
courses of action C has three types: if, if..else,
and switch
UniMAP Sem2-10/11
DKT121: Fundamental of Computer Programming 29
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 Sem2-10/11
DKT121: Fundamental of Computer Programming 30
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 Sem2-10/11
DKT121: Fundamental of Computer Programming 31
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 Sem2-10/11
DKT121: Fundamental of Computer Programming 32
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 Sem2-10/11
DKT121: Fundamental of Computer Programming 33
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 Sem2-10/11
DKT121: Fundamental of Computer Programming 34
End Introduction to C – Part 1
Q & A!