2. Fundamentals of Computers
Title
▪Introduction to Computers
▪Evolution and History of Computers
▪Types of Computers
▪Basic Organisation of a Digital Computer
▪Computer Language and Software
▪Assembler, Compiler, Interpreter
▪Software –System and Application Software
▪Algorithm, Flowchart, and Pseudo code
▪Examples of Algorithm, Flowchart, and Pseudo code
▪Introduction to Flowgorithm
▪FlowgorithmFeatures
▪Conclusion
3. COMPUTER(DEFENITION)
• A computer is an electronic device that processes data according to a set of instructions
to produce information.
• It takes the data as an input and processes that data to perform tasks under
the
control of a program and produces the output.
The word computer comes from “compute”which means to calculate.
Computer is also called a data processor because it can store,process,and
retrieve data
4. DATA
Data can be in the form of of numbers,letters symbols,size etc..and it comes in various
shapes and sizes depending upon the type of computers application.
• Computers consist of hardware components such as the central processing unit (CPU),
memory, storage devices, input/output devices, and peripherals, as well as software
components such as the operating system and applications.
5. • THE WORD COMPUTER COMES FROM WORD “TO COMPUTE” MEANS TO CALCULATE.
• A computer first it gets the data,does process on it and then produces information.
data process information
So the main tasks performed by the computer are:
• Input
• Process
• output
6. Functionalities of a Computer
If we look at it in a very broad sense, any digital
computer carries out the following five functions −
Step 1 − Takes data as input.
Step 2 − Stores the data/instructions in its
memory and uses them as required.
Step 3 − Processes the data and converts it into
useful information.
Step 4 − Generates the output.
Step 5 − Controls all the above four steps.
7. Characteristics of Computers:
•Speed: Fast processing of data.
•Accuracy: High level of precision in calculations and operations.
•Automation: Ability to perform tasks without human intervention.
•Storage: Large capacity to store data and information.
•Versatility: Capable of performing a wide range of tasks.
•Reliability: Consistent performance over time.
8. Evolution and History of Computers
•Content:
•Early Mechanical Devices:
•Abacus (ancient tool for calculation).
•Charles Babbage's Analytical Engine (considered the first mechanical computer).
•
13. • slow, huge and expensive.
• vacuum tubes were used as the basic components of CPU and memory.
• mainly depended on batch operating system and punch cards.
• Magnetic tape and paper tape were used as output and input devices
1st Generation (1940-1956)
Some of the popular first generation computers are;
•ENIAC ( Electronic Numerical Integrator and
Computer)
•EDVAC ( Electronic Discrete Variable Automatic
Computer)
•UNIVACI( Universal Automatic Computer)
•IBM-701
•IBM-650
14. The second generation (1956-1963)
• the era of the transistor computers.
• These computers used transistors which were cheap, compact and
consuming less power;
• It made transistor computers faster than the first generation computers.
• magnetic cores were used as the primary memory and magnetic disc
and tapes were used as the secondary storage.
• Assembly language and programming languages like COBOL and
FORTRAN, and Batch processing and multiprogramming operating
systems were used in these computers.
Some of the popular second generation computers are;
•IBM 1620
•IBM 7094
•CDC 1604
•CDC 3600
•UNIVAC 1108
15. • used integrated circuits (ICs) instead of transistors.
• A single IC can pack huge number of transistors which increased the
power of a computer and reduced the cost.
• The computers also became more reliable, efficient and smaller in
size.
• used remote processing, time-sharing, multi programming as
operating system.
• the high-level programming languages like FORTRON-II TO IV,
COBOL, PASCAL PL/1, ALGOL-68 were used in this generation.
Third Generation Computers
•IBM-360 series
•Honeywell-6000 series
•PDP(Personal Data Processor)
•IBM-370/168
•TDC-316
16. • The fourth generation computers used very large
scale integrated (VLSI) circuits
• These chips made this generation computers more
compact, powerful, fast and affordable.
• used real time, time sharing and distributed
operating system.
The programming languages like C, C++, DBASE were
also used in this generation.
•
DEC 10
•STAR 1000
•PDP 11
•CRAY-1(Super Computer)
•CRAY-X-MP(Super Computer)
Fourth Generation Computers
17. Fifth Generation Computers
• the VLSI technology was replaced with ULSI (Ultra Large Scale Integration).
• This generation computers used parallel processing hardware and AI
(Artificial Intelligence) software.
• The programming languages used in this generation were C, C++,
Java, .Net, etc.
•Desktop
•Laptop
•NoteBook
•UltraBook
•ChromeBook
19. On the basis of size, the computer can be of five types:
•Supercomputers:Extremely powerful computers used for complex computations (e.g., weather forecasting).
•Mainframe Computers:Large computers used by organizations for bulk data processing (e.g., banks).
•Minicomputers:Mid-sized computers used for specific tasks (e.g., manufacturing).
•Microcomputers (Personal Computers):General-purpose computers used by individuals (e.g., desktops,
laptops).
•Embedded Computers:Computers integrated into other devices (e.g., in cars, appliances).
Types of Computer
20. • biggest and fastest computers.
• Most powerful and most expensive computer
• designed to process huge amount of data.
• can process trillions of instructions in a second.
• Used for complex scientific application that requires huge processing
power
• Used multiprocessor technology to perform calculations speedy
• The cost of super computer is dependent on its processing capabilities
and configuration
• The speed of modern computer is measured in giga flops,teraflops,and
peta flops
• Gigaflop=109 arithmetic operation per second
• teraflop=1012 arithmetic operation per second
• petaflop=1015 arithmetic operation per second
1) Supercomputer
21. 2)Mainframe computer
• very powerful computer designed to support hundreds or thousands of users
simultaneously.
• It contain powerful data processing system(collection of components that process
data into useful information)
• can support multiple programs at the same time.
• Capable to run multiple operating system
• Capable to process 100 million instructions per second
• Very large and expensive computers having large internal storage capacity & high
processing speed
• Used in organization that needs to process large no of transaction online&required a
computer system having massive storage and processing capabilities.
• Mainly used to handle bulk of data &information for processing
22. • 1960
• Small mainframe that perform limited tasks.
• Less expensive than mainframe computer
• Capable of supporting 10to 100 users simultaneously
• Also known as super mini computer
• Used in institute &department for tasks such as biling,accounting,inventory management
• Lies btn mainframe µcomputer
• As it is smaller than mainframe but larger than microcomputer
3) Miniframe or Minicomputer
23. ▪ also known as a personal computer.
▪ has a microprocessor as a central processing unit, memory,
storage area, input unit and output unit.
▪ Laptops and desktop computers are examples of
microcomputers.
▪ General purpose computer used by individuals
▪ Small in size and affordable for general purpose
▪ 1970
Microcomputer
Embedded Computers:Computers integrated into other
devices (e.g., in cars, appliances).
24. ON THE BASIS OF HANDLING CAPABILITIES:
ANALOGUE COMPUTER:
• DESIGNED TO PROCESS ANALOG DATA.
• EG:SPEED,TEMPERATURE,PRESSURE,AND CURRENT.
• HOW ANLOG COMPUTER WORKS?
• DIRECTLY ACCEPTS CONTINOUS DATAAS I/P AND RENDER O/P AS A READING ON A
DIALOR SCALE
• EG:SPEEDOMETER , MERCURY THERMOMETER
25. Digital computer
• Designed to process digital data and perform logical operations at very high speed.
• In this data is represented as discrete units of electrical pulse.the data is measured
in quantities represented either as ‘on’ or ‘off’state.
• Virtually all of todays computer are based on digital computers.
26. Hybrid computer
❑ Combines good feature of analogue and digital.
❑ It has a speed of analog computer &accuracy of digital computer.
❑ This accept data in analog form and present output in digitally.
❑ Hybrid computers require analog-to-digital and digital-to-analog.
❑ Fast and accurate that’s why used widely in specialized application
❑ Eg: petrol pump,aeroplane,hospital
27. Basic Organisation of a Digital Computer
MEMORY
ALU
CONTROL UNIT
OUTPUT
INPUT
FIG:FUNCTIONAL UNITS OF COMPUTER
28. INPUT
• DEVICES USED TO ENTERED DATA IN A COMPUTER SYSTEM
• EG:KEYBOARD,MOUSE,SCANNER,MIKE,LIGHT PEN
FUNCTIONS OF INPUT DEVICES:
• ACCEPT DATA FROM OUTSIDE WORLD
• CONVERT DATA INTO COMPUTER CODED INFORMATION
• SUPPLY THIS DATA TO CPU FOR FURTHER PROCESSING
29. OUTPUT DEVICES
• THE DEVICES WHICH DISPLAY THE RESULT GENERATED BY COMPUTER ARE KNOWN AS O/P
DEVICES.
• Basic function is to send the processed result to the outside world
• EG:MONITOR,PRINTER,PLOTTER,SPEAKER
FUNCTIONS OF OUTPUT
• ACCEPTS RESULT FROM CPU
• CONVERT RESULT INTO HUMAN READABLE FORM
• DISPLAY RESULT ON O/P DEVICES.
30. MEMORY UNIT
• DATA AND INSTRUCTIONS HAVE TO STORE INSIDE THE COMPUTER
BEFORE ACTUAL PROCESSING START.
• SAME WAY THE RESULT OF COMPUTER MUST BE STORED BEFORE
PASSED TO O/P DEVICES.THIS TASK IS PERFORMED BY M/Y UNIT.
FUNCTIONS OF M/Y UNIT:
• TO STORE DATA AND INSTRUCTIONS RECEIVED FROM INPUT DEVICES.
• STORE INTERMEDIATE RESULTS GENERATED BY CPU.
• STORE FINAL RESULT GENERATED BY CPU
31. ARITHMETIC AND LOGIC UNIT
• ALU IS THE PLACE WHERE ACTUAL DATA &INSTRUCTIONS ARE PASSED.
• ALL CALCULATIONS ARE PERFORMED AND ALL COMPARES ARE MADE IN ALU.
• PERFORM ALL ARITHMETICAL AND LOGICAL OPERATIONS
32. CONTROL UNIT
• USED TO CONTROL MOVEMENTS OF DATA AND PROGRAM INSTRUCTIONS INTO AND OUT OF
CPU,AND TO CONTROL OPERATION OF ALU.
• The control unit is also known as the nerve center of a computer system.
• MAIN FUNCTION IS TO MANAGE ALL ACTIVITIES WITHIN THE COMPUTER SYSTEM.
• CONTROLS THE INTERNAL PARTS AS WELL ASS EXTERNAL PARTS RELATED WITH THE COMPUTER.
CPU
• UNIT WHERE ALL PROCESSING IS DONE IS CALLED AS CPU.
• CONTAINS MANY OTHER UNITS UNDER IT.
• MANY OF THEM ARE ALU AND CONTROL UNIT
33. COMPUTER LANGUAGE
• A computer language is a group of instructions that are used to create computer programs.
•
The main goal is to achieve human-computer interaction.
34. Types of Computer Languages
LANGUAGES
HIGH LEVEL
LANGUAGE
ASSEMBLY
LANGUAGE
MACHINE LANGUAGE
35. MACHINE LANGUAGE
• IT IS A SEQUENCE OF INSTRUCTIONS WRITTEN IN THE FORM OF BINARY NUMBERS CONSISTING OF ZEROS AND ONES.
• IT IS A MACHINE UNDERSTANDABLE LANGUAGE.
• PROGRAMS WRITTEN IN ANY OTHER LANGUAGES MUST BE TRANSLATED INTO THE MACHINE LANGUAGEBEFORE THE
EXECUTION.
• MACHINE LANGUAGE IS CONSIDERED TO BE THE 1ST
GENERATION LANGUAGE.
• CONTAIN 2 PARTS
• 1)OPCODE –WHICH TELLS CMPT WHAT FN TO BE PERFORMED
• 2)OPERAND – WHERE TO FIND AND STORE DATA
36. ADVANTAGE
• IT IS FASTER IN EXECUTION.
• THE COMPUTER DIRECTLY EXECUTE THIS LANGUAGE
WITHOUT ANY TRANSITION.
DISADVANTAGE
• IT IS DIFFICULT TO UNDERSTAND AND
DEVELOP A PROGRAMME
37. ASSEMBLY LANGUAGE
• IT IS A LOW LEVEL LANGUAGE THAT USES SOME HUMAN UNDERSTANDABLE KEYWORDS AND SYMBOLS.
• IT IS CONSIDERED TO BE THE 1ST
GENERATION LANGUAGE.
• A COMPUTER CANNOT EXECUTE AN ASSEMBLY LANGUAGES PROGRAM DIRECTLY.
• WE MUST USE A TRANSLATOR TO TRANSLATES AN ASSEMBLY LANGUAGE PROGRAMS INTO MACHINE
LANGUGAE.
• INTRODUCED IN 1952
• LOW LEVEL LANGUAGE USE THE SYMBIOLIC INSTRUCTIONS EG:MOV,ADD)
38. ADVANTAGES
• WRITING APROGRAM IN ASSESMBLY LANGUAGE IS MORE CONVENIENT THAN IN MAHCINE
LANGUAGE.
• INSTEAD OF BINARY SEQUENCE,AS IN MACHINE LANGUAGE,ITNIS WRITTEN IN THE FORM OF
SYMBIOLIC INSTRUCTIONS.
• THEREFORE IT GIVES A LITTLE MORE RELIABILITY.
DISADVANTAGES
• ASSEMBLY LANGUAGE IS NOT AS FAST AS MACHINE LANGUAGE.
• IT HAS TO BE FIRSTFIRST TRANSLATED INTO MACHINE LANGUAGE PROGRAMME.
39. HIGH LEVEL LANGUAGE
• HIGH LEVEL LANGUAGE ARE CLOSELY RELATED TO HUMAN LANGUAGE LIKE ENGLISH.
• IT ENABLES DEVELOPMENT OF A PROGRAM IN MUCH SIMPLE PROGRAMMING CONTEXT.
• HIGH LEVEL LANGUAGES ARE ALSO CALLED THIRD GENERATION LANGUAGE.
• A HIGH LEVEL LANGUAGE MUST BE TRANSLATED FIRST INTO THE MACHINE LANGUAGE
BEFORE THE EXECUTION OF THE PROGRAM
40. ADVANTAGE
READABLE:PROGRAM WRITTEN IN THE LEVELS ARE MORE READABLE THAN ASSEMBLY AND
MACHINE LANGUAGE.
PORTABILITY:PROGRAM COULD BE RUN ON DIFFERENT MACHINES WITH LITTLE OR NO
CHANGE
EASY DEBUGGING:ERRORS COULD BE EASILY REMOVED
EASY SOFTWARE DEVELOPMENT:SOFTWARE WOULD BE EASILY DEVELOPED.COMMANDS OF
THE LANGUGAE ARE SIMILAR TO NATURAL LANGUAGE
DISADVANTAGE
HIGH LEVEL LANGUAGE PROGRAM IS NOT AS FAST AS MACHINE LANGUAGE .
IT HAS BE FIRST TRANSLATED INTO MACHINE LANGUAGE
41. TRANSLATOR PROGRAMS
• A TRANSLATOR IS A PROGRAMMING LANGUAGE PROCESSORTHAT
CONVERTS A COMPUTER PROGRAM FROM ONE LANGUAGE TO
ANOTHER
42. ASSEMBLER,COMPILER,INTERPRETER
ASSEMBLER:
• CONVERTS ASSEMBLY LANGUAGE INTO MACHINE CODE.(MACHINE LEVEL
LANGUAGE)
• IT IS A SYSTEM PROGRAM THAT TRANSLATE AN ASSEMBLY LANGUAGE
PROGRAM INTO MACHINE LANGUAGE PROGRAM.
• THE INPUT TO AN ASSEMBLER IS THE ASSEMBLY LANGUAGE
PROGRAM(SOURCE PROGRAM) AND THE OUTPUT OF ASSEMBLER IS THE
MACHINE LANGUAGE PROGRAM(OBJECT PROGRAM)
ASSEMBLER
Assembly
language
program
Machine
Language
program
INPUT OUTPUT
43. COMPILER:
• Convert entire high level language programs into machine code before
execution.
• IT CONVERTS PROGRAM LINE BY LINE
• A computer is a system program that translated a high level language program
into machine language program .
▪ The input to the compiler is the high level language program and output of the
compiler is the machine language.
COMPILER
High level
language
program
Machine
language
program
INPUT OUTPUT
44. INTERPRETER:
• CONVERTS HIGH LEVEL LANGUAGE INTO MACHINE CODE LINE BY LINE DURING EXECUTION.
• It is an another type of translator program that translates a high level language program into
machine language.
• IT CONVERTS ENTIRE PROGRAM AT TIME.
• It takes one instruction and then execute instruction immediately.
• The input to an interpreter is the high level language instruction and its output is the result
of program execution.
INTERPRETER
Machine
language
program
High level
Language
program
INPUT OUTPUT
45. • Software is a set of instructions, data, or programs that tell a computer how to operate and
perform tasks.
• It's made up of programs, procedures, and routines that are written in binary language
(ones and zeroes).
• An example of software is Excel or Windows or iTunes.
• Word processing programs and Internet browsers are examples of software.
SOFTWARE
47. System Software:
•Software that manages and controls hardware components and allows other software to run (e.g., Operating
Systems like Windows, Linux).
•Software designed to perform specific tasks for users (e.g., word processors, spreadsheets, games).
Application Software:
48. SYSTEM SOFTWARE APPLICATION SOFTWARR
• Maintains trhe system resources and gives the
path for application software to run
• It is built for specific task
• Low level languages are used to write the system
Software
• While high level languages are used to write the
application software
• It is general purpose software • While it’s a specific purpose software
• Without system software, the system
stops and can’t run.
• While Without application
software system always runs.
• System software runs when the system
is turned on and stops when the system
is turned off.
• While application software runs as
per the user’s request.
• Example: System software is an
operating system, etc.
• Example: Application software is
Photoshop, VLC player, etc.
• System Software programming is more
complex than application software.
• Application software programming
is simpler in comparison to system
software.
49. SYSTEM SOFTWARE APPLICATION SOFTWARR
• The Software that is designed to control,
integrate and manage the individual
hardware components and application
software is known as system software
• A set of computer programs
installed in the user’s system and
designed to perform a specific task
is known as application software.
• A system software operates the system
in the background until the shutdown of
the computer.
• Application software runs in the
front end according to the user’s
request.
• The system software has no interaction
with users. It serves as an interface
between hardware and the end user.
• Application software connects an
intermediary between the user and
the computer.
• System software runs independently • Application software is dependent
on system software because they
need a set platform for its
Functioning
50. • Algorithm is a step by step procedure to solve a given problem.
• It is a finite sequence of instructions required for producing the desired result
• finite sequence of instructions each of which has a clear meaning and can be
performed with a finite amount of time.
ALGORITHM
51. Characteristics
• The step in the algorithm must be unambiguous.
• It should be written in the sequence.
• Ensure that the algorithm will terminate
• It should conclude after a finite number of steps.
52. Example 1: Finding the Sum of Two Numbers
Algorithm:
•Step 1: Start
•Step 2: Input two numbers
•Step 3: Add the numbers
•Step 4: Output the result
•Step 5: End
Example 2: Finding the Largest of Three Numbers
•Step 1: Start
•Step 2: Input three numbers (let's call them num1, num2, and num3)
•Step 3: Compare num1 with num2 and num3
•If num1 is greater than both num2 and num3, then num1 is the largest
•Step 4: If not, compare num2 with num3
•If num2 is greater than num3, then num2 is the largest
•Otherwise, num3 is the largest
•Step 5: Output the largest number
•Step 6: End
53. Algorithm: Finding the Area of a Triangle
•Step 1: Start
•Step 2: Input the base of the triangle (let's call it base)
•Step 3: Input the height of the triangle (let's call it height)
•Step 4: Calculate the area using the formula: area=1/2×base×height
•Step 5: Output the area
•Step 6: End
•Step 1: Start
•Step 2: Input the length of one side of the square (let's call it side)
•Step 3: Calculate the area using the formula: area=side×side
•Step 4: Output the area
•Step 5: End
Algorithm: Finding the Area of a Square
54. FLOWCHART
• A flowchart is a pictorial representation of an algorithm
• It plays an important role in thr programming of a problemand helpful in
understnding the logic of program.
• Once the flow chart is drawn,it becomes easy to write program in nay high level
language
55. Importance of flowchart
1)communication-flowcharts are better way of communication of the
logic of a program.
2)Effective analysis:with the help of flowchart,problem can be analysed
in more effective way.
3)Proper documentation
4)Efficient coding
5)Proper debugging
6)Efficient program maintenance
56. Symbols
NAME DESCRIPTION
TERMINAL(START/STOP) An oval shape iNDICATING THE
START OR END OF THE
PROCESS
INPUT/OUTPUT A parrelologram that indicates
data input or output (i/o)for a
process
PROCESS A RECTANGLE SHAPE IS USED
TO REPRESENT A
PROCESS,ACTION STEP OR
AN OPERATION
DECISION A DIAMOND FLOW CHART
SHAPE INDICATION A BRANCH
IN THE PROCESS FLOW
57. SUBROUTINE THIS ALLOW TO RIGHT WRITE
ONE SSUBROUTINE AND CALL IT
IN ANYWHERE IN THE CODE
CONNECTOR A SMALL LABELED,CIRCULAR
FLOW CHART SHAPE USED TO
INDICATE A JUMP IN THE
PROCESS FLOW
FLOW LINE REPRESENTS THE FLOW OF
THE SEQUENCE AND DIRECTION
OF PROCESS
58. DRAW THE FLOWCHART FOR FINDING THE SUM OF TWO NUMBERS?
START
READ A,B
SUM=A+B
PRINT
SUM
STOP
59. DRAW A FLOW CHART TO FIND THE AREA OF CIRCLE?
READ R
AREA=3.14*R*R
PRINT
AREA
STOP
START
60. DRAW A FLOWCHART TO FIND LARGEST AMONG TWO NUMBERS?
READ A,B
START
IF
A>B
PRINT B IS
LARGEST
PRINT A IS
LARGEST
START
FALSE TRUE
61. PSEUDOCODE
• Pseudocode is the plain english representation of a computer
program or algorithm,which specifies the flow and operation of program.
• Used to represent structural flow of a program
• it is not associated with any specific programming language.
62. Points on pseudocode:
• It is not a programming language.
• It is just a reasoning and learning tool,used by programmers and developers
• It cannot be executed by any compiler,interpreter,or assembler.
• Pseudocode does not follow a strict structure and synatx
63. Pseudocode to find the sum of two numbers.
.
Begin
Int a,b,c;
Print”enter first number:”
Accept a
Print”enter second number:”
Accept b
Compute c=a+b
Print “sum of these numbers:”c
end