Programación con Amstrad CPC
Por Nacho Cabanes, versión 0.40, de 16-Feb-2010

Tema 3 - Funciones de cadenas y matemáticas

Existe una serie de funciones incorporadas en el Locomotive Basic, que nos permiten realizar ciertas operaciones matemáticas frecuentes (raíces cuadradas, redondeos, trigonométricas, etc.), y algunas manipulaciones con cadenas de texto (saber su longitud o extraer un trozo de ella,por ejemplo).

Vamos a ver algunas de las más importantes

3.1 Funciones de cadenas

 

3.2 Ejercicio propuesto de cadenas

La apariencia deberá ser como ésta:

Ejercicio cadenas

 

3.3 Funciones matemáticas

(Tras la lista tienes un fuente de ejemplo)

Comencemos por ver dos operaciones menos habituales que las que ya conocemos (suma, resta, multiplicación, división):

Números al azar:

Funciones trigonométricas

Redondeo, decimales

Signo, raíces

Conversión de base

Logaritmos y exponenciales

Un ejemplo de (casi) todo esto:

10 ' Ejemplo de funciones matematicas
20 ' Numeros al azar
30 RANDOMIZE TIME
40 PRINT "Al azar, de 0 a 1: "; RND
50 PRINT "Otro, de 10 a 15: "; RND*5+10
60 ' Trigonometricas
70 PRINT "PI vale: "; PI
80 PRINT "El seno de 45 grados es: ";
90   DEG: PRINT SIN(45)
100 PRINT "El coseno de PI rad es: ";
110   RAD: PRINT COS(PI)
120 PRINT "Angulo con tangente 1: ";
130   DEG: PRINT ATN(1)
140 ' Conversion de base
150 PRINT "125 en binario: ";
160   PRINT BIN$(125,8)
170 PRINT "En hexadecimal: ";
180   PRINT HEX$(125);
190   PRINT " o "; HEX$(125,4);
200 PRINT "125 con dos decimales: ";
210   PRINT DEC$(125,"###.##")
220 PRINT "1125, 1 decimal y miles: ";
230   PRINT DEC$(1125,"#####,.#")
240 ' Redondeo
250 PRINT "-1,99 con CINT: ";
260   PRINT CINT(-1.99)
270 PRINT "1,99 con CINT: ";
280   PRINT CINT(1.99)
290 PRINT "-1,99 con FIX: ";
300   PRINT FIX(-1.99)
310 PRINT "1,99 con FIX: ";
320   PRINT FIX(1.99)
330 PRINT "-1,99 con INT: ";
340   PRINT INT(-1.99)
350 PRINT "1,99 con INT: ";
360   PRINT INT(1.99)
370 PRINT "123,45 a pot 1 de 10";
380   PRINT ROUND(123.45, 1)
390 PRINT "123,45 a pot -1 de 10";
400   PRINT ROUND(123.45, -1)
410 PRINT "1,99 con CINT: ";
420 ' Exponencial y logaritmo
430 PRINT "e es: "; EXP(1)
440 PRINT "Logaritmo de 10: "; LOG(10)
450 PRINT "Log10 de 100: "; LOG10(100)
 

Ejemplo f. matematicas

 

3.4 Ejercicio propuesto de funciones matemáticas

En "modo 2" de pantalla, dibujar una gráfica similar a la de la función Seno, pero en modo texto, usando caracteres X para cada punto:

Ejercicio f. matematicas