structure updates
This commit is contained in:
166
tech_docs/pseudocode.md
Normal file
166
tech_docs/pseudocode.md
Normal file
@@ -0,0 +1,166 @@
|
||||
pseudocode examples
|
||||
Pseudocode is a simple way of expressing programming logic in plain language. It's a valuable tool to outline algorithms, aiding in understanding and problem-solving without using specific programming language syntax.
|
||||
Why Use Pseudocode?
|
||||
Pseudocode can be employed in various situations, especially when planning and brainstorming programming solutions. Its uses extend to:
|
||||
Problem Understanding: It simplifies problem comprehension by breaking it down into manageable steps.
|
||||
Solution Design: It aids in creating efficient solutions by enabling more precise visualization of the logical flow.
|
||||
Coding: It provides a high-level overview of the code to be written, simplifying the coding process.
|
||||
Debugging: It helps identify logic errors before actual code is written, simplifying debugging.
|
||||
Collaboration: It aids in explaining the logic to others, especially those unfamiliar with specific programming languages.
|
||||
Maintainability: It serves as a blueprint of the logic for future reference, enhancing code maintainability.
|
||||
Guidelines for Writing Pseudocode
|
||||
Natural Language: Use plain English or your preferred natural language. If a part of the pseudocode is complex, consider adding comments for better clarity.
|
||||
Avoid Specific Syntax: Avoid language-specific syntax to keep the pseudocode universally understandable.
|
||||
Logic Emphasis: Center your focus on the algorithm's logic.
|
||||
Flow of Control: Clearly illustrate the flow of control using sequences (steps following each other), selections (decisions based on conditions), and iterations (loops).
|
||||
Consistency: Ensure the terminology is consistent and clear to enhance understandability.
|
||||
Pseudocode: A Step-by-step Approach
|
||||
Understand the Problem: Clearly define what the problem is asking for.
|
||||
Plan Your Approach: Brainstorm possible ways to solve the problem.
|
||||
Write the Pseudocode: Describe the steps to solve the problem in plain language.
|
||||
Utilize Control Structures: Incorporate sequences, selections, and iterations to control the flow of the pseudocode.
|
||||
Indent for Clarity: Use indentation to show hierarchy and structure in your pseudocode.
|
||||
Avoid Language-Specific Syntax: Ensure your pseudocode is language-agnostic.
|
||||
Review and Refine: Go through your pseudocode, making sure it makes sense and is complete. Revise as necessary.
|
||||
Translate to Code: Convert your pseudocode into the chosen programming language.
|
||||
Test and Revise: Ensure your program behaves as expected by testing the code. If problems arise, revising the pseudocode may be necessary.
|
||||
Key Words and Phrases in Pseudocode
|
||||
Category
|
||||
Keywords
|
||||
Sequence
|
||||
First, Second, Then, After, Next, Finally
|
||||
Selection
|
||||
If, Else, Then, Otherwise, Choose, Depending on
|
||||
Iteration
|
||||
While, For, Do Until, Repeat Until, Loop, Repeat, Until, Each, Times
|
||||
Input/Output
|
||||
Read, Print, Display, Input, Output, Get, Show
|
||||
Arithmetic Operations
|
||||
Add, Subtract, Multiply, Divide, Calculate, Compute
|
||||
Comparisons
|
||||
Equals, Greater than, Less than, Not equal to
|
||||
Data Manipulation
|
||||
Set, Reset, Increment, Update, Append, Remove
|
||||
|
||||
Remember to adjust these according to the conventions used in your team or organization.
|
||||
Examples of Pseudocode
|
||||
Tip Calculator
|
||||
In this example, we're creating a tip calculator. We'll start by asking for the total bill and the desired tip percentage. Then, we'll calculate the tip amount and add it to the total bill. Finally, we'll round down the final total to the nearest whole dollar. Here's the pseudocode:
|
||||
Print "Enter the total bill:"
|
||||
Read totalBill
|
||||
Print "Enter the desired tip percentage:"
|
||||
Read tipPercentage
|
||||
Set tipAmount to (totalBill \* (tipPercentage / 100))
|
||||
Set totalWithTip to totalBill + tipAmount
|
||||
Set finalTotal to Floor(totalWithTip)
|
||||
Print "The total bill including tip is", finalTotal
|
||||
|
||||
|
||||
The Floor function is used to round down to the nearest whole dollar. The exact name and behavior of this function may vary between programming languages.
|
||||
Currency Converter
|
||||
In this example, we're creating a currency converter. The program will ask for the amount in the source currency, and then the conversion rate to the target currency. After that, it will calculate the equivalent amount in the target currency. Here's the pseudocode:
|
||||
Print "Enter the amount in your source currency:"
|
||||
Read sourceAmount
|
||||
Print "Enter the conversion rate to the target currency:"
|
||||
Read conversionRate
|
||||
Set targetAmount to sourceAmount \* conversionRate
|
||||
Print "The amount in the target currency is", targetAmount
|
||||
|
||||
|
||||
This pseudocode assumes that the conversion rate is in the form where '1 unit of source currency = conversion rate units of target currency'. Always ensure the correct conversion rate is being used.
|
||||
|
||||
|
||||
---
|
||||
|
||||
## Pseudocode Cheat Sheet
|
||||
|
||||
**Pseudocode** is a simple way of expressing programming logic in plain language. It's a valuable tool to outline algorithms, aiding in understanding and problem-solving without using specific programming language syntax.
|
||||
|
||||
**Why Use Pseudocode?**
|
||||
|
||||
Pseudocode can be employed in various situations, especially when planning and brainstorming programming solutions. Its uses extend to:
|
||||
|
||||
- **Problem Understanding:** It simplifies problem comprehension by breaking it down into manageable steps.
|
||||
- **Solution Design:** It aids in creating efficient solutions by enabling more precise visualization of the logical flow.
|
||||
- **Coding:** It provides a high-level overview of the code to be written, simplifying the coding process.
|
||||
- **Debugging:** It helps identify logic errors before actual code is written, simplifying debugging.
|
||||
- **Collaboration:** It aids in explaining the logic to others, especially those unfamiliar with specific programming languages.
|
||||
- **Maintainability:** It serves as a blueprint of the logic for future reference, enhancing code maintainability.
|
||||
|
||||
**Guidelines for Writing Pseudocode**
|
||||
|
||||
- **Natural Language:** Use plain English or your preferred natural language. If a part of the pseudocode is complex, consider adding comments for better clarity.
|
||||
- **Avoid Specific Syntax:** Avoid language-specific syntax to keep the pseudocode universally understandable.
|
||||
- **Logic Emphasis:** Center your focus on the algorithm's logic.
|
||||
- **Flow of Control:** Clearly illustrate the flow of control using sequences (steps following each other), selections (decisions based on conditions), and iterations (loops).
|
||||
- **Consistency:** Ensure the terminology is consistent and clear to enhance understandability.
|
||||
|
||||
**Pseudocode: A Step-by-step Approach**
|
||||
|
||||
1. **Understand the Problem:** Clearly define what the problem is asking for.
|
||||
2. **Plan Your Approach:** Brainstorm possible ways to solve the problem.
|
||||
3. **Write the Pseudocode:** Describe the steps to solve the problem in plain language.
|
||||
4. **Utilize Control Structures:** Incorporate sequences, selections, and iterations to control the flow of the pseudocode.
|
||||
5. **Indent for Clarity:** Use indentation to show hierarchy and structure in your pseudocode.
|
||||
6. **Avoid Language-Specific Syntax:** Ensure your pseudocode is language-agnostic.
|
||||
7. **Review and Refine:** Go through your pseudocode, making sure it makes sense and is complete. Revise as necessary.
|
||||
8. **Translate to Code:** Convert your pseudocode into the chosen programming language.
|
||||
9. **Test and Revise:** Ensure your program behaves as expected by testing the code. If problems arise, revising the pseudocode may be necessary.
|
||||
|
||||
**Key Words and Phrases in Pseudocode**
|
||||
|
||||
| Category | Keywords |
|
||||
| --------------------- | -------------------------------------------------------------------- |
|
||||
| Sequence | First, Second, Then, After, Next, Finally |
|
||||
| Selection | If, Else, Then, Otherwise, Choose, Depending on |
|
||||
| Iteration | While, For, Do Until, Repeat Until, Loop, Repeat, Until, Each, Times |
|
||||
| Input/Output | Read, Print, Display, Input, Output, Get, Show |
|
||||
| Arithmetic Operations | Add, Subtract, Multiply, Divide, Calculate, Compute |
|
||||
| Comparisons | Equals, Greater than, Less than, Not equal to |
|
||||
| Data Manipulation | Set, Reset, Increment, Update, Append, Remove |
|
||||
|
||||
**Remember to adjust these according to the conventions used in your team or organization.**
|
||||
|
||||
**Examples of Pseudocode**
|
||||
|
||||
**Tip Calculator**
|
||||
|
||||
```pseudocode
|
||||
# Print instructions to user
|
||||
Print "Enter the total bill:"
|
||||
Read totalBill
|
||||
Print "Enter the desired tip percentage:"
|
||||
Read tipPercentage
|
||||
|
||||
# Calculate the tip amount
|
||||
Set tipAmount to (totalBill \* (tipPercentage / 100))
|
||||
|
||||
# Calculate the total with tip
|
||||
Set totalWithTip to totalBill + tipAmount
|
||||
|
||||
# Round the total down to the nearest whole dollar
|
||||
Set finalTotal to Floor(totalWithTip)
|
||||
|
||||
# Print the final total to the user
|
||||
Print "The total bill including tip is", finalTotal
|
||||
```
|
||||
|
||||
**Currency Converter**
|
||||
|
||||
```pseudocode
|
||||
# Print instructions to user
|
||||
Print "Enter the amount in your source currency:"
|
||||
Read sourceAmount
|
||||
Print "Enter the conversion rate to the target currency:"
|
||||
Read conversionRate
|
||||
|
||||
# Calculate the equivalent amount in the target currency
|
||||
Set targetAmount to sourceAmount \* conversionRate
|
||||
|
||||
# Print the amount in the target currency to the user
|
||||
Print "The amount in the target currency is", targetAmount
|
||||
```
|
||||
|
||||
**Conclusion**
|
||||
|
||||
Pseudocode is a valuable tool that can help you to write more efficient, maintainable, and bug-free code. By following the guidelines and best practices outlined in this cheat sheet, you can improve your pseudocode writing skills and become a better programmer.
|
||||
Reference in New Issue
Block a user