Redondear y truncar
Round (X); {X:Real, Resultado real (Entero más próximo que hay de X)}
Y := Round (X);
Trunc (X); {X:Real, Resultado entero (Saca los decimales de X)}
Z := Trunc (X);
Ejemplo
Program RyT;
Uses Crt;
Var
VR1, VR2 : Real;
EN : Integer;
Begin
Clrscr;
VR1 := 123.43;
VR2 := Round (VR1);
EN := Trunc (VR2);
End. {Falta mostrar los resultados en pantalla}
Números aleatorios
Random; ==> Genera números aleatorios entre 0 y 1.
Random (X); ==> Genera números aleatorios entre 0 y X (X es un número entero).
Ejemplo
Program Ran;
Uses Crt;
Var
X : Integer;
Begin
Clrscr;
Randomize; {Siempre hay que colocarlo cuando usamos Random}
Write (Random (200));
End.
Incrementar - Decrementar (Muy útil)
Inc (X); ==> Incrementa el valor de X en 1 unidad (Sustituto de "X := X + 1").
Dec (X); ==> Decrementa el valor de X en 1 unidad (Sustituto de "X := X - 1").
¿Qué pasa si queremos incrementar o decrementar en dos o más unidades a X?
Sencillo:
Inc (X,5); {Incrementa en 5 unidades a X}
Dec (X,10); {Decrementa en 10 unidades a X}
Ejemplo
Program IyD;
Uses Crt;
Var
X,Y,N : Integer;
Begin
Clrscr;
X := 0;
Y := 25;
For N := 1 to 5 do
Begin
Inc (X,2);
Dec (Y,5);
End;
End. {Resultados: X = 10, Y = 0}
Int y Frac
Int (X); {X:Real, Resultado real (Devuelve la parte entera de X).
Frac (X); {X:Real, Resultado real (Devuelve la parte decimal de X).
Ejemplo
Program IyF;
Uses Crt;
Var
R : Real;
Begin
Clrscr;
R := Int (236.56); {R = 236.0}
R := Int (-236.56); {R = -236.0}
R := Frac (236.56); {R = 0.56}
R := Frac (-236.56); {R = -0.56}
End.
Otras
Abs (X); ==> Nos da el valor absoluto de X.
Sqr (X); ==> Devuelve el cuadrado de X.
Sqrt (X); ==> Devuelve la raíz cuadrada de X.
Exp (X); ==> Devuelve el exponencial de X.
Ln (X); ==> Devuelve el logaritmo natural de X.
Sin (X); ==> Devuelve el seno de X.
Cos (X); ==> Devuelve el coseno de X.
Arctan (X); ==> Devuelve la cotangente de X.
Dedicado a enseñar los principales conceptos del lenguaje de programación Pascal, creado por Niklaus Wirth
Mostrando las entradas con la etiqueta Ejemplos. Mostrar todas las entradas
Mostrando las entradas con la etiqueta Ejemplos. Mostrar todas las entradas
For, While, Repeat
Estas tres estructuras son muy utilizadas en el lenguaje Pascal y se usan para repetir dos o varias veces, una o muchas sentencias definidas por nosotros. Pero hay que tener cuidado ya que podríamos crear un bucle infinito del cual nunca saldríamos.
Definamos cada estructura, la ayuda de Turbo Pascal 7 las define así:
For: esta sentencia hace que la sentencia de después del do se ejecute una vez por cada valor dentro del rango, del primero al ultimo.
While: contiene una expresión que controla la ejecución repetida de una sentencia singular o compuesta.
Repeat: las sentencias entre repeat y until se ejecutan en secuencia hasta que al final de una secuencia, la expresión booleana en verdadera (True).
Sintaxis
For Variable := Primer número to Último número do
Sentencia;
For Variable := Primer número downto Último número do
Sentencia;
While Expresión do
Sentencia;
Repeat
Sentencia;
Sentencia;
...
Sentencia;
Until Expresión;
Aclaraciones
Tanto "Variable", "Primer número" como "Último número" deben ser de un tipo ordinal (ej: Integer). Con "to" el valor de "Variable" se incrementa en 1 para cada vez que se ejecute el bucle. Con "downto" es exactamente al revés, es decir se decrementa en 1.
En los while, la sentencia después del "do" se ejecuta mientras que la expresión contigua al while sea verdadera. El valor de la expresión se evalúa antes de que se ejecute la sentencia, por lo que si la expresión es falsa no se ejecuta la sentencia.
Para los repear hay que tener cuidado ya que las sentencias se va a ejecutar por lo menos una vez, por que la expresión se evalúa al final de estas. Las sentencias se ejecutarán hasta que la expresión sea verdadera.
Tanto para while como para repeat los valores de las expresiones se las va a modificar dentro de su estructura, si no fuera de esta manera nunca se saldría del bucle y se generaría un ciclo de nunca acabar. Por otro lado, si queremos escribir más de una sentencia en un for o un while debemos escribirlas entre begin y end, para repeat no hace falta por que ya están delimitadas por repeat y until.
Ejemplos de estructuras posibles
Caso 1
Definamos cada estructura, la ayuda de Turbo Pascal 7 las define así:
For: esta sentencia hace que la sentencia de después del do se ejecute una vez por cada valor dentro del rango, del primero al ultimo.
While: contiene una expresión que controla la ejecución repetida de una sentencia singular o compuesta.
Repeat: las sentencias entre repeat y until se ejecutan en secuencia hasta que al final de una secuencia, la expresión booleana en verdadera (True).
Sintaxis
For Variable := Primer número to Último número do
Sentencia;
For Variable := Primer número downto Último número do
Sentencia;
While Expresión do
Sentencia;
Repeat
Sentencia;
Sentencia;
...
Sentencia;
Until Expresión;
Aclaraciones
Tanto "Variable", "Primer número" como "Último número" deben ser de un tipo ordinal (ej: Integer). Con "to" el valor de "Variable" se incrementa en 1 para cada vez que se ejecute el bucle. Con "downto" es exactamente al revés, es decir se decrementa en 1.
En los while, la sentencia después del "do" se ejecuta mientras que la expresión contigua al while sea verdadera. El valor de la expresión se evalúa antes de que se ejecute la sentencia, por lo que si la expresión es falsa no se ejecuta la sentencia.
Para los repear hay que tener cuidado ya que las sentencias se va a ejecutar por lo menos una vez, por que la expresión se evalúa al final de estas. Las sentencias se ejecutarán hasta que la expresión sea verdadera.
Tanto para while como para repeat los valores de las expresiones se las va a modificar dentro de su estructura, si no fuera de esta manera nunca se saldría del bucle y se generaría un ciclo de nunca acabar. Por otro lado, si queremos escribir más de una sentencia en un for o un while debemos escribirlas entre begin y end, para repeat no hace falta por que ya están delimitadas por repeat y until.
Ejemplos de estructuras posibles
Caso 1
For Variable := Primer número to Último número do
Begin
Sentencia;
Sentencia;
...
Sentencia;
End;
Caso 2
For Variable_1 := Primer número to Último número do
For Variable_2 := Primer número to Último número do
For Variable_3 := Primer número to Último número do
For Variable_4 := Primer número to Último número do
Begin
Sentencia;
While Expresión do
Begin
Sentencia;
Sentencia;
End;
Sentencia;
End;
Caso 3
Repeat
While Expresión do
Begin
For Variable := Primer número to Último número do
Begin
Sentencia;
Sentencia;
...
Sentencia;
End;
Sentencia;
Sentencia;
End;
Sentencia;
Sentencia;
...
Sentencia;
Until Expresión;Estos son distintos casos que podemos armar al ir combinado las distintas estructuras, no necesariamente puedes dar con una estructura de esta forma, solo son ejemplos. Fíjate donde coloco ";" y donde no. Si lo queremos complicar podríamos sumas unos IF y CASE, pero lo dejo para vos. No to olvides que la práctica lo es todo.
Veamos unos ejemplos
Program EjemploFor;
Uses Crt;
Var
x : Integer;
Begin
Clrscr; {Borra la pantalla}
For x := 1 to 100
Writeln (' Dicho Soft ');
Readkey; {Se detiene el programa hasta que se presione una tecla}
End. {Escribe 100 veces "Dicho Soft" en la pantalla, podría ver puesto 1000000}
Program EjemploWhile;
Uses Crt;
Var
Tecla : Char;
Begin
Clrscr;
Tecla := #13; {Es la tecla Enter o Intro}
While Tecla <> #27 do {Tecla Escape}
Begin
Writeln (' Dicho Soft ');
Tecla := Readkey;
End;
End. {Escribe "Dicho Soft" mientras que la tecla pulsada sea distinta a Escape (#27)}
Program EjemploRepeat;
Uses Crt;
Var Tecla_2 : Char;
Begin
Clrscr;
Repeat
Writeln (' Dicho Soft ');
Tecla_2 := Readkey;
Until Tecla_2 = #27;
End. {Escribe "Dicho Soft" hasta que se presione Escape. Si ponemos "<>" en el lugar del "=" escribe "Dicho Soft" mientras se presione la tecla Escape, cambia la cosa.}
Tipos de Datos, Operadores y Asignaciones
Todas las variables que uses en tus programas las debes asociar a un tipo de dato especifico.
El tipo de dato define el rango de valores que pueden tomar la variables a lo largo de su vida, es único y no se puede cambiar durante la ejecución del programa.
Los tipos de datos son:
El tipo de dato define el rango de valores que pueden tomar la variables a lo largo de su vida, es único y no se puede cambiar durante la ejecución del programa.
Los tipos de datos son:
| De: Dicho Soft |
Operadores
Integer
Operadores:
+
-
*
div
mod
Real
Operadores:
+
-
*
/
Boolean
Operadores:
True
False
>
<
>=
<=
<>
=
and
or
not
Char (admite un solo caracter)
Ejemplos:
A := '1';
B := #13;
Ejemplos
Veamos unos ejemplos de como declarar las variables en los programas, sin estas no podríamos hacer nada por ende la importancia de saber como se declaran.
Program Ejemplo_1;
Uses Crt;
Type
Mi_numero : Integer;
Var
A : Integer;
B : Mi_numero;
Begin
Clrscr;
A := 0;
B := 100;
While A <= B do
A := A + 1; {Incrementamos en una unidad a "A" y el resultado lo volvemos a guardar en "A"}
Write ('El resultado es: ', A);
Repeat Until Keypressed;
End.
De este ejemplo nos importa la manera de declarar las variables "A" y "B", que como podemos ver ambas son Integer (Enteras), declaradas de diferentes formas pero obtenemos lo mismo.
Otra manera de haber declarado estas variables mucho mas simple hubiera sido de esta manera:
Program Ejemplo_1;
Uses Crt;
Var
A,B:Integer;
Begin
.
.
.
End.
Lo mismo se cumple para los otros tipos de datos.
Por otro lado, para este ejemplo podríamos haber declarado nuestro propio tipo de dato.
Ejemplo:
Program Ejemplo_1;
Uses Crt;
Var
A,B : 0..100;
Begin
.
.
.
End.
En este ejemplo estamos estableciendo que "A" y "B" pueden tomar valores que van desde 0 hasta 100.
Para cualquiera de las tres versiones del programa el resultado siempre es 100.
Asignaciones
En Pascal los dos puntos seguido del signo igual (:=) se utiliza para indicar que se está asignando un dato a una variable o de una variable a otra.
Ejemplo:
Program Ejemplo_2;
Uses Crt;
Var
A1, B1, C1:Integer;
Begin
A1 := 5; {Asigno a A1 el número 5}
B1 := A1; {Asigno el valor de A1 (5) a B1}
C1 := B1 + A1; {Asigno a C1 10, que es el resultado de sumar B1 y A1 (10 = 5 + 5)}
End.
Publicado por
Saitcor
el
2/26/2010
Enviar esto por correo electrónicoBlogThis!Compartir en XCompartir en FacebookCompartir en Pinterest
Etiquetas:
Asignaciones,
Ejemplos,
Operadores,
Tipos de Datos
Estructura de un Programa
La estructura para un programa escrito en Pascal es la siguiente:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Program Identificador;
Uses Identificadores;
Const
Definiciones de constantes;
Type
Declaraciones de tipos de datos definidos por el programador;
Var
Declaración de variables;
Function
Definiciones de funciones;
Procedure
Definiciones de procedimientos;
Begin
Sentencias (Cuerpo del programa);
End.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Ahora bien, habrá veces en que tal vez no uses todas, sino algunas pocas, en un ejemplo veremos cuales siempre se deben escribir.
Un consejo, trata de seguir un mismo orden para todos tus programas, salvo con los procedimientos y funciones que pueden ubicarse de manera inversa a este orden establecido, así siempre sabrás donde esta lo que necesites encontrar para consultar y/o modificar.
Vocabulario
- Letras: a ... z, A ... Z
- Dígitos: 0 ... 9
- Símbolos especiales: + - * / div and or > < >= <= <> ( ) = [ ] { } ^ ; , '
Comentarios
Por último y no menos importantes, los comentarios que escribas se deben colocar dentro de {}, esto pueden ocupar todas las líneas que quieras. Estos son muy útiles ya que en ellos puedes describir el funcionamiento de alguna función, lo cual si trabajas en equipos de trabajo resulta más cómodo y práctico que estar tratando de adivinar que es lo que hace dicha función.
Veamos un ejemplo
Programa Ejemplo_1;
Uses Crt;
Type
Letras: String[40];
Numeros: Integer;
Var
Edad: Numeros;
Nombre: Letras;
Begin
Clrscr; {Borramos la pantalla}
Write ('Ingrese su Nombre: '); {Escribimos en pantalla el mensaje}
Readln (Nombre); {Espera hasta que se ingrese un nombre}
Write ('Ingrese su Edad: ');
Readln (Edad);
Clrscr;
Writeln (' Su nombre es: ', Nombre); {Se escriben los datos ingresados}
Writeln (' Su edad es: ', Edad, ' años');
Repeat Until Keypressed; {Siempre se escribe al final del programa}
End. {Este siempre termina con punto}
En azul están marcadas las palabras que siempre se deben escribir, salvo que no las necesites como puede ser el caso de "Type" o "Repeat Until Keypressed".
Publicado por
Saitcor
el
2/24/2010
Enviar esto por correo electrónicoBlogThis!Compartir en XCompartir en FacebookCompartir en Pinterest
Etiquetas:
Comentarios,
Ejemplos,
Estructura,
Vocabulario
Suscribirse a:
Entradas (Atom)