SlideShare uma empresa Scribd logo
1 de 11
Baixar para ler offline
Notes on
Concepts of Programming
Instructor:
Arghodeep Paul
Firmware Engineer at BitBible Technologies Pvt. Ltd.
Content License Under: OpenSource
Date: 05 July 2021
Computer programming is the act of writing computer programs, which are a
sequence of instructions written using a Computer Programming Language to
perform a specified task by the computer.
Introduction to Computer Program
Before getting into computer programming, let us first understand computer
programs and what they do.
A computer program is a sequence of instructions written using a Computer
Programming Language to perform a specified task by the computer.
The two important terms that we have used in the above definition are −
 Sequence of instructions
 Computer Programming Language
To understand these terms, consider a situation when someone asks you about how
to go to a nearby KFC. What exactly do you do to tell him the way to go to KFC?
You will use Human Language to tell the way to go to KFC, something as follows −
First go straight, after half kilometer, take left from the red light and
then drive around one kilometer and you will find KFC at the right.
Here, you have used English Language to give several steps to be taken to reach KFC.
If they are followed in the following sequence, then you will reach KFC −
1. Go straight
2. Drive half kilometer
3. Take left
4. Drive around one kilometer
5. Search for KFC at your right side
Now, try to map the situation with a computer program. The above sequence of
instructions is actually a Human Program written in English Language, which
instructs on how to reach KFC from a given starting point. This same sequence could
have been given in Spanish, Hindi, Arabic, or any other human language, provided
the person seeking direction knows any of these languages.
Now, let's go back and try to understand a computer program, which is a sequence
of instructions written in a Computer Language to perform a specified task by the
computer. Following is a simple program written in Python programming Language
−
print "Hello, World!"
The above computer program instructs the computer to print "Hello, World!" on
the computer screen.
A computer program is also called a computer software, which can range
from two lines to millions of lines of instructions.
Computer program instructions are also called program source code
and computer programming is also called program coding.
A computer without a computer program is just a dump box; it is programs
that make computers active.
As we have developed so many languages to communicate among ourselves,
computer scientists have developed several computer-programming languages to
provide instructions to the computer (i.e., to write computer programs). We will see
several computer programming languages in the subsequent chapters.
Introduction to Computer
Programming
If you understood what a computer program is, then we will say: the act of writing
computer programs is called computer programming.
As we mentioned earlier, there are hundreds of programming languages, which can
be used to write computer programs and following are a few of them −
 Java
 C
 C++
 Python
 PHP
 Perl
 Ruby
Uses of Computer Programs
Today computer programs are being used in almost every field, household,
agriculture, medical, entertainment, defense, communication, etc. Listed below are
a few applications of computer programs −
 MS Word, MS Excel, Adobe Photoshop, Internet Explorer, Chrome, etc., are
examples of computer programs.
 Computer programs are being used to develop graphics and special effects in
movie making.
 Computer programs are being used to perform Ultrasounds, X-Rays, and other
medical examinations.
 Computer programs are being used in our mobile phones for SMS, Chat, and
voice communication.
Computer Programmer
Someone who can write computer programs or in other words, someone who can
do computer programming is called a Computer Programmer.
Based on computer programming language expertise, we can name a computer
programmers as follows −
 C Programmer
 C++ Programmer
 Java Programmer
 Python Programmer
 PHP Programmer
 Perl Programmer
 Ruby Programmer
Algorithm, Pseudocode and Program
Algorithm : Systematic logical approach which is a well-defined, step-by-step
procedure that allows a computer to solve a problem.
Pseudocode : It is a simpler version of a programming code in plain English which
uses short phrases to write code for a program before it is implemented in a specific
programming language.
Program : It is exact code written for problem following all the rules of the
programming language.
Algorithm
An algorithm is used to provide a solution to a particular problem in form of well-
defined steps. Whenever you use a computer to solve a particular problem, the
steps which lead to the solution should be properly communicated to the computer.
While executing an algorithm on a computer, several operations such as additions
and subtractions are combined to perform more complex mathematical operations.
Algorithms can be expressed using natural language, flowcharts, etc.
Let’s take a look at an example for a better understanding. As a programmer, we are
all aware of the Linear Search program.
Algorithm of linear search :
1. Start from the leftmost element of arr[] and
one by one compare x with each element of arr[].
2. If x matches with an element, return the index.
3. If x doesn’t match with any of elements, return -1.
Here, we can see how the steps of a linear search program are explained in a simple,
English language.
Pseudocode
It is one of the methods which can be used to represent an algorithm for a program.
It does not have a specific syntax like any of the programming languages and thus
cannot be executed on a computer. There are several formats which are used to
write pseudo-codes and most of them take down the structures from languages such
as C, Lisp, FORTRAN, etc.
Many time algorithms are presented using pseudocode since they can be read and
understood by programmers who are familiar with different programming languages.
Pseudocode allows you to include several control structures such as While, If-then-
else, Repeat-until, for and case, which is present in many high-level languages.
Note: Pseudocode is not an actual programming language.
Peudocode for Linear Search :
FUNCTION linearSearch(list, searchTerm):
FOR index FROM 0 -> length(list):
IF list[index] == searchTerm THEN
RETURN index
ENDIF
ENDLOOP
RETURN -1
END FUNCTION
In here, we haven’t used any specific programming language but wrote the steps
of a linear search in a simpler form which can be further modified into a proper
program.
Program
A program is a set of instructions for the computer to follow. The machine can’t read
a program directly, because it only understands machine code. But you can write
stuff in a computer language, and then a compiler or interpreter can make it
understandable to the computer.
Program for Linear Search :
// C++ code for linearly search x in arr[]. If x
// is present then return its location, otherwise
// return -1
int search(int arr[], int n, int x)
{
int i;
for (i = 0; i < n; i++)
if (arr[i] == x)
return i;
return -1;
}
Algorithm vs Psuedocode vs Program
1. An algorithm is defined as a well-defined sequence of steps that provides
a solution for a given problem, whereas a pseudocode is one of the methods
that can be used to represent an algorithm.
2. While algorithms are generally written in a natural language or plain
English language, pseudocode is written in a format that is similar to the
structure of a high-level programming language. Program on the other hand
allows us to write a code in a particular programming language.
So, as depicted above you can clearly see how the algorithm is used to generate
the pseudocode which is further expanded by following a particular syntax of a
programming language to create the code of the program.
Elements of PLs
We assume you are well aware of English Language, which is a well-known Human
Interface Language. English has a predefined grammar, which needs to be followed
to write English statements in a correct way. Likewise, most of the Human Interface
Languages (Hindi, English, Spanish, French, etc.) are made of several elements like
verbs, nouns, adjectives, adverbs, propositions, and conjunctions, etc.
Similar to Human Interface Languages, Computer Programming Languages are also
made of several elements. We will take you through the basics of those elements
and make you comfortable to use them in various programming languages. These
basic elements include −
 Programming Environment
 Basic Syntax
 Data Types
 Variables
 Keywords
 Basic Operators
 Decision Making
 Loops
 Numbers
 Characters
 Arrays
 Strings
 Functions
 File I/O
We will explain all these elements in subsequent chapters with examples using
different programming languages. First, we will try to understand the meaning of all
these terms in general and then, we will see how these terms can be used in
different programming languages.
This tutorial has been designed to give you an idea about the following most
popular programming languages −
 C Programming
 Java Programming
 Python Programming
A major part of the tutorial has been explained by taking C as programming
language and then we have shown how similar concepts work in Java and Python.
So after completion of this tutorial, you will be quite familiar with these popular
programming languages.
Programming Environment
Environment Setup is not an element of any Programming Language, it is the first
step to be followed before setting on to write a program.
When we say Environment Setup, it simply implies a base on top of which we can
do our programming. Thus, we need to have the required software setup, i.e.,
installation on our PC which will be used to write computer programs, compile, and
execute them.
A programming environments is the collection of tools used in the development of
software.
This collection may consist:-
 A file system,
 A text editor,
 A linker,
 A compiler,
 Integrated tools
These tools may be access through a uniform interface (GUI).
Some of the examples of programming environments are-
1) Microsoft Visual Studio .NET, which is a large collection of software development
tools, used through a windows interface.
It is used to develop software in following languages-
 C#,
 Visual Basic .NET,
 JScript(MS JavaScript version),
 J# (MS Java version),
 managed C++.
2) NetBeans
3) Turbo C, C++
4) Dreamweaver
5) Arduino, etc.

Mais conteúdo relacionado

Mais procurados

Computer Language Translator
Computer Language TranslatorComputer Language Translator
Computer Language TranslatorRanjeet Kumar
 
Types of Programming Languages
Types of Programming LanguagesTypes of Programming Languages
Types of Programming LanguagesJuhi Bhoyar
 
Three Address code
Three Address code Three Address code
Three Address code Pooja Dixit
 
Problem solving using Computer
Problem solving using ComputerProblem solving using Computer
Problem solving using ComputerDavid Livingston J
 
Programming languages and concepts by vivek parihar
Programming languages and concepts by vivek pariharProgramming languages and concepts by vivek parihar
Programming languages and concepts by vivek pariharVivek Parihar
 
Flowcharts and algorithms
Flowcharts and algorithmsFlowcharts and algorithms
Flowcharts and algorithmsStudent
 
Chapter 1 - An Introduction to Programming
Chapter 1 - An Introduction to ProgrammingChapter 1 - An Introduction to Programming
Chapter 1 - An Introduction to Programmingmshellman
 
Lect 1. introduction to programming languages
Lect 1. introduction to programming languagesLect 1. introduction to programming languages
Lect 1. introduction to programming languagesVarun Garg
 
Turing Machine
Turing MachineTuring Machine
Turing MachineRajendran
 
DESIGN AND ANALYSIS OF ALGORITHMS
DESIGN AND ANALYSIS OF ALGORITHMSDESIGN AND ANALYSIS OF ALGORITHMS
DESIGN AND ANALYSIS OF ALGORITHMSGayathri Gaayu
 
Introduction of c programming
Introduction of c programmingIntroduction of c programming
Introduction of c programmingTarun Sharma
 
Basic programming concepts
Basic programming conceptsBasic programming concepts
Basic programming conceptssalmankhan570
 
Presentation on mini dictionary using C language
Presentation on  mini dictionary using C languagePresentation on  mini dictionary using C language
Presentation on mini dictionary using C languagePriya Yadav
 
Algorithm and pseudo codes
Algorithm and pseudo codesAlgorithm and pseudo codes
Algorithm and pseudo codeshermiraguilar
 
Operators and expressions in C++
Operators and expressions in C++Operators and expressions in C++
Operators and expressions in C++Neeru Mittal
 

Mais procurados (20)

Introduction to qbasic
Introduction to qbasicIntroduction to qbasic
Introduction to qbasic
 
Language processor
Language processorLanguage processor
Language processor
 
Computer Language Translator
Computer Language TranslatorComputer Language Translator
Computer Language Translator
 
Types of Programming Languages
Types of Programming LanguagesTypes of Programming Languages
Types of Programming Languages
 
Machine language
Machine languageMachine language
Machine language
 
Three Address code
Three Address code Three Address code
Three Address code
 
Problem solving using Computer
Problem solving using ComputerProblem solving using Computer
Problem solving using Computer
 
Programming languages and concepts by vivek parihar
Programming languages and concepts by vivek pariharProgramming languages and concepts by vivek parihar
Programming languages and concepts by vivek parihar
 
Flowcharts and algorithms
Flowcharts and algorithmsFlowcharts and algorithms
Flowcharts and algorithms
 
Chapter 1 - An Introduction to Programming
Chapter 1 - An Introduction to ProgrammingChapter 1 - An Introduction to Programming
Chapter 1 - An Introduction to Programming
 
Lect 1. introduction to programming languages
Lect 1. introduction to programming languagesLect 1. introduction to programming languages
Lect 1. introduction to programming languages
 
Turing Machine
Turing MachineTuring Machine
Turing Machine
 
Programming Fundamentals
Programming FundamentalsProgramming Fundamentals
Programming Fundamentals
 
Compilers
CompilersCompilers
Compilers
 
DESIGN AND ANALYSIS OF ALGORITHMS
DESIGN AND ANALYSIS OF ALGORITHMSDESIGN AND ANALYSIS OF ALGORITHMS
DESIGN AND ANALYSIS OF ALGORITHMS
 
Introduction of c programming
Introduction of c programmingIntroduction of c programming
Introduction of c programming
 
Basic programming concepts
Basic programming conceptsBasic programming concepts
Basic programming concepts
 
Presentation on mini dictionary using C language
Presentation on  mini dictionary using C languagePresentation on  mini dictionary using C language
Presentation on mini dictionary using C language
 
Algorithm and pseudo codes
Algorithm and pseudo codesAlgorithm and pseudo codes
Algorithm and pseudo codes
 
Operators and expressions in C++
Operators and expressions in C++Operators and expressions in C++
Operators and expressions in C++
 

Semelhante a notes on Programming fundamentals

Computer program, computer languages, computer software
Computer program, computer languages, computer softwareComputer program, computer languages, computer software
Computer program, computer languages, computer softwareSweta Kumari Barnwal
 
Software programming and development
Software programming and developmentSoftware programming and development
Software programming and developmentAli Raza
 
Specification Of The Programming Language Of Java
Specification Of The Programming Language Of JavaSpecification Of The Programming Language Of Java
Specification Of The Programming Language Of JavaKim Moore
 
Introduction to Computers Lecture # 12
Introduction to Computers Lecture # 12Introduction to Computers Lecture # 12
Introduction to Computers Lecture # 12Sehrish Rafiq
 
4 coding from algorithms
4 coding from algorithms4 coding from algorithms
4 coding from algorithmshccit
 
Lesson 1 - Introduction to Computer Programming.pptx
Lesson 1 - Introduction to Computer Programming.pptxLesson 1 - Introduction to Computer Programming.pptx
Lesson 1 - Introduction to Computer Programming.pptxNeil Mutia
 
Comso c++
Comso c++Comso c++
Comso c++Mi L
 
Programming Paradigm & Languages
Programming Paradigm & LanguagesProgramming Paradigm & Languages
Programming Paradigm & LanguagesGaditek
 
Programming Paradigm & Languages
Programming Paradigm & LanguagesProgramming Paradigm & Languages
Programming Paradigm & LanguagesGaditek
 
Fundamentals of programming with C++
Fundamentals of programming with C++Fundamentals of programming with C++
Fundamentals of programming with C++Seble Nigussie
 

Semelhante a notes on Programming fundamentals (20)

Computer programming
Computer programmingComputer programming
Computer programming
 
Computer program, computer languages, computer software
Computer program, computer languages, computer softwareComputer program, computer languages, computer software
Computer program, computer languages, computer software
 
Software programming and development
Software programming and developmentSoftware programming and development
Software programming and development
 
Chapter 2.pptx
Chapter 2.pptxChapter 2.pptx
Chapter 2.pptx
 
Specification Of The Programming Language Of Java
Specification Of The Programming Language Of JavaSpecification Of The Programming Language Of Java
Specification Of The Programming Language Of Java
 
Fundamentals of Programming Chapter 2
Fundamentals of Programming Chapter 2Fundamentals of Programming Chapter 2
Fundamentals of Programming Chapter 2
 
Ppt 1
Ppt 1Ppt 1
Ppt 1
 
Lecture 1-3.ppt
Lecture 1-3.pptLecture 1-3.ppt
Lecture 1-3.ppt
 
C programme presentation
C programme presentationC programme presentation
C programme presentation
 
Introduction to Computers Lecture # 12
Introduction to Computers Lecture # 12Introduction to Computers Lecture # 12
Introduction to Computers Lecture # 12
 
SYSTEM DEVELOPMENT
SYSTEM DEVELOPMENTSYSTEM DEVELOPMENT
SYSTEM DEVELOPMENT
 
4 coding from algorithms
4 coding from algorithms4 coding from algorithms
4 coding from algorithms
 
Lesson 1 - Introduction to Computer Programming.pptx
Lesson 1 - Introduction to Computer Programming.pptxLesson 1 - Introduction to Computer Programming.pptx
Lesson 1 - Introduction to Computer Programming.pptx
 
Comso c++
Comso c++Comso c++
Comso c++
 
Computer
ComputerComputer
Computer
 
Introduction to programming c
Introduction to programming cIntroduction to programming c
Introduction to programming c
 
Programming Paradigm & Languages
Programming Paradigm & LanguagesProgramming Paradigm & Languages
Programming Paradigm & Languages
 
Programming Paradigm & Languages
Programming Paradigm & LanguagesProgramming Paradigm & Languages
Programming Paradigm & Languages
 
Fundamentals of programming with C++
Fundamentals of programming with C++Fundamentals of programming with C++
Fundamentals of programming with C++
 
Unit 1
Unit 1Unit 1
Unit 1
 

Mais de ArghodeepPaul

Microprocessor questions converted
Microprocessor questions convertedMicroprocessor questions converted
Microprocessor questions convertedArghodeepPaul
 
Windows batch scripting
Windows batch scriptingWindows batch scripting
Windows batch scriptingArghodeepPaul
 
Common problems solving using c
Common problems solving using cCommon problems solving using c
Common problems solving using cArghodeepPaul
 
C variables and constants
C variables and constantsC variables and constants
C variables and constantsArghodeepPaul
 
Computer programming tools and building process
Computer programming tools and building processComputer programming tools and building process
Computer programming tools and building processArghodeepPaul
 
Algorithm pseudocode flowchart program notes
Algorithm pseudocode flowchart program notesAlgorithm pseudocode flowchart program notes
Algorithm pseudocode flowchart program notesArghodeepPaul
 

Mais de ArghodeepPaul (12)

Microprocessor questions converted
Microprocessor questions convertedMicroprocessor questions converted
Microprocessor questions converted
 
Windows script host
Windows script hostWindows script host
Windows script host
 
Windows batch scripting
Windows batch scriptingWindows batch scripting
Windows batch scripting
 
Common problems solving using c
Common problems solving using cCommon problems solving using c
Common problems solving using c
 
C operators
C operatorsC operators
C operators
 
C taking user input
C taking user inputC taking user input
C taking user input
 
C storage classes
C storage classesC storage classes
C storage classes
 
C datatypes
C datatypesC datatypes
C datatypes
 
C variables and constants
C variables and constantsC variables and constants
C variables and constants
 
C program structure
C program structureC program structure
C program structure
 
Computer programming tools and building process
Computer programming tools and building processComputer programming tools and building process
Computer programming tools and building process
 
Algorithm pseudocode flowchart program notes
Algorithm pseudocode flowchart program notesAlgorithm pseudocode flowchart program notes
Algorithm pseudocode flowchart program notes
 

Último

Earthing details of Electrical Substation
Earthing details of Electrical SubstationEarthing details of Electrical Substation
Earthing details of Electrical Substationstephanwindworld
 
Industrial Safety Unit-IV workplace health and safety.ppt
Industrial Safety Unit-IV workplace health and safety.pptIndustrial Safety Unit-IV workplace health and safety.ppt
Industrial Safety Unit-IV workplace health and safety.pptNarmatha D
 
Energy Awareness training ppt for manufacturing process.pptx
Energy Awareness training ppt for manufacturing process.pptxEnergy Awareness training ppt for manufacturing process.pptx
Energy Awareness training ppt for manufacturing process.pptxsiddharthjain2303
 
Introduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptxIntroduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptxk795866
 
IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024Mark Billinghurst
 
The SRE Report 2024 - Great Findings for the teams
The SRE Report 2024 - Great Findings for the teamsThe SRE Report 2024 - Great Findings for the teams
The SRE Report 2024 - Great Findings for the teamsDILIPKUMARMONDAL6
 
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsync
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsyncWhy does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsync
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsyncssuser2ae721
 
Main Memory Management in Operating System
Main Memory Management in Operating SystemMain Memory Management in Operating System
Main Memory Management in Operating SystemRashmi Bhat
 
Arduino_CSE ece ppt for working and principal of arduino.ppt
Arduino_CSE ece ppt for working and principal of arduino.pptArduino_CSE ece ppt for working and principal of arduino.ppt
Arduino_CSE ece ppt for working and principal of arduino.pptSAURABHKUMAR892774
 
Mine Environment II Lab_MI10448MI__________.pptx
Mine Environment II Lab_MI10448MI__________.pptxMine Environment II Lab_MI10448MI__________.pptx
Mine Environment II Lab_MI10448MI__________.pptxRomil Mishra
 
Past, Present and Future of Generative AI
Past, Present and Future of Generative AIPast, Present and Future of Generative AI
Past, Present and Future of Generative AIabhishek36461
 
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionSachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionDr.Costas Sachpazis
 
welding defects observed during the welding
welding defects observed during the weldingwelding defects observed during the welding
welding defects observed during the weldingMuhammadUzairLiaqat
 
Work Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvvWork Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvvLewisJB
 
Class 1 | NFPA 72 | Overview Fire Alarm System
Class 1 | NFPA 72 | Overview Fire Alarm SystemClass 1 | NFPA 72 | Overview Fire Alarm System
Class 1 | NFPA 72 | Overview Fire Alarm Systemirfanmechengr
 
Solving The Right Triangles PowerPoint 2.ppt
Solving The Right Triangles PowerPoint 2.pptSolving The Right Triangles PowerPoint 2.ppt
Solving The Right Triangles PowerPoint 2.pptJasonTagapanGulla
 
Vishratwadi & Ghorpadi Bridge Tender documents
Vishratwadi & Ghorpadi Bridge Tender documentsVishratwadi & Ghorpadi Bridge Tender documents
Vishratwadi & Ghorpadi Bridge Tender documentsSachinPawar510423
 

Último (20)

Earthing details of Electrical Substation
Earthing details of Electrical SubstationEarthing details of Electrical Substation
Earthing details of Electrical Substation
 
Industrial Safety Unit-IV workplace health and safety.ppt
Industrial Safety Unit-IV workplace health and safety.pptIndustrial Safety Unit-IV workplace health and safety.ppt
Industrial Safety Unit-IV workplace health and safety.ppt
 
Energy Awareness training ppt for manufacturing process.pptx
Energy Awareness training ppt for manufacturing process.pptxEnergy Awareness training ppt for manufacturing process.pptx
Energy Awareness training ppt for manufacturing process.pptx
 
Introduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptxIntroduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptx
 
IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024
 
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
 
The SRE Report 2024 - Great Findings for the teams
The SRE Report 2024 - Great Findings for the teamsThe SRE Report 2024 - Great Findings for the teams
The SRE Report 2024 - Great Findings for the teams
 
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsync
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsyncWhy does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsync
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsync
 
Main Memory Management in Operating System
Main Memory Management in Operating SystemMain Memory Management in Operating System
Main Memory Management in Operating System
 
Arduino_CSE ece ppt for working and principal of arduino.ppt
Arduino_CSE ece ppt for working and principal of arduino.pptArduino_CSE ece ppt for working and principal of arduino.ppt
Arduino_CSE ece ppt for working and principal of arduino.ppt
 
Mine Environment II Lab_MI10448MI__________.pptx
Mine Environment II Lab_MI10448MI__________.pptxMine Environment II Lab_MI10448MI__________.pptx
Mine Environment II Lab_MI10448MI__________.pptx
 
Design and analysis of solar grass cutter.pdf
Design and analysis of solar grass cutter.pdfDesign and analysis of solar grass cutter.pdf
Design and analysis of solar grass cutter.pdf
 
Past, Present and Future of Generative AI
Past, Present and Future of Generative AIPast, Present and Future of Generative AI
Past, Present and Future of Generative AI
 
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionSachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
 
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Serviceyoung call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
 
welding defects observed during the welding
welding defects observed during the weldingwelding defects observed during the welding
welding defects observed during the welding
 
Work Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvvWork Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvv
 
Class 1 | NFPA 72 | Overview Fire Alarm System
Class 1 | NFPA 72 | Overview Fire Alarm SystemClass 1 | NFPA 72 | Overview Fire Alarm System
Class 1 | NFPA 72 | Overview Fire Alarm System
 
Solving The Right Triangles PowerPoint 2.ppt
Solving The Right Triangles PowerPoint 2.pptSolving The Right Triangles PowerPoint 2.ppt
Solving The Right Triangles PowerPoint 2.ppt
 
Vishratwadi & Ghorpadi Bridge Tender documents
Vishratwadi & Ghorpadi Bridge Tender documentsVishratwadi & Ghorpadi Bridge Tender documents
Vishratwadi & Ghorpadi Bridge Tender documents
 

notes on Programming fundamentals

  • 1. Notes on Concepts of Programming Instructor: Arghodeep Paul Firmware Engineer at BitBible Technologies Pvt. Ltd. Content License Under: OpenSource Date: 05 July 2021
  • 2. Computer programming is the act of writing computer programs, which are a sequence of instructions written using a Computer Programming Language to perform a specified task by the computer. Introduction to Computer Program Before getting into computer programming, let us first understand computer programs and what they do. A computer program is a sequence of instructions written using a Computer Programming Language to perform a specified task by the computer. The two important terms that we have used in the above definition are −  Sequence of instructions  Computer Programming Language To understand these terms, consider a situation when someone asks you about how to go to a nearby KFC. What exactly do you do to tell him the way to go to KFC? You will use Human Language to tell the way to go to KFC, something as follows − First go straight, after half kilometer, take left from the red light and then drive around one kilometer and you will find KFC at the right. Here, you have used English Language to give several steps to be taken to reach KFC. If they are followed in the following sequence, then you will reach KFC − 1. Go straight 2. Drive half kilometer 3. Take left 4. Drive around one kilometer 5. Search for KFC at your right side
  • 3. Now, try to map the situation with a computer program. The above sequence of instructions is actually a Human Program written in English Language, which instructs on how to reach KFC from a given starting point. This same sequence could have been given in Spanish, Hindi, Arabic, or any other human language, provided the person seeking direction knows any of these languages. Now, let's go back and try to understand a computer program, which is a sequence of instructions written in a Computer Language to perform a specified task by the computer. Following is a simple program written in Python programming Language − print "Hello, World!" The above computer program instructs the computer to print "Hello, World!" on the computer screen. A computer program is also called a computer software, which can range from two lines to millions of lines of instructions. Computer program instructions are also called program source code and computer programming is also called program coding. A computer without a computer program is just a dump box; it is programs that make computers active. As we have developed so many languages to communicate among ourselves, computer scientists have developed several computer-programming languages to provide instructions to the computer (i.e., to write computer programs). We will see several computer programming languages in the subsequent chapters.
  • 4. Introduction to Computer Programming If you understood what a computer program is, then we will say: the act of writing computer programs is called computer programming. As we mentioned earlier, there are hundreds of programming languages, which can be used to write computer programs and following are a few of them −  Java  C  C++  Python  PHP  Perl  Ruby Uses of Computer Programs Today computer programs are being used in almost every field, household, agriculture, medical, entertainment, defense, communication, etc. Listed below are a few applications of computer programs −  MS Word, MS Excel, Adobe Photoshop, Internet Explorer, Chrome, etc., are examples of computer programs.  Computer programs are being used to develop graphics and special effects in movie making.  Computer programs are being used to perform Ultrasounds, X-Rays, and other medical examinations.  Computer programs are being used in our mobile phones for SMS, Chat, and voice communication.
  • 5. Computer Programmer Someone who can write computer programs or in other words, someone who can do computer programming is called a Computer Programmer. Based on computer programming language expertise, we can name a computer programmers as follows −  C Programmer  C++ Programmer  Java Programmer  Python Programmer  PHP Programmer  Perl Programmer  Ruby Programmer Algorithm, Pseudocode and Program Algorithm : Systematic logical approach which is a well-defined, step-by-step procedure that allows a computer to solve a problem. Pseudocode : It is a simpler version of a programming code in plain English which uses short phrases to write code for a program before it is implemented in a specific programming language. Program : It is exact code written for problem following all the rules of the programming language.
  • 6. Algorithm An algorithm is used to provide a solution to a particular problem in form of well- defined steps. Whenever you use a computer to solve a particular problem, the steps which lead to the solution should be properly communicated to the computer. While executing an algorithm on a computer, several operations such as additions and subtractions are combined to perform more complex mathematical operations. Algorithms can be expressed using natural language, flowcharts, etc. Let’s take a look at an example for a better understanding. As a programmer, we are all aware of the Linear Search program. Algorithm of linear search : 1. Start from the leftmost element of arr[] and one by one compare x with each element of arr[]. 2. If x matches with an element, return the index. 3. If x doesn’t match with any of elements, return -1. Here, we can see how the steps of a linear search program are explained in a simple, English language.
  • 7. Pseudocode It is one of the methods which can be used to represent an algorithm for a program. It does not have a specific syntax like any of the programming languages and thus cannot be executed on a computer. There are several formats which are used to write pseudo-codes and most of them take down the structures from languages such as C, Lisp, FORTRAN, etc. Many time algorithms are presented using pseudocode since they can be read and understood by programmers who are familiar with different programming languages. Pseudocode allows you to include several control structures such as While, If-then- else, Repeat-until, for and case, which is present in many high-level languages. Note: Pseudocode is not an actual programming language. Peudocode for Linear Search : FUNCTION linearSearch(list, searchTerm): FOR index FROM 0 -> length(list): IF list[index] == searchTerm THEN RETURN index ENDIF ENDLOOP RETURN -1 END FUNCTION
  • 8. In here, we haven’t used any specific programming language but wrote the steps of a linear search in a simpler form which can be further modified into a proper program. Program A program is a set of instructions for the computer to follow. The machine can’t read a program directly, because it only understands machine code. But you can write stuff in a computer language, and then a compiler or interpreter can make it understandable to the computer. Program for Linear Search : // C++ code for linearly search x in arr[]. If x // is present then return its location, otherwise // return -1 int search(int arr[], int n, int x) { int i; for (i = 0; i < n; i++) if (arr[i] == x) return i; return -1; } Algorithm vs Psuedocode vs Program 1. An algorithm is defined as a well-defined sequence of steps that provides a solution for a given problem, whereas a pseudocode is one of the methods that can be used to represent an algorithm. 2. While algorithms are generally written in a natural language or plain English language, pseudocode is written in a format that is similar to the structure of a high-level programming language. Program on the other hand allows us to write a code in a particular programming language. So, as depicted above you can clearly see how the algorithm is used to generate the pseudocode which is further expanded by following a particular syntax of a programming language to create the code of the program.
  • 9. Elements of PLs We assume you are well aware of English Language, which is a well-known Human Interface Language. English has a predefined grammar, which needs to be followed to write English statements in a correct way. Likewise, most of the Human Interface Languages (Hindi, English, Spanish, French, etc.) are made of several elements like verbs, nouns, adjectives, adverbs, propositions, and conjunctions, etc. Similar to Human Interface Languages, Computer Programming Languages are also made of several elements. We will take you through the basics of those elements and make you comfortable to use them in various programming languages. These basic elements include −  Programming Environment  Basic Syntax  Data Types  Variables  Keywords  Basic Operators  Decision Making  Loops  Numbers  Characters  Arrays  Strings  Functions  File I/O We will explain all these elements in subsequent chapters with examples using different programming languages. First, we will try to understand the meaning of all these terms in general and then, we will see how these terms can be used in different programming languages. This tutorial has been designed to give you an idea about the following most popular programming languages −
  • 10.  C Programming  Java Programming  Python Programming A major part of the tutorial has been explained by taking C as programming language and then we have shown how similar concepts work in Java and Python. So after completion of this tutorial, you will be quite familiar with these popular programming languages. Programming Environment Environment Setup is not an element of any Programming Language, it is the first step to be followed before setting on to write a program. When we say Environment Setup, it simply implies a base on top of which we can do our programming. Thus, we need to have the required software setup, i.e., installation on our PC which will be used to write computer programs, compile, and execute them. A programming environments is the collection of tools used in the development of software. This collection may consist:-  A file system,  A text editor,  A linker,  A compiler,  Integrated tools These tools may be access through a uniform interface (GUI). Some of the examples of programming environments are- 1) Microsoft Visual Studio .NET, which is a large collection of software development tools, used through a windows interface. It is used to develop software in following languages-  C#,  Visual Basic .NET,  JScript(MS JavaScript version),  J# (MS Java version),
  • 11.  managed C++. 2) NetBeans 3) Turbo C, C++ 4) Dreamweaver 5) Arduino, etc.