Versión 1.0 - Esteban Calabria

advertisement
Compendio de Ejercicios de Programación
Versión 1.0
Esteban César Calabria
2006
Indice
INDICE ...................................................................................................................................................2
PREFACIO .............................................................................................................................................3
1.EJERCICIOS CON ENTEROS Y FLOTANTES............................................................................4
2.EJERCICIOS CON CONSTANTES.................................................................................................5
3.EJERCICIOS CON ESTRUCTURAS ITERATIVAS.....................................................................7
4.EJERCICIOS CON PROCEDIMIENTOS Y FUNCIONES...........................................................9
5.EJERCICIOS PARA RESOLVER UTILIZANDO STRINGS.....................................................10
6.EJERCICIOS PARA RESOLVER UTILIZANDO VECTORES ................................................12
7.EJERCICIO PARA RESOLVER USANDO ARCHIVOS............................................................14
8.MANEJO DE PANTALLA Y VALIDACIONES...........................................................................15
9.EJERCICIOS SOBRE CÓDIGO EXISTENTE.............................................................................16
APENDICE A – TABLA DE CARACTERES ASCII.......................................................................18
APENDICE B – TIPOS DE DATOS Y OPERADORES ..................................................................20
APENDICE C – CONVERSIONES ENTRE TIPOS DE DATOS...................................................21
Prefacio
Escribí este compendio de ejercicios de programación con el objetivo de que le sea de
utilidad a un alumno que comienze un primer curso de algoritmos y programación
utilizando el lenguaje Pascal.
Traté de elegir los ejercicios teniendo en cuenta que resulten representativos en cuanto
al tema en sí que tratan. Debajo de cada ejercicio se incluye entre paréntesis y negrita
los conocimientos que considero que se tienen que tener para resolverlo y a veces se
incluyen tips para proporcionar una sugerencia de resolución.
Muchos ejercicios apuntan a familiarizar a quien los resuelva con el uso de
enumerados y constantes para que se escriban códigos más legibles y mantenibles.
Al final añadí algunos anexos con temas que en mi experiencia resultan recurrentes a
la hora de dictar un curso y que los alumnos suelen consultar mucho como ser la
conversion entre tipos de datos.
Al momento de terminar la primera version de este escrito no me encuentro nada
conforme con la cantidad de ejericios expuestos y espero ir completandolo a medida
que pase el tiempo.
Cualquier error o sugerencia para mejorar (corregir errores, agregar más ejercicios,
proponer anexos nuevos) será bienvenida y me la pueden hacer llegar.
Esteban César Calabria
(accesosecuencial@yahoo.com.ar)
1. Ejercicios con Enteros y Flotantes
1.1 - Se pide codificar un programa que pida al usuario que ingrese dos numeros
enteros seguidos por una operación y muestre por pantalla el resultado. Se debe poder
permitir sumar, restar, multiplicar y hacer la division entera. (integer, operades)
1.2 - Extender el programa anterior para que ahora acepte numeros con punto flotante
y acepte las operaciones de seno, coseno, raiz cuadrada, logaritmo (real, double,
funciones matematicas)
1.3 - Codificar los programas suma, resta, multiplicación y división que reciba como
parametro 2 valores enteros desde la linea de comando y muestre por pantalla el
resultado de la operación. Como una mejora se propone que el programa valide que la
cantidad de parametros ingresados sea la correcta (parametros, integer, operacodes)
1.4 - Se pide calcular por medio de un programa cuando dinero ganaremos con una
inversion. Para ello se debe ingresar el monto inicial en pesos que queremos invertir,
la cantidad de dias y un interes anual esperado. Para ello se debe aplicar la siguiente
formula: (Monto Inicial * plazo en dias * tasa anual en porcentaje) / 36500
(double, operadores)
1.5 - Dados dos puntos en R2 que ingrese el usuario se pide informarle la distancia
que existe entre ambos (operadores, funciones matematicas)
1.6 - Hacer una aplicación que sirva para tranformar de grados a radianes y viceversa.
Se deben tener en cuenta grados minutos y segundos y los valores se deben almacenar
en variables de punto flotante (operadores, double)
1.7 - Se pide detectar colisiones entre dos cuadrados que se encuentran en un espacio
bidimensional. El usuario debe ingresar 4 puntos que corresponde los vertices del
primer cuadrado y hara lo propio con el segundo. Se pide hacer los calculos
correspondientes y decir si existe una colision entre ambos. (integer, if)
1.8 - Se pide modificar el caso anterior pero esta vez el usuario ingresará dos circulos
incidando el centro y el radio de los mismos. (integer, if, funciones matematicas)
2. Ejercicios con constantes
Para facilitar poder mostrar enumerados por pantallas es posible utililizarr un vector
constante de strings cuyos indices esten definidos por un enumerado y contenga una
descripción amigable del mismo para mostrar por pantalla. Por ejemplo:
(..
type)
Tcolor = (clRojo, clVerde, clAzul, clNegro)
(..)
const
DescripcionColor:array[clRojo...clNegro] of
string=(‘Rojo’,’Verde’,’Azul’,’Negro’);
(...)
var
color : Tcolor;
Descripcion
Begin
color := clRojo;
(...)
Writeln(‘El Color es: ‘,DescripcionColor[Color]);
2.1 - Se pide definir un enumerado, dos vectores constantes. Uno con la descripción
amigable y otro con un string corto que representa cada elemento del enumerado.
Mostrar al usuario todos los elementos del enumerado para que uno tecleando el
string corta. La aplicación debe mostrar la descripción amigable correspondiente al
elemento seleccionado.
TIP: Se recomienda en forma optativa ayudarse de una funcion para convertir el
string corto a un elemento del enumerado
(enum, array of const, case, function)
2.2 - A partir de un array of const con un conjunto de preguntas y en otro con sus
correspondiente respuestas efectuarle el cuestionario al usuario e informarle el
numero de cuantas respuestas correctas. (array of const)
2.3 - Al programa anterior agregarle un segundo vector constante donde cada
elemento del vector contenga ademas otro vector constante donde se indiquen 3
posibles opciones a la pregunta correspondiente donde una de ellas sea la correcta.
Definir además una constante que indique la cantidad de respuestas correctas
necesarias para aprobar el cuestionario
(array of array of const)
2.4 Definir un registro de la siguiente forma:
TRegistroPregunta = record
Pregunta :string;
Respuesta :string;
Opcion1 :string;
Opcion2 : string;
End;
Y modificar el ejemplo anterior para que en vez de tener 3 arrays of const tener un
solo array of records constante
TIP: El help del turbo pascal puede resultarle muy util a la hora de definir una
estructura de este tipo
(array of const records)
3. Ejercicios con estructuras Iterativas
3.1 - Dado un conjunto de números enteros que el usuario ingresara sucesivamente
(finaliza cuando ingresa el número 0), informarle por la moda, la media y el desvio
estandar de la muestra (iterativas)
3.2 - 5...4...3...2...1...Mostrarle al usuarioace un programa que muestre por pantalla
una cuenta regresiva de N (N=10) a 0 y entre numero y numero haya una demora de
algunos segundos (sleep, for, downto)
3.3 - Programar un juego en el cual el participante tenga una determinada cantidad de
oportunidades (se sugieren 5 por defecto) de adivinar un número generado por la
computadora al azar coprendido entre min y max (min=1 y max=100).
Cada vez que el usuario ingresa un valor la computadora le indica si el valor a
descubir es mayor o menor al ingresado. Al final se le informa al usuario que adivinó
y en caso contrario que se le terminaron las oportunidades y cual era el número. (if,
writeln, while, const)
3.4 - Dado un la representacion en base 10 de un ingresado por el usuario en base 10,
muestre por pantalla su representacion en binario.
TIP: Para este ejercicio puede asumir que los numeros son de 16 bits
(gotoxy, writeln, for)
3.5 - Mostrar por pantalla todos los números primos y capicuas comprendidos entre
20 y N (N=50000). (for)
3.6 - Idem anterior pero esta vez el usuario ingresa la representación en base 16 del
numero y espera que se le muestre tanto su representacion en binario como en base 10
(gotoxy, writeln, for)
3.7 - Hacer un algoritmo en el que se ingrese en binario un numero de 16 bits y se
muestre el numero en base 10 por pantalla. (gotoxy, writeln, for)
3.8 - Mostrar por pantalla la tabla ascii en 4 columnas de la forma:
codigo – Carácter codigo – Carácter codigo – Carácter codigo – Carácter
codigo – Carácter codigo – Carácter codigo – Carácter codigo – Carácter
(...)
(for, ord, chr)
3.9 -Un programa que muestre todas las palabras que se pueden formar combinando
los carácter sin repeticion ‘A’,‘G’,’W’,‘T’, ‘F’, ‘S’, R’,’G’. (for, wrtilen)
3.10 - Dada una palabra, encontrar los numeros que le correponderian según los
dígitos de un teléfono.
Ej: A ‘Hola’ le corresponde el 4652
(readkey, iterativas)
3.11 - Ahora se pide que a partir del número de telefono muestre todas las palabras
posibles que se pueden formar con ellos (iterativas)
3.12 - Un programa que diga la cantidad de numeros que utilicen todas las cifras y los
muestre por pantalla. Por ejemplo el ‘123456789’
(iterativas)
3.13 - De los números encontrados con el programa anterior encontrar aquellos que
tengan la particularidad que al dividirlo por el ultimo digito sigua conservando todas
las cifras. (iterativas)
3.14 - Dado un conjunto de caracteres alfabéticos ingresados por el usuario, se pide
mostrar la combinación posible de palabras que se pueden mostrar con ellos.
(iterativas)
4. Ejercicios con Procedimientos y funciones
TIP: La implementación de las funciones y procedimiento debe ir acompañanda de un
ejemplo de uso en un programa principal
TIP: Si bien es opcional se recomienda tambien acompañar el ejemplo anterior con
una muestra de lo que se vería por pantalla al ejecutarlo cuando corresponda
4.1 - Dada la declaración
FUNCTION CANTIDADDIGITOS(INUMERO:INTEGER):INTEGER;
Completar su implementación de modo que sea coherente con el nombre asignado a la
función (function)
4.2 -Hacer una función que te devuelva el digito n de un número. En el caso de que n
supere la cantidad de digitos que contiene el número, devolver ERROR. Elija un
nombre acorde con lo que hace
TIP: ERROR se trata de una constante cuyo valor sugerido es –1
TIP: Puede aprovechar la funcion del ejercicio anterior
(function)
4.3 - Programar...
procedure DivMod(Dividend: Integer; Divisor: Word; var Result,
Remainder: Word)
que devuelve el resto y el resultado de la division entera
(function. div,mod)
4.4 - Completar con código la implementacióm de la siguiente función:
function Capicua(iNumero:integer):boolean;
4.5 - Un programa que dado un número entero lo rebata. Por ejemplo el 123 pasaria a
ser el 321.
function iRebatir(iNumero:integer):integer
4.6 - Hacer un programa que calcule el factorial de un número de forma recursiva.
TIP: Ojo que los numeros se van de rango muy rapidamente y aparece el error stack
overflow
5. Ejercicios para resolver utilizando strings
TIP: Estos ejercicios asumen que se poseen de antemano los conocimientos de sobre
procedimientos y funciones.
5.1 - Dada la definición de la funcion PoxEx :
function PosEx(sOrigen:string; sSubString:string; n:integer):integer;
Sabiendo que indica la posicion de un substring dentro de un string origen a partir de
una posición n especificada. Escriba su implemetación
Ej: Invocar PosEx(‘HolaHola’,’Hola’,2) devolvería 4.
(function, string, pos, delete)
5.2 - Implemente la función:
function ReplaceString(sOrigen:string; sSubString:string):string;
que devuelva un sting donde se reemplace todas las ocurrencias de un substring
dentro de un string.
Tip: puede utilizar la funcion del ejercicio anteror
(function, string, pos)
5.3 - Modificar la funcion anterior para que no sea case sensitive, es decir, que no
diferencie mayusculas de minusculas.(function, string, pos)
5.4 - Dado un string que contenga un texto se desea una función que provea la
funcionalidad de determinar la cantidad de ocurrencias de una palabra recibida por
parametro dentro del texto. Tambien se debe poder parametrizar si su comportamiento
sera tanto case sensitive o no. (string)
5.5 - Dado un string y un delimitador (como por ejemplo el carácter espacio) se pide
determinar la cantidad de palabras que hay en el string. Dos o más ocurrencias
seguidas del delimitador se deben considerar igual que si el delimitador estuviera una
sola vez. (string)
5.6 - Esta vez se pide una funcion que dado un string, un demilitador y un número i
como parametros se pide devoler la palabra ubicada en la iesima posicion del string
recibido como parametro (string)
5.7 - Pogramar la funcion...
function UpperCase(sOrigin:string):string;
QUE TRANSFORME TODOS LOS CARACTERES DEL STRING RECIBIDO COMO
PARAMETRO A MAYUSCULAS
Ej: UpperCase(‘HoLa’) devuelve ‘HOLA’
(string,function)
5.8 - Para este ejercicio se define a un string con formato a aquel que incluye el
substring ‘%s’. Para trabajar con ellos se pretende contar con la funcion format string
que reemplaza el ‘%s’. Se proponen dos declaraciones posibles para la funcion:
function Format(sOrigin:string, sParameters:string):string;
Ej: Format(‘Error %s’,’fecha invalida’) devuelve ‘Error fecha invalida’
(string, function)
5.9 - Implemente la funcion Rebatir que tome un string y lo devuelva rebatido.
Ej: Rebatir(‘hola’) devuelve ‘aloh’
(string)
5.10 - El método de encriptación CAESAR consiste en reemplazar cada carácter de un
string por su correspondiente carácter encriptado a partir de una clave numerica. Esta
ultima indica la cantidad de posiciones que debe incrementase un carácter.
Ej: Si la clave es 3, la ‘a’ se transforma en ‘d’, la ‘c’ en ‘f’, etc.
E: Si la clave es 1, el string ‘abcd’ se transforma en’ bcde’
Proveer un par de funciones para encriptar y desencriptar un string dada una clave
utilizando el metodo caesar
(string, function)
5.11 - Dada la siguiente tabla de substitución
a→4
e→3
f → ph
i → 1 or |
l → | or 1
m → |\/|
n → |\|
o→0
s→5
t → 7 or +
b→8
c → ( or k or |< or /<
d → <|
g → 6 or 9
h → |-|
k → |< or /<
p → |2
u → |_|
v → / or \/
w → // or \/\/
x → ><
y → '/
Se pide hacer que dado un string se reemplacen los caracteres del mismo utilizando la
tabla de substitución mostrada anteriormente.
Ej: ‘Hola’ pasaria a ser ‘|-|014’
TIP: se sugiere usar arrays of const para codificar la tabla de reemplazos
(string, array of const)
5.12 - Agregar a la tabla de substitucion anterior un valor que indique la posibilidad
de que dicho carácter sea reemplazado. Modificar el programa anterior para que el
reemplazo se haga dependiendo del resultado de un número al azar.
EJ; si aparece una s podra ser remplazada por un 5 o dejar la s según el azar.
(string, array of const, random, randomize)
6. Ejercicios para resolver utilizando vectores
Tip: Los procedimientos que trabajen con arrays pueden tanto tomar como
parametro un tipo especifico de array definido en la seccion type o bien un parametro
del tipo array of. Para manipular estos ultimos se recomienda utilizar la funciones
Low y High.
6.1 - Definir un procedimiento que inicialice los elementos de un array de enteros en
un valor al azar
(array)
6.2 - Implementar una función que devuelva el máximo elemento de un array de
enteros recibido por parámetro
(array)
6.3 - Modifique el punto anterior para que esta vez se determine el ranking de los N
maximos del vector.
TIP: En el caso de dos contar con el mismo valor, ambos deben figurar en el ranking
(array)
6.4 - Definir un procedimiento que tome un arreglo de strings y lo muestre por
pantalla
Se sugiere la siguiente declaración
procedure Mostrar( aStrArray : array of string);
TIP: La implementación del metodo es libre de definir el formato en el que se desea
mostrar el texto. Por ejemplo recuadrado.
(array)
6.5 - Dado un conjunto de opciónes que puede elegir el usuario almacenadas en un
vector de strings, se pide mostrar dicho conjunto de opciones por pantallas y permitir
al usuario navegar por las mismas utilizando el teclado.
Aclaracion: El imput corresponde al array con las opciones de menu y el output a la
opcion seleccionada
(array)
6.6 - Dada una matriz bidimensional de enteros recibida por parametro, definir e
implementar una función que devuelva su determinante.
(array)
6.7 - Definir un programa que permita a un usuario ingresar el contenido de una
matriz bidimensional por pantalla. La logica que permite editar visualmente los
elementos de la matriz debe poder reutilizarse en distintas aplicaciónes que deseen
tener esta funcionalidad.
TIP: Una opcion es que muestre la matriz por pantalla toda inicializada en 0 y el
cursado pueda navegar por sus celdas con las el teclado e ingresarle el valor
correspondiente
(array)
6.8 - Dada una matriz que representa un sistema de ecuaciones, realizar un programa
que la resuelva utilizando el metodo de los determinantes
TIP: Puede utilizarse el ejercicio anterior para cargar los datos de la matriz
(array)
6.9 - Dada una matriz tridimensional y 2 vectores que digan cuando tienen que sumar
las filas y las columnas, hacer un programa que le asigne valores numericos a la celda
de manera que la suma de las filas y las columnas coincida.
TIP: Se recomienda usando dos for anidado que resuelva el problema por prueba y
error.
(array)
6.10 - Un programa que lea una secuencia de palabras desde un archivo y pregunte al
usuario el ancho y el alto de una matriz y genere al azar y muestre por pantalla una
sopa de letras
6.11 - Hacer un algoritmo que implemente una cola de prioridad en un array de n
(n=100) posiciones (array, while)
7. Ejercicio para resolver usando archivos
7.1 - Hacer un programa que genere el archivo (NOMBRE ARCHIVO= out.bin)
binario que contenga una secuencia de numeros (N=10) enteros generados al azar.
(file,randomize,random,reset, archivo binario)
7.2 - Idem anterior pero esta que vez el archivo sea de texto y contenga un número por
linea. Además debe preguntarle al usuario cual es el nombre del archivo a crear
(file,randomize,random, reset, archivos texto)
7.3 - Codificar un el programa que permita elegir al usuario el nombre de uno un
archivo generado anteriormente y ordenarlo. Puede suponer que todo el conenido de
los archivos entra en memoria o bien utilizar algun método de ordenamiento de
archivos (file)
7.4 - Tomar dos archivos ordenados y generar un tercer archivo con la información de
ambos archivos ordenados (file)
7.5 - Un algoritmo que recorra los archivos del disco rigido y diga que porcentaje del
disco utilizado ocupa cada directorio(file)
7.6 - Un algorimo que recorra todos los archivos del disco rigido (o una parte del
disco) el archivo que ocupa mas espacio, el que ocupa menos expacio, el que fue
modificado mas recientemente y el que hace mas tiempo que no se accede.(file)
7.7 - Un programa que cada XXX minutos se fije el contenido de archivos en un
directorio. Hace lee los archivos en modo texto, va acumulando la cantidad de
palabras que tiene y los copia a otro directorio.(file)
7.8 - Un chat pero que funcione en ves de por internet monitoreando la actividad de
un directorio. Cada vez que se envia un mensaje, se escribe un archivo en un
directorio destino. Al iniciar la aplicación se elije el directorio origen y destino (file)
7.9 - Una aplicación que permita dar de alta, baja y modificacion en un archivo
contactos con nombre y telefono. (file)
7.10 - Un programa que lea de linea de comandos un nombre de una archivo de texto
y lo muestre por pantalla centrado (file)
8. Manejo de Pantalla y validaciones
8.1 - Escribir el fragmento de código que vaya concatenando en un string los
caracteres ingresados leidos mediante la funcion readkey hasta que se presione la tecla
enter. (readkey)
8.2 - Hacer un programa que muestre un carácter ‘*’ en el centro de la pantalla y
permita dezplazarlo con las teclas de movimiento. En el caso de sobrepasar a un
extremo de la pantalla debe reaparecer en el extremo opuesto. (clrScr, readkey,
write, gotoxy)
8.4 -Escribir un fragmento de código mediante el cual se lea el ingreso de valores
enteros por parte del usuario teniendo en cuenta lo siguiente
• Los dígitos se deben leer uno por uno mediante la funcion readkey y solo se
aceptaran caracteres numéricos
• El ingreso termina cuando el usuario presiona la tecla ENTER
• En caso de presionarse un carácter no numerico llamar a la funcion beep
• Para validar si un carácter es numérico o no se debe utilizar un set de
caracteres numericos declarados en la seccion const.
• Debe validarse que el número que ingrese el usuario se pueda almacenar en
una variable entera: si el proximo carácter hace que el numero se me vaya de
rango directamente no lo tomo y ejecuto un beep
• Al finalizar el ingreso el numero debe terminar almacenado en una variable
entera
Tip : Para variables de tipo integer la funcion High(integer) me devuelve cual es el
entero mas grande que puedo almacenar.
(readkey, char, sets, beep, val)
8.4 - Escribir las lineas de código necesarias para validar que un string ingresado
cumpla la siguientes condiciones:
¾ La primer posición puede contener los caracteres ‘-‘,’+’ o un carácter
numérico
¾ El resto del string esta formado por caracteres numericos o un separador de
decimales como ser ‘.’ o ‘,’
¾ Solo se admite un separador de decimales
¾ Debe haber un carácter numérico antes del separador de decimales
Escriba dos versiones del algoritmo:
¾ Una que valide el string una vez que se ingresados todos los caracteres e
informe los errores
¾ Otro que vaya realizando las validaciones a medida que se ingresan los
caracteres y no permita al usuario ingresar un carácter incorrecto
TIP : Para el segundo algoritmo se sugiere consultar el ejercicio 1.
(readkey, char)
8.5 - Dada una fecha ingresada por el usuario de la forma dia, mes y año determinar si
corresponde a una fecha valida teniendo en cuenta años bisiestos.
TIP: Se sugiere pensar que dicha validacion puede ser utilizada por diferentes
aplicaciones.
(fechas)
8.6 - Se pide tranformar un número entero entero en una fecha válida que contenga
dias mes año sabiendo que dicho número corresponde a la cantidad de dias
trancurrido a partir del 1/1/1800
De piden dos versiones del código:
¾ Una que almacene el resultado en un record
¾ Otra que almacene el resultado en un string de la forma ‘dia/mes/año’
(fechas)
8.7 - Dadas dos fechas determinar la cantidad de dias de diferencia que existen entre
ambas.
(fechas)
8.8 - Escriba el código necesario para que dada la fecha de nacimiento de una persona
determinar su edad.
(fechas)
9.Ejercicios sobre código existente
TIP:En los ejercicios que se muestran a continuación se muestran fragmentos de
código y se pide que se realicen correcciones sobre los mismos
9.1 - Dado el siguiente fragmento de codigo y suponiendo que funciona
correctamente
(..)
if ltArchivoUsuarios in Archivos then
begin
if FileExists(‘usuarios.txt’) then
Begin
RefrescarContenido(‘usuarios.txt’);
CargarArchivoEnArray(‘usuarios.txt’, arrayArchivo);
CrearCopiaSeguridad(‘usuarios.txt’, CopiaSeg[ltArchivoUsuarios] );
End
Else
Begin
InformarArchivoInexistente(‘usuarios.txt’);
End;
End;
if ltArchivoContactos in Archivos then
begin
if FileExists(‘contactos.txt’) then
Begin
RefrescarContenido(‘contactos.txt’);
CargarArchivoEnArray(‘contactos.txt’, arrayContactos);
CrearCopiaSeguridad(‘contactos.txt’, CopiaSeg[ltArchivoContactos]);
End
Else
Begin
InformarArchivoInexistente(‘contactos.txt’);
End;
End;
if ltArchivoContenido in Archivos then
begin
if FileExists(‘contenido.txt’) then
Begin
RefrescarContenido(‘contenido.txt’);
CargarArchivoEnArray(‘contenido.txt’, arrayContenido);
CrearCopiaSeguridad(‘contenido.txt’, CopiaSeg[ltArchivoContenido] );
End
Else
Begin
InformarArchivoInexistente(‘contenido.txt’);
End;
End;
(...)
¿Qué inconvenientes le detecta al código? ¿Cómo lo solucionaría? Proponga una
solución alternativa que no contenta los inconvenientes que detectó
9.2 – Suponiendo que el fragmento de código funciona correctamente
(...)
iTipoMensaje := 16;
MostrarMensaje(‘Mensaje de error’,16);
...
If (iTipoMensaje=16) then
Begin
(..)
End;
(...)
¿Qué problemas le encuentra? Explique que cambios le haria y porqué.
Apéndice A – Tabla de caracteres ASCII
Apéndice A – Tabla de caracteres ASCII (Cont.)
Apéndice B – Tipos de datos y operadores
Se incluye a continuación un cuadro donde se muestran los operadores y las funciones
y procedimientos más comunes asociadas a los tipos de datos de Pascal. Para una
explicación mas detallada como ser los parametros que reciben y los valores de
retorno de las funciones referirse a la ayuda del lenguaje.
Tipo
integer
(shortint)
(longint)
(byte)
(word)
Operadores
Asociados
+,-,*,/
DIV
MOD
=, > , < , >= , <=
real
(single)
(double)
(extended)
(comp)
string
+,-,*,/
=, > , < , >= , <=
boolean
NOT
AND
OR
XOR
+
=, > , < , >= , <=
enumerados
Ord()
Pred()
Suc()
Inc()
Dec()
High()
Low()
Abs()
Int()
Pos()
Delete()
Copy()
Insert()
Low()
High()
array
set
Métodos
Asociados
+ (union)
- (resta)
* (intersección)
Suc()
Pred()
Apéndice C – Conversiones entre tipos de datos
Se presenta a continuación un cuadro con las funciones mas utilizadas a la hora de
realizar conversiones entre tipos de datos. Referirse a la ayuda del lenguaje para una
explicacion mas detallada de las funciones.
De \ a
integer
integer
------
real
Round()
Trunc()
Val()
string
enumerado
-----
real
Asignación
directa :=
-----Hay que
programarla
uno
------
string
str()
str()
enumerado
---------
------
utilizar un array
of const
utilizar un array
of const
------
Descargar