You are on page 1of 23

Captulo 8

Operaciones con listas

Las listas son un tipo de objeto utilizado por la calculadora que tienen mucha
utilidad en el procesamiento de datos. En este Captulo se presentan ejemplos
de operaciones con listas.

Definiciones
Una lista, dentro del contexto de la calculadora, est una serie de objetos
incluidos entre llaves y separados por los espacios (#), en el modo RPN, o
comas (), en ambos modos. Los objetos que se pueden incluir en una
lista son nmeros, letras, cadenas de caracteres, nombres variables, y/o
operadores. Las listas son tiles para manipular datos y en algunos usos de
programacin. Algunos ejemplos de listas son:{ t 1 }, {"BETA" h2 4},
{1 1.5 2.0},
{a a a a}, { {1 2 3} {3 2 1} {1 2 3}}
En los ejemplos mostrados a continuacin nos limitaremos a las listas
numricas.

Creando y almacenando listas

Para crear una lista en modo ALG, escrbanse primero las llaves , a
continuacin escrbanse los elementos de la lista, separados por comas
(). En el siguiente ejemplo se escribe la lista {1 2 3 4} y se almacena
en la variable L1.
1 2 3 4
K~l1`
La pantalla mostrar el siguiente:

La figura a la izquierda muestra la pantalla antes de presionar `, mientras


que la de la derecha muestra la pantalla despus de almacenar la lista en L1.

Pgina 8-1

Ntese que antes de presionar ` la lista muestra las comas que separan sus
elementos. Sin embargo, despus de presionar `, las comas se substituyen
por los espacios.
Para crear y almacenar la misma lista en modo RPN utilcese:
1 # 2 # 3 # 4 `
~l1`K
La figura a continuacin muestra la pantalla de RPN antes de presionar K:

Composicin y descomposicin de listas


La composicin y descomposicin de listas tiene sentido en modo RPN
solamente. Bajo tal modo operativo, la descomposicin de una lista es
alcanzada usando la funcin OBJ. Con esta funcin, una lista en la pantalla
de RPN se descompone en sus elementos, con el nivel de la pantalla 1:
mostrando el nmero de elementos en la lista. Los dos tiros siguientes de la
pantalla muestran la pantalla con un uso pequeo de la lista antes y despus
de la funcin OBJ:

Ntese que, despus de aplicar OBJ, los elementos de la lista ocupan niveles
4: a 2:, mientras que el nivel 1: muestra el nmero de elementos en la lista.
Para componer una lista en modo RPN, poner los elementos de la lista en la
pantalla, incorporar el tamao de la lista, y aplicar la funcin LIST
(seleccionarlo del catlogo de funciones, como sigue: N,
despus use para localizar la funcin LIST). Los tiros siguientes de la
pantalla muestran los elementos de una lista del uso del tamao 4 antes y
despus de la funcin LIST:

Pgina 8-2

Nota: La funcin OBJ aplicado a una lista en modo ALG reproduce


simplemente la lista, agregando a ella el tamao de la lista:

Operaciones con listas de nmeros


Para demostrar operaciones con las listas de nmeros, crearemos un par de
otras listas, adems de la lista L1 creada anteriormente: L2={-3,2,1,5}, L3={6,5,3,1,0,3,-4}, L4={3,-2,1,5,3,2,1}. En modo ALG, la pantalla parecer esto
despus de incorporar las listas L2, L3, L4:

En modo RPN, la pantalla siguiente muestra las tres listas y sus nombres listos
ser almacenado. Para almacenar las listas en este caso usted necesita
presionar K tres veces.

Cambio de signo
Cuando se aplica la tecla de cambio de signo (\) a una lista de nmeros, se
cambia el signo de cada elemento de la lista. Por ejemplo:

Pgina 8-3

Adicin, substraccin, multiplicacin, y divisin


La multiplicacin o divisin de una lista por un nmero real se distribuye
miembro a miembro de la lista, por ejemplo:

La substraccin de un nmero de una lista se interpreta sustrayendo el nmero


de cada elemento de la lista, por ejemplo:

La adicin de un nmero a una lista produce una lista con un elemento


adicional (el nmero adicionado), y no la adicin del nmero a cada elemento
de la lista. Por ejemplo:

Substraccin, multiplicacin, y divisin de listas de nmeros del mismo tamao


resulta en una lista del mismo tamao con las operaciones respectivas
ejecutadas miembro a miembro. Ejemplos:

La divisin L4/L3 producir un resultado infinito porque uno de los elementos


en la lista L3 es cero.

Pgina 8-4

Si las listas involucradas en una operacin tienen tamaos diferentes, se


produce un mensaje de error (Invalid Dimensions, dimensiones incompatibles).
El signo de suma (+), cuando se aplica a listas, produce un operador de
concatenacin que liga o concatena dos listas, en vez de sumar los elementos
miembro a miembro. Por ejemplo:

Para forzar la adicin de dos listas del mismo tamao miembro a miembro, es
necesario utilizar el operador o funcin ADD (sumar). Este operador puede
activarse utilizando el catlogo de funciones (N). La pantalla que se
muestra a continuacin muestra la aplicacin del operador ADD a las listas L1
y L2, produciendo la suma de las mismas miembro a miembro:

Funciones de nmeros reales en el teclado

Las funciones de nmero reales en el teclado (ABS, ex, LN, 10x, LOG, SIN, x2,
, COS, TAN, ASIN, ACOS, ATAN, yx) pueden aplicarse a listas. He aqu
algunos ejemplos:
ABS
EXP y LN

Pgina 8-5

LOG y ANTILOG

SQ y raz cuadrada

SIN, ASIN

COS, ACOS

TAN, ATAN

INVERSE (1/x)

Funciones de nmeros reales del men de MTH


Las funciones de inters en el men MTH incluyen, del men HYPERBOLIC:
SINH, ASINH, COSH, ACOSH, TANH, ATANH, y del men REAL: %, %CH,
%T, MIN, MAX, MOD, SIGN, MANT, XPON, IP, FP, RND, TRNC, FLOOR, CEIL,
DR, RD. Algunas de las funciones que toman un solo argumento se ilustran
a continuacin se aplicaron a las listas de nmeros verdaderos:
SINH, ASINH

COSH, ACOSH

Pgina 8-6

TANH, ATANH

SIGN, MANT, XPON

IP, FP

FLOOR, CEIL

DR, RD

Ejemplos de las funciones que utilizan dos argumentos


Las pantallas debajo de los usos de la demostracin de la funcin % a
argumentos listas. La funcin % requiere dos argumentos. Los primeros dos
ejemplos muestran los casos en los cuales solamente uno de los dos
argumentos es una lista.

Los resultados son listas con la funcin % distribuida segn el argumento lista.
Por ejemplo,
%({10, 20, 30},1) = {%(10,1),%(20,1),%(30,1)},
mientras que

Pgina 8-7

%(5,{10,20,30}) = {%(5,10),%(5,20),%(5,30)}
En el ejemplo siguiente, ambos argumentos de la funcin % son listas del
mismo tamao. En este caso, una distribucin del trmino-por-trmino de los
argumentos se lleva a cabo, es decir,
%({10,20,30},{1,2,3}) = {%(10,1),%(20,2),%(30,3)}

Esta descripcin de la funcin % para argumentos listas muestran el patrn


general de la evaluacin de cualquier funcin con dos argumentos cuando una
o ambos argumentos son listas. Ejemplos de aplicaciones de la funcin RND se
muestran a continuacin:

Listas de nmeros complejos


El ejercicio siguiente muestra cmo crear una lista de nmeros complejos dadas
dos listas de la misma longitud, una que representa las partes reales y una las
partes imaginarias de los nmeros complejos. Use L1 ADD i*L2.

Pgina 8-8

Funciones tales como LN, EXP, SQ, etc., pueden aplicarse tambin a una lista
de nmeros complejos, por ejemplo,

El ejemplo siguiente muestra los usos de las funciones RE(Parte real), IM(parte
imaginaria), ABS(magnitud), y ARG(argumento) de nmeros complejos. Los
resultados son listas de nmeros reales:

Listas de objetos algebraicos


Los siguientes son ejemplos de listas de objetos algebraicos a los que se aplica
la funcin seno (SIN):

Pgina 8-9

El men MTH/LIST
El men MTH provee un nmero de funciones que se aplican exclusivamente a
las listas. Con la opcin CHOOSE boxes activa en la seal de sistema nmero
117, el men MTH/LIST provee las siguientes funciones:

Con la opcin SOFT mens activa en la seal de sistema nmero 117, el men
MTH/LIST provee las siguientes funciones:

Este men contiene las funciones siguientes:


LIST
LIST
LIST
SORT
REVLIST
ADD

:
:
:
:
:
:

Calcula el incremento entre elementos consecutivos en la lista


Calcula la suma de los elementos en la lista
Calcula el producto de los elementos en la lista
Ordena los elementos de la lista en orden creciente
Invierte el orden de los elementos en la lista
Produce la suma miembro a miembro de dos listas del mismo
tamao (ejemplos de esta funcin se presentaron anteriormente)

Algunos ejemplos de aplicacin de estas funciones en modo ALG se muestra a


continuacin:

Pgina 8-10

Las funciones SORT y REVLIST se pueden combinar para ordenar una lista en
orden decreciente:

Si est trabajando en modo RPN, entre la lista en la pantalla y, a continuacin,


seleccione la operacin deseada. Por ejemplo, para calcular el incremento
entre elementos consecutivos en la lista L3, presione:
l3`! #OK# #OK#
Esto colocar L3 en la pantalla y seleccionar la operacin LIST del men
MTH.

Manipulando elementos de una lista


El men de PRG (programacin) incluye un sub-men LIST con un nmero de
funciones para manipular elementos de una lista. Con la bandera de sistema
117 fija a CHOOSE boxes

Item 1. ELEMENTS.. contiene las funciones siguientes que se pueden utilizar


para la manipulacin de elementos en listas:

Pgina 8-11

Tamao de la lista
La funcin SIZE, del sub-men PRG/LIST/ELEMENTS, puede ser utilizado
obtener el tamao (tambin conocido como longitud) de la lista, por ejemplo,

Extrayendo e insertando elementos en una lista


Para extraer elementos de una lista utilizamos la funcin GET, disponible en el
sub-men PRG/LIST/ELEMENTS. Los argumentos de la funcin GET son la lista
y el nmero del elemento que usted desea extraer. Para insertar un elemento en
una lista utilizar la funcin PUT (tambin disponible en el sub-men PRG/LST/
ELEMENTS). Las argumentos de la funcin PUT son la lista, la posicin que una
desea sustituir, y el valor que ser substituido. Ejemplos de usos de funciones
GET y PUT se muestran en la pantalla siguiente:

Las funciones GETI y PUTI, tambin disponibles en el sub-men PRG/


ELEMENTS/, puede ser utilizadas para extraer e incluir elementos en una lista.
Estas dos funciones, sin embargo, son tiles principalmente en la
programacin. La funcin GETI utiliza los mismos argumentos que GET y
produce la lista, la localizacin del elemento ms uno, y el elemento en la
localizacin solicitada. La funcin PUTI utiliza los mismos argumentos que GET
y produce la lista y el tamao de la lista.

Posicin del elemento en la lista


Para determinar la posicin de un elemento en una lista utilizar la funcin POS
que tiene la lista y el elemento de inters como argumentos. Por ejemplo,

Pgina 8-12

Funciones HEAD (cabeza) y TAIL (cola)


La funcin HEAD extrae el primer elemento en la lista. La funcin TAIL quita el
primer elemento de una lista, y provee la lista restante. Algunos ejemplos se
muestran a continuacin:

La funcin SEQ
Item 2. PROCEDURES.. en el men PRG/LIST contiene las funciones siguientes
que se pueden utilizar para operar en listas.

Las funciones REVLIST y SORT fueron introducidos anteriormente como parte del
men MTH/LIST. Las funciones DOLIST, DOSUBS, NSUB, ENDSUB, y STREAM,
se disean como funciones de programacin para las listas de funcionamiento
en el modo RPN. La funcin SEQ es til para producir una lista de los valores
dados una expresin particular y se describe ms detalladamente aqu.
La funcin SEQ toma como argumentos una expresin en trminos de un
ndice, del nombre del ndice, y valores inicial, final, e incremento del ndice, y
produce una lista que consiste en la evaluacin de la expresin para todos los
valores posibles del ndice. La forma general de la funcin es SEQ(expresin,
ndice, inicial, final, incremento).
En el ejemplo siguiente, en modo ALG, identificamos lo siguiente: expresin =
n2, ndice = n, inicial = 1, final = 4, e incremento = 1:

Pgina 8-13

La lista producida corresponde a los valores {12, 22, 32, 42}. En modo RPN,
usted puede enumerar las diversas argumentos de la funcin como sigue:

antes de aplicar la funcin SEQ.

La funcin MAP
La funcin MAP, disponible a travs del catlogo del comando (N),
tomas como argumentos una lista de nmeros y una funcin f(X) o un programa
de la forma <<  a >>, y produce una lista que consiste en la aplicacin
de esa funcin o programa a la lista de nmeros. Por ejemplo, la llamada
siguiente a la funcin MAP aplica la funcin SIN(X) a la lista {1,2,3}:

En modo ALG la sintaxis es:


~~map~!!1@2@3@
S~X`
En modo RPN, la sintaxis es:
!1@2@3`S~X`~~m
ap`
En ambos casos, puede teclar el comando MAP (como en los ejemplos
anteriores) o seleccionar el comando del men CAT.
La llamada siguiente a la funcin MAP utiliza un programa en vez de una
funcin como segundo argumento:

Pgina 8-14

Definiendo funciones que utilizan listas

En el captulo 3 introdujimos el uso de la funcin DEFINE ( ) para


crear funciones de nmeros reales con un o ms argumentos. Una funcin
definida con DEF se puede tambin utilizar con argumentos listas, con la
excepcin de que, cualquier funcin que incorpora una adicin deba utilizar el
operador ADD ms bien que el signo de ms (+). Por ejemplo, si definimos
la funcin F(X,Y) = (X-5)*(Y-2), mostrado aqu en modo ALG:

podemos utilizar listas (por ejemplo, variables L1 y L2, definido anteriormente


en este captulo) para evaluar la funcin, dando por resultado:

Puesto que la declaracin de la funcin no incluye ninguna adicin, el uso de


la funcin para argumentos listas es directo. Sin embargo, si definimos la
funcin G(X,Y) = (X+3)*Y, una tentativa de evaluar esta funcin con
argumentos listas (L1, L2) fallar:

Para fijar este problema podemos corregir el contenido de la variable @@@G@@@,


cul podemos listar en la pantalla usando @@@G@@@,

Pgina 8-15

para sustituir el signo de ms (+) con ADD:

Despus, almacenamos la expresin corregida en variable @@@G@@@:

La evaluacin de G(L1,L2) ahora produce el resultado siguiente:

Como alternativa, usted puede definir la funcin con ADD en vez del signo de
ms (+), desde el comienzo, es decir, use
DEFINE('G(X,Y)=(X ADD 3)*Y') :

Usted puede tambin definir la funcin como G(X,Y) = (X--3)*Y.

Pgina 8-16

Aplicaciones de listas
Esta seccin muestra un par de usos de listas al clculo de la estadstica de una
muestra. Por una muestra entendemos una lista de valores, digamos, {s1, s2,
, sn}. Suponga que la muestra de inters es la lista
{1, 5, 3, 1, 2, 1, 3, 4, 2, 1}
y que la almacenamos en un variable llamado S. (La pantalla siguiente
muestra esta accin en modo ALG, sin embargo, el procedimiento en modo
RPN es muy similar. Solamente tenga presente que en modo RPN usted pone
los argumentos de las funciones en la pantalla antes de activar la funcin):

Media armnica de una lista


sta es una muestra muy pequea en la que podemos contar en la pantalla el
nmero de elementos (n=10). Para una lista ms grande, podemos utilizar la
funcin SIZE para obtener ese nmero, por ejemplo.,

Suponer que deseamos calcular la media armnica de la muestra, definida


como

sh =

1
1
1

n k =1 s n
n

1
1 1 1
1
+ + L +
n s1 s 2
sn

Pgina 8-17

Para calcular este valor podemos seguir este procedimiento:


1. Aplicar la funcin INV () a la lista S:

2. Aplicar la funcin LIST()a la lista que resulta en 1.

3. Dividir el resultado anterior por n = 10:

4. Aplicar INV() al ltimo resultado:

As, la media armnica de la lista S es sh = 1.6348

Pgina 8-18

Media geomtrica de una lista


La media geomtrica de una muestra se define como

xg = n

x
k =1

= n x1 x 2 L x n

Para encontrar la media geomtrica de la lista almacenada en S, podemos


utilizar el procedimiento siguiente:
1. Aplicar la funcin LIST() a la lista S:

2. Aplicar la funcin XROOT(x,y), es decir, , al resultado 1:

As, la media geomtrica de la lista S es sg = 1.003203

Promedio ponderado
Suponer que los datos en lista S, definido anteriormente, a saber:
S = {1,5,3,1,2,1,3,4,2,1}
es afectado por los pesos,
W = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
Si definimos la lista de pesos como W = {w1,w2,,wn}, notamos que el
elemento k en la lista W definida anteriormente, puede ser definido como wk
= k. As podemos utilizar la funcin SEQ para generar esta lista, y entonces
almacenarlo en variable @@@W@@@ como sigue:

Pgina 8-19

Dado la lista de los datos {s1, s2, , sn }, y la lista de los pesos {w1, w2, ,
wn }, el promedio ponderado de los datos en S se define como
n

sw =

w
k =1

sk

w
k =1

Para calcular el promedio ponderado de los datos en la lista S con los pesos en
lista W, podemos utilizar los siguientes pasos:
1. Multiplicar las listas S y W:

2. Utilizar la funcin LIST en este resultado para calcular el numerador


de sw:

3. Utilizar la funcin LIST, una vez ms, para calcular el denominador


de sw:

Pgina 8-20

4. Utilizar la expresin ANS(2)/ANS(1) para calcular el promedio


ponderado:

As, el promedio ponderado de la lista S con los pesos en la lista W es sw=


2.2.
Nota: ANS(1) se refiere al resultado ms reciente (55), mientras que
ANS(2) se refiere al penltimo resultado (121).

Estadstica de datos agrupados


Los datos agrupados son dados tpicamente por una tabla que muestra la
frecuencia (w) de datos en clases o compartimientos de datos. Cada clase o
compartimiento es representada por una marca de la clase (s), tpicamente el
punto medio de la clase. Un ejemplo de datos agrupados se muestra a
continuacin:

Limites de
clase
0-2
2-4
4-6
6-8
8 -10

Marca de
clase
Frecuencia
sk
wk
1
3
5
7
9

5
12
18
1
3

Pgina 8-21

Los datos de la marca de la clase se pueden almacenar en variable S, mientras


que la frecuencia se puede almacenar en variable W, como sigue:

Dado la lista de las marcas de la clase S = {s1, s2, , sn }, y la lista de las


cuentas de la frecuencia W = {w1, w2, , wn }, el promedio ponderado de los
datos en S con los pesos W representa el valor medio de los datos agrupados,
que llamamos s, en este contexto:
n

s=

wk s k
k =1

w
k =1

w
k =1

sk

N
,

donde

N = wk representa la cuenta total de la frecuencia.


k =1

El valor medio para los datos en listas S y W, por lo tanto, puede ser calculado
usando el procedimiento descrito anteriormente para el promedio ponderado,
es decir,

Almacenaremos este valor en un variable llamado XBAR:

Pgina 8-22

La varianza de estos datos agrupados se define como


n

V =

wk ( s k s ) 2
k =1

w
k =1

w
k =1

(sk s ) 2
N

Para calcular este ltimo resultado, podemos utilizar el siguiente:

La desviacin estndar de los datos agrupados es la raz cuadrada de la


varianza:

Pgina 8-23

You might also like