Logo Studenta

03 - Datos Simples

¡Estudia con miles de materiales!

Vista previa del material en texto

1 
 
Prof. Claudia Dania – Datos Simples 
 
 
 
 
 
 
Algoritmos y Estructuras de Datos 
1° Año 
Ingeniería en Sistemas de Información 
 
 
* Datos Simples 
 
 
 
 
Prof. CLAUDIA DANIA 
Magister en Docencia Universitaria 
Analista Universitario de Sistemas 
Licenciada en Sistemas de Información 
 
 
 
 
2 
 
Prof. Claudia Dania – Datos Simples 
 
DATOS 
 
Los datos son objetos que al ser manipulados por diferentes sentencias o instrucciones de un 
programa, se convierten en información que ofrece dicho programa. 
 
ESTRUCTURA DE DATOS: Cada dato tiene un formato, según sea su característica, se 
establecerán las operaciones de acceso que se usan para almacenar, recuperar y operar cada 
elemento individual. 
 
DATOS CONSTANTES 
CONST nombre = valor; 
 
Identificador al cual se le asigna un dato 
permanente 
durante la ejecución del programa 
DATOS VARIABLES 
VAR nombre: tipo; 
 
Identificador que permite 
cambiar su valor 
durante la ejecución del programa 
 
 
 
 
IDENTIFICADORES: Tipos de Datos 
El tipo de dato es una descripción formal del conjunto de valores posibles 
que una variable o constante puede presentar y que operaciones que se le puede aplicar. 
 
 
 
 
SIMPLES 
 
Se asocian a Identificadores únicos uno a uno 
 
Pascal 
STANDARD 
o REALES (real) 
o ENTEROS (integer) 
o CARACTERES (char) 
o CADENAS (string) 
o LOGICOS (bool) 
 
DEFINIDOS por el USUARIO 
o ENUMERADOS 
o SUBRANGO 
 
Python 
STANDARD 
o REALES (float) 
o ENTEROS (int) 
o CARACTERES (str) 
o CADENAS (str) 
o LOGICOS (bool) 
 
 
 
 
 
3 
 
Prof. Claudia Dania – Datos Simples 
 
DATOS DE TIPO SIMPLE 
Elementos individuales 
 
STANDARD 
 
 
Entero (integer / int): 
No pueden incluir comas, puntos ó espacios dentro de un 
número; puede venir precedido de un signo (+) ó (-), si no 
aparece el signo se considera positivo. 
Se pueden sumar (+), restar (-), multiplicar (*), dividir 
(con 1/ resultado real, con DIV ó 2 // resultado entero 
truncado, MOD resto entero). 
El valor MAXINT en Pascal es ± 32767 (en Python no tiene 
importancia sys.maxint: puede ser 9223372036854775807). 
 
Ej.: 0 +12 23 -5280 
 
 
 
Real (real / float): No puede comenzar ni terminar en un 
punto, éste debe estar comprendido entre dos dígitos; 
puede llevar exponente entero (negativo o positivo) como 
notación científica. 
Se pueden sumar (+), restar (-), multiplicar (*), dividir 
(/). 
 
Ej.: 3.OE+10 -5,026 2E-8 1,66 
 
 
 
 
Caracter (char / str): en cada variable se admite un 
solo carácter. 
Varían de una máquina a otra según el conjunto de 
caracteres de la misma, puede ser CDC-científico, ASCII y 
EBCDIC. Aunque las ordenaciones sean distintas en cada 
uno de ellos, en los tres están ordenados y se le llama 
Secuencia de Cotejo. 
 
Ej.: letra = ‘T’ signo = ‘?’ numero = ‘7’ 
 
No se pueden realizar operaciones matemáticas entre 
variables char, pero si operaciones de comparación. 
 
 
Booleano o lógico (boolean): son valores que pueden 
ser ciertos o falsos. No pueden ser leídos desde teclado. 
Se los puede trabajar con 
operadores lógicos: .AND. .OR. .NOT. / AND OR NOT 
y operadores relacionales: 
<> = < >= > <= == != += 
 
4 
 
Prof. Claudia Dania – Datos Simples 
 
 
String / str : permite procesar cadenas de carateres, con 
una longitud constante que al momento de ser declarada 
puede variar entre 1 y 255. En el caso de longitud 1 es 
equivalente a la declaración tipo Char. En el caso particular 
de Pascal, no se le declara la longitud máxima permitiendo 
cargar hasta 255 caracteres. 
Las operaciones válidas entre string son la asignación y la 
concatenación. 
 
Ejemplo: var a, b, c: string[10]; 
 
 a:= ´123´; 
 b:= ´ *´ 
 c:= a + b por lo cual c contendría ´123 *´ 
 
 
 
Se pueden utilizar operadores relacionales para comparar string y los resultados 
sería: 
• para el operador = ==, si las cadenas son de la misma longitud y contienen los 
mismos símbolos en el mismo orden el resultado es verdadero, de lo contrario 
falso. 
• para el operador <> != , es lo opuesto a lo anterior. 
• para operadores >, <, >=, <= : compara símbolo a símbolo según a su 
aparición el el código ASCII, ejemplo si se compara ‘sala’ con ‘sola’, se puede 
decir que ‘sola’ es mayor que ‘sala’ dado que la ‘o’ aparece después de la ‘a’. 
 
Si es una cadena de caracteres la que deseamos exhibir, sin ser asignada a una 
variable, debe estar encerrada entre apóstrofos: 'El costo es:' y puede estar 
formada por letras, dígitos y/o caracteres especiales. Si dentro de ella se incluye un 
apóstrofo, éste debe escribirse dos veces para que el primero no sea tomado como 
fin de la cadena. 
 
Los cuatro tipos de datos (menos el string), tienen dos propiedades en común: 
están formados por elementos indivisibles y están ordenados, por estas razones se 
los llama ESCALARES. 
Excepto los REALES, los otros tres tipos tienen una propiedad adicional: cada valor 
tiene un predecesor único excepto el primero y cada valor tiene un sucesor único 
excepto el último; estos tipos de datos se los llama ORDINALES. 
 
FUNCIONES SOBRE ORDINALES 
 
ORD: Devuelve mediante un valor entero la posición de un valor en su 
ordenación según la secuencia de cotejo, teniendo en cuenta que la 
primera posición es el 0 y no el 1. Para los enteros devuelve el mismo 
número y para los booleanos el 0 es Falso y el 1 es Verdadero. 
 
PRED: Devuelve el único valor anterior al del dato ordinal. Se produce un error en 
tiempo de ejecución si el parámetro es el primer valor. 
 
SUCC: Devuelve el valor posterior al dato ordinal, produciéndose un error en 
tiempo de ejecución si el parámetro es el último elemento del tipo de dato. 
 
CHR: Toma una posición ordinal entera y devuelve el carácter de esa posición, se 
define sólo sobre valores tipo CHAR. 
 
 
5 
 
Prof. Claudia Dania – Datos Simples 
 
TIPOS DE DATOS ESCALARES DEFINIDOS POR EL USUARIO 
 
Se pueden crear nuevos tipos de datos por medio de una definición TYPE antes de 
la sección VAR para Pascal. 
 
TIPO DE DATOS ENUMERADOS (Pascal) 
TYPE nombre = (dato1, dato2,....., datoN); 
 
Es una secuencia ordenada de identificadores, donde cada uno 
se interpreta como dato individual, asociados a un nombre que 
sirve como identificador de tipo. Esta asociación se la realiza 
mediante una declaración TYPE. 
Debido que los datos tienen una secuencia ordenada, se los 
puede trabajar con operadores relacionales o utilizar 
funciones standard como: pred() ó succ() para conocer que 
datos preceden ó suceden a uno en particular y ord(): 
entendiendo que el primer dato tiene asignado el valor ordinal 
0. No pueden ser utilizados en instrucciones de entrada ni de 
salida. 
La forma de definir este conjunto de datos es listar todos los valores posibles que 
puede tomar una variable de dicho tipo, separándolos con coma y encerrados entre 
paréntesis. Hay que tener en cuenta que un identificador de tipo NO puede ser 
utilizado como variable, sino que se lo debe asignar en la sección VAR. 
 
TYPE semana = (domingo, lunes, martes, miercoles, jueves, viernes, sabado); 
 
 lunes < martes. . . verdadero; succ(miercoles) = jueves; ord(martes) 
= 2; 
 
 
TYPE Animales = (raton, gato, perro, tigre); 
 
VAR salvajes, domesticos: Animales; 
 
Los tipos enumerados son ordinales por lo tanto se les puede aplicar las funciones 
de Pred, Succ y Ord. Además pueden usarse en las etiquetas de las estructuras de 
control CASE, en los bucles FOR y WHILE. 
 
 CASE domesticos OF FOR domesticos:= gato TO perro DO ... ; 
 raton: write ('trampa'); 
 gato: write ('darle comida') domesticos:= gato; 
 END; WHILE domesticos < tigre DOdomesticos:= Succ (domesticos); 
 
Los identificadores del enumerado deben seguir las mismas reglas que otros 
identificadores: no pueden comenzar con un número, ni con caracteres especiales, 
no pueden estar definidos en dos tipos enumerados al mismo tiempo, no pueden 
ser leídos, se los debe ingresar como un número o una letra (codificados) y luego 
traducirlos a su valor real y tampoco pueden ser exhibidos directamente. 
 
 Read (dato) CASE domesticos OF 
 IF dato = ‘G’ THEN domesticos := gato gato: Write ('gato'); 
 ELSE ......; ....... 
 END; 
 
 
6 
 
Prof. Claudia Dania – Datos Simples 
 
TIPO DE DATOS SUBRANGO (Pascal) 
 
TYPE nombre = primer dato . . ultimo dato; 
VAR dato: nombre; 
 
 . . Es un tipo de datos compuesto de un rango específico de 
cualquier tipo ordinal, ordenados y contiguos. 
Se define por un valor inicial inferior, dos puntos suspensivos y un valor final 
superior, según la ordenación del tipo residente, no van encerrados entre 
paréntesis. 
Se puede aplicar a cualquier conjunto de datos de tipo simple (entero, char, 
boolean y enumerado) excepto los de tipo real. Valen las mismas consideraciones 
que los enumerados en cuanto a funciones y operadores relacionales. Unicamente 
se pueden usar en instrucciones de entrada/salida si son de tipo entero o char, 
siempre que estén dentro del rango especificado. 
Además de hacer un programa más legible, nos facilita la comprobación automática 
de rango, detecta automáticamente la asignación fuera de rango de una variable, 
por ejemplo si quisiéramos asignar una 'F' a una variable que fue definida con un 
subrango de 'A' . .'D', se detiene el programa con un mensaje de error. 
 
 
TYPE semana = (domingo, lunes, martes, miercoles, jueves, viernes, sabado); 
 
TYPE trabajo = lunes . . viernes; 
 
TYPE numero = 1 . . 6; 
 
TYPE dias = 1 . . 31; 
 
 
TYPE nota = 0 . . 10; 
 
VAR calificar : nota;

Otros materiales

Materiales relacionados

89 pag.
Manual de JavaScript para iniciantes

Escola Colegio Estadual Barao Do Rio Branco

User badge image

Kjell Antony Nina Aguilar

153 pag.
Introduccion-prog--C

IPN

User badge image

Todos los Materiales

66 pag.
Manual Basico Turbo Pascal

SIN SIGLA

User badge image

Sergio de los Santos

185 pag.
fundamentos-basicos-programacion-cplusplus

SIN SIGLA

User badge image

matiasrivero1561232