Programming C, C++, Java, PHP, Ruby, Turing, VB
Computer Science Canada 
Programming C, C++, Java, PHP, Ruby, Turing, VB  

Username:   Password: 
 RegisterRegister   
 Turing Functions.
Index -> Programming, Turing -> Turing Help
View previous topic Printable versionDownload TopicSubscribe to this topicPrivate MessagesRefresh page View next topic
Author Message
Moofassa




PostPosted: Wed Apr 13, 2005 8:11 am   Post subject: Turing Functions.

mod div ceil floor. These are all predefined functions in turing. I know what they do, but im curious to know how they work. What is the actual code behind these functions?

ex. function mod
this does this then
this
bla end mod

yeah, anyone know?
Sponsor
Sponsor
Sponsor
sponsor
jamonathin




PostPosted: Wed Apr 13, 2005 8:31 am   Post subject: (No subject)

Think of how those commands work. I'll let you figure it out yourself.

Hint: Use if statements and round
Moofassa




PostPosted: Wed Apr 13, 2005 8:34 am   Post subject: (No subject)

Ok Thanks. I have another question, though. Would you know how to get the Greatest Common Divisor out of two numbers?

For example:
GCD of 25 and 15 = 5
Tony




PostPosted: Wed Apr 13, 2005 8:48 am   Post subject: (No subject)

Turing:

function GCD (num1, num2 : int) : int
    var fac1, fac2 : flexible array 0 .. 0 of int
    for i : 1 .. num1
        if num1 mod i = 0 then
            new fac1, upper (fac1) + 1
            fac1 (upper (fac1)) := i
            put i
        end if
    end for
    put "**"
    for i : 1 .. num2
        if num2 mod i = 0 then
            new fac2, upper (fac2) + 1
            fac2 (upper (fac2)) := i
            put i
        end if
    end for
    result 0
end GCD

put GCD (25, 15)

The above function displays all the factors of two numbers. What you then do is filter out all the factors that are unique to just one number or another (compare element in one array against all in another).

This should leave you with two identical arrays of common factors between the two numbers. Highest element is your answer
Duncan




PostPosted: Wed Apr 13, 2005 9:13 am   Post subject: (No subject)

Hey, I was just looking at your reply and was wondering what a "flexible array" and a "new" is in that program you wrote.

Thanks
Martin




PostPosted: Wed Apr 13, 2005 9:17 am   Post subject: (No subject)

Tony being a bad programmer.

Type 'flexible' in turing and press F10.
Duncan




PostPosted: Wed Apr 13, 2005 9:21 am   Post subject: (No subject)

I have done that but I still don't see what it does. Do you know the definition for a flexible array?
Martin




PostPosted: Wed Apr 13, 2005 9:28 am   Post subject: (No subject)

It's an array with a variable upper bound. It allows you to change the length of the array whenever you want.
Sponsor
Sponsor
Sponsor
sponsor
Moofassa




PostPosted: Wed Apr 13, 2005 9:34 am   Post subject: (No subject)

These are awesome thanks. Back to my original question. What is the actual code behind mod div ceil and floor. I've figured most of them out. but in my own crappy code. So just curious if any of you guys would help me out Smile thanks!
Martin




PostPosted: Wed Apr 13, 2005 10:23 am   Post subject: (No subject)

mod - gives the remainder when dividing two integers.
5 mod 3 is the remainder when 5 is divided by 3, or 2.

div - gives the largest integer less than the quotient of the two numbers.
5 div 2 is the largest integer less than (5/2) 2.5, or 2.

ceil - rounds a real number up to the least integer greater than the number.
ceil (2.3) = 3.

floor - rounds a real number down to the greatest integer less than the number.
floor (5.9) = 5
Display posts from previous:   
   Index -> Programming, Turing -> Turing Help
View previous topic Tell A FriendPrintable versionDownload TopicSubscribe to this topicPrivate MessagesRefresh page View next topic

Page 1 of 1  [ 10 Posts ]
Jump to:   


Style:  
Search: