stringtranslate.com

Microsoft Pequeño Básico

Microsoft Small Basic es un lenguaje de programación , intérprete y entorno de desarrollo integrado (IDE) asociado . Es la variante simplificada de BASIC de Microsoft y está diseñada para ayudar a los estudiantes que han aprendido lenguajes de programación visual como Scratch a aprender programación basada en texto. [8] El IDE asociado proporciona un entorno de programación simplificado con funciones como resaltado de sintaxis , finalización inteligente de código y acceso a documentación en el editor. [9] El lenguaje tiene solo 14 palabras clave. [10]

Historia

Microsoft anunció Small Basic en octubre de 2008, [3] y lanzó la primera versión estable para distribución el 12 de julio de 2011, [20] en un sitio web de Microsoft Developer Network (MSDN), junto con un plan de estudios de enseñanza [22] y una guía introductoria. [23] Entre el anuncio y el lanzamiento estable, se realizaron varios lanzamientos de Community Technology Preview (CTP).

El 27 de marzo de 2015, Microsoft lanzó la versión 1.1 de Small Basic, [21] que corrigió un error y actualizó la versión de .NET Framework de la versión 3.5 a la versión 4.5, convirtiéndola en la primera versión incompatible con Windows XP .

Microsoft lanzó la versión 1.2 de Small Basic el 1 de octubre de 2015. [5] La versión 1.2 fue la primera actualización después de una pausa de cuatro años para introducir nuevas funciones en Small Basic. La actualización agregó clases para trabajar con los sensores de movimiento Kinect de Microsoft , [5] aumentó la cantidad de idiomas admitidos por el objeto Dictionary incluido y corrigió una serie de errores. [6]

El 19 de febrero de 2019, Microsoft anunció Small Basic Online (SBO). Se trata de un software de código abierto publicado bajo licencia MIT en GitHub . [24] [25]

Idioma

En Small Basic, se escribe el programa ilustrativo "¡Hola, mundo!" de la siguiente manera:

TextWindow.WriteLine ( " ¡Hola, mundo! " )

Microsoft Small Basic es Turing completo . Admite ramificaciones condicionales , estructuras de bucle y subrutinas para el manejo de eventos . Las variables tienen tipos débiles y son dinámicas sin reglas de alcance.

Ramificación condicional

El siguiente ejemplo demuestra la ramificación condicional. Se le pide al usuario que indique en grados Celsius o Fahrenheit y luego se comenta la respuesta en la unidad de temperatura correspondiente.

' Un programa que da consejos a una temperatura solicitada. TextWindow . WriteLine ( "¿Usas 'C'elsius o 'F'ahrenheit para la temperatura?" ) TextWindow . WriteLine ( "Ingresa C para Celsius y F para Fahrenheit:" ) question_temp : ' Etiqueta para volver a la entrada si se proporcionó una entrada incorrecta tempunit = TextWindow . Read () ' Definiciones de temperatura en Celsius: tempArray [ "caliente" ] = 30 ' 30 °C equivale a 86 °F tempArray [ "bonito" ] = 20 ' 20 °C equivale a 68 °F tempArray [ "frío" ]= 15 ' 15 °C equivale a 59 °F           Si tempunit = "C" O tempunit = "c" Entonces TextWindow . WriteLine ( "¡Celsius seleccionado!" ) tempunit = "C" ' Puede estar en minúsculas, por lo tanto, conviértalo en mayúsculas. De lo contrario, si tempunit = "F" O tempunit = "f" Entonces TextWindow . WriteLine ( "¡Fahrenheit seleccionado!" ) ' Calculamos los valores de temperatura para Fahrenheit en función de los valores Celsius tempArray [ "hot" ] = (( tempArray [ "hot" ] * 9 ) / 5 ) + 32 tempArray [ "pretty" ] = (( tempArray [ "pretty" ] * 9 ) / 5 ) + 32 tempArray [ "cold" ] = (( tempArray [ "cold" ] * 9 ) / 5 ) + 32 tempunit = "F" ' Puede estar en minúsculas, por lo tanto, conviértalo en mayúsculas Else GOTO question_temp ' Entrada incorrecta, retroceda a la etiqueta "question_temp" EndIf TextWindow . Write ( "Ingrese la temperatura de hoy (en " + tempunit + "): " ) temp = TextWindow . ReadNumber () If temp >= tempArray [ "hot" ] Then TextWindow . WriteLine ( "Hace bastante calor." ) ElseIf temp >= tempArray [ "bonito" ] Then TextWindow . WriteLine ( "Hace bastante calor." ) ElseIf temp >= tempArray [ "frío" ] Then TextWindow .WriteLine ( "No olvides tu abrigo." ) De lo contrario TextWindow.WriteLine (                                                                        "Quédate en casa." ) FinSi

Small Basic no admite una Ifdeclaración en línea como lo hace Visual Basic , por ejemplo:

Si la temperatura es > 50 entonces TextWindow . WriteLine ( "Es bastante agradable." )     

Bucle

Este ejemplo muestra un bucle que comienza en uno y termina en diez, multiplica cada número por cuatro y muestra el resultado de la multiplicación.

TextWindow . WriteLine ( "Tablas de multiplicar" ) Para i = 1 a 10 TextWindow . Write ( i * 4 ) EndFor        

While También se admiten bucles , y el For bucle demostrado se puede ampliar mediante el uso de la Steppalabra clave. La Steppalabra clave se utiliza para establecer el valor con el que ise incrementa la variable de contador, , en cada iteración.

Tipos de datos

Small Basic admite tipos de datos básicos , como cadenas , números enteros y decimales , y convertirá fácilmente un tipo en otro según lo requiera la situación. En el ejemplo, tanto el método Readcomo ReadNumberel método leen una cadena desde la línea de comandos, pero ReadNumberrechazan cualquier carácter no numérico. Esto permite que la cadena se convierta a un tipo numérico y el operador la trate como un número en lugar de una cadena +.

TextWindow . WriteLine ( "Ingrese su nombre: " ) nombre = TextWindow . Read ()  TextWindow . Write ( "Ingresa tu edad: " ) edad = TextWindow . ReadNumber ()  TextWindow . WriteLine ( "Hola, " + nombre + "!" ) TextWindow . WriteLine ( "Dentro de 5 años, tendrás " + ( edad + 5 ) + " años!" )            

Como Small Basic convierte fácilmente entre tipos de datos, los números se pueden manipular como cadenas y las cadenas numéricas como números. Esto se demuestra mediante el segundo ejemplo.

TextWindow . WriteLine ( Math . log ( "100" )) 'Imprime 2 TextWindow . WriteLine ( "100" + "3000" ) ' Imprime 3100 TextWindow . WriteLine ( "Windows " + 8 ) ' Imprime Windows 8 TextWindow . WriteLine ( Text . GetLength ( 1023.42 )) ' Imprime 7 (longitud de la representación decimal, incluido el punto decimal)        

En el segundo ejemplo, ambas cadenas se tratan como números y se suman, produciendo el resultado 3100. Para concatenar los dos valores, produciendo el resultado 1003000, es necesario utilizar el método.Text.Append(text1, text2)

Bibliotecas

Biblioteca estándar

La biblioteca estándar de Small Basic incluye clases básicas para matemáticas, manejo de cadenas y entrada/salida , así como clases más exóticas que tienen como objetivo hacer que el uso del lenguaje sea más divertido para los estudiantes. Algunos ejemplos de estas incluyen una clase de gráficos Turtle , una clase para recuperar fotos de Flickr y clases para interactuar con sensores Microsoft Kinect. [26]

Para que los alumnos puedan usar las clases con mayor facilidad, se han simplificado. Esta simplificación se demuestra mediante el código utilizado para recuperar una imagen aleatoria de Flickr con temática de montaña:

Para i = 1 a 10 pic = Flickr . GetRandomPicture ( "montañas" ) Desktop . SetWallPaper ( pic ) Program . Delay ( 10000 ) EndFor          

Gráficos de tortugas

Small Basic incluye una biblioteca de gráficos "Turtle" que toma elementos de la familia de lenguajes de programación Logo . Por ejemplo, para dibujar un cuadrado utilizando la tortuga, esta se mueve hacia adelante una cantidad determinada de píxeles y se rota 90 grados en una dirección determinada. Esta acción se repite cuatro veces para dibujar los cuatro lados del cuadrado.

Para i = 1 a 4 Tortuga . Mover ( 100 ) ' Avanzar 100 píxeles Tortuga . Girar ( 90 ) ' Girar 90 grados a la derecha FinPara         

Se pueden realizar dibujos más complejos modificando el ángulo de giro de la tortuga y el número de iteraciones del bucle. Por ejemplo, se puede dibujar un hexágono estableciendo el ángulo de giro en 60 grados y el número de iteraciones en seis.

Bibliotecas de terceros

Small Basic permite el uso de bibliotecas de terceros. Estas bibliotecas deben estar escritas en un lenguaje compatible con CLR y los binarios compilados deben apuntar a una versión compatible de .NET Framework. Las clases proporcionadas por la biblioteca deben ser estáticas , marcadas con un atributo específico y deben usar un tipo de datos específico.

A continuación se proporciona un ejemplo de una clase que se utilizará en Small Basic, escrita en C# .

[SmallBasicType] clase pública estática ExampleClass { clase pública estática Primitivo Agregar ( Primitivo A , Primitivo B ) => A + B ;               público estático Primitivo SomeProperty { obtener ; establecer ; }        público estático Primitivo Pi => ( Primitivo ) 3.14159 ; }     

Si está disponible, el entorno de desarrollo Small Basic mostrará la documentación de las bibliotecas de terceros. El entorno de desarrollo acepta documentación en forma de archivo XML , que se puede generar automáticamente a partir de comentarios del código fuente mediante herramientas como Microsoft Visual Studio y MonoDevelop . [27]

Referencias

  1. ^ Conrod, Philip; Tylee, Lou (febrero de 2013). Programación de juegos con Microsoft Small Basic. Kidware Software, LLC. ISBN 978-1-937161-56-9.
  2. ^ "Artículo destacado: Entrevistas con Vijaye Raji, el creador de Small Basic". TECHCOMMUNITY.MICROSOFT.COM . 13 de febrero de 2019.
  3. ^ abc Raji, Vijaye (23 de octubre de 2008). "Hola mundo". Small Basic . MSDN Blogs. Microsoft . Consultado el 9 de febrero de 2014 .
  4. ^ ab Raji, Vijaye (23 de octubre de 2009). "Feliz cumpleaños, Small Basic". Small Basic . MSDN Blogs. Microsoft . Consultado el 27 de septiembre de 2015 .
  5. ^ abcde Scherotter, Michael (1 de octubre de 2015). "Small Basic 1.2 lanzado con soporte para Kinect y correcciones de errores". Small Basic . Blogs de MSDN. Microsoft . Consultado el 2 de octubre de 2015 .
  6. ^ ab "Descargar Microsoft Small Basic 1.2 desde el Centro de descargas oficial de Microsoft". Small Basic . Microsoft. 1 de octubre de 2015 . Consultado el 2 de octubre de 2015 .
  7. ^ "SmallBasic". GitHub . 17 de octubre de 2021.
  8. ^ "Small Basic" . Consultado el 6 de septiembre de 2020 .
  9. ^ Price, Ed (22 de octubre de 2012). "Las características únicas de Small Basic". Small Basic . TechNet. Microsoft . Consultado el 22 de abril de 2015 .
  10. ^ Price, Ed (8 de octubre de 2012). "¿Cuáles son las 14 palabras clave de Small Basic?". Small Basic . Blogs de MSDN. Microsoft . Consultado el 9 de febrero de 2014 .
  11. ^ Raji, Vijaye (17 de diciembre de 2008). "Anuncio de Small Basic v0_2!". Small Basic . Blogs de MSDN. Microsoft . Consultado el 27 de septiembre de 2015 .
  12. ^ Raji, Vijaye (10 de febrero de 2009). "Microsoft Small Basic v0.3 ya está aquí". Small Basic . Blogs de MSDN. Microsoft . Consultado el 27 de septiembre de 2015 .
  13. ^ Raji, Vijaye (14 de abril de 2009). "La versión 0.4 de Small Basic dice "Bonjour"". Small Basic . Blogs de MSDN. Microsoft . Consultado el 27 de septiembre de 2015 .
  14. ^ Raji, Vijaye (16 de junio de 2009). "¡El más nuevo, más ágil y más eficiente ya está aquí!". Small Basic . MSDN Blogs. Microsoft . Consultado el 27 de septiembre de 2015 .
  15. ^ Raji, Vijaye (19 de agosto de 2009). "Ya disponible: Small Basic v0.6". Small Basic . Blogs de MSDN. Microsoft . Consultado el 27 de septiembre de 2015 .
  16. ^ Raji, Vijaye (10 de febrero de 2010). "Small Basic v0.8". Small Basic . Blogs de MSDN. Microsoft . Consultado el 27 de septiembre de 2015 .
  17. ^ Raji, Vijaye (11 de junio de 2010). "¡Small Basic V0.9 ya está aquí!". Small Basic . Blogs de MSDN. Microsoft . Consultado el 27 de septiembre de 2015 .
  18. ^ Aldana, Sandra (17 de noviembre de 2010). «Small Basic V0.91 es más internacional que nunca». Small Basic . Blogs de MSDN. Microsoft . Consultado el 27 de septiembre de 2015 .
  19. ^ Aldana, Sandra (8 de febrero de 2011). «Small Basic v0.95 habla otro idioma». Small Basic . Blogs de MSDN. Microsoft . Consultado el 27 de septiembre de 2015 .
  20. ^ ab Aldana, Sandra (12 de julio de 2011). "¡Small Basic 1.0 ya está aquí!". Small Basic . Blogs de MSDN. Microsoft . Consultado el 27 de septiembre de 2015 .
  21. ^ ab Price, Ed (27 de marzo de 2015). "Small Basic 1.1 is here!". Small Basic . Blogs de MSDN. Microsoft . Consultado el 27 de septiembre de 2015 .
  22. ^ Price, Ed (29 de abril de 2014). «Small Basic Curriculum». TechNet . Microsoft . Consultado el 9 de febrero de 2014 .
  23. ^ Price, Ed; Takahashi, Nonki (25 de febrero de 2014). "Small Basic Getting Started Guide". TechNet . Microsoft . Consultado el 12 de febrero de 2015 .
  24. ^ "Anuncio de Small Basic Online 1.0: vista previa pública". 20 de febrero de 2019.
  25. ^ "Wiki de TechNet".
  26. ^ "Requisitos del sistema Kinect para Small Basic". ininet.org .
  27. ^ Protalinski, Emil (17 de noviembre de 2008). "Otro lenguaje de programación de Microsoft: Small Basic". Ars Technica .

Lectura adicional

Enlaces externos