**Isambard Kingdom Brunel (1806-1859)** was an **English civil engineer** who is considered one of the greatest figures of the **Industrial Revolution**. Brunel achieved many engineering firsts thanks to his hard-work, his engineering knowledge, his innovative mind and his renowned problem solving skills. Some of his achievements include assisting in the building of the **first tunnel under the River Thames**, the design & development of the **SS Great Britain, the largest ship ever built at the time**: launched in 1843 the SS Great Britain was the first propeller-driven, ocean-liner ship with an iron hull. Brunel also worked on many **architectural projects and viaducts** when designing the **Great Western Railway (GWR)** linking Bristol to London. One of his major project, who was fully completed five years after his death, is the famous **Clifton Suspension Bridge** over the river Avon in Bristol, UK.

In this set of challenges, we are going to write **four short algorithms** that could have helped Brunel on his engineering projects. Obviously, computers did not exist in Brunel’s time, but the mathematical concepts used by these algorithms were for sure known and heavily used in Brunel’s engineering calculations. You can use trinket.io to write your algorithms/functions in Python.

#### Algorithm #1: Propeller Inner Angle

When Brunel worked on the design and construction of the SS Great Britain ship, most engine powered ships of the time used paddle wheels. His first design for this large iron hull ship was also based on using paddle wheels on both sides of the hull, however Brunel soon found out that using a propeller would be more effective and therefore he changed his design halfway through the construction stage! Once the decision was approved, one of Brunel’s next decisions was to choose how many blades to use for the propeller.

To assist him with the technical drawing of the propeller, Brunel used the following formula:

Your task is to write a function called *calculateAngle()* that takes one parameter, the number of blades of a propeller (as a positive integer value). Your function will calculate and return the inner angle between two adjacent blades (in degrees).

You will then be able to complete the following test plan to check that your function is working as expected:

Test # | Input Value: Number of blades |
Expected Output | Actual Output | |

#1 | 2 | 180° | ||

#2 | 3 | 120° | ||

#3 | 4 | 90° | ||

#4 | 📷 | 6 | 60° |

#### Algorithm #2: Viaduct Arches

A viaduct is a specific type of bridge that consists of a series of arches, piers or columns supporting a long elevated railway or road. When working on the **Great Western Railway (GWR)** linking Bristol to London, Brunel designed several viaducts, each with a different length, height and number of arches. The Wharncliffe viaduct 📷 is a great example of his work. Built in 1837, it was the first railway viaduct to be built with hollow piers. It is 270 meters long and consists of eight arches.

Supposing that each arch has the same width, we can calculate the width of an arch as follows:

Your task is to write a function called *calculateArchWidth()* that takes two parameters, the length of the viaduct in meters and the number of arches (both parameters being given as positive integers). Your function will calculate and return the width of an arch.

You can test your algorithm using the following test plan:

Test # | Input Value: | Expected Output | Actual Output | |

#1 | Wharncliffe Viaduct 📷 | Viaduct Length: 270m Number of Arches: 8 |
Arch width: 33.75m | |

#2 | Carnon Viaduct 📷 | Viaduct Length: 230m Number of Arches: 9 |
Arch width: 25.55m |

#### Algorithm #3: Railway Slope

When designing the Great Western Railway (GWR), one of the main objectives of Brunel was to design a fairly straight route as level as possible in order to promote high speed travel on the line. To do so Brunel had to estimate the percent slope (gradient) of every section of the route to avoid steep slops.

Here is the formula that Brunel used to calculate the percent slope of every section of his planned route:

Your task is to write a function called* calculatePercentSlope()* that takes two parameters: delta_x (Δx) and delta_h (Δh), the difference in coordinates and altitudes between the starting and ending position of a section. Your function will use these two parameters to calculate and return the percent slope of the section.

You can test your algorithm using the following test plan:

Test # | Input Value: | Expected Output | Actual Output | |

#1 | Section 1 | Δx = 800m Δh = 32m |
Percent Slope: 4% | |

#2 | Section 2 | Δx = 500m Δh = 60m |
Percent Slope: 12% | |

#3 | Section 2 | Δx = 750m Δh = 45m |
Percent Slope: 6% |

#### Algorithm #4: Suspension Bridge Arc Length

One of Brunel’s most famous project is the Clifton Suspension Bridge, Bristol’s most impressive structure. He started to design this project at the age of 24. The bridge took 33 years to complete!

One of the mathematical puzzle that Brunel had to solve, was to estimate the length of the main arc of the suspension bridge. This arc consists of wrought iron chains to support the load of the main deck as well as the extra load due to the traffic across the bridge. The arc joins the two towers on each side of the river Avon. The two towers are separated by 214 meters and are rising 26m above deck level. The deck itself is 75m above the high water mark!

The following mathematical formulas can be used to calculate the arc length based on the distance between the two towers (*l*) and the height of each tower (from the deck level) (*h*)

Your task is to write a function called* calculateArcLength()* that takes two parameters: the length (*l*) and the height (from the deck level) (*h*) of the suspension bridge. Your function will use these two parameters to calculate and return the length or the arc of the bridge.

You can test your algorithm using the following test plan:

Test # | Input Value: | Expected Output | Actual Output | |

#1 | Clifton Suspension Bridge | length = 214m height = 26m |
Arc Length: 222m |

To find out more about Brunel‘s work visit the SS Great Britain museum in Bristol, UK.