Monografias.com > Sin categoría
Descargar Imprimir Comentar Ver trabajos relacionados

Lenguaje de programación para niños (página 3)




Enviado por jaimemontoya



Partes: 1, 2, 3, 4

'TextBox1.Text =
variabledeclaradasiono1

'TextBox2.Text =
variabledeclaradasiono2

'TextBox3.Text =
cadenavariabledeclaradasiono1

'TextBox4.Text =
cadenavariabledeclaradasiono2

'TextBox5.Text =
arreglovariablesenteras(1)

'TextBox6.Text =
arreglovariablescadena(1)

'TextBox7.Text =
Val(provisional1)

'TextBox8.Text =
Val(provisional3)

'TextBox9.Text =
variableenteraencontradaenlaasignacion

'TextBox1.Text =
variableenteraencontradaenlaasignacion

'TextBox2.Text =
variablecadenaencontradaenlaasignacion

'TextBox3.Text =
arreglovariablesenteras(1)

'TextBox4.Text =
arreglovariablescadena(1)

'TextBox1.Text = arreglo(1)

'TextBox2.Text = arreglo(2)

'TextBox3.Text = arreglo(3)

'TextBox4.Text = arreglo(4)

'TextBox5.Text = arreglo(5)

'TextBox6.Text = arreglo(6)

'TextBox7.Text = arreglo(7)

'TextBox1.Text = value

'TextBox1.Text =
contadordepalabrasporlinea

'TextBox2.Text = arreglo(1)

'TextBox3.Text = arreglo(5)

'TextBox6.Text = arreglo(4)

'TextBox7.Text = arreglo(5)

'TextBox8.Text = arreglo(6)

'TextBox9.Text = arreglo(7)

'TextBox10.Text = arreglo(8)

'TextBox1.Text = provisional1

'TextBox2.Text = provisional2

'TextBox3.Text = provisional3

'TextBox1.Text =
Strings.Right(arreglo(3), 1)

'TextBox1.Text =
arreglo(numero)

'TextBox1.Text = enter(1)

'TextBox2.Text = enter(2)

'TextBox3.Text = enter(3)

'TextBox4.Text = enter(4)

'TextBox1.Text =
Strings.Right(Strings.Left(arreglo(4), Strings.Len(arreglo(4)) –
2), Strings.Len(arreglo(4)) – 3)

'TextBox1.Text =
arreglovariablescadena(1)

'TextBox2.Text =
arreglovariablescadena(2)

'TextBox3.Text =
arreglovariablescadena(3)

'TextBox1.Text =
arreglovariablesenteras(1)

'TextBox2.Text =
arreglovariablescadena(1)

'TextBox3.Text =
contadordevariablesenteras

'TextBox4.Text =
contadordevariablescadena

'TextBox6.Text =
numerodepalabras

'TextBox1.Text = arreglo(1)

'TextBox2.Text = arreglo(2)

'TextBox3.Text = arreglo(3)

'TextBox4.Text = arreglo(4)

'TextBox5.Text = arreglo(5)

'TextBox8.Text =
arreglovariablesenteras(1)

'TextBox9.Text =
arreglovariablesenteras(2)

'If Len(arreglo(i)) = 4 And arreglo(i –
1) = "leer" Then 'Hay un paréntesis de apertura, una
variable, un paréntesis de cierre y un punto y coma al
final de línea. Antes de eso hay un read.

'arreglovariablesenteras(numeroarreglovariablesenteras)
= Mid(arreglo(i), 2, 1) 'Se están metiendo variables de
tipo entero al arreglo de variables.

'contadordevariablesenteras =
contadordevariablesenteras + 1

'numeroarreglovariablesenteras =
numeroarreglovariablesenteras + 1

''Else

'' If Len(arreglo(i)) = 2 Then 'Hay una
variable y un punto y coma al final de linea, se ha hecho una
asignacion.

''arreglovariablesenteras(numeroarreglovariablesenteras)
= Mid(arreglo(i), 1, 1)

''End If

'Else

' If Len(arreglo(i)) = 4 And arreglo(i –
1) = "leerl" Then

'arreglovariablescadena(numeroarreglovariablescadena) =
Mid(arreglo(i), 2, 1) 'Se están metiendo variables de tipo
cadena al arreglo.

'contadordevariablescadena =
contadordevariablescadena + 1

'numeroarreglovariablescadena =
numeroarreglovariablescadena + 1

' End If

'End If

'If caracter = Chr(10) Then 'No se
está trabajando con esto.

'enter(enternumero) = otrocontador 'No
se está trabajando con esto.

'enternumero = enternumero + 1 'No se
está trabajando con esto. 'enternumero almacena el
número de enter que hay en el RichTextBox1.Text. Osea el
número de líneas.

'otrocontador = 0 'No se está
trabajando con esto.

'End If 'No se está trabajando
con esto.

'arreglovariablescadena(numeroarreglovariablescadena) =
arreglo(i – 4)

'contadordevariablescadena =
contadordevariablescadena + 1

'For ii As Integer = 1 To
numeroarreglovariablescadena

'If provisional1 =
arreglovariablescadena(ii) Then 'De x + y guardarlo_en a;
provisional1 almacenaría x. Con esto se está
comparando con cada una de las variables cadena almacenadas en el
arreglo para ver si ya se ha inicializado con leer (variable)
ó dándole valores.

'cadenavariabledeclaradasiono1 = 1
'Cuando cadenavariabledeclaradasiono1 valga 1, entoncees las
variables utilizadas en la asignación ya han sido
declaradas. De lo contrario no han sido declaradas y se
mandará un mensaje más adelante en el código
donde se hará saber que se está utilizando una
variable sin haberla declarado antes.

'End If

'If provisional3 =
arreglovariablescadena(ii) Then 'De x + y guardarlo_en a;
provisional3 almacenaría y. Con esto se está
comparando con cada una de las variables cadena almacenadas en el
arreglo para ver si ya se ha inicializado con leer (variable)
ó dándole valores.

'cadenavariabledeclaradasiono2 = 1
'Cuando cadenavariabledeclaradasiono2 valga 1 , entonces las
variables utilizadas en la asignación ya han sido
declaradas. De lo contrario no han sido declaradas y se
mandará un mensaje más adelante en el código
donde se hará saber que se está utilizando una
variable sin haberla declarado antes.

'End If

'Next

'numeroarreglovariablescadena =
numeroarreglovariablescadena + 1

'arreglovariablesenteras(numeroarreglovariablesenteras)
= arreglo(i – 4)

'contadordevariablesenteras =
contadordevariablesenteras + 1

'For ii As Integer = 1 To
numeroarreglovariablesenteras 'Ciclo para determinar si las
variables utilizadas dentro de una asignación ya han sido
inicializadas o se están utilizando sin haberlas antes
declarado o sin haberles dado valores.

'If provisional1 =
arreglovariablesenteras(ii) Then 'De x + 3 guardarlo_en x;
provisional1 almacenaría x. Con esto se está
comparando con cada una de las variables enteras almacenadas en
el arreglo para ver si ya se ha inicializado con leer (variable)
ó dándole valores.

'variabledeclaradasiono = 1 'Cuando
variabledeclaradasiono valga 1, entoncees las variables
utilizadas en la asignación ya han sido declaradas. De lo
contrario no han sido declaradas y se mandará un mensaje
más adelante en el código donde se hará
saber que se está utilizando una variable sin haberla
declarado antes.

'End If

'If provisional3 =
arreglovariablesenteras(ii) Then 'De x + 3 guardarlo_en x;
provisional3 almacenaría 3. Con esto se está
comparando con cada una de las variables enteras almacenadas en
el arreglo para ver si ya se ha inicializado con leer (variable)
ó dándole valores.

'variabledeclaradasiono = 1 'Cuando
variabledeclaradasiono valga 1, entoncees las variables
utilizadas en la asignación ya han sido declaradas. De lo
contrario no han sido declaradas y se mandará un mensaje
más adelante en el código donde se hará
saber que se está utilizando una variable sin haberla
declarado antes.

'End If

'Next

'numeroarreglovariablesenteras =
numeroarreglovariablesenteras + 1

'If (variabledeclaradasiono1 <> 1
Or variabledeclaradasiono2 <> 1 Or
cadenavariabledeclaradasiono1 <> 1 Or
cadenavariabledeclaradasiono2 <> 1) And lineade5palabras =
1 Then 'Porque si no es igual a uno la variable
lineadecincopalabras significa que no hubo ninguna
asignación, entonces variabledeclaradasiono1 siempre
sería diferente de uno y por lo tanto todo el tiempo se
estaría diciendo que se ha utilizado una variable sin
haberla declarado, incluso cuando ni siquiera se haya hecho una
asignación. Por lo tanto hay dos condiciones en este if
para que se llegue a decir que se ha utilizado una variable sin
haberla asignado antes.

'RichTextBox2.Text = ""

'MsgBox("Está utilizando una
variable que no ha sido declarada", MsgBoxStyle.OkOnly,
"Error")

'RichTextBox1.Focus()

'End If

End Sub

Private Sub
SalirDelProgramaToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
SalirDelProgramaToolStripMenuItem.Click

Dim mensaje
As Integer

mensaje = MsgBox("¿Quieres realmente salir del programa?", vbYesNo,
"Cerrando…")

If mensaje = 6
Then

Form3.Show()

Me.Hide()

End If

End Sub

Private Sub PictureBox1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)

End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

RichTextBox1.Text = ""

RichTextBox2.Text = ""

End Sub

Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click

Dim mensaje
As Integer

mensaje = MsgBox("¿Quieres realmente salir del
programa?", vbYesNo, "Cerrando…")

If mensaje = 6
Then

Form3.Show()

Me.Hide()

End If

End Sub

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click

Dim ejemplo1nino
As String

Dim ejemplo1pascal
As String

ejemplo1nino = "inicio" & Chr(10) &
"leer (numero1);" &
Chr(10) & "leerl
(palabra1);" & Chr(10) & "leers (numero2);" & Chr(10)
& "leerls (palabra2);"
& Chr(10) & "numero1 +
3 guardarlo_en nuevonumero;" & Chr(10)
& "fin"

ejemplo1pascal = "program
lenguaje_para_ninos (input, output);" & Chr(10)
& "var numero1 :
integer;" & Chr(10) & " numero2 : integer;" & Chr(10)
& " palabra1 : string;"
& Chr(10) & " palabra2
: string;" & Chr(10) & "begin" & Chr(10) &
"read (numero1);" &
Chr(10) & "read
(palabra1);" & Chr(10) & "readln (numero2);" & Chr(10)
& "readln (palabra2);"
& Chr(10) & "nuevonumero := numero1 + 3;" &
Chr(10) & "end"

RichTextBox1.Text = ejemplo1nino

RichTextBox2.Text = ejemplo1pascal

End Sub

Private Sub
Ejemplo1ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
Ejemplo1ToolStripMenuItem.Click

Dim ejemplo1nino
As String

Dim ejemplo1pascal
As String

ejemplo1nino = "inicio" & Chr(10) &
"leer (numero1);" &
Chr(10) & "leerl
(palabra1);" & Chr(10) & "leers (numero2);" & Chr(10)
& "leerls (palabra2);"
& Chr(10) & "numero1 +
3 guardarlo_en nuevonumero;" & Chr(10)
& "fin"

ejemplo1pascal = "program
lenguaje_para_ninos (input, output);" & Chr(10)
& "var numero1 :
integer;" & Chr(10) & " numero2 : integer;" & Chr(10)
& " palabra1 : string;"
& Chr(10) & " palabra2
: string;" & Chr(10) & "begin" & Chr(10) &
"read (numero1);" &
Chr(10) & "read
(palabra1);" & Chr(10) & "readln (numero2);" & Chr(10)
& "readln (palabra2);"
& Chr(10) & "nuevonumero := numero1 + 3;" &
Chr(10) & "end"

RichTextBox1.Text = ejemplo1nino

RichTextBox2.Text = ejemplo1pascal

End Sub

Private Sub
BorrarTodoToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
BorrarTodoToolStripMenuItem.Click

RichTextBox1.Text = ""

RichTextBox2.Text = ""

End Sub

Private Sub
TraducirALenguajePascalToolStripMenuItem_Click(ByVal
sender As
System.Object, ByVal
e As
System.EventArgs) Handles
TraducirALenguajePascalToolStripMenuItem.Click

Dim longituddecadena
As Integer

Dim caracter
As String

Dim cadena
As String

Dim
caractersiguiente As
String

Dim contador
As Integer

Dim arreglo(1000)
As String

Dim enter(1000)
As String 'No se está
trabajando con esto.'Cada elemento de este arreglo contiene el
número de palabras por línea. Por ejemplo,
enter(5)=3 significa que hay tres palabras en la línea
5.

Dim numero
As Integer

Dim numerodepalabras
As Integer

Dim palabra
As String

Dim programa
As String

Dim enternumero
As Integer

Dim otrocontador
As Integer

Dim
arreglodeclararvariablesenteras(1000) As String

Dim
arreglodeclararvariablescadena(1000) As String

Dim
arreglovariablesenteras(1000) As String
'arreglo que guarda las
variables.

Dim
numeroarreglovariablesenteras As Integer

Dim
arreglovariablescadena(1000) As String

Dim
numeroarreglovariablescadena As Integer

Dim
contadordevariablesenteras As Integer

Dim
concatenardeclaraciondevariablesenteras As String

Dim
contadordevariablescadena As Integer

Dim
concatenardeclaraciondevariablescadena As String

Dim
contadordepalabrasporlinea As Integer

Dim provisional1
As String

Dim provisional2
As String

Dim provisional3
As String

Dim
variabledeclaradasiono1 As Integer

Dim
variabledeclaradasiono2 As Integer

Dim lineade5palabras
As Integer 'Para evaluar si
hubo línea de asignación y ver si se ha utilizado
variable sin que antes haya sido declarada.

Dim
ambiguedaddeoperadores As Integer

Dim
variableenteraencontradaenlaasignacion As Integer
'Se le pondrá el valor de 1 a
esta variable cuando en una asignación se estén
utilizando variables de tipo entero, es decir variables que se
hayan declarado como enteras.

Dim
variablecadenaencontradaenlaasignacion As Integer
'Se le pondrá el valor de 1 a esta
variable cuando en una asignación se estén
utilizando variables de tipo cadena, es decir variables que se
hayan declarado como cadena.

Dim
cadenavariabledeclaradasiono1 As Integer

Dim
cadenavariabledeclaradasiono2 As Integer

Randomize() 'Inicializa el
generador de números random.

Dim value
As Integer = CInt(Int((6 * Rnd()) + 1))
'Genera un número random entre 1 y
6. Esto se ocupará más adelante para darle colores
aleatorios al RichTextBox1.Text y al
RichTextBox2.Text.

concatenardeclaraciondevariablesenteras =
"var "

concatenardeclaraciondevariablescadena =
""

numeroarreglovariablesenteras = 1

numeroarreglovariablescadena = 1

enternumero = 1

palabra = ""

numero = 1

cadena = LCase(Trim(RichTextBox1.Text))

longituddecadena = Len(RichTextBox1.Text)

For i As Integer =
1 To
longituddecadena

caracter = Mid(cadena, i, 1) 'La variable caracter evalúa caracter por
caracter desde el primero hasta el último.

If caracter =
" " Or
caracter = Chr(10) Then
'Si el caracter que se está
evaluando es un espacio en blanco o un enter, entonces tomamos
eso como parámetro para evaluar si lo que sigue es otro
espacio en blanco, y si no fuera así, se concluye que ya
hay una palabra.

caractersiguiente = Mid(cadena, i + 1, 1)
'variable que evalúa lo que hay
después del carácter evaluado por el for, para saber si
hay dos o más espacios juntos y no tomarlos en cuenta como
palabra.

If caractersiguiente
<> " " And caractersiguiente <>
Chr(10) And
caractersiguiente <> Chr(13) Then 'Osea que NO hay dos
o más espacios en blanco juntos.

contador = contador + 1 'El
CONTADOR DE PALABRAS incrementa en uno hasta que lo que hay
después de un espacio en blanco ya no es otro espacio en
blanco, sino que una letra.

otrocontador = otrocontador + 1 'No se está trabajando con esto.

End If

End If

If caracter <>
" " And
caracter <> Chr(10) Then

palabra = palabra + caracter 'La variable palabra almacena palabras
completas.

arreglo(numero) = palabra 'AQUI SE METEN PALABRAS A CADA ELEMENTO DEL ARREGLO DE
PALABRAS. La variable numero es el número de elemento del
arreglo.

Else

If caractersiguiente
<> " " And caractersiguiente <>
Chr(10) And
caractersiguiente <> "" Then

palabra = ""
'Palabra vuelve a valer nada porque
terminó una palabra, y hay que comenzar de cero para
almacenar otra nueva palabra.

numero = numero + 1 'Aumenta para que el elemento del arreglo cambie de
número porque se quiere almacenar una siguiente o una
nueva palabra.

End If

End If

Next

numerodepalabras = contador + 1 'Almacena el número total de palabras que hay en
el RichTextBox.Text

For i As Integer =
1 To
numerodepalabras 'Este For
sirve exclusivamente para capturar las variables de tipo entero,
pero no sirve para cambiar palabras, sino que eso lo hace el For
que viene después.

If arreglo(i) =
"leer" Or arreglo(i) = "leers" Then

arreglovariablesenteras(numeroarreglovariablesenteras) =
Strings.Right(Strings.Left(arreglo(i + 1), Strings.Len(arreglo(i
+ 1)) – 2), Strings.Len(arreglo(i + 1)) – 3)

contadordevariablesenteras = contadordevariablesenteras
+ 1

numeroarreglovariablesenteras =
numeroarreglovariablesenteras + 1

Else

If arreglo(i) =
"leerl" Or arreglo(i) = "leerls" Then

arreglovariablescadena(numeroarreglovariablescadena) =
Strings.Right(Strings.Left(arreglo(i + 1), Strings.Len(arreglo(i
+ 1)) – 2), Strings.Len(arreglo(i + 1)) – 3) 'Tomando la variable sin incluir el punto y coma final
ni el paréntesis de apertura ni de cierre.

contadordevariablescadena = contadordevariablescadena +
1

numeroarreglovariablescadena =
numeroarreglovariablescadena + 1

End If

End If

Next

For i As Integer =
1 To numero
'Todo lo que se hace dentro de este For es
para cambiar el orden de asignación, pues el niño
pone x + 3 guardarlo_en x; y el programa debe generar x = x +
3;.

contadordepalabrasporlinea = contadordepalabrasporlinea
+ 1

If arreglo(i) =
"inicio" Or arreglo(i) = "entonces" Or
arreglo(i) = "hacer"
Or arreglo(i) =
"de_lo_contrario" Or Strings.Right(arreglo(i), 1) =
";" Then 'Cualquiera de estos
casos se daría con una palabra que marca el final de
una línea.

If
Strings.Right(arreglo(i), 1) = ";" Then

If
contadordepalabrasporlinea = 5 Then 'Porque en x + 3
guardarlo_en x; hay 5 palabras, y se cambiará mediante lo
que hay dentro del if a x = x + 3;

lineade5palabras = 1 'Para
evaluar si hubo línea de asignación y ver si se ha
utilizado variable sin que antes haya sido declarada.

provisional1 = arreglo(i – 4)

provisional2 = arreglo(i – 3)

provisional3 = arreglo(i – 2)

arreglo(i – 4) = Strings.Right(Strings.Left(arreglo(i),
Strings.Len(arreglo(i)) – 1), Strings.Len(arreglo(i)) – 1)
'Con esto se cambia de x + 3 guardarlo_en
x; a x = x + 3, cambiando el elemento x; por x en otra
posición del arreglo.

arreglo(i – 3) = arreglo(i – 1)

arreglo(i – 2) = provisional1

arreglo(i – 1) = provisional2

arreglo(i) = provisional3 & ";" 'Como se ha cambiado
de la forma x + 3 guardarlo_en x; a la forma x = x + 3;, entonces
ya con los arreglos modificados hay que poner un punto y coma al
final del 3 para tener x = x + 3; y ya queda todo
listo.

For a As Integer =
1 To
contadordevariablesenteras

If arreglo(i – 2) =
arreglovariablesenteras(a) Then 'La a irá
cambiando valor desde 1 hasta contadordevariablescadena, que
contiene el número de elemento de la última
variable de tipo entero almacenada en el arreglo de variables
enteras.

variableenteraencontradaenlaasignacion = 1
'Con darle el valor de 1 se sabrá
que efectivamente en la asignación hay una variable
entera.

End If

If provisional3 =
arreglovariablesenteras(a) Then 'No se le pone
arreglo(i) sino que provisional3, porque a estas alturas ya
llevaría concatenado un punto y coma al final.

variableenteraencontradaenlaasignacion = 1

End If

Next

For b As Integer =
1 To
contadordevariablescadena

If arreglo(i – 2) =
arreglovariablescadena(b) Then 'arreglo(i-2) es lo
mismo que provisional1

variablecadenaencontradaenlaasignacion = 1

End If

If provisional3 =
arreglovariablescadena(b) Then 'No se le pone
arreglo(i) sino que provisional3, porque a estas alturas ya
llevaría concatenado un punto y coma al final.

variablecadenaencontradaenlaasignacion = 1

End If

Partes: 1, 2, 3, 4
 Página anterior Volver al principio del trabajoPágina siguiente 

Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

Categorias
Newsletter