SlideShare a Scribd company logo
1 of 24
Tuesday, March 28,
2023
1
Data Structures & Algorithms
Represented By
Nale Rajesh K.
(Lecturer COE Malegaon (Bk))
Introduction To Algorithms
Tuesday, March 28,
2023
2
How do we solve problems?
 We "just do"
 Guesswork-and-luck
 Trial-and-error
 Experience (possibly someone else's)
 "Scientifically"
Tuesday, March 28,
2023
3
0100111010110010101010101
0010101010101001100101010
1010100101101001110101010
1010010010111010011110101
010111110101010001101…
sterilize(saw,alcohol);
raise_hammer();
lower hammer(fast);
start(saw);
/* etc. etc. */
Patient has elevated
pressure in anterior
parietal lobe
The Problem-solving
Process
Problem
specification
Algorithm
Program
Executable
(solution)
Design
Implementation
Compilation
"Doctor, my head hurts"
Analysis
1. Sterilize cranial saw
2. Anaesthetize patient
3. Remove top of skull
4. Get the big spoon...
5. etc., etc.
Tuesday, March 28,
2023
4
sterilize(saw,alcohol);
raise_hammer();
lower hammer(fast);
start(saw);
/* etc. etc. */
The Problem-solving Process
Problem
specification
Algorithm
Program
Executable
(solution)
Analysis
Design
Implementation
Compilation
"Doctor, my head hurts"
Patient has elevated
pressure in anterior
parietal lobe.
1. Sterilize cranial saw
2. Anaesthetize patient
3. Remove top of skull
4. Get the big spoon...
5. etc., etc.
01001110101100101010101010010
10101010100110010101010101001
011010011101010101010010010111
010011110101010111110101010001
10100001101...
Tuesday, March 28,
2023
5
The Problem-solving Process
Problem
specification
Algorithm
Program
Executable
(solution)
Analysis
Design
Implementation
Compilation
Tuesday, March 28,
2023
6
 A sequence of instructions specifying
the steps required to accomplish
some task
 Named after:
Muhammad ibn Musa al-Khwarizmi
of Khowarezm (now Khiva in Uzbekistan)
Algorithm
Tuesday, March 28,
2023
7
 A sequence of instructions
describing how to do a task
Algorithm – Working Definition
[As opposed to actually executing
the instructions]
Tuesday, March 28,
2023
8
Algorithm -- Examples
 A cooking recipe
 Assembly instructions for a model
 The rules of how to play a game
 VCR instructions
 Description of a martial arts
technique
 Directions for driving from A to B
 A knitting pattern
 A car repair manual
Tuesday, March 28,
2023
9
Algorithm – Examples (cont)
 Recipe for Almond and honey slice
 Recipe for Arroz con pollo
Tuesday, March 28,
2023
10
Almond and Honey Slice
1/2 quantity Shotcrust Pastry
185 g unsalted butter
100 g castor sugar
5 tablespoons honey
50 ml cream
50 ml brandy or any other
liqueur or spirit
300 g flaked almonds
Preheat oven for 200° C
Line a 30 cm  20 cm baking
tray with baking paper, and
then with pastry
Bake blind for 20 minutes, then
remove weights and foil
Turn oven up to 220° C.
Bring remaining ingredients to a boil,
stirring.
Spread evenly over pastry.
Bake until topping is bubbling and
has caramelised evenly, about
15 minutes.
Cool before cutting into fingers or
squares.
From: Stephanie Alexander, The
Cook’s Companion, Viking/Penguin,
Ringwood, Victoria, 1996, p. 349.
Tuesday, March 28,
2023
11
Almond and Honey Slice
1/2 quantity Shotcrust Pastry
185 g unsalted butter
100 g castor sugar
5 tablespoons honey
50 ml cream
50 ml brandy or any other
liqueur or spirit
300 g flaked almonds
Preheat oven for 200° C
Line a 30 cm  20 cm baking
tray with baking paper,
and then with pastry
Bake blind for 20 minutes, then
remove weights and foil
Turn oven up to 220° C.
Bring remaining ingredients to a
boil, stirring.
Spread evenly over pastry.
Bake until topping is bubbling and
has caramelised evenly, about
15 minutes.
Cool before cutting into fingers or
squares.
Instructions are given
in the order in which
they are performed
(“executed”)
Tuesday, March 28,
2023
12
Correct Algorithm?
Cut chicken into pieces and
brown the pieces on all
sides in a casserole dish in
hot olive oil.
Remove the chicken and to the
juices in the casserole add
garlic, onions and green
peppers, and sauté until
onion is golden.
Add bay leaf, whole tomatoes,
and chicken broth.
When the broth boils add salt,
saffron and rice.
Arrange chicken on rice, cover
casserole and bake in a
moderate oven (350°F) for
20 minutes or until the rice
is tender.
Add beans and artichokes
during last 10 minutes of
cooking.
Tuesday, March 28,
2023
13
Cut chicken into pieces and
brown the pieces on all
sides in a casserole dish in
hot olive oil.
Remove the chicken and to the
juices in the casserole add
garlic, onions and green
peppers, and sauté until
onion is golden.
Add bay leaf, whole tomatoes,
and chicken broth.
When the broth boils add salt,
saffron and rice.
Arrange chicken on rice, cover
casserole and bake in a
moderate oven (350°F) for
10 minutes.
Add beans and artichokes.
Cover, and bake for another 10
minutes or until rice is
tender.
Correct Algorithm?
Tuesday, March 28,
2023
14
From Algorithms to Programs
Problem
C Program
Algorithm: A sequence
of instructions describing
how to do a task (or
process)
Tuesday, March 28,
2023
15
Components of an Algorithm
 Variables and values
 Instructions
 Sequences
 Procedures
 Selections
 Repetitions
 Documentation
Tuesday, March 28,
2023
16
Values
 Represent quantities, amounts or
measurements
 May be numerical or alphabetical (or
other things)
 Often have a unit related to their
purpose
 Example:
 Recipe ingredients
Tuesday, March 28,
2023
17
Variables
This jar
can contain
10 cookies
50 grams of sugar
3 slices of cake
etc.
Values
Variable
 Are containers for values places to store values
Tuesday, March 28,
2023
18
Restrictions on Variables
 Variables may be restricted to
contain a specific type of value
Tuesday, March 28,
2023
19
Components of an Algorithm
 Values and Variables
 Instruction (a.k.a. primitive)
 Sequence (of instructions)
 Procedure (involving instructions)
 Selection (between instructions)
 Repetition (of instructions)
 Documentation (beside instructions)
Tuesday, March 28,
2023
20
Instructions (Primitives)
 Some action that is simple...
 ...and unambiguous...
 ...that the system knows about...
 ...and should be able to actually do
Tuesday, March 28,
2023
21
Instructions – Examples
 Take off your shoes
 Count to 10
 Cut along dotted line
 Knit 1
 Purl 2
 Pull rip-cord firmly
 Sift 10 grams of arsenic
Directions to perform
specific actions on values
and variables.
Tuesday, March 28,
2023
22
Instructions -- Application
 Some instructions can only be applied
to a specific type of values or
variables
 Examples:
Tuesday, March 28,
2023
23
Instructions (Primitives) --
Recommendations
 When writing an algorithm, make
each instruction simple and
unambiguous
 Example:
Cut chicken into pieces
and brown the
pieces on all sides in
a casserole dish in
hot olive oil.
Cut chicken into pieces.
Heat olive oil in a
casserole dish.
Brown the chicken
pieces in the
casserole dish.
Tuesday, March 28,
2023
24
Instruction (Primitives)
 When writing an algorithm, make
the instructions simple and
unambiguous.
 Example:
Cut chicken into pieces
and brown the pieces
on all sides in a
casserole dish in hot
olive oil.
Cut chicken into pieces.
Heat olive oil in a
casserole dish.
Brown the chicken
pieces in the
casserole dish.
A “sequence” of
simple instructions

More Related Content

What's hot

Block diagram by vasant
Block diagram by vasantBlock diagram by vasant
Block diagram by vasant
Vasant Yeluri
 
IO Devices
IO DevicesIO Devices
IO Devices
Qsrealm
 
Intro to CAD/CAM/CIM
Intro to CAD/CAM/CIMIntro to CAD/CAM/CIM
Intro to CAD/CAM/CIM
Abhay Gore
 

What's hot (20)

Chapter 1 computer hardware and flow of information
Chapter 1 computer hardware and flow of informationChapter 1 computer hardware and flow of information
Chapter 1 computer hardware and flow of information
 
Block diagram by vasant
Block diagram by vasantBlock diagram by vasant
Block diagram by vasant
 
Solid modeling-Sweep Representation and B-representation
Solid modeling-Sweep Representation and B-representationSolid modeling-Sweep Representation and B-representation
Solid modeling-Sweep Representation and B-representation
 
IO Devices
IO DevicesIO Devices
IO Devices
 
Introduction to computer
Introduction to computerIntroduction to computer
Introduction to computer
 
Cad
CadCad
Cad
 
Image processing ppt
Image processing pptImage processing ppt
Image processing ppt
 
Raster scan displays ppt
Raster scan displays pptRaster scan displays ppt
Raster scan displays ppt
 
Presentation on input devices
Presentation on input devicesPresentation on input devices
Presentation on input devices
 
01. Basics of Computer Hardware
01. Basics of Computer Hardware01. Basics of Computer Hardware
01. Basics of Computer Hardware
 
Introduction to robotics, Laws,Classification,Types, Drives,Geometry
Introduction to robotics, Laws,Classification,Types, Drives,Geometry  Introduction to robotics, Laws,Classification,Types, Drives,Geometry
Introduction to robotics, Laws,Classification,Types, Drives,Geometry
 
Machine vision
Machine visionMachine vision
Machine vision
 
Input and output devices
Input and output devicesInput and output devices
Input and output devices
 
Introduction to Microsoft Excel for beginners
Introduction to Microsoft Excel for beginnersIntroduction to Microsoft Excel for beginners
Introduction to Microsoft Excel for beginners
 
CPU and Storage devices
CPU and Storage devicesCPU and Storage devices
CPU and Storage devices
 
Input, Output and Storage Devices
Input, Output and Storage DevicesInput, Output and Storage Devices
Input, Output and Storage Devices
 
Input Output devices
Input Output devicesInput Output devices
Input Output devices
 
Unit 4 Automated system
Unit 4 Automated systemUnit 4 Automated system
Unit 4 Automated system
 
Intro to CAD/CAM/CIM
Intro to CAD/CAM/CIMIntro to CAD/CAM/CIM
Intro to CAD/CAM/CIM
 
Windows 7: The Basics
Windows 7:  The BasicsWindows 7:  The Basics
Windows 7: The Basics
 

More from NALESVPMEngg

Introduction to Csharp (C-Sharp) is a programming language developed by Micro...
Introduction to Csharp (C-Sharp) is a programming language developed by Micro...Introduction to Csharp (C-Sharp) is a programming language developed by Micro...
Introduction to Csharp (C-Sharp) is a programming language developed by Micro...
NALESVPMEngg
 

More from NALESVPMEngg (13)

a simple idealized machine used to recognize patterns within input taken from...
a simple idealized machine used to recognize patterns within input taken from...a simple idealized machine used to recognize patterns within input taken from...
a simple idealized machine used to recognize patterns within input taken from...
 
Stemming is one of several text normalization techniques that converts raw te...
Stemming is one of several text normalization techniques that converts raw te...Stemming is one of several text normalization techniques that converts raw te...
Stemming is one of several text normalization techniques that converts raw te...
 
Information retrieval is the process of accessing data resources. Usually doc...
Information retrieval is the process of accessing data resources. Usually doc...Information retrieval is the process of accessing data resources. Usually doc...
Information retrieval is the process of accessing data resources. Usually doc...
 
Information retrieval is the process of accessing data resources. Usually doc...
Information retrieval is the process of accessing data resources. Usually doc...Information retrieval is the process of accessing data resources. Usually doc...
Information retrieval is the process of accessing data resources. Usually doc...
 
Class diagrams are a type of UML (Unified Modeling Language) diagram used in ...
Class diagrams are a type of UML (Unified Modeling Language) diagram used in ...Class diagrams are a type of UML (Unified Modeling Language) diagram used in ...
Class diagrams are a type of UML (Unified Modeling Language) diagram used in ...
 
Class diagrams are a type of UML (Unified Modeling Language) diagram used in ...
Class diagrams are a type of UML (Unified Modeling Language) diagram used in ...Class diagrams are a type of UML (Unified Modeling Language) diagram used in ...
Class diagrams are a type of UML (Unified Modeling Language) diagram used in ...
 
Activity diagrams show the flow of one activity to another within a system or...
Activity diagrams show the flow of one activity to another within a system or...Activity diagrams show the flow of one activity to another within a system or...
Activity diagrams show the flow of one activity to another within a system or...
 
Activity diagrams show the flow of one activity to another within a system or...
Activity diagrams show the flow of one activity to another within a system or...Activity diagrams show the flow of one activity to another within a system or...
Activity diagrams show the flow of one activity to another within a system or...
 
Introduction to Csharp (C-Sharp) is a programming language developed by Micro...
Introduction to Csharp (C-Sharp) is a programming language developed by Micro...Introduction to Csharp (C-Sharp) is a programming language developed by Micro...
Introduction to Csharp (C-Sharp) is a programming language developed by Micro...
 
Wk5_UML_ActivityDiagram.pptx
Wk5_UML_ActivityDiagram.pptxWk5_UML_ActivityDiagram.pptx
Wk5_UML_ActivityDiagram.pptx
 
TutorialUML.pptx
TutorialUML.pptxTutorialUML.pptx
TutorialUML.pptx
 
6 Use Case Modeling.pptx
6 Use Case Modeling.pptx6 Use Case Modeling.pptx
6 Use Case Modeling.pptx
 
Introduction To Data Structures.ppt
Introduction To Data Structures.pptIntroduction To Data Structures.ppt
Introduction To Data Structures.ppt
 

Recently uploaded

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 

Recently uploaded (20)

TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 

Introduction To Algorithms.ppt

  • 1. Tuesday, March 28, 2023 1 Data Structures & Algorithms Represented By Nale Rajesh K. (Lecturer COE Malegaon (Bk)) Introduction To Algorithms
  • 2. Tuesday, March 28, 2023 2 How do we solve problems?  We "just do"  Guesswork-and-luck  Trial-and-error  Experience (possibly someone else's)  "Scientifically"
  • 3. Tuesday, March 28, 2023 3 0100111010110010101010101 0010101010101001100101010 1010100101101001110101010 1010010010111010011110101 010111110101010001101… sterilize(saw,alcohol); raise_hammer(); lower hammer(fast); start(saw); /* etc. etc. */ Patient has elevated pressure in anterior parietal lobe The Problem-solving Process Problem specification Algorithm Program Executable (solution) Design Implementation Compilation "Doctor, my head hurts" Analysis 1. Sterilize cranial saw 2. Anaesthetize patient 3. Remove top of skull 4. Get the big spoon... 5. etc., etc.
  • 4. Tuesday, March 28, 2023 4 sterilize(saw,alcohol); raise_hammer(); lower hammer(fast); start(saw); /* etc. etc. */ The Problem-solving Process Problem specification Algorithm Program Executable (solution) Analysis Design Implementation Compilation "Doctor, my head hurts" Patient has elevated pressure in anterior parietal lobe. 1. Sterilize cranial saw 2. Anaesthetize patient 3. Remove top of skull 4. Get the big spoon... 5. etc., etc. 01001110101100101010101010010 10101010100110010101010101001 011010011101010101010010010111 010011110101010111110101010001 10100001101...
  • 5. Tuesday, March 28, 2023 5 The Problem-solving Process Problem specification Algorithm Program Executable (solution) Analysis Design Implementation Compilation
  • 6. Tuesday, March 28, 2023 6  A sequence of instructions specifying the steps required to accomplish some task  Named after: Muhammad ibn Musa al-Khwarizmi of Khowarezm (now Khiva in Uzbekistan) Algorithm
  • 7. Tuesday, March 28, 2023 7  A sequence of instructions describing how to do a task Algorithm – Working Definition [As opposed to actually executing the instructions]
  • 8. Tuesday, March 28, 2023 8 Algorithm -- Examples  A cooking recipe  Assembly instructions for a model  The rules of how to play a game  VCR instructions  Description of a martial arts technique  Directions for driving from A to B  A knitting pattern  A car repair manual
  • 9. Tuesday, March 28, 2023 9 Algorithm – Examples (cont)  Recipe for Almond and honey slice  Recipe for Arroz con pollo
  • 10. Tuesday, March 28, 2023 10 Almond and Honey Slice 1/2 quantity Shotcrust Pastry 185 g unsalted butter 100 g castor sugar 5 tablespoons honey 50 ml cream 50 ml brandy or any other liqueur or spirit 300 g flaked almonds Preheat oven for 200° C Line a 30 cm  20 cm baking tray with baking paper, and then with pastry Bake blind for 20 minutes, then remove weights and foil Turn oven up to 220° C. Bring remaining ingredients to a boil, stirring. Spread evenly over pastry. Bake until topping is bubbling and has caramelised evenly, about 15 minutes. Cool before cutting into fingers or squares. From: Stephanie Alexander, The Cook’s Companion, Viking/Penguin, Ringwood, Victoria, 1996, p. 349.
  • 11. Tuesday, March 28, 2023 11 Almond and Honey Slice 1/2 quantity Shotcrust Pastry 185 g unsalted butter 100 g castor sugar 5 tablespoons honey 50 ml cream 50 ml brandy or any other liqueur or spirit 300 g flaked almonds Preheat oven for 200° C Line a 30 cm  20 cm baking tray with baking paper, and then with pastry Bake blind for 20 minutes, then remove weights and foil Turn oven up to 220° C. Bring remaining ingredients to a boil, stirring. Spread evenly over pastry. Bake until topping is bubbling and has caramelised evenly, about 15 minutes. Cool before cutting into fingers or squares. Instructions are given in the order in which they are performed (“executed”)
  • 12. Tuesday, March 28, 2023 12 Correct Algorithm? Cut chicken into pieces and brown the pieces on all sides in a casserole dish in hot olive oil. Remove the chicken and to the juices in the casserole add garlic, onions and green peppers, and sauté until onion is golden. Add bay leaf, whole tomatoes, and chicken broth. When the broth boils add salt, saffron and rice. Arrange chicken on rice, cover casserole and bake in a moderate oven (350°F) for 20 minutes or until the rice is tender. Add beans and artichokes during last 10 minutes of cooking.
  • 13. Tuesday, March 28, 2023 13 Cut chicken into pieces and brown the pieces on all sides in a casserole dish in hot olive oil. Remove the chicken and to the juices in the casserole add garlic, onions and green peppers, and sauté until onion is golden. Add bay leaf, whole tomatoes, and chicken broth. When the broth boils add salt, saffron and rice. Arrange chicken on rice, cover casserole and bake in a moderate oven (350°F) for 10 minutes. Add beans and artichokes. Cover, and bake for another 10 minutes or until rice is tender. Correct Algorithm?
  • 14. Tuesday, March 28, 2023 14 From Algorithms to Programs Problem C Program Algorithm: A sequence of instructions describing how to do a task (or process)
  • 15. Tuesday, March 28, 2023 15 Components of an Algorithm  Variables and values  Instructions  Sequences  Procedures  Selections  Repetitions  Documentation
  • 16. Tuesday, March 28, 2023 16 Values  Represent quantities, amounts or measurements  May be numerical or alphabetical (or other things)  Often have a unit related to their purpose  Example:  Recipe ingredients
  • 17. Tuesday, March 28, 2023 17 Variables This jar can contain 10 cookies 50 grams of sugar 3 slices of cake etc. Values Variable  Are containers for values places to store values
  • 18. Tuesday, March 28, 2023 18 Restrictions on Variables  Variables may be restricted to contain a specific type of value
  • 19. Tuesday, March 28, 2023 19 Components of an Algorithm  Values and Variables  Instruction (a.k.a. primitive)  Sequence (of instructions)  Procedure (involving instructions)  Selection (between instructions)  Repetition (of instructions)  Documentation (beside instructions)
  • 20. Tuesday, March 28, 2023 20 Instructions (Primitives)  Some action that is simple...  ...and unambiguous...  ...that the system knows about...  ...and should be able to actually do
  • 21. Tuesday, March 28, 2023 21 Instructions – Examples  Take off your shoes  Count to 10  Cut along dotted line  Knit 1  Purl 2  Pull rip-cord firmly  Sift 10 grams of arsenic Directions to perform specific actions on values and variables.
  • 22. Tuesday, March 28, 2023 22 Instructions -- Application  Some instructions can only be applied to a specific type of values or variables  Examples:
  • 23. Tuesday, March 28, 2023 23 Instructions (Primitives) -- Recommendations  When writing an algorithm, make each instruction simple and unambiguous  Example: Cut chicken into pieces and brown the pieces on all sides in a casserole dish in hot olive oil. Cut chicken into pieces. Heat olive oil in a casserole dish. Brown the chicken pieces in the casserole dish.
  • 24. Tuesday, March 28, 2023 24 Instruction (Primitives)  When writing an algorithm, make the instructions simple and unambiguous.  Example: Cut chicken into pieces and brown the pieces on all sides in a casserole dish in hot olive oil. Cut chicken into pieces. Heat olive oil in a casserole dish. Brown the chicken pieces in the casserole dish. A “sequence” of simple instructions