Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
72 views

Intro - To - Programming - PPT Filename UTF-8''intro To Programming

The document discusses the key components of a computer system including hardware, software, input/output devices, memory, storage, and how instructions are processed. It provides an overview of low-level machine language and higher-level programming languages that are used to write programs and are then compiled into machine language.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
72 views

Intro - To - Programming - PPT Filename UTF-8''intro To Programming

The document discusses the key components of a computer system including hardware, software, input/output devices, memory, storage, and how instructions are processed. It provides an overview of low-level machine language and higher-level programming languages that are used to write programs and are then compiled into machine language.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 33

 Hardware: Electronic Devices

 Software: Instructions and Computer


Programs
 Input : Keyboard, Mouse
 System unit:
 Random Access Memory (RAM)
 Central Processing Unit (CPU)
 Output: Monitor, Printer
 Secondary Storage: Disk Drive
 Instructions for the hardware.
 Actions to be performed
 A set of instructions is called a program.
 Driving force behind the computer
 Without a program – What is a computer?
▪ Collection of Useless Hardware
 2 purposes:
 Tell the computer what to do
 Tell other people what we want the computer to
do.
 System SW
 Programs written for computer systems
▪ Compilers, operating systems, …
 Application SW
 Programs written for computer users
▪ Word-processors, spreadsheets, & other
application packages
Application Programs
Word-Processors, Spreadsheets,
Database Software, IDEs,
etc…
System Software
Compilers, Interpreters,Preprocessors,
etc.
Operating System, Device Drivers
Machine with all its hardware
 Provides several essential services:
 Loading & running application programs
 Allocating memory & processor time
 Providing input & output facilities
 Managing files of information
 The central processing unit (CPU)
 The “brain” of a computer
 Retrieves instructions from memory and
executes them.
 Stores data and program instructions for CPU to
execute
 A program and its data must be brought to memory
before they can be executed
 Stores intermediate and final results of
processing.
 Volatile: Contents are erased when computer is
turned off or reset.
 A memory unit is an ordered sequence of bytes,
each holds eight bits. A byte is the minimum
storage unit. No two data can share or split the
same byte.
 Hard Drives, CDs/DVDs, Flash Drives, etc.
 Non-Volatile or Permanent Storage
 Programs and data are permanently stored
on storage devices and are moved to memory
when the computer actually uses them.
 Digital devices have two stable states, which
are referred to as zero and one by convention
 The binary number system has two digits, 0 and
1. A single digit (0 or 1) is called a bit, short for
binary digit. A byte is made up of 8 bits.
 Binary Language: Data and instructions
(numbers, characters, strings, etc.) are encoded
as binary numbers - a series of bits (one or more
bytes made up of zeros and ones)
 Encoding and decoding of data into binary is
performed automatically by the system
based on the encoding scheme
 Encoding schemes
 Numeric Data: Encoded as binary numbers
 Non-Numeric Data: Encoded as binary numbers
using representative code
▪ ASCII – 1 byte per character
▪ Unicode – 2 bytes per character
 Decimal
 Base 10, ten digits (0-9)
 The position (place) values are integral powers of 10:
100(ones), 101(tens), 102(hundreds), 103(thousands)…
 n decimal digits - 10n unique values
 Binary
 Base 2, two digits (0-1)
 The position (place) values are integral powers of 2:
20(1), 21(2), 22(4), 23(8), 24(16), 25(32), 26(64)…
 n binary digits - 2n unique values
 Computers can not use human languages, and
programming in the binary language of
computers is a very difficult, tedious process
 Therefore, most programs are written using a
programming language and are converted to the
binary language used by the computer
 Three major categories of prog languages:
 Machine Language
 Assembly Language
 High level Language
 Natural language of a particular computer
 Primitive instructions built into every
computer
 The instructions are in the form of binary
code
 Any other types of languages must be
translated down to this level
 English-like Abbreviations used for
operations (Load R1, R8)
 Assembly languages were developed to make
programming easier
 The computer cannot understand assembly
language - a program called assembler is
used to convert assembly language programs
into machine code
 English-like and easy to learn and program
 Common mathematical notation
 Total Cost = Price + Tax;
 area = 5 * 5 * 3.1415;
 Java, C, C++, FORTRAN, VISUAL BASIC,
PASCAL
 Syntax:
 The structure of strings in some language. A language's
syntax is described by a grammar.
 Examples:
▪ Binary number
<binary_number> = <bit> | <bit> <binary_number>
<bit> =0|1
▪ Identifier
<identifier> = <letter> {<letter> | <digit> }
<letter> =a|b|...|z
<digit =0|1|...|9
 Semantics:
 The meaning of the language
 Syntax descriptions for a PL are themselves
written in a formal language.
 E.g. Backus-Naur Form (BNF)
 The formal language is not a PL but it can be
implemented by a compiler to enforce
grammar restrictions.
 Some PLs look more like grammar
descriptions than like instructions.
 Compiler
 A program that converts another program from
some source language (or high-level programming
language / HLL) to machine language (object code).
 Some compilers output assembly language which is
then converted to machine language by a separate
assembler.
 Is distinguished from an assembler by the fact that
each input statement, in general, correspond to
more than one machine instruction.
Source Assembly
Program Compiler Language

Assembly Assembler Machine


Language Language
 Source program
 The form in which a computer program, written
in some formal programming language, is
written by the programmer.
 Can be compiled automatically into object code
or machine code or executed by an interpreter.
 Pascal source programs have extension ‘.pas’
 Object program
 Output from the compiler
 Equivalent machine language translation of the source
program
 Files usually have extension ‘.obj’

 Executable program
 Output from linker/loader
 Machine language program linked with necessary
libraries & other files
 Files usually have extension ‘.exe’
 A program that pulls other programs together so
that they can run.
 Most programs are very large and consist of several
modules.
 Even small programs use existing code provided by
the programming environment called libraries.
 The linker pulls everything together, makes sure
that references to other parts of the program (code)
are resolved.
• Steps that the computer goes through to run a program:
Memory

Machine language
program
(executable file)
Input Data Data entered CPU
during execution

Computed results
Program Output
 Steps taken by the CPU to run a program
(instructions are in machine language):
1. Fetch an instruction
2. Decode (interpret) the instruction
3. Retrieve data, if needed
4. Execute (perform) actual processing
5. Store the results, if needed
 Syntax Errors:
 Errors in grammar of the language
 Runtime error:
 When there are no syntax errors, but the program can’t
complete execution
▪ Divide by zero
▪ Invalid input data
 Logical errors:
 The program completes execution, but delivers incorrect
results
 Incorrect usage of parentheses
Source Assembly
Program Compiler Language

Assembly Assembler Machine


Language Language
 Procedural
 Defining set of steps to transform inputs into outputs
 Translating steps into code
 Constructed as a set of procedures
 Each procedure is a set of instructions
 Object-Oriented
 Defining/utilizing objects to represent real-world entities that work
together to solve problem
 Basic O-O Programming Components
▪ Class
▪ Object/Instance
▪ Properties
▪ Methods
 Class
 Specifies the definition of a particular kind of object
▪ Its Characteristics : Properties (or Attributes)
▪ Its Behaviors: Methods
 Used as blueprint / template to create objects of that type
 Object/Instance
 A specific instance of a class – an object created using the Class
Definition
 All specific instances of the same class share the same definition
▪ Same Properties – can be modified
▪ Same Methods – can be modified
CLASS (ALL DOGS) OBJECT (ONE DOG)

 All Instances of Class Dog  A particular Instance Could Have


 Properties
Have
▪ Name -Spot
 Properties
▪ Breed - Mutt
▪ Name ▪ Weight - 10 pounds
▪ Breed ▪ Color - Black
▪ Weight  Methods
▪ Color ▪ Walk
▪ Bark
 Methods
▪ Jump
▪ Walk
(these can also be modified to fit a
▪ Bark particular dog)
▪ Jump
 Algorithm
 A FINITE set of clear, executable steps that will eventually
terminate to produce the desired outcome
 Logical design used to solve problems – usually a list of
actions required to perform task
 Pseudocode
 Written like program code but more “English Like” and
doesn’t have to conform to language syntax
 Flowchart
 Diagram that visually represents the steps to be performed
to arrive at solution.

You might also like