1
1
Fork 0
mirror of https://github.com/QB64-Phoenix-Edition/QB64pe.git synced 2024-07-26 15:35:53 +00:00
QB64-PE/internal/help/SQR.txt
SMcNeill 6e01fc8dce Altered string compare routines (<,<=,>,>=) so they don't give false results with CHR$(0).
Added new _STRCMP and _STRICMP commands for quick string comparisons.
Cleaned up QB64 to finish removing the QUI (quick user insert) code and folders.
Altered UCASE and LCASE routines to be faster in some situations for us.
2014-09-22 08:19:03 -04:00

78 lines
2.5 KiB
Plaintext

The '''SQR''' function returns the square root of a numerical value.
{{PageSyntax}}
:: square_root = SQR(value)
* The ''square root'' returned is normally a [[SINGLE]] or [[DOUBLE]] numerical value.
* The ''value'' parameter can be any '''positive''' numerical type. '''Negative parameter values will not work!'''
* Other exponential root functions can use fractional exponents([[^]]) enclosed in '''parenthesis only'''. EX: {{text|root &lt;nowiki&gt; = &lt;/nowiki&gt; c ^ (a / b)|green}}
''Example 1:'' Finding the hypotenuse of a right triangle:
{{CodeStart}} '' ''
A% = 3: B% = 4
PRINT &quot;hypotenuse! =&quot;; SQR((A% ^ 2) + (B% ^ 2)) '' ''
{{CodeEnd}}
{{OutputStart}}
hypotenuse = 5
{{OutputEnd}}
''Example 2:'' Finding the Cube root of a number.
{{CodeStart}} '' ''
number = 8
cuberoot = number {{Cl|^}} (1/3)
PRINT cuberoot '' ''
{{CodeEnd}}
{{OutputStart}}
2
{{OutputEnd}}
''Example 3:'' Negative roots return fractional values of one.
{{CodeStart}} '' ''
number = 8
negroot = number {{Cl|^}} -2
PRINT negroot '' ''
{{CodeEnd}}
{{OutputStart}}
.015625
{{OutputEnd}}
:''Explanation:'' A negative root means that the exponent value is actually inverted to a fraction of 1. So x ^ -2 actually means the result will be: 1 / (x ^ 2).
''Example 4:'' Fast Prime number checker limits the numbers checked to the square root (half way).
{{CodeStart}}
DEFLNG P
DO
PRIME = -1 'set PRIME as True
INPUT &quot;Enter any number to check up to 2 million (Enter quits): &quot;, guess$
PR = {{Cl|VAL}}(guess$)
IF PR {{Cl|MOD}} 2 THEN 'check for even number
FOR P = 3 TO {{Cl|SQR}}(PR) STEP 2 'largest number that could be a multiple is the SQR
IF PR {{Cl|MOD}} P = 0 THEN PRIME = 0: EXIT FOR 'MOD = 0 when evenly divisible by another
NEXT
ELSE : PRIME = 0 'number to be checked is even so it cannot be a prime
END IF
IF PR = 2 THEN PRIME = -1 '2 is the ONLY even prime
IF PR = 1 THEN PRIME = 0 'MOD returns true but 1 is not a prime by definition
IF PRIME THEN PRINT &quot;PRIME! How'd you find me? &quot; ELSE PRINT &quot;Not a prime, you lose!&quot;
LOOP UNTIL PR = 0 '' ''
{{CodeEnd}}
{{OutputStart}}
Enter any number to check up to 2 million (Enter quits): 12379
PRIME! How'd you find me?
{{OutputEnd}}
&lt;center&gt;''Note:'' Prime numbers cannot be evenly divided by any other number except one.&lt;/center&gt;
''See also:''
*[[MOD]] {{text|(integer remainder division)}}
*[[^]] {{text|(exponential operator)}}
*[[Mathematical Operations]]
*[[Mathematical_Operations#Derived_Mathematical_Functions|Derived Trigonometric Functions]]
{{PageNavigation}}