SlideShare a Scribd company logo
1 of 26
An Introduction to
Programming with C++
Sixth Edition
Chapter 1
An Introduction to Programming
Objectives
• Define the terminology used in programming
• Explain the tasks performed by a programmer
• Describe the qualities of a good programmer
• Understand the employment opportunities for
programmers and software engineers
• Explain the history of programming languages
An Introduction to Programming with C++, Sixth Edition 2
Objectives (cont’d.)
• Explain the sequence, selection, and repetition
structures
• Write simple algorithms using the sequence,
selection, and repetition structures
An Introduction to Programming with C++, Sixth Edition 3
Programming a Computer
• Programs are the directions given to computers
• Programmers are the people who write computer
programs
• Programming Languages enable programmers to
communicate with the computer
• Popular languages: C++, Visual Basic, C#, Java
• How are these languages used commercially?
An Introduction to Programming with C++, Sixth Edition 4
The Programmer’s Job
• Programmers help solve computer problems
• Employee or freelance
• Typical steps involved
– Meet with user to determine problem
– Convert the problem into a program
– Test the program
– Provide user manual
An Introduction to Programming with C++, Sixth Edition 5
An Introduction to Programming with C++, Sixth Edition 6
Do I Have What It Takes to Be a
Programmer?
• Qualities employers look for
– Logical and analytical thinking
– Close attention to detail
– Patience and persistence
– Ingenuity and creativity
– Good communication skills: technical and
nontechnical
– Business skills (for managerial positions)
Employment Opportunities
• Computer software engineer: designs an
appropriate solution to a user’s problem
• Computer programmer: codes a computer solution
• Coding is the process of translating a computer
solution into a language a computer can
understand
• Some positions call for both engineering and
programming
An Introduction to Programming with C++, Sixth Edition 7
A Brief History of Programming
Languages
• Enable programmer to communicate with computer
• Different types
– Machine languages
– Assembly languages
– High-level languages
An Introduction to Programming with C++, Sixth Edition 8
An Introduction to Programming with C++, Sixth Edition 9
Machine Languages
• The first programmers had to write the program
instructions using only combinations of 0s and 1s
– Example: 00101 10001 10000
• Instructions written in 0s and 1s are called
machine language or machine code
• Each type of machine has its own language
• Machine languages are the only way to
communicate directly with the computer
• Programming in machine language: tedious and
error-prone; requires highly trained programmers
An Introduction to Programming with C++, Sixth Edition 10
Assembly Languages
• Assembly languages simplify programmer’s job
• Can use mnemonics instead of 0s and 1s
– Example: ADD bx, ax
• Assembly programs require an assembler to
convert instructions into machine code
• Easier to write programs in assembly language
– But still tedious and requires highly trained
programmers
An Introduction to Programming with C++, Sixth Edition 11
High-Level Languages
• High-level languages allow programmer to use
English-like instructions
– Example: grossPay = hours * rate
– High-level languages are more machine independent
• Programs written in a high-level language can be used
on many different types of computers
• Compilers translate high-level instructions into 0s
and 1s (machine language)
• Interpreters translate the program line by line as
the program is running
An Introduction to Programming with C++, Sixth Edition 12
High-Level Languages (cont’d.)
• When writing a procedure-oriented program, the
programmer concentrates on the major tasks that
the program needs to perform
– Examples: COBOL, BASIC, C
• An object-oriented program requires programmer
to focus on the objects that the program can use to
accomplish its goal
– Examples: C++, Visual Basic, Java, C#
• Object-oriented programs allow for better code-
reuse
– An object can be used in more than one program
An Introduction to Programming with C++, Sixth Edition 13
Control Structures
• Programs are written using three basic structures
– Sequence
• Used in every program you write
– Repetition
• Used in most programs you write
– Selection
• Used in most programs you write
• These are called control structures or logic
structures
An Introduction to Programming with C++, Sixth Edition 14
The Sequence Structure
• The sequence structure directs the computer to
process the program instructions, one after
another, in the order listed in the program
• An algorithm is a set of step-by-step instructions
that accomplish a task
• Example: following a recipe to make cookies
The Sequence Structure (cont’d.)
An Introduction to Programming with C++, Sixth Edition 15
Figure 1-1 An example of the sequence structure
An Introduction to Programming with C++, Sixth Edition 16
The Selection Structure
• Selection structure: makes a decision and then
takes an appropriate action based on that decision
– Also called the decision structure
• Example: waiting or crossing at railroad tracks
depending on signal lights
The Selection Structure (cont’d.)
An Introduction to Programming with C++, Sixth Edition 17
Figure 1-2 An example of the selection structure
An Introduction to Programming with C++, Sixth Edition 18
The Selection Structure (cont’d.)
Figure 1-3 Another example of the selection structure
An Introduction to Programming with C++, Sixth Edition 19
The Repetition Structure
• Repetition structure: directs computer to repeat
one or more instructions until some condition is met
– Also called a loop or iteration
Figure 1-4 Modified algorithm showing the repetition structure
An Introduction to Programming with C++, Sixth Edition 20
The Repetition Structure (cont’d.)
• What could you do if you don’t know precisely how
many steps separate Robin from the boxes?
Figure 1-5 Algorithm showing the modified condition in the repetition structure
Summary
• Programs are step-by-step instructions that tell a
computer how to perform a task
• Programmers use programming languages to
communicate with the computer
– First programming languages were machine
languages: 0s and 1s (machine code)
– Next came assembly languages, which allowed for
mnemonics
– High-level languages can be used to create
procedure-oriented programs or object-oriented
programs
An Introduction to Programming with C++, Sixth Edition 21
Summary (cont’d.)
• Algorithm: step-by-step instructions that
accomplish a task (not written in a programming
language)
– Algorithms contain one or more of the following
control structures: sequence, selection, and
repetition
• Sequence structure: process the instructions, one
after another, in the order listed
• Selection structure: directs the computer to make a
decision and then to select an appropriate action
based on that decision
• Repetition structure: repeat one or more
instructions until some condition is met
An Introduction to Programming with C++, Sixth Edition 22
YOUR Assignments –
Lab 1-1: Stop and Analyze
• A local business employs five salespeople and
pays a 3% bonus on a salesperson’s sales
• Your task is to create a program that calculates the
amount of each salesperson’s bonus
• The program should print each salesperson’s name
and bonus amount
An Introduction to Programming with C++, Sixth Edition 23
An Introduction to Programming with C++, Sixth Edition 24
YOUR Assignments –
Lab 1-2: Plan and Create
• Using only the instructions shown below, create an
algorithm that shows the steps an instructor takes
when grading a test that contains 25 questions
An Introduction to Programming with C++, Sixth Edition 25
YOUR Assignments –
Lab 1-3: Modify
• Modify the algorithm shown in Lab 1-1 so that it
gives a 3.5% bonus to salespeople selling more
than $2,000
• All other salespeople should receive a 3% bonus
Your Assignments -
Labs –
– Lab 1 – Stop and Analyze
– Lab 2 - Plan and Create
– Lab 3 – Modify
Review Questions – pages 13-15
Chapter 1 – Exercises – Pages 15-19
An Introduction to Programming with C++, Sixth Edition 26

More Related Content

What's hot (20)

C & C++ Training Centre in Ambala! BATRA COMPUTER CENTRE
C & C++ Training Centre in Ambala! BATRA COMPUTER CENTREC & C++ Training Centre in Ambala! BATRA COMPUTER CENTRE
C & C++ Training Centre in Ambala! BATRA COMPUTER CENTRE
 
C++ Tutorial
C++ TutorialC++ Tutorial
C++ Tutorial
 
01 c++ Intro.ppt
01 c++ Intro.ppt01 c++ Intro.ppt
01 c++ Intro.ppt
 
Introduction Of C++
Introduction Of C++Introduction Of C++
Introduction Of C++
 
The smartpath information systems c plus plus
The smartpath information systems  c plus plusThe smartpath information systems  c plus plus
The smartpath information systems c plus plus
 
C programming notes
C programming notesC programming notes
C programming notes
 
Introduction to C++
Introduction to C++ Introduction to C++
Introduction to C++
 
C_Programming_Notes_ICE
C_Programming_Notes_ICEC_Programming_Notes_ICE
C_Programming_Notes_ICE
 
Introduction to Procedural Programming in C++
Introduction to Procedural Programming in C++Introduction to Procedural Programming in C++
Introduction to Procedural Programming in C++
 
C languaGE UNIT-1
C languaGE UNIT-1C languaGE UNIT-1
C languaGE UNIT-1
 
A Crash Course in C Part-1
A Crash Course in C Part-1A Crash Course in C Part-1
A Crash Course in C Part-1
 
C++ Programming Course
C++ Programming CourseC++ Programming Course
C++ Programming Course
 
Introduction to c++ ppt 1
Introduction to c++ ppt 1Introduction to c++ ppt 1
Introduction to c++ ppt 1
 
Introduction to programming with c,
Introduction to programming with c,Introduction to programming with c,
Introduction to programming with c,
 
C programming language
C programming languageC programming language
C programming language
 
C++ for beginners
C++ for beginnersC++ for beginners
C++ for beginners
 
C Programming - Refresher - Part IV
C Programming - Refresher - Part IVC Programming - Refresher - Part IV
C Programming - Refresher - Part IV
 
C++ ppt
C++ pptC++ ppt
C++ ppt
 
C++ ch1
C++ ch1C++ ch1
C++ ch1
 
A brief introduction to C Language
A brief introduction to C LanguageA brief introduction to C Language
A brief introduction to C Language
 

Similar to First draft programming c++

Basic Programming concepts - Programming with C++
Basic Programming concepts - Programming with C++Basic Programming concepts - Programming with C++
Basic Programming concepts - Programming with C++Mohamed El Desouki
 
Logic Formulation 1
Logic Formulation 1Logic Formulation 1
Logic Formulation 1deathful
 
chapter1-161229182113 (1).pdf
chapter1-161229182113 (1).pdfchapter1-161229182113 (1).pdf
chapter1-161229182113 (1).pdfBernardVelasco1
 
COM1407: Structured Program Development
COM1407: Structured Program Development COM1407: Structured Program Development
COM1407: Structured Program Development Hemantha Kulathilake
 
Fundamentals of programming with C++
Fundamentals of programming with C++Fundamentals of programming with C++
Fundamentals of programming with C++Seble Nigussie
 
L1. Basic Programming Concepts.pdf
L1. Basic Programming Concepts.pdfL1. Basic Programming Concepts.pdf
L1. Basic Programming Concepts.pdfMMRF2
 
C programming for Computing Techniques
C programming for Computing TechniquesC programming for Computing Techniques
C programming for Computing TechniquesAppili Vamsi Krishna
 
CIS110 Computer Programming Design Chapter (1)
CIS110 Computer Programming Design Chapter  (1)CIS110 Computer Programming Design Chapter  (1)
CIS110 Computer Programming Design Chapter (1)Dr. Ahmed Al Zaidy
 
CHAPTER-1.ppt
CHAPTER-1.pptCHAPTER-1.ppt
CHAPTER-1.pptTekle12
 
Synapseindia dot net development computer programming
Synapseindia dot net development  computer programmingSynapseindia dot net development  computer programming
Synapseindia dot net development computer programmingSynapseindiappsdevelopment
 
Programming_Lecture_1.pptx
Programming_Lecture_1.pptxProgramming_Lecture_1.pptx
Programming_Lecture_1.pptxshoaibkhan716300
 
Programming Fundamentals and basic knowledge
Programming Fundamentals and basic knowledge Programming Fundamentals and basic knowledge
Programming Fundamentals and basic knowledge imtiazalijoono
 
INTRODUCTION TO C++, Chapter 1
INTRODUCTION TO C++, Chapter 1INTRODUCTION TO C++, Chapter 1
INTRODUCTION TO C++, Chapter 1Mubarek Kurt
 
Lecture 1 programming fundamentals (PF)
Lecture 1 programming fundamentals (PF)Lecture 1 programming fundamentals (PF)
Lecture 1 programming fundamentals (PF)Kamran Zafar
 

Similar to First draft programming c++ (20)

Basic Programming concepts - Programming with C++
Basic Programming concepts - Programming with C++Basic Programming concepts - Programming with C++
Basic Programming concepts - Programming with C++
 
Logic Formulation 1
Logic Formulation 1Logic Formulation 1
Logic Formulation 1
 
C.pdf
C.pdfC.pdf
C.pdf
 
chapter1-161229182113 (1).pdf
chapter1-161229182113 (1).pdfchapter1-161229182113 (1).pdf
chapter1-161229182113 (1).pdf
 
Chap1
Chap1Chap1
Chap1
 
COM1407: Structured Program Development
COM1407: Structured Program Development COM1407: Structured Program Development
COM1407: Structured Program Development
 
Mcs lec2
Mcs lec2Mcs lec2
Mcs lec2
 
Fundamentals of programming with C++
Fundamentals of programming with C++Fundamentals of programming with C++
Fundamentals of programming with C++
 
L1. Basic Programming Concepts.pdf
L1. Basic Programming Concepts.pdfL1. Basic Programming Concepts.pdf
L1. Basic Programming Concepts.pdf
 
C programming for Computing Techniques
C programming for Computing TechniquesC programming for Computing Techniques
C programming for Computing Techniques
 
CIS110 Computer Programming Design Chapter (1)
CIS110 Computer Programming Design Chapter  (1)CIS110 Computer Programming Design Chapter  (1)
CIS110 Computer Programming Design Chapter (1)
 
CHAPTER-1.ppt
CHAPTER-1.pptCHAPTER-1.ppt
CHAPTER-1.ppt
 
Synapseindia dot net development computer programming
Synapseindia dot net development  computer programmingSynapseindia dot net development  computer programming
Synapseindia dot net development computer programming
 
Programming_Lecture_1.pptx
Programming_Lecture_1.pptxProgramming_Lecture_1.pptx
Programming_Lecture_1.pptx
 
Week10 final
Week10 finalWeek10 final
Week10 final
 
Programming Fundamentals and basic knowledge
Programming Fundamentals and basic knowledge Programming Fundamentals and basic knowledge
Programming Fundamentals and basic knowledge
 
C programming
C programmingC programming
C programming
 
INTRODUCTION TO C++, Chapter 1
INTRODUCTION TO C++, Chapter 1INTRODUCTION TO C++, Chapter 1
INTRODUCTION TO C++, Chapter 1
 
C session 1.pptx
C session 1.pptxC session 1.pptx
C session 1.pptx
 
Lecture 1 programming fundamentals (PF)
Lecture 1 programming fundamentals (PF)Lecture 1 programming fundamentals (PF)
Lecture 1 programming fundamentals (PF)
 

Recently uploaded

week 1 cookery 8 fourth - quarter .pptx
week 1 cookery 8  fourth  -  quarter .pptxweek 1 cookery 8  fourth  -  quarter .pptx
week 1 cookery 8 fourth - quarter .pptxJonalynLegaspi2
 
Expanded definition: technical and operational
Expanded definition: technical and operationalExpanded definition: technical and operational
Expanded definition: technical and operationalssuser3e220a
 
Oppenheimer Film Discussion for Philosophy and Film
Oppenheimer Film Discussion for Philosophy and FilmOppenheimer Film Discussion for Philosophy and Film
Oppenheimer Film Discussion for Philosophy and FilmStan Meyer
 
Transaction Management in Database Management System
Transaction Management in Database Management SystemTransaction Management in Database Management System
Transaction Management in Database Management SystemChristalin Nelson
 
Q-Factor General Quiz-7th April 2024, Quiz Club NITW
Q-Factor General Quiz-7th April 2024, Quiz Club NITWQ-Factor General Quiz-7th April 2024, Quiz Club NITW
Q-Factor General Quiz-7th April 2024, Quiz Club NITWQuiz Club NITW
 
Scientific Writing :Research Discourse
Scientific  Writing :Research  DiscourseScientific  Writing :Research  Discourse
Scientific Writing :Research DiscourseAnita GoswamiGiri
 
Using Grammatical Signals Suitable to Patterns of Idea Development
Using Grammatical Signals Suitable to Patterns of Idea DevelopmentUsing Grammatical Signals Suitable to Patterns of Idea Development
Using Grammatical Signals Suitable to Patterns of Idea Developmentchesterberbo7
 
Unraveling Hypertext_ Analyzing Postmodern Elements in Literature.pptx
Unraveling Hypertext_ Analyzing  Postmodern Elements in  Literature.pptxUnraveling Hypertext_ Analyzing  Postmodern Elements in  Literature.pptx
Unraveling Hypertext_ Analyzing Postmodern Elements in Literature.pptxDhatriParmar
 
ROLES IN A STAGE PRODUCTION in arts.pptx
ROLES IN A STAGE PRODUCTION in arts.pptxROLES IN A STAGE PRODUCTION in arts.pptx
ROLES IN A STAGE PRODUCTION in arts.pptxVanesaIglesias10
 
Grade Three -ELLNA-REVIEWER-ENGLISH.pptx
Grade Three -ELLNA-REVIEWER-ENGLISH.pptxGrade Three -ELLNA-REVIEWER-ENGLISH.pptx
Grade Three -ELLNA-REVIEWER-ENGLISH.pptxkarenfajardo43
 
Narcotic and Non Narcotic Analgesic..pdf
Narcotic and Non Narcotic Analgesic..pdfNarcotic and Non Narcotic Analgesic..pdf
Narcotic and Non Narcotic Analgesic..pdfPrerana Jadhav
 
How to Fix XML SyntaxError in Odoo the 17
How to Fix XML SyntaxError in Odoo the 17How to Fix XML SyntaxError in Odoo the 17
How to Fix XML SyntaxError in Odoo the 17Celine George
 
ClimART Action | eTwinning Project
ClimART Action    |    eTwinning ProjectClimART Action    |    eTwinning Project
ClimART Action | eTwinning Projectjordimapav
 
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfGrade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfJemuel Francisco
 
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)lakshayb543
 
Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4JOYLYNSAMANIEGO
 
Concurrency Control in Database Management system
Concurrency Control in Database Management systemConcurrency Control in Database Management system
Concurrency Control in Database Management systemChristalin Nelson
 
Measures of Position DECILES for ungrouped data
Measures of Position DECILES for ungrouped dataMeasures of Position DECILES for ungrouped data
Measures of Position DECILES for ungrouped dataBabyAnnMotar
 

Recently uploaded (20)

week 1 cookery 8 fourth - quarter .pptx
week 1 cookery 8  fourth  -  quarter .pptxweek 1 cookery 8  fourth  -  quarter .pptx
week 1 cookery 8 fourth - quarter .pptx
 
Faculty Profile prashantha K EEE dept Sri Sairam college of Engineering
Faculty Profile prashantha K EEE dept Sri Sairam college of EngineeringFaculty Profile prashantha K EEE dept Sri Sairam college of Engineering
Faculty Profile prashantha K EEE dept Sri Sairam college of Engineering
 
Expanded definition: technical and operational
Expanded definition: technical and operationalExpanded definition: technical and operational
Expanded definition: technical and operational
 
Oppenheimer Film Discussion for Philosophy and Film
Oppenheimer Film Discussion for Philosophy and FilmOppenheimer Film Discussion for Philosophy and Film
Oppenheimer Film Discussion for Philosophy and Film
 
Transaction Management in Database Management System
Transaction Management in Database Management SystemTransaction Management in Database Management System
Transaction Management in Database Management System
 
Q-Factor General Quiz-7th April 2024, Quiz Club NITW
Q-Factor General Quiz-7th April 2024, Quiz Club NITWQ-Factor General Quiz-7th April 2024, Quiz Club NITW
Q-Factor General Quiz-7th April 2024, Quiz Club NITW
 
Scientific Writing :Research Discourse
Scientific  Writing :Research  DiscourseScientific  Writing :Research  Discourse
Scientific Writing :Research Discourse
 
Using Grammatical Signals Suitable to Patterns of Idea Development
Using Grammatical Signals Suitable to Patterns of Idea DevelopmentUsing Grammatical Signals Suitable to Patterns of Idea Development
Using Grammatical Signals Suitable to Patterns of Idea Development
 
Unraveling Hypertext_ Analyzing Postmodern Elements in Literature.pptx
Unraveling Hypertext_ Analyzing  Postmodern Elements in  Literature.pptxUnraveling Hypertext_ Analyzing  Postmodern Elements in  Literature.pptx
Unraveling Hypertext_ Analyzing Postmodern Elements in Literature.pptx
 
ROLES IN A STAGE PRODUCTION in arts.pptx
ROLES IN A STAGE PRODUCTION in arts.pptxROLES IN A STAGE PRODUCTION in arts.pptx
ROLES IN A STAGE PRODUCTION in arts.pptx
 
Grade Three -ELLNA-REVIEWER-ENGLISH.pptx
Grade Three -ELLNA-REVIEWER-ENGLISH.pptxGrade Three -ELLNA-REVIEWER-ENGLISH.pptx
Grade Three -ELLNA-REVIEWER-ENGLISH.pptx
 
Narcotic and Non Narcotic Analgesic..pdf
Narcotic and Non Narcotic Analgesic..pdfNarcotic and Non Narcotic Analgesic..pdf
Narcotic and Non Narcotic Analgesic..pdf
 
How to Fix XML SyntaxError in Odoo the 17
How to Fix XML SyntaxError in Odoo the 17How to Fix XML SyntaxError in Odoo the 17
How to Fix XML SyntaxError in Odoo the 17
 
ClimART Action | eTwinning Project
ClimART Action    |    eTwinning ProjectClimART Action    |    eTwinning Project
ClimART Action | eTwinning Project
 
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfGrade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
 
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
 
Paradigm shift in nursing research by RS MEHTA
Paradigm shift in nursing research by RS MEHTAParadigm shift in nursing research by RS MEHTA
Paradigm shift in nursing research by RS MEHTA
 
Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4
 
Concurrency Control in Database Management system
Concurrency Control in Database Management systemConcurrency Control in Database Management system
Concurrency Control in Database Management system
 
Measures of Position DECILES for ungrouped data
Measures of Position DECILES for ungrouped dataMeasures of Position DECILES for ungrouped data
Measures of Position DECILES for ungrouped data
 

First draft programming c++

  • 1. An Introduction to Programming with C++ Sixth Edition Chapter 1 An Introduction to Programming
  • 2. Objectives • Define the terminology used in programming • Explain the tasks performed by a programmer • Describe the qualities of a good programmer • Understand the employment opportunities for programmers and software engineers • Explain the history of programming languages An Introduction to Programming with C++, Sixth Edition 2
  • 3. Objectives (cont’d.) • Explain the sequence, selection, and repetition structures • Write simple algorithms using the sequence, selection, and repetition structures An Introduction to Programming with C++, Sixth Edition 3
  • 4. Programming a Computer • Programs are the directions given to computers • Programmers are the people who write computer programs • Programming Languages enable programmers to communicate with the computer • Popular languages: C++, Visual Basic, C#, Java • How are these languages used commercially? An Introduction to Programming with C++, Sixth Edition 4
  • 5. The Programmer’s Job • Programmers help solve computer problems • Employee or freelance • Typical steps involved – Meet with user to determine problem – Convert the problem into a program – Test the program – Provide user manual An Introduction to Programming with C++, Sixth Edition 5
  • 6. An Introduction to Programming with C++, Sixth Edition 6 Do I Have What It Takes to Be a Programmer? • Qualities employers look for – Logical and analytical thinking – Close attention to detail – Patience and persistence – Ingenuity and creativity – Good communication skills: technical and nontechnical – Business skills (for managerial positions)
  • 7. Employment Opportunities • Computer software engineer: designs an appropriate solution to a user’s problem • Computer programmer: codes a computer solution • Coding is the process of translating a computer solution into a language a computer can understand • Some positions call for both engineering and programming An Introduction to Programming with C++, Sixth Edition 7
  • 8. A Brief History of Programming Languages • Enable programmer to communicate with computer • Different types – Machine languages – Assembly languages – High-level languages An Introduction to Programming with C++, Sixth Edition 8
  • 9. An Introduction to Programming with C++, Sixth Edition 9 Machine Languages • The first programmers had to write the program instructions using only combinations of 0s and 1s – Example: 00101 10001 10000 • Instructions written in 0s and 1s are called machine language or machine code • Each type of machine has its own language • Machine languages are the only way to communicate directly with the computer • Programming in machine language: tedious and error-prone; requires highly trained programmers
  • 10. An Introduction to Programming with C++, Sixth Edition 10 Assembly Languages • Assembly languages simplify programmer’s job • Can use mnemonics instead of 0s and 1s – Example: ADD bx, ax • Assembly programs require an assembler to convert instructions into machine code • Easier to write programs in assembly language – But still tedious and requires highly trained programmers
  • 11. An Introduction to Programming with C++, Sixth Edition 11 High-Level Languages • High-level languages allow programmer to use English-like instructions – Example: grossPay = hours * rate – High-level languages are more machine independent • Programs written in a high-level language can be used on many different types of computers • Compilers translate high-level instructions into 0s and 1s (machine language) • Interpreters translate the program line by line as the program is running
  • 12. An Introduction to Programming with C++, Sixth Edition 12 High-Level Languages (cont’d.) • When writing a procedure-oriented program, the programmer concentrates on the major tasks that the program needs to perform – Examples: COBOL, BASIC, C • An object-oriented program requires programmer to focus on the objects that the program can use to accomplish its goal – Examples: C++, Visual Basic, Java, C# • Object-oriented programs allow for better code- reuse – An object can be used in more than one program
  • 13. An Introduction to Programming with C++, Sixth Edition 13 Control Structures • Programs are written using three basic structures – Sequence • Used in every program you write – Repetition • Used in most programs you write – Selection • Used in most programs you write • These are called control structures or logic structures
  • 14. An Introduction to Programming with C++, Sixth Edition 14 The Sequence Structure • The sequence structure directs the computer to process the program instructions, one after another, in the order listed in the program • An algorithm is a set of step-by-step instructions that accomplish a task • Example: following a recipe to make cookies
  • 15. The Sequence Structure (cont’d.) An Introduction to Programming with C++, Sixth Edition 15 Figure 1-1 An example of the sequence structure
  • 16. An Introduction to Programming with C++, Sixth Edition 16 The Selection Structure • Selection structure: makes a decision and then takes an appropriate action based on that decision – Also called the decision structure • Example: waiting or crossing at railroad tracks depending on signal lights
  • 17. The Selection Structure (cont’d.) An Introduction to Programming with C++, Sixth Edition 17 Figure 1-2 An example of the selection structure
  • 18. An Introduction to Programming with C++, Sixth Edition 18 The Selection Structure (cont’d.) Figure 1-3 Another example of the selection structure
  • 19. An Introduction to Programming with C++, Sixth Edition 19 The Repetition Structure • Repetition structure: directs computer to repeat one or more instructions until some condition is met – Also called a loop or iteration Figure 1-4 Modified algorithm showing the repetition structure
  • 20. An Introduction to Programming with C++, Sixth Edition 20 The Repetition Structure (cont’d.) • What could you do if you don’t know precisely how many steps separate Robin from the boxes? Figure 1-5 Algorithm showing the modified condition in the repetition structure
  • 21. Summary • Programs are step-by-step instructions that tell a computer how to perform a task • Programmers use programming languages to communicate with the computer – First programming languages were machine languages: 0s and 1s (machine code) – Next came assembly languages, which allowed for mnemonics – High-level languages can be used to create procedure-oriented programs or object-oriented programs An Introduction to Programming with C++, Sixth Edition 21
  • 22. Summary (cont’d.) • Algorithm: step-by-step instructions that accomplish a task (not written in a programming language) – Algorithms contain one or more of the following control structures: sequence, selection, and repetition • Sequence structure: process the instructions, one after another, in the order listed • Selection structure: directs the computer to make a decision and then to select an appropriate action based on that decision • Repetition structure: repeat one or more instructions until some condition is met An Introduction to Programming with C++, Sixth Edition 22
  • 23. YOUR Assignments – Lab 1-1: Stop and Analyze • A local business employs five salespeople and pays a 3% bonus on a salesperson’s sales • Your task is to create a program that calculates the amount of each salesperson’s bonus • The program should print each salesperson’s name and bonus amount An Introduction to Programming with C++, Sixth Edition 23
  • 24. An Introduction to Programming with C++, Sixth Edition 24 YOUR Assignments – Lab 1-2: Plan and Create • Using only the instructions shown below, create an algorithm that shows the steps an instructor takes when grading a test that contains 25 questions
  • 25. An Introduction to Programming with C++, Sixth Edition 25 YOUR Assignments – Lab 1-3: Modify • Modify the algorithm shown in Lab 1-1 so that it gives a 3.5% bonus to salespeople selling more than $2,000 • All other salespeople should receive a 3% bonus
  • 26. Your Assignments - Labs – – Lab 1 – Stop and Analyze – Lab 2 - Plan and Create – Lab 3 – Modify Review Questions – pages 13-15 Chapter 1 – Exercises – Pages 15-19 An Introduction to Programming with C++, Sixth Edition 26