100 likes | 313 Views
Conjuntos . Tipo estructurado Es una lista encerrada entre corchetes Deben ser elementos de igual tipo y Ordinales. Pueden especificarse subrangos. La única relación entre elementos es de existencia o no. No hay orden. Se pueden declarar como tipos de variables. Tipos : SET.
E N D
Conjuntos • Tipo estructurado • Es una lista encerrada entre corchetes • Deben ser elementos de igual tipo y Ordinales. Pueden especificarse subrangos. • La única relación entre elementos es de existencia o no. No hay orden. • Se pueden declarar como tipos de variables.
Tipos : SET • Type <nombre> = set of <tipo> • Ej.: Type automovil=(ford,alfa,mercedes,BMW,peugeot,opel,fiat); marca=set of automovil; Var herts,rentacar : marca; • Herts= [opel,mercedes]; • Rentacar=[BMW,peugeot..fiat];
Asignacion -- IN • Existe un conjunto vacío o universal a=[ ]; • IN dice si un elemento pertenece o no a un set. Da resultado lógico: .t. , .f. • <elemento> IN <lista> => .T.
Visualización de un SET Type letramay = ‘A’ .. ‘Z’; Var letra : set of letramay; car: char; .... Writeln (‘los elementos del Set son = ‘); For car = ‘A’ to ‘Z’ do if car in letra then writeln (car:2);
Operaciones: • Union + Elementos de A,B o ambos • Interseccion * Elementos de A y B a la vez • Diferencia – Elementos de A y no de B
Simplificación de expresiones • ((ch=‘A’) or (ch=‘L’) or (ch=‘n’) or (ch=‘N’) or (ch=‘T’) ch in (‘A’, ‘L’, ‘n’, ‘N’, ‘T’) • ((ch>’a’) and (ch<‘z’)and (ch>’A’) and (ch<‘Z’) ch in[‘a’..’z’,’A’..’Z’] ch in minuscula+mayuscula siendo minuscula [‘a’..’z’] y mayuscula [’A’..’Z’]
Lectura de conjuntos • No se puede ejecutar lectura ni gracacion sobre un conjunto • Puede no conocerse la cantidad de elementos • Se almacenan con las siguientes reglas :
Añadir un elemento a un set • 1) inicializar un conjunto vacío [ ] • 2) Leer un elemento y añadirlo for elem := 1 to 3 do begin read (numero); codpostal:= codpostal + [numero]; end;
Criba de Eratostenes • Algoritmo para encontrar números primos menores o iguales que n. • Proceso: • Escribir los numeros de 2 a n • Tachar multiplos de 2, menos el 2 • Tachar multiplos de 3, menos el 3 ... • Tachar los multiplos del primer nro. De la lista hasta que numero al cuadrado sea mayor que n.
Ejercicios: • Criba de Eratóstenes • Separar pares e impares de un rango entre cero y limite, pasarlo a procedure • Leer un texto y contar cantidad de vocales.