|     Inicio    |   |         |  |   FOROS      |  |      |      
   Elastix - VoIP B4A (Basic4Android) App inventor 2 PHP - MySQL
  Estación meteorológica B4J (Basic4Java) ADB Shell - Android Arduino
  AutoIt (Programación) Visual Basic Script (VBS) FireBase (BD autoactualizable) NodeMCU como Arduino
  Teleco - Emisora de A.M. Visual Basic Cosas de Windows Webs interesantes
T Búsqueda en este sitio:


.

B4A en español - Juan Antonio Villalpando
(BASIC4Android)

-- Tutorial de B4A --

Volver al índice del tutorial

____________________________

56B- Programas básicos II. Multiplicar. Media.

Aquí voy a exponer una serie de programa básicos y sencillos de entender, posiblemente esta página podría estar en el comienzo del tutorial, pero ha quedado en un lugar más avanzado.

- Tabla de multiplicar.
- Media aritmética.
- Cuenta letras.

__________________________
1.- Tabla de multiplicar.

Escribimos un número y nos realiza la tabla de multiplicar de ese número.
Si el número que introducimos no está comprendido entre el 1 y el 20 nos sale un mensaje de error.

Designer

Mediante el Designer creamos un "Layout" con

Label1 ......Text.... Introduce un número del 1 al 20

EditText1

Button1.... Text... Pulsa

Label2, este Label lo agrandamos bastante como indica la figura de la izquierda.


Copia y pega este código en un nuevo proyecto
Sub Process_Globals
' Juan Antonio Villalpando
' juana1991@yahoo.com

' abril 2013
End Sub

Sub Globals
Dim Label2 As Label
Dim EditText1 As EditText
Dim resultado, multiplicando, multiplicador As Int
Dim todo As String

End Sub

Sub Activity_Create(FirstTime As Boolean)
   Activity.LoadLayout("Layout")
End Sub Sub Activity_Resume End Sub Sub Activity_Pause (UserClosed As Boolean) End Sub Sub Button1_Click multiplicando = EditText1.text If multiplicando > 20 OR multiplicando < 1 Then Msgbox("El multiplicando no está entre los límites deseados.", "Error") Else For multiplicador = 1 To 10 resultado = multiplicando * multiplicador todo = todo & multiplicando & " X" & multiplicador & " = " & resultado & CRLF Next Label2.text = todo End If
End Sub

- Comprobamos si el número está entre los límites:

If multiplicando > 20 OR multiplicando < 1 Then

- En caso que esté entre los límites entra en un bucle For
Desde que multiplicador es 1 Hasta que sea 10

realiza el resultado de multiplicando por multiplicador
guarda en todo el contenido anterior del todo y agrégale multiplicando & " X" & multiplicador & " = " & resultado & CRLF
CRLF significa cambio de línea

Cuando termine de realizar todas las multiplicaciones en todo tendremos todo el proceso.
Presentamos todo en el Label2.

________________________________________________

2.- Media aritmética.

Escribimos números y nos va calculando la media aritmética.

Designer

Mediante el Designer creamos un "Layout" con

Label1 ......Text.... Introduce un número

EditText1

Button1.... Text... Pulsa
Button2
.... Text... Borrar todo

Label2
Label3
Label4
Label5

 


Copia y pega este código en un nuevo proyecto
Sub Process_Globals
' Juan Antonio Villalpando
' juana1991@yahoo.com

' abril 2013
End Sub

Sub Globals
   Dim numero, elementos, suma As Int
   Dim media As Float
   Dim todos As String
   Dim EditText1 As EditText
   Dim Label2, Label3, Label4, Label5 As Label
   numero = 0: elementos = 0: suma = 0
End Sub

Sub Activity_Create(FirstTime As Boolean)
    Activity.LoadLayout("Layout")
    ' Número en la derecha del EditText
    EditText1.Gravity = Gravity.RIGHT
    ' Focus en el EditText
    EditText1.RequestFocus
End Sub

Sub Activity_Resume

End Sub

Sub Activity_Pause (UserClosed As Boolean)

End Sub

Sub Button1_Click    
    If EditText1.Text = "" Then
    Msgbox("No has introducido ningún número.", "Error")
    
    Else
    numero = EditText1.Text
    ' Se van acumulando todos los números introducidos
    todos =  todos & numero & " - "
    Label2.Text = todos
    
    elementos = elementos + 1
    suma = suma + numero
    media = suma / elementos
    
    Label3.Text = "Elementos = " & elementos
    Label4.Text = "Suma = " & suma
    Label5.Text = "Media = " & Round2(media, 3) ' Con tres decimales.
    End If
    
    EditText1.Text = ""
End Sub

Sub Button2_Click
    EditText1.Text = ""
    elementos = 0
    suma = 0
    media = 0
    todos = ""
    
    Label2.Text = ""
    Label3.Text = "Elementos = "
    Label4.Text = "Suma = "
    Label5.Text = "Media = "
    
End Sub

_______________________
- Comentarios.

- Se pueden poner varias instrucciones en un mismo renglón separado por :

numero = 0: elementos = 0: suma = 0

Label2.Text = "" : Label3.Text = "Elementos = " : Label4.Text = "Suma = " : Label5.Text = "Media = "

- Se puede borrar el contenido de una cadena (String) mediante ""

Label2.Text = ""

- Focus significa el elemento que está preparado para recibir un evento (un número, una pulsación...)

________________________________________________

3.- Cuenta letras.

Escribimos un texto en el EditText1 y un carácter en el EditText2, que se encuentre en el texto anterior,
cuando pulsemos el Button1 nos contará la cantidad de ese caracter que exista en el texto.

Designer

Mediante el Designer creamos un "Layout" con

Label1 ......Text.... Escribe un texto

EditText1

Label2 ......Text.... Escribe un carácter del texto anterior

EditText1

Button1.... Text... Pulsa
Button2
.... Text... Borrar todo

Label3

En el TextBox1 he puesto:
Vertical Alignement: TOP para que se empiece a escribir desde arriba

Single Line: False para que permita varios renglones.

 

Copia y pega este código en un nuevo proyecto
Sub Process_Globals
' Juan Antonio Villalpando
' juana1991@yahoo.com
' abril 2013
End Sub

Sub Globals
    Dim texto, letra, caracter As String
    Dim EditText1, EditText2 As EditText
    Dim Label3 As Label
    Dim longitud, c As Int
End Sub

Sub Activity_Create(FirstTime As Boolean)
   Activity.LoadLayout("Layout")
End Sub

Sub Activity_Resume

End Sub

Sub Activity_Pause (UserClosed As Boolean)

End Sub

Sub Button1_Click
    texto = EditText1.Text
    letra = EditText2.Text
    longitud=texto.Length
    
    For n = 1 To longitud
    caracter = texto.SubString2(n-1,n)
    If caracter=letra Then
    c = c + 1
    End If
    Next
    
    Label3.text = "El texto anterior tiene " & c & " carácteres " & letra
End Sub

Sub Button2_Click
    EditText1.Text=""
    EditText2.Text=""
    c=0
    Label3.Text=""
End Sub

________________________________________________
- Comentarios

- caracter = texto.SubString2(n-1,n) Con esta línea vamos tomando carácter a carácter.
- Cada vez que tomamos un carácter del texto lo compramos con la letra escrita en el TextBox2.
- En caso que sean iguales, se acumula la cuenta.

________________________________________________

4.- Velocidad, espacio y tiempo.

Escribimos

Designer

Mediante el Designer creamos un "Layout" con

Label1 ......Text.... Distancia

SeekBar1

Label2 ......Text.... Tiempo

SeekBar1

Label3 ......Text.... Velocidad

SeekBar1

 

 

Copia y pega este código en un nuevo proyecto
Sub Process_Globals
' Juan Antonio Villalpando
' juana1991@yahoo.com
' abril 2013
End Sub

Sub Globals
 Dim velocidad, espacio, tiempo As Float
 Dim SeekBar1, SeekBar2, SeekBar3 As SeekBar
 Dim Label1, Label2, Label3 As Label
 velocidad = 50 : espacio = 50 : tiempo = 50
End Sub

Sub Activity_Create(FirstTime As Boolean)
    Activity.LoadLayout("Layout")
End Sub

Sub Activity_Resume

End Sub

Sub Activity_Pause (UserClosed As Boolean)

End Sub

Sub Button1_Click
    espacio = SeekBar1.Value
    tiempo = SeekBar2.Value
    velocidad = SeekBar3.Value
    velocidad = espacio / tiempo
    Label1.Text = "Distancia = " & espacio & " km"
    Label2.Text = "Tiempo = " & espacio & " horas"
    Label3.Text = "Velocidad = " & espacio & " km/h"
End Sub
Sub SeekBar1_ValueChanged (Value As Int, UserChanged As Boolean)
    espacio = SeekBar1.Value
    velocidad = espacio /  tiempo
    tiempo = espacio / velocidad
    Label1.Text = "Distancia = " & Round2(espacio,2) & " km"
    Label2.Text = "Tiempo = " & Round2(tiempo,2) & " horas"
    Label3.Text = "Velocidad = " & Round2(velocidad,2) & " km/h"
    ' Calculo
End Sub
Sub SeekBar2_ValueChanged (Value As Int, UserChanged As Boolean)
    tiempo = SeekBar2.Value / 60
    espacio = velocidad * tiempo
    velocidad = espacio / tiempo
    Label1.Text = "Distancia = " & Round2(espacio,2) & " km"
    Label2.Text = "Tiempo = " & Round2(tiempo,2) & " horas"
    Label3.Text = "Velocidad = " & Round2(velocidad,2) & " km/h"
    ' Calculo
End Sub
Sub SeekBar3_ValueChanged (Value As Int, UserChanged As Boolean)
    velocidad = SeekBar3.Value
    espacio = velocidad * tiempo
    tiempo = espacio / velocidad
    Label1.Text = "Distancia = " & Round2(espacio,2) & " km"
    Label2.Text = "Tiempo = " & Round2(tiempo,2) & " horas"
    Label3.Text = "Velocidad = " & Round2(velocidad,2) & " km/h"
    ' Calculo
End Sub

Sub Calculo
  '  espacio = SeekBar1.Value
    'tiempo = SeekBar2.Value
    'velocidad = SeekBar3.Value
    velocidad = espacio / tiempo
    espacio = velocidad * tiempo
    tiempo = espacio / velocidad
    Label1.Text = "Distancia = " & Round2(espacio,2) & " km"
    Label2.Text = "Tiempo = " & Round2(tiempo,2) & " horas"
    Label3.Text = "Velocidad = " & Round2(velocidad,2) & " km/h"
End Sub

________________________________

- Mi correo:
juana1991@yahoo.com
- KIO4.COM - Política de cookies. Textos e imágenes propiedad del autor:
© Juan A. Villalpando
No se permite la copia de información ni imágenes.
Usamos cookies propias y de terceros que entre otras cosas recogen datos sobre sus hábitos de navegación y realizan análisis de uso de nuestro sitio.
Si continúa navegando consideramos que acepta su uso. Acepto    Más información