Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Lecture "Introduction to Computational Thinking", exercise 2 #2

Open
essepuntato opened this issue Nov 11, 2018 · 11 comments
Open

Lecture "Introduction to Computational Thinking", exercise 2 #2

essepuntato opened this issue Nov 11, 2018 · 11 comments
Labels
Exercise The exercises that are introduced in the lectures.

Comments

@essepuntato
Copy link
Contributor

What is the result of applying the latest natural language definition of the Fibonacci function in Section "Natural languages vs. programming languages" using “7” as input?

@essepuntato essepuntato added the Exercise The exercises that are introduced in the lectures. label Nov 11, 2018
@MattiaSpadoni
Copy link

Input= 7
Output= (?)

n=7 a=1 b=1 c=2;
n--
n= 6 a=1 b=2 c=3;
n--
n= 5 a=2 b=3 c=5;
n--
n= 4 a=3 b=5 c=8;
n--
n=3 (now I can return "c") a= 5 b=8 C= 13;

Output= 13

@ilsamoano
Copy link

The function for calculating the nt​ h Fibonacci number takes as input an integer “n”.
If “n” is less than or equal to 0, then 0 is returned as result.
Otherwise, if “n” is equal to 1, then 1 is returned.
Otherwise, return the sum of the same function with “n-1” as input and still the same function with “n-2” as input.

def Fibo(n): 
    if n<0: 
        return 0 
    elif n==1: 
        return 1
    else: 
        return Fibo(n-1)+Fibo(n-2) 

print(Fibo(7)) 

output: 13

(for code explanation: https://www.geeksforgeeks.org/program-for-nth-fibonacci-number/)

@simayguzel
Copy link

def F(n):
if (n == 0) :
return 0
if (n == 1 or n== 2) :
return 1
else:
return F(n-1)+F(n-2)

print (F(7))

Output: 13

@mangiafrangette
Copy link

The function for calculating the nt​ h Fibonacci number takes as input an integer “n”.
If “n” is less than or equal to 0, then 0 is returned as result.
Otherwise, if “n” is equal to 1, then 1 is returned.
Otherwise, return the sum of the same function with “n-1” as input and still the same function with “n-2” as input.

def Fibo(n): 
    if n<0: 
        return 0 
    elif n==1: 
        return 1
    else: 
        return Fibo(n-1)+Fibo(n-2) 

print(Fibo(7)) 

output: 13

(for code explanation: https://www.geeksforgeeks.org/program-for-nth-fibonacci-number/)

Add an equal on line 2 ("if n is less than or equal to 0 [...]").
if n <= 0:
Also, maybe is not clear to everyone that is written in Python.
Good job!

@delfimpandiani
Copy link

The function for calculating the n-th Fibonacci number takes as input an integer “n”.
If “n” is less than or equal to 0, then 0 is returned as result.
Otherwise, if “n” is equal to 1, then 1 is returned.
Otherwise, return the sum of the same function with “n-1” as input and still the same function with “n-2” as input.

def F(n):
if (n <= 0) :
return 0
if (n == 1 or n== 2) :
return 1
else:
return F(n-1)+F(n-2)

F(7) = 13
The logic behind this result is the following:

F(7) = F(6) + F(5) = 8 + 5 = 13
F(6) = F(5) + F(4) = 5 + 3 = 8
F(5) = F(4) + F(3) = 3 + 2 = 5
F(4) = F(3) + F(2) = 2 + 1 = 3
F(3) = F(2) + F(1) = 1 + 1 = 2
F(2) = F(1) + F(0) = 1 + 0 = 1
F(1) = 1
F(0) = 0

@tceron
Copy link

tceron commented Nov 13, 2018

a = 1;
b = 1;
while (1) { c = a + b; }
if (n <= 3)
return c;
a = b;
b = c;
{ c = a + b; }
n--; (which means to subtract 1)

Input = 7

n= 7 a= 1 b= 1 c = 2
n-- (subtract one)
n=6 (n <= 3 so return c)
n= 6 a= 1 b= 2 c = 3
n--
n= 5
n= 5 a= 2 b= 3 c = 5
n--
n= 4
n= 4 a= 3 b= 5 c = 8
n= 3
n= 3 a= 5 b= 8 c = 13

{ c = a + b; } So the output is 13.

@lisasiurina
Copy link

Input= 7

If (n <=0)
then return 0
If (n <=2)
then return 1
If (n <=3)
then return c

а=1
b=1
c=a+b

a=b
b=c

If n=7 a=1 b=1 c=2;

then n--

If n n= 6 a=1 b=2 c=3;

then n--

If n= 5 a=2 b=3 c=5;

then n--
If n= 4 a=3 b=5 c=8;

then n--

If n=3 a= 5 b=8 C= 13;
then return 13
Output 13

@friendlynihilist
Copy link

The function for calculating the nth Fibonacci number takes as input an integer “n”. If “n” is less than or equal to 0, then 0 is returned as result. Otherwise, if “n” is equal to 1, then 1 is returned.
Otherwise, return the sum of the same function with “n-1” as input and still the same function with “n-2” as input.

input=7
a=1
b=1
c=(a+b)

If n=7 a=1 b=1 c=2;
n-- (subtract 1)
If n=6 a=1 b=2 c=3;
n--
If n=5 a=2 b=3 c=5;
n--
If n=4 a=3 b=5 c=8;
n--
If n=3 a=5 b=8 c=13;
then return c
output=13

@SeverinJB
Copy link

A return statement in a while loop is equal to a break statement. Hence, as soon as n <= 3 the return function is trigged and the while loop stops. Based on this, the while loop stops as soon as n was reduced to 3 by n--. The loop runs a total of 5 times. During the last run, it returned c = 13.

n = 7 —> a = 1, b = 1 —> c = a + b = 2 —> 
a = b = 1, b = c = 2 —> n = 7 - 1 = 6 —> c = a + b = 3 —> 
a = b = 2, b = c = 3 —> n = 6 - 1 = 5 —> c = a + b = 5 —> 
a = b = 3, b = c = 5 —> n = 6 - 1 = 4 —> c = a + b = 8 —> 
a = b = 5, b = c = 8 —> n = 6 - 1 = 3 —> c = a + b = 13 —> c = 13

@Ioanna96
Copy link

n=7 a=1 b=1 c=2
n--
n=6 a=1 b=2 c=3
n--
n=5 a=2 b=3 c=5
n--
n=4 a=3 b=5 c=8
n--
n=3 a=5 b=8 c=13
if “n” is less than or equal to “3” then return “c”
Output=13

@dafnikitsiki
Copy link

Input= 7
Output= (?)

n=7 a=1 b=1 c=2;
n--
n= 6 a=1 b=2 c=3;
n--
n= 5 a=2 b=3 c=5;
n--
n= 4 a=3 b=5 c=8;
n--
n=3 (now I can return "c") a= 5 b=8 C= 13;

Output= 13

So, F(3) in Fibonacci's sequence is the key to find the output for any input number!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Exercise The exercises that are introduced in the lectures.
Projects
None yet
Development

No branches or pull requests