Examples in Gambas (#5) by @vdelacruzjardon

This commit is contained in:
vdelacruzjardon
2016-09-16 13:41:52 -05:00
committed by Aditya Bhargava
parent e2a4153e80
commit 0aec97dbf2
41 changed files with 355 additions and 0 deletions

Binary file not shown.

View File

@@ -0,0 +1,7 @@
# Gambas Project File 3.0
# Compiled with Gambas 3.5.4
Title=01_loop_sum
Startup=loop_sum
Version=0.0.1
TabSize=2
Packager=1

View File

@@ -0,0 +1,15 @@
' Gambas module file
Function sum(arr As Integer[]) As Integer
Dim total, x As Integer
total = 0
For x = 0 To arr.Length - 1
total += arr[x]
Next
Return total
End
Public Sub Main()
Print sum([1, 2, 3, 4, 5])
End

View File

@@ -0,0 +1,7 @@
loop_sum
01_loop_sum
0
0
0.0.1

View File

@@ -0,0 +1,7 @@
# Gambas Project File 3.0
# Compiled with Gambas 3.5.4
Title=02_recursive_count
Startup=recursive_count
Version=0.0.1
TabSize=2
Packager=1

View File

@@ -0,0 +1,13 @@
' Gambas module file
Function count(list As Float[]) As Float
If list.Length = 0 Then
Return 0
Endif
Return 1 + count(list.Copy(1, list.Length - 1))
End
Public Sub Main()
Print count([0, 1, 2, 3, 4, 5]) '6
End

View File

@@ -0,0 +1,7 @@
recursive_count
02_recursive_count
0
0
0.0.1

View File

@@ -0,0 +1,7 @@
# Gambas Project File 3.0
# Compiled with Gambas 3.5.4
Title=02_recursive_sum
Startup=recursive_sum
Version=0.0.1
TabSize=2
Packager=1

View File

@@ -0,0 +1,13 @@
' Gambas module file
Function sum(list As Float[]) As Float
If list.Length = 0 Then
Return 0
Endif
Return list[0] + sum(list.Copy(1, list.Length - 1))
End
Public Sub Main()
Print sum([1, 2, 3, 4])
End

View File

@@ -0,0 +1,7 @@
recursive_sum
02_recursive_sum
0
0
0.0.1

View File

@@ -0,0 +1,7 @@
# Gambas Project File 3.0
# Compiled with Gambas 3.5.4
Title=04_recursive_max
Startup=recursive_max
Version=0.0.1
TabSize=2
Packager=1

View File

@@ -0,0 +1,25 @@
' Gambas module file
Function mymax(list As Float[]) As Float
Dim sub_max As Float
If list.Length = 2 Then
If list[0] > list[1] Then
Return list[0]
Else
Return list[1]
Endif
Endif
sub_max = mymax(list.Copy(1, list.Length - 1))
If list[0] > sub_max Then
Return list[0]
Else
Return sub_max
Endif
End
Public Sub Main()
Print mymax([1, 5, 10, 25, 16, 1]) '25
End

View File

@@ -0,0 +1,7 @@
recursive_max
04_recursive_max
0
0
0.0.1

Binary file not shown.

View File

View File

@@ -0,0 +1,7 @@
# Gambas Project File 3.0
# Compiled with Gambas 3.5.4
Title=05_quicksort
Startup=quicksort
Version=0.0.1
TabSize=2
Packager=1

View File

@@ -0,0 +1,39 @@
' Gambas module file
Function quicksort(myarray As Float[]) As Float[]
Dim pivot As Float
Dim i As Integer
Dim less, greater, r As New Float[]
If myarray.Length < 2 Then
Return myarray
Else
pivot = myarray[0]
For i = 1 To myarray.Length - 1
If myarray[i] <= pivot Then
less.add(myarray[i])
Else
greater.add(myarray[i])
End If
Next
Endif
r.Insert(quicksort(less))
r.Add(pivot)
r.Insert(quicksort(greater))
Return r
End
Public Sub Main()
Dim myarray As Float[]
Dim element As Float
Dim x As Integer
myarray = [10, 5, 2, 3]
myarray = quicksort(myarray)
For Each element In myarray
Print element
Next
End

View File

@@ -0,0 +1,7 @@
quicksort
05_quicksort
0
0
0.0.1