unimap sem i – 10/11ekt150: computer programming 1 week 1 – introduction to computers and...
TRANSCRIPT
UniMAP Sem I – 10/11
EKT150: Computer Programming
1
Week 1 – Introduction to Computers and
Programming Languages (Part 1)
Pn. Rusnida bt. Romli
&
Che Muhammad Nor B Che Isa
UniMAP Sem II – 09/10EKT120: Computer
Programming 2
General Information
Contributes 4 units: 2 hours – lectures 2 hours – labs
Main Objective: Students can independently write,
compile, debug and execute computer programs to solve problems, especially engineering related problems.
UniMAP Sem II – 09/10EKT120: Computer
Programming 3
Course Outcomes Ability to define and describe programming
concepts and principles.
Ability to apply programming techniques and tools such as flowchart and pseudo code to design computer programs.
Ability to apply GNU/Linux for coding, compiling, executing and debugging computer programs.
Ability to solve engineering related problems using computer programming techniques.
UniMAP Sem II – 09/10EKT120: Computer
Programming 4
Overall Evaluation
Assignments are assessed individually The two tests and final paper are
written tests
UniMAP Sem II – 09/10EKT120: Computer
Programming 5
References Deitel & Deitel, Sudin, S., Ahmad, R.
Badlishah, and Yacob, Y., “C How to Program”, Pearson-Prentice Hall, 2006.
Cheng, H., “C for Engineers and Scientists”, McGraw Hill, 2010.
Hanly, J.R. and Koffman, E.B., “C Program Design for Engineers”, 2nd Ed., Addison-Wesley, 2001.
ISBN : 0321204174
UniMAP Sem II – 09/10EKT120: Computer
Programming 6
Notes This course is NOT about the
language per se, it is about problem solving, analytical skills and to apply C to solve problems.
Write C program in Linux environment.
Do early reading. Do not hesitate to ask during
lecture sessions.
UniMAP Sem II – 09/10EKT120: Computer
Programming 7
Outline Computer Fundamentals
Computer organization and hardware Computer software
Programming Languages Machine language Assembly language High-level language
Algorithm : pseudo code and flowchart Control Structures Simple C Program
UniMAP Sem II – 09/10EKT120: Computer
Programming 8
Computer Fundamentals Computer system is divided into
hardware and software. Hardware refers to physical components
of computer which are: Main Memory Central Processing Unit (CPU) Input Device Output Device Secondary Memory Device
Figure 1.1 The Intel Atom processor chip contains the full circuitry of a central processing unit in an integrated circuit whose small size and low power requirements make it
suitable for use in mobile internet devices. (Intel Corporation Pressroom Photo Archives)
UniMAP Sem II – 09/10 9EKT120: Computer
Programming
Figure 1.2
(a) Notebook Computer (HP Pavilion dv5©, Courtesy of Hewlett-Packard).
(b) Palmtop Computer (iPhone 3G©, Courtesy of Apple, Inc.)
(c) Desktop Computer (iMac©, Courtesy of Apple, Inc.)
UniMAP Sem II – 09/10EKT120: Computer
Programming
Figure 1.3 Components of a Computer
UniMAP Sem II – 09/10EKT120: Computer
Programming
UniMAP Sem II – 09/10
EKT120: Computer Programming 12
Computer Hardware
Input Device Output Device
Secondary Memory
Control Unit
Arithmetic and Logic Unit
Register
CPU
Main Memory
UniMAP Sem II – 09/10
EKT120: Computer Programming 13
Central Processing Unit (CPU) CPU is the computer’s administrator
and is responsible for supervising the operation of the other sections
Consists of two functional units; control unit and arithmetic-logic unit (ALU)
Control unit supervises all activities of the computer system
ALU performs basic arithmetic operations and comparison operations
UniMAP Sem II – 09/10EKT120: Computer
Programming 14
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 Sem II – 09/10EKT120: Computer
Programming 15
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) It has been set during manufacturing
process. ROM usually contains instructions and information considered to be fundamental to the computer.
Figure 1.4 1000 Memory Cells in Main Memory
UniMAP Sem II – 09/10EKT120: Computer
Programming
UniMAP Sem II – 09/10
EKT120: Computer Programming 17
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 file, etc E.g. hard disk, diskette, CD
Figure 1.5 Secondary Storage Media
UniMAP Sem II – 09/10EKT120: Computer
Programming
UniMAP Sem II – 09/10EKT120: Computer
Programming 19
Input/Output Devices
Input devices - feed data and programs into computers E.g. keyboard, mouse, touch screen,
scanners Output devices - display results
produced by computer E.g. monitor, printer, speaker
UniMAP Sem II – 09/10EKT120: Computer
Programming 20
Software
As a complement to hardware, computer system needs software to solve problems.
Software are classified into : System software Application software
UniMAP Sem II – 09/10EKT120: Computer
Programming 21
Software System software : manages the
computer and its peripheral devices (hardware) E.g. Operating system (OS) Text editor Pre-processor Language translator Linker Loader
UniMAP Sem II – 09/10EKT120: Computer
Programming 22
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, programs perform specific tasks such as accounting, scientific, engineering, education, etc
UniMAP Sem II – 09/10EKT120: Computer
Programming 23
Programming Languages
Programming language is divided into three categories: Machine Language Assembly Language High-Level Language
UniMAP Sem II – 09/10EKT120: Computer
Programming 24
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 0001 1100 0100 1011 1000 0101 1000 0101 1001 1100 0111
Figure 1.6 Relationship Between a Byte and a Bit
UniMAP Sem II – 09/10EKT120: Computer
Programming
UniMAP Sem II – 09/10EKT120: Computer
Programming 26
Assembly Language
Strings of 0’s and 1’s are replaced into instructions which resemble English language to represent computer operation element
Easier to understand and write E.g. LOAD rate
MULT hourSTOR wages
UniMAP Sem II – 09/10EKT120: Computer
Programming 27
Assembly Language
Nevertheless, needs language translator called Assembler to change Assembly Language to Machine Code for execution purpose
still too long and not portable
UniMAP Sem II – 09/10EKT120: Computer
Programming 28
High-Level Language Improves weaknesses in Machine
Language and Assembly Language Portable Written in one instruction to carry out
several instructions in machine level E.g. discount_price = price – discount;
Must be changed to machine code before executed, needs compiler : a system software that translates source program to object program
UniMAP Sem II – 09/10EKT120: Computer
Programming 29
Algorithms The solution to any computing problem
involves executing series of actions in a specific order
Pseudo code : 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 Sem II – 09/10EKT120: Computer
Programming 30
Algorithms
Flowchart: visual-form of an algorithm
E.g.
Process 2Decision
Data
Process 1
Begin
End
UniMAP Sem II – 09/10EKT120: Computer
Programming 31
Algorithm-Basic symbols in a flowchart
Start/End
Process
Input/Output
Decision
Flow direction
Connector
UniMAP Sem II – 09/10EKT120: Computer
Programming 32
Flowchart-(example)
Start
read num1, num2
sum=num1+num2
print sum
End
UniMAP Sem II – 09/10EKT120: Computer
Programming 33
TRY THIS!!!
Write a pseudo code, flowchart and program that calculates and prints the SUM of two integers A and B.
UniMAP Sem II – 09/10EKT120: Computer
Programming 34
Pseudo code
• Begin• Input A and B• Calculate A + B• Print result of SUM• End
Flowchart
Begin
Input A,B
CalculateA + B
Print SUM
End
UniMAP Sem II – 09/10EKT120: Computer
Programming 35
Control Structure
All programs could be written in terms of three control structures: Sequence structure Selection structure Repetition structure
UniMAP Sem II – 09/10EKT120: Computer
Programming 36
Sequence Structure
Is a series of steps executed sequentially by default
Read num1, num2
Calculate total=num1+num2
Print total
Pseudo code Flowchart
Read num1, num2
total = num1+num2
print total
UniMAP Sem II – 09/10EKT120: Computer
Programming 37
Selection Structure
Used to choose among alternative courses of action
C has three types: if, if..else, and switch
UniMAP Sem II – 09/10EKT120: Computer
Programming 38
The if Selection Structure
“if” structure is a single-entry/single-exit structure
true
false
grade >= 60
print “Pass”
If student’s grade is greater than or equal to 60
Print “Pass”
UniMAP Sem II – 09/10EKT120: Computer
Programming 39
The if..else Selection Structure
Specifies an action to be performed both when the condition is true and when it is false
truefalse
print “Fail” print “Pass”
grade >= 60
If student’s grade is greater than or equal to 60
Print “Pass”else
Print “Fail”
UniMAP Sem II – 09/10EKT120: Computer
Programming 40
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 Sem II – 09/10EKT120: Computer
Programming 41
The while Repetition Structure Programmer specifies an action is to be
repeated while some conditions remain true
product <= 1000 product = 2 * producttrue
falseWhile product is less than or equal 1000
calculate product=2 * product
UniMAP Sem II – 09/10EKT120: Computer
Programming 42
Basics of a Typical C Program Development Environment
Figure 1.7 Entering, Translating, and Running a High-Level Language Program
UniMAP Sem II – 09/10EKT120: Computer
Programming
Figure 1.8 Flow of Information During Program Execution
UniMAP Sem II – 09/10EKT120: Computer
Programming
UniMAP Sem II – 09/10EKT120: Computer
Programming 45
Simple C Program: Program to add two numbers
#include <stdio.h>int main(void){ int A, B, SUM; printf (“input first integer \n”); scanf (“%d”, &A) printf (“input second integer \n”); scanf (“%d”, &B) SUM = A + B;
printf (“Sum is %d\n”, SUM); return 0;}
OUTPUT
Input first integer
39
Input second integer
27
Sum is 66
UniMAP Sem II – 09/10EKT120: Computer
Programming 46
End Week 1 – Session 1
Q & A!