Curso:
Modelaje de Software
I.E.S.T.P Cap. FAP. José Abelardo
Quiñones
Especialidad:
Computación e Informática
Prof.:
PTCI. Manuel Esteban
Mogollón GarcíaAlumno:
Anderson Pool Urbina Coronado
Semestre:
III - 2015
Funciones Matemáticas y
Cadenas de Caracteres
Funciones de Matemáticas y Cadenas
de Caracteres
Funciones de
Cadenas
Funciones
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
Funcionesde
Cadenas
LEN Nos dice la longitud de una
cadena
PRINT LEN("Nacho")
LOWER$ Convierte a minúsculas
PRINT LOWER$("Nacho")
mostraría "nacho"
LEFT$ Extrae ciertos caracteres del
comienzo
PRINT LEFT$("Nacho", 2)
UPPER$ Convierte a mayúsculas PRINT UPPER$("Nacho")
mostraría "NACHO"
RIGHT$ Extrae ciertos caracteres del final PRINT RIGHT$("Nacho", 3)
SPACE$ Crea una cadena formada por
varios espacios: separador$
SPACE$(10)
MID$ Extrae ciertos caracteres del
cualquier posición de una cadena
PRINT MID$("Nacho", 2,3)
STRING$ Crea una cadena formada por
una letra repetida varias veces
Guiones$ = STRING$(10,"-")
INSTR Indica en qué posición de una
cadena se encuentra cierto texto
PRINT INSTR("Nacho", "ach") diría
"2". PRINT INSTR(4, "Nacho",
"ach")diría "0",
Funciones Matemáticas
• Números al Azar
• Funciones Trigonométricas
• Redondeo, Decimales
• Signo, Raíces
• Conversión de Base
• Logaritmos y Exponenciales
Comienza a generar
una secuencia de
números aleatorios
(al azar"), a partir de
un número que se el
indique como
"semilla".
Lo habitual
es usar como semilla
el reloj interno del
ordenador:
RANDOMIZE TIME.
RANDOMIZE
Da el siguiente valor
de la secuencia de
números aleatorios
(un número entre 0
y 1)
Si queremos que el
número esté entre
otros dos valores,
tendremos que
multiplicar por
cierto número (por
ejemplo, por 100)
RND
Números al Azar
Ejemplo:
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
SIN
• Seno de un ángulo (indicado en radianes, salvo que antes se use al orden DEG)
COS
• Coseno de un ángulo (indicado en radianes, salvo que antes se use al orden DEG)
TAN
• Tangente de un ángulo (indicado en radianes, salvo que antes se use al orden DEG)
ATN
• Arco tangente: ángulo que tiene una cierta tangente (en radianes, salvo que antes se use al
orden DEG)
DEG
• Considera que los datos que se indiquen a SIN, COS, TAN están expresados en grados (NO es lo
habitual)
RAD
• Considera que los datos que se indiquen a SIN, COS, TAN están expresados en radianes (es lo
habitual cuando se acaba de encender el ordenador)
PI
• Valor del número PI (longitud de una circunferencia dividida entre su diámetro)
Funciones Trigonométricas
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)
Ejemplo:
Conversión de Base
• Convierte un número decimal a binario, usando una
cierta cantidad de cifras (opcional): BIN$(125,8)BIN$
• Escribe un número decimal formateado a una cierta
cantidad de cifras decimales: DEC$(125,"##.##")DEC$
• Convierte un número decimal a hexadecimal, usando
una cierta cantidad de cifras (opcional): HEX$(125)HEX$
• Convierte una cadena a número, para poder hacer
operacionesVAL
• Convierte un número a cadena (por ejemplo, para
poder manipularlo fácilmente cifra a cifra)STR$
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,"#####,.#")
Ejemplo:
CINT
• Redondea un número con decimales al entero más cercano
FIX
• Elimina los decimales de un número
INT
• Redondea un número con decimales al entero inferior más
cercano
ROUND
• Redondea un número a una cierta cantidad de decimales. Si la
cantidad de decimales es negativa, redondea "antes de la coma".
Redondeo,
Decimales
Ejemplo
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: "
ABS
SGN
SQR
• Valor absoluto de un número (si
es negativo, lo convierte a
positivo; si es positivo, lo deja
como está)
• Signo de un número (-1 si es
negativo, 1 si es positivo, 0 si es
cero)
• Raíz cuadrada de un número.
Para calcular otras raíces menos
habituales habría que usar
potencias
Signo, Raíces
• Calcula el valor de "e" (2,71828)
elevado a un cierto númeroEXP
• Logaritmo natural (o neperiano,
en base "e") de un númeroLOG
• Logaritmo en base 10 de un
númeroLOG10
Logaritmos y Exponenciales
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:
Operación de Asignación:
Aritmética Lógica, Cadena de
Caracteres Múltiples
Es el modo de almacenar valores en una variable. La operación se
representa por el símbolo <----(En los lenguajes como: C,C++,Java el
símbolo de la operación de asignación es ' = ' )
< variable > <---- < expresión >
A <---- 5, significa que a la variable A se le ha asignado el valor de 5. Si
al inicio le asignamos a <---- 5, luego más abajo en otra instrucción se le
vuelve a asignar otro valor A <---- 10, el 10 se sobre escribe sobre el
valor 5 que se le asigno anteriormente a la variable A, al final el valor de
A va quedar con el número 10.
Operación de Asignación
ASIGNACIÓN ARITMETICA:
Ana <---- 2+14+8
El valor 24(2+14+8=24), es asignado a la variable: Ana
Ter1 <---- 14.5
Ter2 <---- 2.4
cociente <---- Ter1/Ter2
El valor de Ter1/Ter2(14.5/2.4), es almacenado o asignado a la variable cociente.
ASIGNACIÓN DE CADENA:
SALUDO <---- 'Hola Mundo'
ASIGNACIÓN MULTIPLE:
C <---- C+5
a <---- a*(b + c)
Caso Especial: En C,C++, Java y C# se permiten realizar multiples asignaciones en
una sola sentencia.
a=b=c=d=5;
Es lo mismo que :
a=5
b=5
c=5
d=5
Conversión de
Tipos
Conversión de tipos
En Ciencias de la Computación la Conversión
de Tipos (type casting en inglés) se refiere a la
transformación de un tipo de dato en otro.
Esto se hace para tomar las ventajas que pueda
ofrecer el tipo a que se va a convertir.
TiposdeConversión
La Implícita.
La Explícita.
• Se convierte un tipo de dato
de menor rango a
un supertipo (tipo de dato
de mayor rango); este tipo
de conversión lo realiza
el compilador, ya que no
hay pérdida de datos si, por
ejemplo, se pasa un int
(tipo entero) a long.
La
Implícita
La Explicita
Controlada
Antes de realizar la conversión
se controla en tiempo de
ejecución si el tipo de destino
puede tener el valor de origen,
y si no se produce un error
No controlada
No se realiza ningún control,
si el tipo de dato destino no
puede contener al de origen el
resultado es indefinido
(generalmente se produce
un desbordamiento de búfer)
Patrón de bits
La representación de bits en
bruto de la fuente es una copia
literal, y se reinterpreta de
acuerdo con el tipo de destino.
Esto también puede lograrse a
través de aliasing.
El compilador no es capaz de realizarla por sí
solo y por ello debe definirse explícitamente en
el programa
Comentarios en las Líneas de
Código Fuente
Líneas de Código Fuente
La definición de línea de código fuente es, para la mayor
parte del mundo del software, esencialmente ambigua. Su
significado varía de un lenguaje de programación a otro,
pero también dentro de un mismo lenguaje de
programación.
En el lenguaje de programación C, por ejemplo, una línea
de código puede ser:
(1) una instrucción acabada en un salto de línea
(2) una instrucción acabada en un punto y coma
(3) cualquier línea del programa que acabe en un salto de
línea (comentarios incluidos).
Ejemplo:
for (i=0; i<100; ++i) {printf("hola");} /* ¿Cuántas líneas tiene
este programa? */
1: funciones matematicas y cadena de caracteres 2:operacion de asignacion: aritmetrica logica, cadena de caracteres multiples 3:conversiones de tipos 4:comentarios en la linea de codigo fuente

1: funciones matematicas y cadena de caracteres 2:operacion de asignacion: aritmetrica logica, cadena de caracteres multiples 3:conversiones de tipos 4:comentarios en la linea de codigo fuente

  • 1.
    Curso: Modelaje de Software I.E.S.T.PCap. FAP. José Abelardo Quiñones Especialidad: Computación e Informática Prof.: PTCI. Manuel Esteban Mogollón GarcíaAlumno: Anderson Pool Urbina Coronado Semestre: III - 2015
  • 2.
  • 3.
    Funciones de Matemáticasy Cadenas de Caracteres Funciones de Cadenas Funciones 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
  • 4.
    Funcionesde Cadenas LEN Nos dicela longitud de una cadena PRINT LEN("Nacho") LOWER$ Convierte a minúsculas PRINT LOWER$("Nacho") mostraría "nacho" LEFT$ Extrae ciertos caracteres del comienzo PRINT LEFT$("Nacho", 2) UPPER$ Convierte a mayúsculas PRINT UPPER$("Nacho") mostraría "NACHO" RIGHT$ Extrae ciertos caracteres del final PRINT RIGHT$("Nacho", 3) SPACE$ Crea una cadena formada por varios espacios: separador$ SPACE$(10) MID$ Extrae ciertos caracteres del cualquier posición de una cadena PRINT MID$("Nacho", 2,3) STRING$ Crea una cadena formada por una letra repetida varias veces Guiones$ = STRING$(10,"-") INSTR Indica en qué posición de una cadena se encuentra cierto texto PRINT INSTR("Nacho", "ach") diría "2". PRINT INSTR(4, "Nacho", "ach")diría "0",
  • 5.
    Funciones Matemáticas • Númerosal Azar • Funciones Trigonométricas • Redondeo, Decimales • Signo, Raíces • Conversión de Base • Logaritmos y Exponenciales
  • 6.
    Comienza a generar unasecuencia de números aleatorios (al azar"), a partir de un número que se el indique como "semilla". Lo habitual es usar como semilla el reloj interno del ordenador: RANDOMIZE TIME. RANDOMIZE Da el siguiente valor de la secuencia de números aleatorios (un número entre 0 y 1) Si queremos que el número esté entre otros dos valores, tendremos que multiplicar por cierto número (por ejemplo, por 100) RND Números al Azar
  • 7.
    Ejemplo: 20 ' Numerosal azar 30 RANDOMIZE TIME 40 PRINT "Al azar, de 0 a 1: "; RND 50 PRINT "Otro, de 10 a 15: "; RND*5+10
  • 8.
    SIN • Seno deun ángulo (indicado en radianes, salvo que antes se use al orden DEG) COS • Coseno de un ángulo (indicado en radianes, salvo que antes se use al orden DEG) TAN • Tangente de un ángulo (indicado en radianes, salvo que antes se use al orden DEG) ATN • Arco tangente: ángulo que tiene una cierta tangente (en radianes, salvo que antes se use al orden DEG) DEG • Considera que los datos que se indiquen a SIN, COS, TAN están expresados en grados (NO es lo habitual) RAD • Considera que los datos que se indiquen a SIN, COS, TAN están expresados en radianes (es lo habitual cuando se acaba de encender el ordenador) PI • Valor del número PI (longitud de una circunferencia dividida entre su diámetro) Funciones Trigonométricas
  • 9.
    70 PRINT "PIvale: "; 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) Ejemplo:
  • 10.
    Conversión de Base •Convierte un número decimal a binario, usando una cierta cantidad de cifras (opcional): BIN$(125,8)BIN$ • Escribe un número decimal formateado a una cierta cantidad de cifras decimales: DEC$(125,"##.##")DEC$ • Convierte un número decimal a hexadecimal, usando una cierta cantidad de cifras (opcional): HEX$(125)HEX$ • Convierte una cadena a número, para poder hacer operacionesVAL • Convierte un número a cadena (por ejemplo, para poder manipularlo fácilmente cifra a cifra)STR$
  • 11.
    140 ' Conversionde 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,"#####,.#") Ejemplo:
  • 12.
    CINT • Redondea unnúmero con decimales al entero más cercano FIX • Elimina los decimales de un número INT • Redondea un número con decimales al entero inferior más cercano ROUND • Redondea un número a una cierta cantidad de decimales. Si la cantidad de decimales es negativa, redondea "antes de la coma". Redondeo, Decimales
  • 13.
    Ejemplo 240 ' Redondeo 250PRINT "-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: "
  • 14.
    ABS SGN SQR • Valor absolutode un número (si es negativo, lo convierte a positivo; si es positivo, lo deja como está) • Signo de un número (-1 si es negativo, 1 si es positivo, 0 si es cero) • Raíz cuadrada de un número. Para calcular otras raíces menos habituales habría que usar potencias Signo, Raíces
  • 15.
    • Calcula elvalor de "e" (2,71828) elevado a un cierto númeroEXP • Logaritmo natural (o neperiano, en base "e") de un númeroLOG • Logaritmo en base 10 de un númeroLOG10 Logaritmos y Exponenciales
  • 16.
    420 ' Exponencialy logaritmo 430 PRINT "e es: "; EXP(1) 440 PRINT "Logaritmo de 10: "; LOG(10) 450 PRINT "Log10 de 100: "; LOG10(100) Ejemplo:
  • 17.
    Operación de Asignación: AritméticaLógica, Cadena de Caracteres Múltiples
  • 18.
    Es el modode almacenar valores en una variable. La operación se representa por el símbolo <----(En los lenguajes como: C,C++,Java el símbolo de la operación de asignación es ' = ' ) < variable > <---- < expresión > A <---- 5, significa que a la variable A se le ha asignado el valor de 5. Si al inicio le asignamos a <---- 5, luego más abajo en otra instrucción se le vuelve a asignar otro valor A <---- 10, el 10 se sobre escribe sobre el valor 5 que se le asigno anteriormente a la variable A, al final el valor de A va quedar con el número 10. Operación de Asignación
  • 19.
    ASIGNACIÓN ARITMETICA: Ana <----2+14+8 El valor 24(2+14+8=24), es asignado a la variable: Ana Ter1 <---- 14.5 Ter2 <---- 2.4 cociente <---- Ter1/Ter2 El valor de Ter1/Ter2(14.5/2.4), es almacenado o asignado a la variable cociente.
  • 20.
    ASIGNACIÓN DE CADENA: SALUDO<---- 'Hola Mundo' ASIGNACIÓN MULTIPLE: C <---- C+5 a <---- a*(b + c) Caso Especial: En C,C++, Java y C# se permiten realizar multiples asignaciones en una sola sentencia. a=b=c=d=5; Es lo mismo que : a=5 b=5 c=5 d=5
  • 21.
  • 22.
    Conversión de tipos EnCiencias de la Computación la Conversión de Tipos (type casting en inglés) se refiere a la transformación de un tipo de dato en otro. Esto se hace para tomar las ventajas que pueda ofrecer el tipo a que se va a convertir.
  • 23.
  • 24.
    • Se convierteun tipo de dato de menor rango a un supertipo (tipo de dato de mayor rango); este tipo de conversión lo realiza el compilador, ya que no hay pérdida de datos si, por ejemplo, se pasa un int (tipo entero) a long. La Implícita
  • 25.
    La Explicita Controlada Antes derealizar la conversión se controla en tiempo de ejecución si el tipo de destino puede tener el valor de origen, y si no se produce un error No controlada No se realiza ningún control, si el tipo de dato destino no puede contener al de origen el resultado es indefinido (generalmente se produce un desbordamiento de búfer) Patrón de bits La representación de bits en bruto de la fuente es una copia literal, y se reinterpreta de acuerdo con el tipo de destino. Esto también puede lograrse a través de aliasing. El compilador no es capaz de realizarla por sí solo y por ello debe definirse explícitamente en el programa
  • 26.
    Comentarios en lasLíneas de Código Fuente
  • 27.
    Líneas de CódigoFuente La definición de línea de código fuente es, para la mayor parte del mundo del software, esencialmente ambigua. Su significado varía de un lenguaje de programación a otro, pero también dentro de un mismo lenguaje de programación. En el lenguaje de programación C, por ejemplo, una línea de código puede ser: (1) una instrucción acabada en un salto de línea (2) una instrucción acabada en un punto y coma (3) cualquier línea del programa que acabe en un salto de línea (comentarios incluidos).
  • 28.
    Ejemplo: for (i=0; i<100;++i) {printf("hola");} /* ¿Cuántas líneas tiene este programa? */