Lenguaje simula
Simula es un lenguaje de programación de propósito general. Es el origen de programación orientada a objetos. Los conceptos de la generalización y la especialización son
muy bien apoyados por el lenguaje construye procedimiento de la clase y lo
virtual. En Simula la herencia de
las acciones son tan naturales como la herencia de los atributos de datos. Las
construcciones de la programación modular y la aplicación de tipos de datos
abstractos hacer que el lenguaje adecuado para resolver problemas complejos. Además Simula es un lenguaje bien estandarizado, lo que
significa que los programas Simula son fácil de portar de un ordenador a otro. Un paquete de solicitud normalizado, de la clase simulación,
se convierte el lenguaje en una poderosa herramienta para el proceso orientado
a simulación. Simula es una extensión de Algol 60.
Simula contiene todas las instalaciones comunes de los lenguajes de alto
nivel de tercera generación.
Tipos de valores:
Entero corto, Entero
Real a largo real
De caracteres booleana
Real a largo real
De caracteres booleana
Tipos de
referencia:
Declaración:
Ref. (Object Identifier) ( No es el valor trivial)
Texto Constantes: "A", "Simula", notext
El texto es conceptualmente una instancia de clase, que
tiene sus atributos y métodos.
Métodos :
Procedimiento constante booleana; (True si es
constante)
Procedimiento texto principal; (cadena principal
- el texto es una parte del principal)
iniciar el proceso entero; (A partir de la
posición principal)
duración del procedimiento entero; (número de caracteres)
Pos entero Procedimiento; (posición
actual)
setpos (Procedimiento i), Integer i; (cambio de
posición)
Procedimiento booleana más; (True
si pos <= longitud)
Procedimiento de caracteres GetChar; (personaje de
Pos)
Procedimiento putchar (c); caracteres c, (personaje de
almacenaje a POS)
Sub texto del procedimiento(i, n) entero i, n, (subcadena en i de
longitud n)
Franja de texto del procedimiento; (elimina los
espacios de la derecha)
Reedición de Métodos:
Reedición de Métodos:
getint Procedimiento Integer; Lee (número
entero)
GetReal largo procedimiento real; (Lee real)
GetFrac Procedimiento Integer; (igual que getint,
ignora los espacios)
Edición de métodos:
PutInt Procedimiento (i), Integer i; (Escribe el valor
entero)
PutFix Procedimiento (i, n); entero i, n, (Escribe el valor
decimal)
Procedimiento PutReal (r, n); Long real r, n
entero; (Escribe en formato científico)
1. Procedimientos básicos
REM
entero procedimiento rem (a, b); entero a, b;
REM: = El resto de dividir a por b
ABS
<tipo de arg> procedimiento abs (arg); <tipo de aritmética> arg;
ABS: = si arg <0 entonces -arg demás arg;
FIRME
entero procedimiento de signo (a); <tipo <arithmetical uno;
signo: = si a <0 entonces -1 demás , si a = 0 entonces 0 más 1;
Entier
entero procedimiento entier (uno); verdadero un;
entier: = <el mayor entero menor que o igual a un>
MOD
entero procedimiento de mod (a, b); número entero a, b,
mod: = <un módulo b>;
MIN
<tipo> procedimiento min (a, b); <tipo> a, b;
min: = <el más pequeño de una y b>;
MAX
<tipo> procedimiento máx (a, b); <tipo> a, b;
máx: = <el mayor de una y b>;
Tipos legales de los parámetros
de máximos y mínimos son de texto , de carácter , real, tipo y número entero del tipo .
LÍMITE SUPERIOR
entero procedimiento de límite superior (arr, dim);
<tipo> matriz arr;
entero tenue;
límite superior: = <el límite superior de la matriz en la dimensión oscura >;
Límite inferior
entero procedimiento de límite inferior (arr, dim);
<tipo> matriz arr;
entero tenue;
límite inferior: <= el límite inferior de la matriz en la dimensión oscura >;
2. Hora y fecha
DATETIME
texto de procedimiento de fecha y hora,
fecha y hora: - copia (texto con el formato "AAAA-MM-DD HH: MM: SS.ssss");
CPUTIME
tiempo real, el procedimiento cputime;
cputime: = el número de segundos de procesador que utiliza el programa
Hora del reloj
tiempo real de procedimiento de la hora del reloj,
la hora del reloj: = <el número de segundos desde la medianoche>
3. Procedimientos de texto
COPIAR
texto procedimiento de copia (t); texto t;
copia de: - una copia del texto objeto referenciado por t
ESPACIOS VACIOS
texto procedimiento espacios en blanco (N); entero NL-
blancos: - un texto de objeto que contiene n espacios en blanco
CHAR
carácter de procedimiento de char (n); número entero n,
char: = <el carácter con el mismo rango de n
en el carácter de uso local secuencia de>;
ISOCHAR
carácter de procedimiento de isochar (n) - número entero n;
isochar: = <el carácter con el mismo rango de n
en el juego de caracteres ISO secuencia de>;
RANK
entero procedimiento de rango (c), de carácter c;
rango: = <el ranking de carácter c en el uso local
secuencia de caracteres>;
ISORANK
entero procedimiento de isorank (c), de carácter c;
isorank: = <el ranking de carácter c en la norma ISO
secuencia de caracteres>;
DIGIT
boolean procedimiento de dígitos (c), de carácter c;
dígitos: = < cierto si c es un dígito decimal; falsa de lo contrario>;
CARTA
boolean procedimiento de la letra (c), de carácter c;
letra: = < cierto si c es una letra; falsa de lo contrario>;
Upcase
texto procedimiento upcase (t); texto t;
upcase: - < t después de convertir cada letra t en mayúsculas>;
Lowcase
texto procedimiento lowcase (t); texto t;
lowcase: - < t después de convertir cada letra t en minúsculas>,
4. Que dependen de la aplicación los
procedimientos de
MAXINT
entero procedimiento de MAXINT;
MAXINT: = <el número entero más grande posible,>;
MININT
entero procedimiento MININT;
MININT: = <el número entero más pequeño posible>;
MAXREAL
verdadera procedimiento maxreal;
maxreal: = <el verdadero más grande posible,>;
MINREAI
verdadera procedimiento minreal;
minreal: = <lo real más pequeño posible>;
MAXRANK
entero procedimiento de maxrank;
maxrank: = <número de caracteres en el carácter de uso local
secuencia de>;
ADDEPSILON
<escriba de E> procedimiento addepsilon (E); <real-type> E;
addepsilon: = E + <la diferencia más pequeña posible entre dos
reales>;
AddEpsilon proporciona el SIGUIENTE valor real (si es que existe) de acuerdo con la aplicación local de los números reales.
SUBEPSILON
<escriba de E> procedimiento subepsilon (E); <real-type> E;
subepsilon: E = - <la diferencia más pequeña posible entre dos
reales>;
SubEpsilon proporciona la ANTERIOR valor real (si es que existe) de acuerdo con la aplicación local de los números reales.
MAXLONGREAL
tiempo real, el procedimiento maxlongreal;
maxlongreal: = <lo real de doble precisión más grande posible,>;
MINLONGREAL
tiempo real, el procedimiento minlongreal;
minlongreal: = <lo real de doble precisión más pequeño posible>;
SIMULAID
texto simulaid;
El valor de este texto en bajo el siguiente formato:
<simid>! <siteid>! <OS>! <CPU>! <usuario>! <job>! <acc>! <PROG>
donde
<simid> de identificación del sistema = Símula
<siteid> de identificación de la instalación =
<OS> identificación = del sistema operativo
<CPU> de identificación del equipo =
<usuario> de identificación del usuario =
<job> = Identificación del trabajo
<acc> = Identificación de la cuenta
<PROG> = Identificación del programa
Tenga en cuenta que el nombre de
este procedimiento es sinónimo de SIMULA ID, y AID no SIMUL.
5. Depuración
SOURCELINE
entero procedimiento de sourceline;
sourceline: = <el número de la línea de programa en el que la
invocación de este procedimiento se da>;
ERROR
procedimiento error e (t); texto t;
muestra los textos t y detiene el programa
TERMINATE_PROGRAM
procedimiento de terminate_program;
<Cierra SYSIN y SYSOUT y luego se detiene el programa de>;
6. Fonctions Matemáticas
LN
verdadera procedimiento de ln (r); verdadera r;
En : = <el logaritmo natural de r>
LOG10
verdadera procedimiento de log10 (r); verdadera r;
log10: = <base_10 el logaritmo de r
EXP
real, el procedimiento exp (r); verdadera r;
exp: = <e elevado a la potencia de r>
SQRT
verdadera procedimiento de sqrt (r); verdadera r;
sqrt: = <la raíz cuadrada de r>;Nota: En todas las funciones trigonométricas que siguen los ángulos se miden en radianes y los resultados son angulares entre - pi / 2 y pi / 2 .
SIN
verdadera procedimiento de pecado (r); real de r,
el pecado: = <el seno de r>;
COS
reales procedimiento cos (R); reales r,
cos: = <el coseno de r>;
TAN
verdadera procedimiento tan (r); reales r,
tan: = <la tangente de r>;
COTAN
verdadera procedimiento de Cotán (r); verdadera r;
Cotán: = <la cotangente de r
ARCSEN
verdadera procedimiento de arcsen (r); verdadera r;
arcsen: = <el arcoseno de r);
ARCCOS
verdadera procedimiento de arccos (r); verdadera r;
arccos: = el arcocoseno de r
Arctan
verdadera procedimiento de arctan (r); verdadera r;
arctan: = el arco tangente de r
SENOH
verdadera procedimiento de senh (r); verdadera r;
senh: = el seno hiperbólico de r
TANH
verdadera procedimiento tanh (r); verdadera r;
tanh: = <la tangente hiperbólica de r>;
7. Los números aleatorios
SORTEO
boolean procedimiento de sorteo (p, semillas);
nombre de la semilla, raíces p; número entero de semillas;
empate: = cierto con probabilidad p, falsa , con una probabilidad (1 - p)
ENTAL
entero procedimiento de randint (bajo, semillas de alta,),
nombre de la semilla; número entero de baja, las semillas de alto;
Randint devuelve uno de los
números enteros en [baja, baja + 1, ... ]
de alto, con igual probabilidad.
UNIFORME
tiempo real, el procedimiento uniforme (bajo, las semillas de alto),
el nombre de la semilla; tiempo real, bajo, alto, número entero de semillas;
uniforme: = un valor elegido de manera uniforme en el intervalo [baja .. alta]
NORMAL
tiempo real, el procedimiento normal (media, stdv, semillas);
nombre de la semilla; tiempo real, media, stdv; número entero de semillas;
Rendimientos normales un valor
elegido de modo que, si la fonction se utiliza un largenumber de veces con los
mismos parámetros, los valores se Bave un valor promedio decir con una
desviación estándar de stdv .
Algunas
funciones predefinidas adicionales y especializados en lugar de que se pueden
utilizar para dibujar números al azar no se describen aquí.
Ejemplo:
!Simulaciòn de la llegada de 10 ;
!clientes a un negocio de abarrotes ;
Simulacion Begin
Process class GO;
Begin
For i:=1 step 1 until 11 do Begin
Hold(Uniform(0,10,i));
OutText("Nuevo cliente "); OutImage;
End For;
End of GO;
!Raiz del programa ;
Activate New GO;
End of program;
Begin
For i:=1 step 1 until 11 do Begin
Hold(Uniform(0,10,i));
OutText("Nuevo cliente "); OutImage;
End For;
End of GO;
!Raiz del programa ;
Activate New GO;
End of program;
PRESENTÓ:
Aguilar Martínez Juan de Dios
Anastasio Hernández Leen Christian
Cordova Vargas Kristhian Josué
Hernández Mora Marco Ignacio
FUENTES DE INFORMACION:
No hay comentarios:
Publicar un comentario