Está en la página 1de 27

Conceptos de Algoritmos Datos y

Programas

Clase 4 Clase 1
CADP – Temas de la clase de hoy

Tipos de datos definidos por el usuario

Tipo de dato subrango

Tipo de dato string

Clase 4 Clase 4 2
CADP – Tipos de Datos Definidos por el
programador

TIPO DE DATO

SIMPLE COMPUESTO

DEFINIDO POR EL DEFINIDO POR EL


LENGUAJE PROGRAMADOR String

Subrango
Clase 4 3
Clase 4
CADP – Tipos de Datos
Esto significa que el
Hasta ahora conjunto de valores de ese
Hemos trabajado los tipo, las operaciones que se
tipos de datos simples pueden efectuar y su
que se pueden considerar representación están
estándar en la mayoría definidas y acotadas por el
de los lenguajes de lenguaje.
programación.

Esta definición nos indica que podemos requerir


la representación de elementos “NO de tipo
estándar” que se asocien con el fenómeno real a
tratar.
Clase 4 4
Clase 4
CADP – Tipos de Datos – Características

Un aspecto muy importante en los lenguajes de programación


es la capacidad de especificar y manejar datos no estándar,
indicando valores permitidos, operaciones válidas y su
representación interna.

Clase 4 5
Clase 4
CADP – Tipos de Datos definidos por el usuario

Un tipo de dato definido por el usuario es


aquel que no existe en la definición del
lenguaje, y el programador es el
TDDU encargado de su especificación.
d e s e
Dón ?
Type l a ra
identificador = tipo;
dec

Un tipo estandar Un tipo definido


por el lenguaje
Clase 4 6
Clase 4
CADP – Tipos de Datos definidos por el usuario
program uno;
Const

Type
identificador = tipo;

Var
am o s
x: identificador; Ve s
p lo
… ejem
Begin

Clase 4
Clase 4
End. 7
CADP – Tipos de Datos definidos por el usuario

program uno;
Por ser un tipo
Const
predefinido, no hace falta
... especificar valores ni
Type operaciones
numeritos = integer;
var
num1,num2: numeritos; Qué operaciones
num3: integer; puedo hacer con Y co
es nn
Begin a c ion num3? nu u m
m3 1 y
o p er co n ??
… Q u é a ce r
d o h m 2 ?
End. pue 1 y nu
n um 8
Clase 4
Clase 4
CADP – Tipos de Datos definidos por el usuario
Ventajas de la utilización de los tipos
de datos definidos por el usuario:

Flexibilidad: en el caso de ser necesario modificar la


forma en que se representa el dato, sólo se debe
modificar una declaración en lugar de un conjunto de
declaraciones de variables.
Documentación: se pueden usar como identificador de
los tipos, nombres autoexplicativos, facilitando de esta
manera el entendimiento y lectura del programa.
Seguridad: se reducen los errores por uso de
operaciones inadecuadas del dato a manejar, y se
pueden obtener programas más confiables.
Clase 4 9
Clase 4
CADP – Tipos de Datos definidos por el usuario

Quiero elegir algunos de los valores.


Un subrango
Clase 4 10
Clase 4
CADP – Tipos de Datos definidos por el usuario

Es un tipo ordinal que consiste de una


sucesión de valores de un tipo ordinal
(predefinido o definido por el usuario)
Subrango tomado como base.

Es simple ecl a ra ?
m o se d

Es ordinal Cóm
o se u
Existe en la mayoría de los sa?
lenguajes

Clase 4 11
Clase 4
CADP – Tipos de Datos definidos por el usuario
Subrango
program uno; En la zona de tipos
Const del programa
...
Type
nombre = valor1..valor2;
var
x,y: nombre; c io ne s
er a
Qué op e
ti e n
Begin iti da s ?

perm
Clase 4
Clase 4
End. 12
CADP – Tipos de Datos definidos por el usuario
Subrango

Clase 4 13
Clase 4
CADP – Tipos de Datos definidos por el usuario
Subrango Ejemplo
program uno;
Type
mayusculas = ‘A’..‘Z’;
primer_decena = 1..10;
caracDigitos = ‘0’.. ‘9’;

var
letra : mayusculas;
a c io n e s
o pe r
número : primer_decena; Qué
digitos: caracDigitos; tiene
it i d a s ?
Begin perm

Clase 4
Clase 4
End. 14
CADP – Tipos de Datos definidos por el usuario

Realice un programa que lea para cada uno de los 100


productos que se venden en un almacén el puntaje
obtenido (1..10) en los 5 primeros días que estuvo a la
venta por cada uno de 10 clientes elegidos .
Al finalizar se pide informar para cada producto el día
que obtuvo el puntaje máximo.

Qué tipo representa el puntaje?

Qué tipo son los días?


Cómo muestro el resultado?
Clase 4 15
Clase 4
CADP – Tipos de Datos definidos por el usuario
Realice un programa que lea para cada uno de los 100 productos
que se venden en un almacén el puntaje obtenido (1..10) en los 5
primeros días que estuvo a la venta. Al finalizar se pide informar
para cada producto el día que obtuvo el puntaje máximo.

Día PROD1 PROD2 PROD3 ...... ..... PROD10

1 6 8 8 5

2 7 7 9 10

3 5 5 7 5

4 8 8 8 8

5 4 7 10 7

4 4 5 2 16
Clase 4
Clase 4
CADP – Tipos de Datos definidos por el usuario
Realice un programa que lea para cada uno de los 100 productos que se
venden en un almacén el puntaje obtenido (1..10) en los 5 primeros días
que estuvo a la venta.
Al finalizar se pide informar para cada producto el día que obtuvo el
puntaje máximo.

Para todos los productos


Para cada uno de los 5 días
Leo el puntaje
Comparo si es máximo
Si (es máximo) entonces
actualizo el puntaje máximo
Informo el día del puntaje máximo 17
Clase 4
Clase 4
CADP – Tipos de Datos definidos por el usuario
Begin
Para todos for i:= 1 to productos do
los begin
productos max:= 0;
Para cada
for d:= 1 to 5 do producto
Program uno;
begin
Const read (puntProd);
productos=100; if (puntProd >= max) then
Actualizobegin
el
Type máximo diaMax:= d;
punt = 0..10; max:= puntProd; Informo el
end;
dias = 1..5;
máximo
end;
Var write (“El puntaje máximo
fue el día:”, diaMax);
puntProd, max: punt; m a r e l
end;
r o i nf o r
diaMax:dias; end; Si quie e l dí a ?
end. o m b red
Clase 4 i:integer; d:dias; n 18
Clase 4
CADP – Tipos de Datos definidos por el usuario
Begin
for i:= 1 to productos do
begin
max:= 0;
for d:= 1 to 5 do
Program uno; begin
Const read (puntProd);
if (puntProd >= max) then
productos = 100; begin
diaMax:= d;
Type max:= puntProd;
end;
punt = 0..10; end;
end;
dias = 1..5;
Var case diaMax of
1:write (“El puntaje máximo fue lunes”);
puntProd, max: punt;
2:write (“El puntaje máximo fue martes”);
diaMax:dias; ....
i:integer; d:dias; end;
Clase 4 end. 19
Clase 4
CADP – Tipos de Datos definidos por el usuario

Un tipo de dato string es una sucesión


de caracteres de un largo determinado,
que se almacenan en un área contigua
String de la memoria.

Es compuesto ecl a ra ?
m o se d

Ocupa una cantidad fija de memoria
Cóm
Existe en la mayoría de los o se
usa?
lenguajes

Clase 4 20
Clase 4
CADP – Tipos de Datos definidos por el usuario
String Ejemplo
Program uno;

so n de
Type h1 y h 4
o ti po
distint
hilera = string [10];
hilera2 = string [25];
fecha = string [8];
día = string [2]; Sino indico la
cantidad es de
255 caracteres
Var
h1, h2, h3: hilera;
h4: hilera2; ne s ?
r ac io
h5,h6: string [14];
Op e
fecha1, fecha2: fecha;
nombre: string;
Clase 4 21
Clase 4
CADP – Tipos de Datos definidos por el usuario
String

Clase 4 22
Clase 4
CADP – Tipos de Datos definidos por el usuario
String - Asignación: para asignar valor a una variable de
Operaciones tipo de dato string se hace igual que si fuera una
variable de tipo carácter, :=.
Si se le asigna mayor cantidad de caracteres que
lo declarado como longitud máxima, los últimos a
partir de esa longitud se pierden y se dice que la
hilera de caracteres “se trunca”.
Program uno;
Var
cad1: string[20];
cad2: string[5];

Begin
cad1:= ‘buenos días!’;
cad2:= cad1;
Clase 4 End. 23
Clase 4
CADP – Tipos de Datos definidos por el usuario
String – los strings pueden compararse por
operadores
=, <>, <=, =>.
relacionales

Program uno;

Var
cad1: string[20];
cad2: string[5];

Begin
cad1:= ‘buenos días!’;
cad2:= ‘ggg;
if (cad1 = cad2) then…
End.
Clase 4 24
Clase 4
CADP – Tipos de Datos definidos por el usuario

Se lee una secuencia de nombres de productos. De cada


producto se conoce su nombre, su código (un numero entre
1..5000) y su precio. La lectura finaliza cuando se lee el
producto de nombre ‘XXX’. Al finalizar informar la suma
de los precios de aquellos productos cuyos códigos tenían al
menos 2 dígitos pares

Nombre Código Precio


Televisor 3566 6523,50
Aire acondicionado 23 5678,00
9823,50
Silla 4247 800,00
Mesa 3894 2500,00
XXX
Clase 4 25
Clase 4
CADP – Tipos de Datos definidos por el usuario

Begin
Inicializo contadores (total)
Leo un nombre (nom);

mientras (no sea el ultimo producto)


begin
Leo un código (cod)
Leo un precio (precio);

Descompongo el código

Si (tiene al menos dos números pares)


Sumo en total el precio del producto

Leo un nombre (nom);


end;
Informo (total);
Clase 4
Clase 4 End. 26
CADP – Tipos de Datos definidos por el usuario
Begin
total:=0;
read (nom);
while (nom <> ‘XXX’) do
begin
read (cod); read (precio);
Program uno; cantpares:= 0;
Type while (cod <> 0) do
codigos = 1..5000; begin
Var resto:= cod MOD 10;
nom:string; if (resto MOD 2 = 0)
cod:codigos; then cantpares:= cantpares + 1;
precio,total:real; cod:= cod DIV 10;
dig:integer; end;
cantpares:integer; if (cantpares >= 2)
then total := total + precio;
read (nom);
end;
write (total);
26
Clase 4
Clase 4 End.

También podría gustarte