Introduction to
Computer
Programming
with C
Unit 1:
Introduction to
Computers and
Programming
What is Computer?
The word computer comes from the word “compute”, which means, “to calculate”.
A computer is an electronic device that can perform arithmetic operations at high
speed and it can process data, pictures, sound and graphics.
It can solve highly complicated problems quickly and accurately.
Advantages of Computer
Speed
It can calculate millions of expression within a fraction of second.
Storage
It can store large amount of data using various storage devices.
Accuracy
It can perform the computations at very high speed without any mistake.
Reliability
The information stored in computer is available after years in same form. It works 24 hours
without any problem as it does not feel tiredness.
Automation
Once the task is created in computer, it can be repeatedly performed again by a single click
whenever we want.
Multitasking
It can perform more than one tasks/operations simultaneously.
Disadvantages of Computer
Lake of intelligence
It can not think while doing work.
It does not have natural intelligence.
It can not think about properness, correctness or effect of work it is doing.
Unable to correct mistake
It can not correct mistake by itself.
So if we provide wrong or incorrect data then it produces wrong result or perform wrong
calculations.
Block Diagram of Computer
It is a pictorial representation of a computer which shows how it works inside.
It shows how computer works from feeding/inputting the data to getting the result.
Block Diagram of Computer
CENTRAL PROCESSING UNIT
CONTROL UNIT
INPUT SECTION ARITHMATIC AND OUTPUT SECTION
(Mouse, Keyboard etc…) LOGICAL UNIT (Monitor, Printer etc…)
PRIMARY MEMORY
(RAM, ROM etc…)
SECONDARY MEMORY
(Hard disk, Pen drive etc…)
Block diagram of computer (Input Section)
The devices used to enter data in to computer system are called input devices.
It converts human understandable input to computer controllable data.
CPU accepts information from user through input devices.
Examples: Mouse, Keyboard, Touch screen, Joystick etc…
Block diagram of computer (Output Section)
The devices used to send the information to the outside world from the computer
is called output devices.
It converts data stored in 1s and 0s in computer to human understandable
information.
Examples: Monitor, Printer, Plotter, Speakers etc…
Block diagram of computer (Central Processing Unit (CPU))
It contains electronics circuit that processes the data based on instructions.
It also controls the flow of data in the system.
It is also known as brain of the computer.
CPU consists of,
Arithmetic Logic Unit (ALU)
It performs all arithmetic calculations such as add, subtract, multiply, compare, etc. and takes logical
decision.
It takes data from memory unit and returns data to memory unit, generally primary memory (RAM).
Control Unit (CU)
It controls all other units in the computer system. It manages all operations such as reads instruction
and data from memory.
Primary Memory
It is also known as main memory.
The processor or the CPU directly stores and retrieves information from it.
Generally currently executing programs and data are stored in primary memory.
Block diagram of computer (Secondary Memory)
Secondary memory is also called Auxiliary memory or External memory.
It is Used to store data permanently.
It can be modified easily.
It can store large data compared to primary memory. Now days, it is available in
Terabytes.
Examples: Hard disk, Floppy disk, CD, DVD, Pen drive, etc…
What is Hardware?
Hardware refers to the physical parts of a computer.
The term hardware also refers to mechanical device that makes up computer.
User can see and touch the hardware components.
Examples of hardware are CPU, keyboard, mouse, hard disk, etc…
What is Software?
A set of instruction in a logical order to perform a meaningful task is
called program and a set of program is called software.
It tell the hardware how to perform a task.
Types of software
System software
It is designed to operate the computer hardware efficiently.
Provides and maintains a platform for running application software.
Examples: Windows, Linux, Unix etc.
Application software
It is designed to help the user to perform general task such as word processing, web browser etc.
Examples: Microsoft Word, Excel, PowerPoint etc.
Categories of System Software
Operating system
It controls hardware as well as interacts with users, and provides different services to user.
It is a bridge between computer hardware and user.
Examples: Windows XP, Linux, UNIX, etc…
System support software
It makes working of hardware more efficiently.
For example drivers of the I/O devices or routine for socket programming, etc…
System development software
It provides programming development environment to programmers.
Example: Editor, pre-processor, compiler, interpreter, loader, etc…
Categories of Application Software
General purpose software
It is used widely by many people for some common task, like word processing, web browser,
excel, etc…
It is designed on vast concept so many people can use it.
Special purpose software
It is used by limited people for some specific task like accounting software, tax calculation
software, ticket booking software, banking software etc…
It is designed as per user’s special requirement.
Types of Computer Languages
Machine level language OR Low level language
It is language of 0’s and 1’s.
Computer directly understand this language.
Binary language
Lowest level
0 is absent of signal pulse
1 is presence of signal pulse
Types of Computer Languages
Assembly language
It uses short descriptive words (MNEMONIC) to represent each of the machine language
instructions.
It requires a translator knows as assembler to convert assembly language into machine
language so that it can be understood by the computer.
Examples: 8085 Instruction set
Types of Computer Languages
Higher level language
It is a machine independent language.
Human understandable
We can write programs in English like manner and therefore easier to learn and use.
Needs compiler or interpreter to convert code into binary for machine
Examples: C, C++, JAVA etc…
Compiler, Interpreter and Assembler
Assembler translates program of assembly language to machine language.
Compiler, Interpreter and Assembler
Compiler translates program of higher level language to machine language. It
converts whole program at a time.
Interpreter translates program of higher level language to machine language. It
converts program line by line
Types of Computer Languages
Flowchart Algorithm
Flowchart is a pictorial or graphical representation Algorithm is a finite sequence of well defined
of a program. steps for solving a problem.
It is drawn using various symbols. It is written in the natural language like English.
Easy to understand. Difficult to understand.
Easy to show branching and looping. Difficult to show branching and looping.
Flowchart for big problem is impractical. Algorithm can be written for any problem.
Symbols used in Flowchart
Start / Stop Input / Output
Process Decision Making
Subroutine Arrows
Number is positive or negative
Step 1: Read no.
Start
Step 2: If no is greater than equal zero,
go to step 4.
Read no Step 3: Print no is a negative number,
go to step 5.
True False Step 4: Print no is a positive number.
Is no >= 0
Step 5: Stop.
Print no is Print no is
Positive Negative
Stop
Number is odd or even
Step 1: Read no.
Start
Step 2: If no mod 2 = 0, go to step 4.
Step 3: Print no is a odd, go to step 5.
Read no
Step 4: Print no is a even.
Step 5: Stop.
True False
Is no % 2 = 0
Print no is Print no is
Even Odd
Stop
Largest number from 2 numbers
Step 1: Read a, b.
Start
Step 2: If a>b, go to step 4.
Step 3: Print b is largest number, go to
Read a, b step 5.
Step 4: Print a is largest number.
True
Is a>b
False Step 5: Stop.
Print a is Print b is
largest largest
Stop
Largest number from 3 numbers (Flowchart)
Start
Read a, b, c
True False
Is a>b
True False True False
Is a>c Is b>c
Print a is Print c is Print b is Print c is
largest largest largest largest
Stop
Largest number from 3 numbers (Algorithm)
Step 1: Read a, b, c.
Step 2: If a>b, go to step 5.
Step 3: If b>c, go to step 8.
Step 4: Print c is largest number, go to step 9.
Step 5: If a>c, go to step 7.
Step 6: Print c is largest number, go to step 9.
Step 7: Print a is largest number, go to step 9.
Step 8: Print b is largest number.
Step 9: Stop.
Print 1 to 10
Step 1: Initialize a to 1.
Start
Step 2: Print a.
Step 3: Repeat step 2 until a<=10.
a=1
Step 3.1: a=a+1.
Step 4: Stop.
a=a+1 Print a
True False
Is a<=10
Stop
Thank you