Difference between revisions of "Standard Pascal/es"

From Free Pascal wiki
Jump to navigationJump to search
Line 146: Line 146:
 
|}
 
|}
  
== Procedures ==
+
== Procedimientos ==
Procedures defined by Standard Pascal are implemented in Free Pascal in the [[System unit]] of the standard [[RTL|Runtime Library]].
+
Los procedimientos definidos por Standard Pascal se implementan en Free Pascal en la unidad [[System unit]] de la librería estándar [[RTL|Runtime Library]].
=== File handling procedures ===
+
=== Procedimientos para el manejo de archivos ===
 
{| class="wikitable"
 
{| class="wikitable"
! Procedure !! Description
+
! Procedimiento !! Descripción
 
|-
 
|-
 
|[[Get|get]](f)
 
|[[Get|get]](f)
Line 162: Line 162:
 
|-
 
|-
 
|[[Read|read]]
 
|[[Read|read]]
|Read from a text file or stdin into a [[Variable|variable]]
+
|Lee desde un archivo de texto o stdin a una [[Variable|variable]].
 
|-
 
|-
 
|[[Read|readln]]
 
|[[Read|readln]]
|Read from a text file into variable and goto next line
+
|Lee desde un archivo de texto a una variable y se sitúa en la siguiente línea.
 
|-
 
|-
 
|[[Reset|reset]](f)
 
|[[Reset|reset]](f)
|Open file for reading
+
|Abre un archivo en modo lectura.
 
|-
 
|-
 
|[[Rewrite|rewrite]](f)
 
|[[Rewrite|rewrite]](f)
|Open file for writing
+
|Abre un archivo en modo escritura.
 
|-
 
|-
 
|[[Write|write]]
 
|[[Write|write]]
|Write variable or literal string to a text file or stdout
+
|Escribe una variable o una cadena de texto (string) literal en un archivo de texto o stdout.
 
|-
 
|-
 
|[[Write|writeln]]
 
|[[Write|writeln]]
|Write variable or literal string to a text file or stdout and append newline
+
|Escribe una variable o una cadena de texto (string) literal en un archivo de texto o stdout y añade una nueva línea.
 
|-
 
|-
 
|}
 
|}
Line 210: Line 210:
 
|-
 
|-
 
|}
 
|}
 +
 
== Extensions ==
 
== Extensions ==
 
There are additional keywords which are not technically part of the Standard Pascal language but are used by [[FPC]] either for additional functionality such as for implementing objects, compatibility with the error recovery concepts exposed by C++, or to provide compatibility with [[Borland Pascal]] and earlier Pascal compilers.  These keywords include:
 
There are additional keywords which are not technically part of the Standard Pascal language but are used by [[FPC]] either for additional functionality such as for implementing objects, compatibility with the error recovery concepts exposed by C++, or to provide compatibility with [[Borland Pascal]] and earlier Pascal compilers.  These keywords include:

Revision as of 00:19, 16 October 2019

العربية (ar) Deutsch (de) English (en) español (es) suomi (fi) français (fr) Bahasa Indonesia (id) 日本語 (ja) português (pt) русский (ru) 中文(中国大陆)‎ (zh_CN)

En 1974, el creador del lenguaje Pascal, Niklaus Wirth escribió un libro con Kathleen Jensen, titulado Pascal User Manual and Report publicado por Springer-Verlag. Este libro se convirtió en un estándar de facto para el lenguaje Pascal. En 1983, la Organización Internacional de Normas (ISO) formalizó la norma de facto como ISO 7185:1983. En 1990 ISO lanzó una versión actualizada - ISO 7185 :1990 - que no introdujo ningún concepto nuevo, pero borró ambigüedades y corrigió errores que estaban en la versión anterior. La norma ISO 7185 se conoce como Standard Pascal. El estándar define el nivel mínimo que un compilador Pascal debe admitir para ser un verdadero compilador del lenguaje Pascal.

Palabras reservadas

Las siguientes son las palabras clave estándar (denominadas símbolos de palabra en la norma ISO 7185) que todos los compiladores deben admitir:

Símbolos

Los siguientes símbolos (a los que la norma se refiere como símbolos especiales) también forman parte del lenguaje:

Funciones

Todas las funciones definidas por Standard Pascal se implementan en Free Pascal en la unidad System de la biblioteca estándar Runtime Library.

Funciones aritméticas

Función Descripción
abs(x) Calcula el valor absoluto de x
arctan(x) Devuelve el arco tangente de x, que puede ser cualquier tipo Real. El ángulo resultante está en unidades radiales.
cos(x) Calcula el coseno del ángulo x (radianes)
exp(x) Exp devuelve el exponente de x, p.e.: el número e elevado a la potencia de x
ln(x) devuelve el logaritmo natural del parámetro Real x debiendo x debe ser positivo.
sin(x) Calcula el seno del ángulo x (radianes)
sqr(x) Calcula el cuadrado de x
sqrt(x) Calculat la raíz cuadrada de x debiendo x ser positivo.

Funciones de transferencia

Función Descripción
round(x) Redondea un valor del tipo Real a su valor entero más cercano, devuelve un entero.
trunc(x) Devuelve un entero (Longint) que es la parte entera de x siendo x del tipo Real.

Funciones Ordinales

Función Descripción
chr(x) Devuelve el valor del tipo caracter (char) de x siendo x del tipo byte.
ord(x) Devuelve el valor ordinal de una variable (x) del tipo ordinal.
pred(x) Devuelve el elemento previo de un tipo ordinal.
succ(x) Devuelve el siguiente elemento de un tipo ordinal.

Funciones Booleanas

Función Descripción
eof(f) Chequea si es el fin del archivo f.
eoln(f) Chequea si es el fin de línea del archivo de texto f.
odd(x) Devuelve True si X es impar o False en caso contrario.

Procedimientos

Los procedimientos definidos por Standard Pascal se implementan en Free Pascal en la unidad System unit de la librería estándar Runtime Library.

Procedimientos para el manejo de archivos

Procedimiento Descripción
get(f)
page()
put(f)
read Lee desde un archivo de texto o stdin a una variable.
readln Lee desde un archivo de texto a una variable y se sitúa en la siguiente línea.
reset(f) Abre un archivo en modo lectura.
rewrite(f) Abre un archivo en modo escritura.
write Escribe una variable o una cadena de texto (string) literal en un archivo de texto o stdout.
writeln Escribe una variable o una cadena de texto (string) literal en un archivo de texto o stdout y añade una nueva línea.

Dynamic allocation procedures

Procedure Description
dispose(q) Release the memory pointed to by q, which was allocated with a call to New.
dispose(q,k1...kn)
new(p) New allocates a new instance of the type pointed to by p, and puts the address in p.
new(p,c1...cn)

Transfer procedures

Procedure Description
pack() Create packed array from normal array
unpack() Create unpacked array from packed array

Extensions

There are additional keywords which are not technically part of the Standard Pascal language but are used by FPC either for additional functionality such as for implementing objects, compatibility with the error recovery concepts exposed by C++, or to provide compatibility with Borland Pascal and earlier Pascal compilers. These keywords include:

implementation · finally · try · unit.

Types

There are the standard types:

integer · smallint · longint · real · boolean · string · char · byte

Modes supported by Free Pascal

Free Pascal supports ISO 7185 Standard Pascal with the compiler mode command line option -Miso or with the source code compiler directive {$mode ISO}. Support of ISO 7185 started with version 3.0.0. It is planned to have a mode support ISO/IEC 10206 Extended Pascal in future versions of Free Pascal.

External links