Volver a la portadaInformática · 10.° grado de Preuniversitario · Cambiar asignatura
Empezar gratis
10° grado · Informática
Introducción a la programación orientada a objetos y conducida por eventos · Programación orientada a objetos y dirigida por eventos con LiveCode

Entrada y salida de datos en LiveCode

Daniela hace una aplicación para calcular cuánto debe pagar por la electricidad del mes. El usuario escribe los kWh consumidos en un campo y, al hacer clic en un botón, el resultado debe aparecer en otro campo. ¿Cómo «viaja» el dato desde lo que escribe la persona hasta el resultado en pantalla? Lo vas a ver en este apartado y volverás a esta pregunta al final.

Los campos como entrada y salida

Todo programa hace tres cosas: recibe datos (entrada), los procesa y muestra resultados (salida). En LiveCode, la interfaz más sencilla para esto son los campos de la tarjeta:

  • Un campo donde el usuario escribe es la entrada.

  • Un campo donde el programa muestra el valor calculado es la salida.

  • El botón con su evento mouseUp es lo que pone todo en marcha.

Esquema de entrada, proceso y salida: campo de entrada, variable, cálculo y campo de salida, activados por un botón Campo entrada Variable y cálculo Campo salida put put Botón: mouseUp

Lo que el usuario escribe en un campo es siempre texto para LiveCode, pero si son dígitos, LiveCode lo trata como número cuando haces cálculos con él.

Practica★☆☆Sin empezar
Escribe la instrucción de LiveCode que muestra en el campo «resultado» el contenido de la variable total. Explica por qué un campo es adecuado para presentar la salida…

Escribe la instrucción de LiveCode que muestra en el campo «resultado» el contenido de la variable total.

Explica por qué un campo es adecuado para presentar la salida de datos a quien usa el programa.

Resolver

Leer un dato: put field … into

Para leer un dato se copia el contenido del campo en una variable:

put field "edad" into x

Se lee así: «pon el contenido del campo edad dentro de la variable x». El valor sale de lo que el usuario escribió en ese campo justo antes de hacer clic en el botón. A partir de ahí, x guarda ese valor y puedes usarlo en cálculos.

Practica★☆☆Sin empezar
En LiveCode, la instrucción se usa con frecuencia para leer datos. Explica qué hace y de dónde sale el valor que se guarda en x.

En LiveCode, la instrucción

put field "edad" into x

se usa con frecuencia para leer datos.

Explica qué hace y de dónde sale el valor que se guarda en x.

Resolver

Mostrar un resultado: put … into field

Para mostrar un resultado se hace al revés: se pone un valor o una expresión dentro de un campo.

put total into field "resultado"

put L * 4 into field "perimetro"

Fíjate en que put … into sirve para las dos cosas: guardar en una variable o mostrar en un campo. Lo que cambia es el destino.

Practica★☆☆Sin empezar
Observa este script: Identifica cuál es el dato de entrada, cuál es el de salida y qué calcula el programa.

Observa este script:

on mouseUp

  put field "lado" into L

  put L * 4 into field "perimetro"

end mouseUp

Identifica cuál es el dato de entrada, cuál es el de salida y qué calcula el programa.

Resolver
Practica★★☆Sin empezar
Un botón tiene este script: El usuario escribe 6 en el campo «a» y 4 en el campo «b», y luego hace clic en el botón. Indica qué valor aparece en el campo «area» y qué…

Un botón tiene este script:

on mouseUp

  put field "a" into x

  put field "b" into y

  put x * y into field "area"

end mouseUp

El usuario escribe 6 en el campo «a» y 4 en el campo «b», y luego hace clic en el botón. Indica qué valor aparece en el campo «area» y qué representa si «a» y «b» son las medidas de un rectángulo en metros.

Resolver

Escribir un script completo

Un buen script de entrada y salida sigue siempre el mismo orden: leer, calcular, mostrar.

Practica★★☆Sin empezar
Escribe el script de un botón que lea una temperatura en grados Celsius del campo «celsius» y muestre en el campo «fahrenheit» el resultado de aplicar: $$F = C \cdot…

Escribe el script de un botón que lea una temperatura en grados Celsius del campo «celsius» y muestre en el campo «fahrenheit» el resultado de aplicar:

$$F = C \cdot \frac{9}{5} + 32$$

Calcula qué debería aparecer si el usuario escribe 25 en «celsius».

Resolver
Practica★★☆Sin empezar
Frank David escribió este script para sumar dos números, pero al ejecutarlo el campo «res» queda vacío o aparece un error: Los números están escritos en los campos «n1»…

Frank David escribió este script para sumar dos números, pero al ejecutarlo el campo «res» queda vacío o aparece un error:

on mouseUp

  put x + y into field "res"

end mouseUp

Los números están escritos en los campos «n1» y «n2». Explica cuál es el error, corrige el script y indica qué mostraría el campo «res» si «n1» contiene 15 y «n2» contiene 27.

Resolver

Decisiones y ciclos con entrada y salida

Dentro del script puedes usar condiciones y ciclos, igual que en el pseudocódigo de 9.° grado. Solo cambia la escritura:

if promedio >= 60 then

  put "Aprobado" into field "estado"

else

  put "Suspenso" into field "estado"

end if

El texto que se muestra va entre comillas. Un ciclo con contador se escribe repeat with i = 1 to n … end repeat. Para sumar 1 a una variable puedes usar add 1 to cont.

Practica★★★Sin empezar
Escribe el script de un botón que lea tres notas de los campos «n1», «n2» y «n3», calcule el promedio y lo muestre en el campo «promedio». Además, debe mostrar en el…

Escribe el script de un botón que lea tres notas de los campos «n1», «n2» y «n3», calcule el promedio y lo muestre en el campo «promedio». Además, debe mostrar en el campo «estado» la palabra «Aprobado» si el promedio es de 60 o más, y «Suspenso» en caso contrario.

Prueba tu script con las notas 70, 55 y 60. Indica qué se muestra en cada campo y explica cómo interviene la condición.

Resolver
Practica★★★Sin empezar
Analiza este script: 1. Haz la traza para $n = 5$ y da los valores finales de suma y cont. 2. Indica cuál variable es un contador y cuál un acumulador, y justifica. 3.…

Analiza este script:

on mouseUp

  put field "n" into n

  put 0 into suma

  put 0 into cont

  repeat with i = 1 to n

    put suma + i into suma

    if i mod 2 = 0 then add 1 to cont

  end repeat

  put suma into field "total"

  put cont into field "pares"

end mouseUp
  1. Haz la traza para $n = 5$ y da los valores finales de suma y cont.

  2. Indica cuál variable es un contador y cuál un acumulador, y justifica.

  3. Explica qué se mostraría si el usuario deja el campo «n» vacío o escribe un texto en lugar de un número, y propón cómo evitarlo.

Resolver

Resumen

Vuelve al principio: el dato de Daniela viaja del campo de consumo a una variable con put field "kwh" into x, se calcula con una expresión y vuelve a la pantalla con put … into field "resultado", todo dentro del evento mouseUp del botón.

Ver todos los ejercicios de este apartado