SlideShare a Scribd company logo
© 2016 Cengage Learning®. May not be scanned, copied or
duplicated, or posted to a publicly accessible website, in
whole or in part.
• The presentations cover the objectives found in the
opening of each chapter
• All chapter objectives are listed in the beginning of each
presentation
• You may customize the presentations to fit your class
needs
• Some figures from the chapters are included. A
complete set of images from the book can be found on
the Instructor companion Web site at
login.cengage.com
An Introduction to Programming with C++, Eighth Edition 1
About the Presentations
An Introduction to Programming with C++
Eighth Edition
Chapter 1:
An Introduction to Programming
© 2016 Cengage Learning®. May not be scanned, copied or
duplicated, or posted to a publicly accessible website, in
whole or in part.
Chapter Objectives
• Define the terminology used in programming
• Explain the tasks performed by a programmer
• Understand the employment opportunities for
programmers and software engineers
• Explain the history of programming languages
• Explain the sequence, selection, and repetition
structures
• Write simple algorithms using the sequence, selection,
and repetition structures
An Introduction to Programming with C++, Eighth Edition 3
© 2016 Cengage Learning®. May not be scanned, copied or
duplicated, or posted to a publicly accessible website, in
whole or in part.
Programming a Computer
It is important to understand the relationship between the
terms programs, programmers, and programming
languages.
Programs - The directions that humans give to computers
Programmers - The people who create these directions
Programming Languages - Special languages used by
programmers to communicate directions to a computer
An Introduction to Programming with C++, Eighth Edition 4
© 2016 Cengage Learning®. May not be scanned, copied or
duplicated, or posted to a publicly accessible website, in
whole or in part.
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++, Eighth Edition 5
© 2016 Cengage Learning®. May not be scanned, copied or
duplicated, or posted to a publicly accessible website, in
whole or in part.
An Introduction to Programming with C++, Eighth Edition 6
What Traits Should a Software Developer
Possess?
• Analytical skills
• Communication skills
• Creativity
• Customer-service skills
• Detail oriented
• Problem-solving skills
• Teamwork
• Technical skills
© 2016 Cengage Learning®. May not be scanned, copied or
duplicated, or posted to a publicly accessible website, in
whole or in part.
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++, Eighth Edition 7
© 2016 Cengage Learning®. May not be scanned, copied or
duplicated, or posted to a publicly accessible website, in
whole or in part.
A Brief History of Programming Languages
There are many different types of programming
languages. This chapter will discuss:
•Machine languages
•Assembly languages
•High-level procedure-oriented languages
•High-level object-oriented languages
An Introduction to Programming with C++, Eighth Edition 8
© 2016 Cengage Learning®. May not be scanned, copied or
duplicated, or posted to a publicly accessible website, in
whole or in part.
An Introduction to Programming with C++, Eighth Edition 9
Machine Languages
• The first programmers had to write the program
instructions using only combinations of 0s and 1s
– Example: 0000 0101 1100 0000
• 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
© 2016 Cengage Learning®. May not be scanned, copied or
duplicated, or posted to a publicly accessible website, in
whole or in part.
An Introduction to Programming with C++, Eighth Edition 10
Assembly Languages
• Assembly languages made writing code simpler than
using only 0s and 1s
• Mnemonics – symbols used to represent the actual
machine language instructions
Example: 00000101 vs. BALR
• 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
© 2016 Cengage Learning®. May not be scanned, copied or
duplicated, or posted to a publicly accessible website, in
whole or in part.
An Introduction to Programming with C++, Eighth Edition 11
High-Level Languages
• High-level languages allow programmers to use English-
like instructions
Example: taxAmount = total * taxRate
• Each high-level language instruction is equivalent to
more than one machine language instruction
• Compilers translate high-level instructions into 0s and 1s
(machine language)
• Interpreters translate the program line by line as the
program is running
© 2016 Cengage Learning®. May not be scanned, copied or
duplicated, or posted to a publicly accessible website, in
whole or in part.
An Introduction to Programming with C++, Eighth Edition 12
High-Level Languages (cont.)
• 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 the 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 an object to be
created that can be reused in more than one program
© 2016 Cengage Learning®. May not be scanned, copied or
duplicated, or posted to a publicly accessible website, in
whole or in part.
An Introduction to Programming with C++, Eighth Edition 13
Control Structures
All computer programs are written using one or more of
three basic control structures: sequence, repetition, and
selection. Another term used for control structures are
logic structures, because they control the logic flow of the
program.
While in every program that is written the sequence
structure will be used, in most all programs all three
control structures will be used.
© 2016 Cengage Learning®. May not be scanned, copied or
duplicated, or posted to a publicly accessible website, in
whole or in part.
An Introduction to Programming with C++, Eighth Edition 14
The Sequence Structure
• The sequence structure directs the computer to
process the program instructions, one after another, in
the order in which they are listed in the program
• An algorithm is a finite number of step-by-step
instructions that accomplish a task
• Example: steps to pump gas at a self-service pump
© 2016 Cengage Learning®. May not be scanned, copied or
duplicated, or posted to a publicly accessible website, in
whole or in part.
The Sequence Structure (cont.)
An Introduction to Programming with C++, Eighth Edition 15
Figure 1-1 An example of the sequence structure
© 2016 Cengage Learning®. May not be scanned, copied or
duplicated, or posted to a publicly accessible website, in
whole or in part.
An Introduction to Programming with C++, Eighth Edition 16
The Selection Structure
• The selection structure directs the computer to make a
decision (evaluate a condition), and then take an
appropriate action based upon that decision
• The selection structure allows the programmer to
evaluate data, therefore properly controlling the logic
flow of the program
• Another name for the selection structure is the decision
structure
• Example: stopping or going at a signal light
© 2016 Cengage Learning®. May not be scanned, copied or
duplicated, or posted to a publicly accessible website, in
whole or in part.
The Selection Structure (cont.)
An Introduction to Programming with C++, Eighth Edition 17
Figure 1-2 An example of the selection structure
An Introduction to Programming with C++, Eighth Edition 18
The Selection Structure (cont.)
Figure 1-3 Another example of the selection structure
© 2016 Cengage Learning®. May not be scanned, copied or
duplicated, or posted to a publicly accessible website, in
whole or in part.
An Introduction to Programming with C++, Eighth Edition 19
The Repetition Structure
• The repetition structure, commonly called iteration or
looping, directs the computer to repeat one or more
program instructions until some condition is met
• This condition may be checked at the beginning or end
of the set of instructions to be processed dependent
upon the language being used
• The repetition structure allows the programmer to
repeatedly process a set of instructions, while only
typing them in once
© 2016 Cengage Learning®. May not be scanned, copied or
duplicated, or posted to a publicly accessible website, in
whole or in part.
The Repetition Structure (cont.)
An Introduction to Programming with C++, Eighth Edition 20
Original algorithm and modified algorithm
showing the repetition structure
© 2016 Cengage Learning®. May not be scanned, copied or
duplicated, or posted to a publicly accessible website, in
whole or in part.
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 language
using 0s and 1s
• Assembly languages followed, using mnemonics
• High-level languages can be used to created procedure-
oriented or object-oriented programs
An Introduction to Programming with C++, Eighth Edition 21
© 2016 Cengage Learning®. May not be scanned, copied or
duplicated, or posted to a publicly accessible website, in
whole or in part.
Summary (cont.)
• An algorithm is a finite number of step-by-step
instructions that accomplish a task
• Algorithms utilize three basic control structures:
sequence, selection, and repetition
• The sequence structure directs the computer to process
the program instructions, one after another, in the
order in which they are listed
• The selection structure directs the computer to make a
decision (evaluate a condition), and then take an
appropriate action based upon that decision
An Introduction to Programming with C++, Eighth Edition 22
© 2016 Cengage Learning®. May not be scanned, copied or
duplicated, or posted to a publicly accessible website, in
whole or in part.
Summary (cont.)
• The repetition structure, commonly called iteration or
looping, directs the computer to repeat one or more
program instructions until some condition is met
• The sequence structure is used in all programs
• Most programs also contain both the selection and
repetition structures
An Introduction to Programming with C++, Eighth Edition 23
© 2016 Cengage Learning®. May not be scanned, copied or
duplicated, or posted to a publicly accessible website, in
whole or in part.
Lab 1-1: Stop and Analyze
Study the algorithm below and answer the questions.
• Which control structures are used in the algorithm?
• What will the algorithm print when the price of the TV is $2,100?
• How would you modify the algorithm so that it can be used for only the
first 10 customers buying a TV?
• How would you modify the algorithm so that it allows the user to also
enter the discount rate and then uses that rate to calculate the
discount?
An Introduction to Programming with C++, Eighth Edition 24
© 2016 Cengage Learning®. May not be scanned, copied or
duplicated, or posted to a publicly accessible website, in
whole or in part.
An Introduction to Programming with C++, Eighth Edition 25
Lab 1-2: Plan and Create
The 10 salespeople at Harkins Company are paid a 10%
bonus when they sell more than $10,000 in product;
otherwise, they receive a 5% bonus. Create an
appropriate algorithm using only the instructions shown
below.
© 2016 Cengage Learning®. May not be scanned, copied or
duplicated, or posted to a publicly accessible website, in
whole or in part.
An Introduction to Programming with C++, Eighth Edition 26
Lab 1-3: Modify
Modify the algorithm shown below so that it gives a 25%
discount to customers who are also employees of the
store; all other customers receive a 15% discount.
© 2016 Cengage Learning®. May not be scanned, copied or
duplicated, or posted to a publicly accessible website, in
whole or in part.
An Introduction to Programming with C++, Eighth Edition 27
Lab 1-4: What’s Missing?
Harold wants to sit down on the park bench, but his cat Ginger may or may
not be already seated there. Put the instructions shown below in the
proper order, and then determine the one or more missing instructions.

More Related Content

What's hot

Programming Languages An Intro
Programming Languages An IntroProgramming Languages An Intro
Programming Languages An Intro
Kimberly De Guzman
 
Real Time OS For Embedded Systems
Real Time OS For Embedded SystemsReal Time OS For Embedded Systems
Real Time OS For Embedded Systems
Himanshu Ghetia
 
Intel x86 Architecture
Intel x86 ArchitectureIntel x86 Architecture
Intel x86 Architecture
ChangWoo Min
 

What's hot (20)

Rajesh ppt
Rajesh pptRajesh ppt
Rajesh ppt
 
operating system structure
operating system structureoperating system structure
operating system structure
 
Compilers
CompilersCompilers
Compilers
 
Difference between i3 and i5 and i7 and core 2 duo
Difference between i3 and i5 and i7 and core 2 duoDifference between i3 and i5 and i7 and core 2 duo
Difference between i3 and i5 and i7 and core 2 duo
 
introduction to programming languages
introduction to programming languagesintroduction to programming languages
introduction to programming languages
 
Programming Fundamentals lecture 2
Programming Fundamentals lecture 2Programming Fundamentals lecture 2
Programming Fundamentals lecture 2
 
C vs c++
C vs c++C vs c++
C vs c++
 
Why programming is important
Why programming is importantWhy programming is important
Why programming is important
 
Programming Languages An Intro
Programming Languages An IntroProgramming Languages An Intro
Programming Languages An Intro
 
Programming Fundamental Presentation
Programming Fundamental PresentationProgramming Fundamental Presentation
Programming Fundamental Presentation
 
Real Time OS For Embedded Systems
Real Time OS For Embedded SystemsReal Time OS For Embedded Systems
Real Time OS For Embedded Systems
 
Operating system 02 os as an extended machine
Operating system 02 os as an extended machineOperating system 02 os as an extended machine
Operating system 02 os as an extended machine
 
Generations Of Programming Languages
Generations Of Programming LanguagesGenerations Of Programming Languages
Generations Of Programming Languages
 
Instruction Set Architecture
Instruction Set ArchitectureInstruction Set Architecture
Instruction Set Architecture
 
What is CPU Register? Type of CPU Register.
What is CPU Register? Type of CPU Register.What is CPU Register? Type of CPU Register.
What is CPU Register? Type of CPU Register.
 
Interpreted and compiled language
Interpreted and compiled languageInterpreted and compiled language
Interpreted and compiled language
 
Intel x86 Architecture
Intel x86 ArchitectureIntel x86 Architecture
Intel x86 Architecture
 
Types of software
Types of softwareTypes of software
Types of software
 
Parallel processing
Parallel processingParallel processing
Parallel processing
 
Programming language
Programming languageProgramming language
Programming language
 

Similar to Lecture 1 programming fundamentals (PF)

Computing withBusiness Applications 1 Programming Log
Computing withBusiness Applications 1 Programming LogComputing withBusiness Applications 1 Programming Log
Computing withBusiness Applications 1 Programming Log
LynellBull52
 

Similar to Lecture 1 programming fundamentals (PF) (20)

Lesson 1 introduction to programming
Lesson 1 introduction to programmingLesson 1 introduction to programming
Lesson 1 introduction to programming
 
Lesson 9.2 guessing the game program
Lesson 9.2 guessing the game programLesson 9.2 guessing the game program
Lesson 9.2 guessing the game program
 
Chapter 9 Value-Returning Functions
Chapter 9 Value-Returning FunctionsChapter 9 Value-Returning Functions
Chapter 9 Value-Returning Functions
 
Chapter 8 - More on the Repetition Structure
Chapter 8 - More on the Repetition StructureChapter 8 - More on the Repetition Structure
Chapter 8 - More on the Repetition Structure
 
Lesson 8 more on repitition structure
Lesson 8 more on repitition structureLesson 8 more on repitition structure
Lesson 8 more on repitition structure
 
Chapter 4 - Completing the Problem-Solving Process
Chapter 4 - Completing the Problem-Solving ProcessChapter 4 - Completing the Problem-Solving Process
Chapter 4 - Completing the Problem-Solving Process
 
Chapter 5 - The Selection Structure
Chapter 5 - The Selection StructureChapter 5 - The Selection Structure
Chapter 5 - The Selection Structure
 
Lesson 6.2 logic error
Lesson  6.2 logic errorLesson  6.2 logic error
Lesson 6.2 logic error
 
Lesson 9.1 value returning
Lesson 9.1 value returningLesson 9.1 value returning
Lesson 9.1 value returning
 
First draft programming c++
First draft programming c++First draft programming c++
First draft programming c++
 
Chapter 2 - Beginning the Problem-Solving Process
Chapter 2 - Beginning the Problem-Solving ProcessChapter 2 - Beginning the Problem-Solving Process
Chapter 2 - Beginning the Problem-Solving Process
 
Logic Formulation 1
Logic Formulation 1Logic Formulation 1
Logic Formulation 1
 
Introduction C Programming
Introduction C Programming Introduction C Programming
Introduction C Programming
 
Computing withBusiness Applications 1 Programming Log
Computing withBusiness Applications 1 Programming LogComputing withBusiness Applications 1 Programming Log
Computing withBusiness Applications 1 Programming Log
 
Introduction to computer programming.pdf
Introduction to computer programming.pdfIntroduction to computer programming.pdf
Introduction to computer programming.pdf
 
Lesson 7.1 repitition structure
Lesson 7.1 repitition structureLesson 7.1 repitition structure
Lesson 7.1 repitition structure
 
Chapter 6 - More on the Selection Structure
Chapter 6 - More on the Selection StructureChapter 6 - More on the Selection Structure
Chapter 6 - More on the Selection Structure
 
C.pdf
C.pdfC.pdf
C.pdf
 
C programming
C programmingC programming
C programming
 
Lesson 6.1 more on selection structure
Lesson 6.1 more on selection structureLesson 6.1 more on selection structure
Lesson 6.1 more on selection structure
 

More from Kamran Zafar

Drones in agri. by eskill india
Drones in agri. by eskill indiaDrones in agri. by eskill india
Drones in agri. by eskill india
Kamran Zafar
 
Lecture java continued 1
Lecture java continued 1Lecture java continued 1
Lecture java continued 1
Kamran Zafar
 
Learn microsoft word from tayyab riaz
Learn microsoft word from tayyab riaz  Learn microsoft word from tayyab riaz
Learn microsoft word from tayyab riaz
Kamran Zafar
 

More from Kamran Zafar (12)

DFA Assignment solution.pptx
DFA Assignment solution.pptxDFA Assignment solution.pptx
DFA Assignment solution.pptx
 
TOA_WEEK 14.pptx
TOA_WEEK 14.pptxTOA_WEEK 14.pptx
TOA_WEEK 14.pptx
 
Drones in agri. by eskill india
Drones in agri. by eskill indiaDrones in agri. by eskill india
Drones in agri. by eskill india
 
exercise 3.3 solution /class 12th/ mathcity
exercise 3.3 solution /class 12th/ mathcityexercise 3.3 solution /class 12th/ mathcity
exercise 3.3 solution /class 12th/ mathcity
 
Lec 1 number systems converted
Lec 1 number systems convertedLec 1 number systems converted
Lec 1 number systems converted
 
Lecture 5 binary_codes
Lecture 5 binary_codesLecture 5 binary_codes
Lecture 5 binary_codes
 
Lecture java continued 1
Lecture java continued 1Lecture java continued 1
Lecture java continued 1
 
Lecture java continued
Lecture java continuedLecture java continued
Lecture java continued
 
digital systems and information
digital systems and informationdigital systems and information
digital systems and information
 
02 computing magazine september 2012
02 computing magazine september 201202 computing magazine september 2012
02 computing magazine september 2012
 
Binary search tree operations
Binary search tree operationsBinary search tree operations
Binary search tree operations
 
Learn microsoft word from tayyab riaz
Learn microsoft word from tayyab riaz  Learn microsoft word from tayyab riaz
Learn microsoft word from tayyab riaz
 

Recently uploaded

Additional Benefits for Employee Website.pdf
Additional Benefits for Employee Website.pdfAdditional Benefits for Employee Website.pdf
Additional Benefits for Employee Website.pdf
joachimlavalley1
 
Industrial Training Report- AKTU Industrial Training Report
Industrial Training Report- AKTU Industrial Training ReportIndustrial Training Report- AKTU Industrial Training Report
Industrial Training Report- AKTU Industrial Training Report
Avinash Rai
 

Recently uploaded (20)

Mattingly "AI & Prompt Design: Limitations and Solutions with LLMs"
Mattingly "AI & Prompt Design: Limitations and Solutions with LLMs"Mattingly "AI & Prompt Design: Limitations and Solutions with LLMs"
Mattingly "AI & Prompt Design: Limitations and Solutions with LLMs"
 
Additional Benefits for Employee Website.pdf
Additional Benefits for Employee Website.pdfAdditional Benefits for Employee Website.pdf
Additional Benefits for Employee Website.pdf
 
50 ĐỀ LUYỆN THI IOE LỚP 9 - NĂM HỌC 2022-2023 (CÓ LINK HÌNH, FILE AUDIO VÀ ĐÁ...
50 ĐỀ LUYỆN THI IOE LỚP 9 - NĂM HỌC 2022-2023 (CÓ LINK HÌNH, FILE AUDIO VÀ ĐÁ...50 ĐỀ LUYỆN THI IOE LỚP 9 - NĂM HỌC 2022-2023 (CÓ LINK HÌNH, FILE AUDIO VÀ ĐÁ...
50 ĐỀ LUYỆN THI IOE LỚP 9 - NĂM HỌC 2022-2023 (CÓ LINK HÌNH, FILE AUDIO VÀ ĐÁ...
 
Application of Matrices in real life. Presentation on application of matrices
Application of Matrices in real life. Presentation on application of matricesApplication of Matrices in real life. Presentation on application of matrices
Application of Matrices in real life. Presentation on application of matrices
 
The Art Pastor's Guide to Sabbath | Steve Thomason
The Art Pastor's Guide to Sabbath | Steve ThomasonThe Art Pastor's Guide to Sabbath | Steve Thomason
The Art Pastor's Guide to Sabbath | Steve Thomason
 
Danh sách HSG Bộ môn cấp trường - Cấp THPT.pdf
Danh sách HSG Bộ môn cấp trường - Cấp THPT.pdfDanh sách HSG Bộ môn cấp trường - Cấp THPT.pdf
Danh sách HSG Bộ môn cấp trường - Cấp THPT.pdf
 
Basic_QTL_Marker-assisted_Selection_Sourabh.ppt
Basic_QTL_Marker-assisted_Selection_Sourabh.pptBasic_QTL_Marker-assisted_Selection_Sourabh.ppt
Basic_QTL_Marker-assisted_Selection_Sourabh.ppt
 
Sha'Carri Richardson Presentation 202345
Sha'Carri Richardson Presentation 202345Sha'Carri Richardson Presentation 202345
Sha'Carri Richardson Presentation 202345
 
Operations Management - Book1.p - Dr. Abdulfatah A. Salem
Operations Management - Book1.p  - Dr. Abdulfatah A. SalemOperations Management - Book1.p  - Dr. Abdulfatah A. Salem
Operations Management - Book1.p - Dr. Abdulfatah A. Salem
 
Salient features of Environment protection Act 1986.pptx
Salient features of Environment protection Act 1986.pptxSalient features of Environment protection Act 1986.pptx
Salient features of Environment protection Act 1986.pptx
 
MARUTI SUZUKI- A Successful Joint Venture in India.pptx
MARUTI SUZUKI- A Successful Joint Venture in India.pptxMARUTI SUZUKI- A Successful Joint Venture in India.pptx
MARUTI SUZUKI- A Successful Joint Venture in India.pptx
 
Basic Civil Engineering Notes of Chapter-6, Topic- Ecosystem, Biodiversity G...
Basic Civil Engineering Notes of Chapter-6,  Topic- Ecosystem, Biodiversity G...Basic Civil Engineering Notes of Chapter-6,  Topic- Ecosystem, Biodiversity G...
Basic Civil Engineering Notes of Chapter-6, Topic- Ecosystem, Biodiversity G...
 
Forest and Wildlife Resources Class 10 Free Study Material PDF
Forest and Wildlife Resources Class 10 Free Study Material PDFForest and Wildlife Resources Class 10 Free Study Material PDF
Forest and Wildlife Resources Class 10 Free Study Material PDF
 
Fish and Chips - have they had their chips
Fish and Chips - have they had their chipsFish and Chips - have they had their chips
Fish and Chips - have they had their chips
 
Industrial Training Report- AKTU Industrial Training Report
Industrial Training Report- AKTU Industrial Training ReportIndustrial Training Report- AKTU Industrial Training Report
Industrial Training Report- AKTU Industrial Training Report
 
Introduction to Quality Improvement Essentials
Introduction to Quality Improvement EssentialsIntroduction to Quality Improvement Essentials
Introduction to Quality Improvement Essentials
 
Palestine last event orientationfvgnh .pptx
Palestine last event orientationfvgnh .pptxPalestine last event orientationfvgnh .pptx
Palestine last event orientationfvgnh .pptx
 
Matatag-Curriculum and the 21st Century Skills Presentation.pptx
Matatag-Curriculum and the 21st Century Skills Presentation.pptxMatatag-Curriculum and the 21st Century Skills Presentation.pptx
Matatag-Curriculum and the 21st Century Skills Presentation.pptx
 
slides CapTechTalks Webinar May 2024 Alexander Perry.pptx
slides CapTechTalks Webinar May 2024 Alexander Perry.pptxslides CapTechTalks Webinar May 2024 Alexander Perry.pptx
slides CapTechTalks Webinar May 2024 Alexander Perry.pptx
 
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
 

Lecture 1 programming fundamentals (PF)

  • 1. © 2016 Cengage Learning®. May not be scanned, copied or duplicated, or posted to a publicly accessible website, in whole or in part. • The presentations cover the objectives found in the opening of each chapter • All chapter objectives are listed in the beginning of each presentation • You may customize the presentations to fit your class needs • Some figures from the chapters are included. A complete set of images from the book can be found on the Instructor companion Web site at login.cengage.com An Introduction to Programming with C++, Eighth Edition 1 About the Presentations
  • 2. An Introduction to Programming with C++ Eighth Edition Chapter 1: An Introduction to Programming
  • 3. © 2016 Cengage Learning®. May not be scanned, copied or duplicated, or posted to a publicly accessible website, in whole or in part. Chapter Objectives • Define the terminology used in programming • Explain the tasks performed by a programmer • Understand the employment opportunities for programmers and software engineers • Explain the history of programming languages • Explain the sequence, selection, and repetition structures • Write simple algorithms using the sequence, selection, and repetition structures An Introduction to Programming with C++, Eighth Edition 3
  • 4. © 2016 Cengage Learning®. May not be scanned, copied or duplicated, or posted to a publicly accessible website, in whole or in part. Programming a Computer It is important to understand the relationship between the terms programs, programmers, and programming languages. Programs - The directions that humans give to computers Programmers - The people who create these directions Programming Languages - Special languages used by programmers to communicate directions to a computer An Introduction to Programming with C++, Eighth Edition 4
  • 5. © 2016 Cengage Learning®. May not be scanned, copied or duplicated, or posted to a publicly accessible website, in whole or in part. 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++, Eighth Edition 5
  • 6. © 2016 Cengage Learning®. May not be scanned, copied or duplicated, or posted to a publicly accessible website, in whole or in part. An Introduction to Programming with C++, Eighth Edition 6 What Traits Should a Software Developer Possess? • Analytical skills • Communication skills • Creativity • Customer-service skills • Detail oriented • Problem-solving skills • Teamwork • Technical skills
  • 7. © 2016 Cengage Learning®. May not be scanned, copied or duplicated, or posted to a publicly accessible website, in whole or in part. 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++, Eighth Edition 7
  • 8. © 2016 Cengage Learning®. May not be scanned, copied or duplicated, or posted to a publicly accessible website, in whole or in part. A Brief History of Programming Languages There are many different types of programming languages. This chapter will discuss: •Machine languages •Assembly languages •High-level procedure-oriented languages •High-level object-oriented languages An Introduction to Programming with C++, Eighth Edition 8
  • 9. © 2016 Cengage Learning®. May not be scanned, copied or duplicated, or posted to a publicly accessible website, in whole or in part. An Introduction to Programming with C++, Eighth Edition 9 Machine Languages • The first programmers had to write the program instructions using only combinations of 0s and 1s – Example: 0000 0101 1100 0000 • 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. © 2016 Cengage Learning®. May not be scanned, copied or duplicated, or posted to a publicly accessible website, in whole or in part. An Introduction to Programming with C++, Eighth Edition 10 Assembly Languages • Assembly languages made writing code simpler than using only 0s and 1s • Mnemonics – symbols used to represent the actual machine language instructions Example: 00000101 vs. BALR • 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. © 2016 Cengage Learning®. May not be scanned, copied or duplicated, or posted to a publicly accessible website, in whole or in part. An Introduction to Programming with C++, Eighth Edition 11 High-Level Languages • High-level languages allow programmers to use English- like instructions Example: taxAmount = total * taxRate • Each high-level language instruction is equivalent to more than one machine language instruction • Compilers translate high-level instructions into 0s and 1s (machine language) • Interpreters translate the program line by line as the program is running
  • 12. © 2016 Cengage Learning®. May not be scanned, copied or duplicated, or posted to a publicly accessible website, in whole or in part. An Introduction to Programming with C++, Eighth Edition 12 High-Level Languages (cont.) • 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 the 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 an object to be created that can be reused in more than one program
  • 13. © 2016 Cengage Learning®. May not be scanned, copied or duplicated, or posted to a publicly accessible website, in whole or in part. An Introduction to Programming with C++, Eighth Edition 13 Control Structures All computer programs are written using one or more of three basic control structures: sequence, repetition, and selection. Another term used for control structures are logic structures, because they control the logic flow of the program. While in every program that is written the sequence structure will be used, in most all programs all three control structures will be used.
  • 14. © 2016 Cengage Learning®. May not be scanned, copied or duplicated, or posted to a publicly accessible website, in whole or in part. An Introduction to Programming with C++, Eighth Edition 14 The Sequence Structure • The sequence structure directs the computer to process the program instructions, one after another, in the order in which they are listed in the program • An algorithm is a finite number of step-by-step instructions that accomplish a task • Example: steps to pump gas at a self-service pump
  • 15. © 2016 Cengage Learning®. May not be scanned, copied or duplicated, or posted to a publicly accessible website, in whole or in part. The Sequence Structure (cont.) An Introduction to Programming with C++, Eighth Edition 15 Figure 1-1 An example of the sequence structure
  • 16. © 2016 Cengage Learning®. May not be scanned, copied or duplicated, or posted to a publicly accessible website, in whole or in part. An Introduction to Programming with C++, Eighth Edition 16 The Selection Structure • The selection structure directs the computer to make a decision (evaluate a condition), and then take an appropriate action based upon that decision • The selection structure allows the programmer to evaluate data, therefore properly controlling the logic flow of the program • Another name for the selection structure is the decision structure • Example: stopping or going at a signal light
  • 17. © 2016 Cengage Learning®. May not be scanned, copied or duplicated, or posted to a publicly accessible website, in whole or in part. The Selection Structure (cont.) An Introduction to Programming with C++, Eighth Edition 17 Figure 1-2 An example of the selection structure
  • 18. An Introduction to Programming with C++, Eighth Edition 18 The Selection Structure (cont.) Figure 1-3 Another example of the selection structure
  • 19. © 2016 Cengage Learning®. May not be scanned, copied or duplicated, or posted to a publicly accessible website, in whole or in part. An Introduction to Programming with C++, Eighth Edition 19 The Repetition Structure • The repetition structure, commonly called iteration or looping, directs the computer to repeat one or more program instructions until some condition is met • This condition may be checked at the beginning or end of the set of instructions to be processed dependent upon the language being used • The repetition structure allows the programmer to repeatedly process a set of instructions, while only typing them in once
  • 20. © 2016 Cengage Learning®. May not be scanned, copied or duplicated, or posted to a publicly accessible website, in whole or in part. The Repetition Structure (cont.) An Introduction to Programming with C++, Eighth Edition 20 Original algorithm and modified algorithm showing the repetition structure
  • 21. © 2016 Cengage Learning®. May not be scanned, copied or duplicated, or posted to a publicly accessible website, in whole or in part. 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 language using 0s and 1s • Assembly languages followed, using mnemonics • High-level languages can be used to created procedure- oriented or object-oriented programs An Introduction to Programming with C++, Eighth Edition 21
  • 22. © 2016 Cengage Learning®. May not be scanned, copied or duplicated, or posted to a publicly accessible website, in whole or in part. Summary (cont.) • An algorithm is a finite number of step-by-step instructions that accomplish a task • Algorithms utilize three basic control structures: sequence, selection, and repetition • The sequence structure directs the computer to process the program instructions, one after another, in the order in which they are listed • The selection structure directs the computer to make a decision (evaluate a condition), and then take an appropriate action based upon that decision An Introduction to Programming with C++, Eighth Edition 22
  • 23. © 2016 Cengage Learning®. May not be scanned, copied or duplicated, or posted to a publicly accessible website, in whole or in part. Summary (cont.) • The repetition structure, commonly called iteration or looping, directs the computer to repeat one or more program instructions until some condition is met • The sequence structure is used in all programs • Most programs also contain both the selection and repetition structures An Introduction to Programming with C++, Eighth Edition 23
  • 24. © 2016 Cengage Learning®. May not be scanned, copied or duplicated, or posted to a publicly accessible website, in whole or in part. Lab 1-1: Stop and Analyze Study the algorithm below and answer the questions. • Which control structures are used in the algorithm? • What will the algorithm print when the price of the TV is $2,100? • How would you modify the algorithm so that it can be used for only the first 10 customers buying a TV? • How would you modify the algorithm so that it allows the user to also enter the discount rate and then uses that rate to calculate the discount? An Introduction to Programming with C++, Eighth Edition 24
  • 25. © 2016 Cengage Learning®. May not be scanned, copied or duplicated, or posted to a publicly accessible website, in whole or in part. An Introduction to Programming with C++, Eighth Edition 25 Lab 1-2: Plan and Create The 10 salespeople at Harkins Company are paid a 10% bonus when they sell more than $10,000 in product; otherwise, they receive a 5% bonus. Create an appropriate algorithm using only the instructions shown below.
  • 26. © 2016 Cengage Learning®. May not be scanned, copied or duplicated, or posted to a publicly accessible website, in whole or in part. An Introduction to Programming with C++, Eighth Edition 26 Lab 1-3: Modify Modify the algorithm shown below so that it gives a 25% discount to customers who are also employees of the store; all other customers receive a 15% discount.
  • 27. © 2016 Cengage Learning®. May not be scanned, copied or duplicated, or posted to a publicly accessible website, in whole or in part. An Introduction to Programming with C++, Eighth Edition 27 Lab 1-4: What’s Missing? Harold wants to sit down on the park bench, but his cat Ginger may or may not be already seated there. Put the instructions shown below in the proper order, and then determine the one or more missing instructions.