SlideShare una empresa de Scribd logo
Elementos de Programaci´on
Tema 6. Arrays
Relaci´on de Ejercicios
18 de diciembre de 2003
1 ETSI Telecomunicaci´on
VI. Arrays
1 Hacer una funci´on que reciba un array TVector de n n´umeros enteros y devuelva el valor m´ınimo
de todos.
NOTA: En todos los ejercicios que siguen se supondr´a que la funci´on recibe tanto el array (por
copia o por referencia) como el n´umero entero de elementos a tratar, o sea su tama˜no.
2 Realizar un algoritmo que lea un array de N valores enteros y lo imprima en la pantalla al rev´es
del orden en que se leyeron.
3 Hacer una funci´on que reciba un array TVector de n n´umeros enteros y un valor x devuelva o
bien -1 si el valor x no est´a en el array o bien la posici´on (´ındice) (primero) en la que lo encuentre.
4 Desarrollar un algoritmo estad´ıstico que reciba un array de N n´umeros reales correspondientes
a estaturas de N personas y devuelva en distintos par´ametros de salida:
a) la media de las estaturas
b) las alturas m´axima y m´ınima
c) determine cu´antos son m´as altos y cuantos m´as bajos que la media. Utilizando el valor de
la media anterior.
d) La desviaci´on est´andard:
σ =
n
i=1(xi − x)2
n − 1
=
n
i=1 x2
i − (
n
i=1 xi)2
/n
n − 1
5 Ampliar el ejercicio 4 para calcular tambi´en la moda (si no la hay pondr´a -1 en ese par´ametro).
La moda es el n´umero m´as repetido pero debe ser ´unica. O sea, que si hay dos (o m´as) multire-
petidos la misma cantidad de veces no hay moda.
6 Hacer una funci´on que reciba un array TVector de n n´umeros naturales distintos de cero. La
funci´on deber´a averiguar si alguno de los n´umeros del vector est´a repetido, devolver´a -1 si no
hay ninguno repetido y el ´ındice del primer repetido que encuentre, en otro caso.
7 Como en el ejercicio 4 recoger ahora pares de datos que corresponder´ıan a abcisas x y ordenadas
y de una recta experimental y dar los coeficientes a y b de la recta y = ax + b de regresi´on lineal:
a =
n
i=1 yi − b
n
i=1 xi
n
con b =
n
n
i=1 xiyi −
n
i=1 xi
n
i=1 yi
n
n
i=1 x2
i − (
n
i=1 xi)
2
8 Dado un tipo Z VECTOR[TAM] desarrollar sendos procedimientos que recibiendo un objeto de tal
tipo como par´ametro devuelva:
a) El ´ındice del primer elemento mayor que su sucesor
VI ARRAYS 2
b) El ´ındice de la primera cima (elemento mayor que sus vecinos). Atenci´on: los extremos,
primero y ´ultimo pueden ser cimas, s´olo que no tendr´ıan anterior o siguiente (respectiva-
mente) con quienes comparar, sino que tendr´ıan s´olo que ser mayores que el siguiente o
mayor que el anterior (respectivamente).
9 Dise˜nar una funci´on l´ogica que nos indique si dos vectores de enteros son ‘circularmente igua-
les’, esto significa, tener los mismos elementos y en el mismo orden relativo: circularmente {3,
4, 1, 5} = {5, 3, 4, 1}.
10 Sin usar vectores auxiliares dise˜nar un algoritmo que permita invertir el contenido de un vector.
Ejemplo:
Vector Original: 24 12 45 90 7 9 15
Vector Invertido: 15 9 7 90 45 12 24
11 Dado un tipo Z VECTOR[TAM] desarrollar una funci´on que recibiendo un vector de tal tipo calcule
la longitud de la subsecuencia com´un m´as larga (lcs), esto es, la longitud de la mayor secuen-
cia de elementos repetidos dentro del vector, por ejemplo, en (2, 5, 4, 2, 2, 5, 6, 6, 6, 3) ser´ıa 3; en
(3, 2, 4, 1, 2) ser´ıa 1
12 Desarrollar un procedimiento que lea una sucesi´on de N n´umeros naturales, encuentre el valor
m´aximo y lo imprima junto con el n´umero de veces que aparece y las posiciones en que esto
ocurre. El proceso se repite con el resto de la suceci´on hasta que no quede ning´un elemento por
tratar.
13 Desarrollar un procedimiento-funci´on que calcule el producto escalar de dos vectores de tres
componentes que devolver´a como resultado. Los vectores estar´an ‘tipificados’ con el nombre
‘VECTORES’. Los componentes ser´an enteros.
14 Dada una secuencia de caracteres acabada en un ’0’, construir un algoritmo que devuelva su
longitud: N longitud(E Cadena s).
15 Leer en una l´ınea (mediante una cadena de caracteres) el nombre, la edad y sexo de una persona
y almacenarlos en tres variables distintas denominadas respectivamente nombre, edad y sexo.
Por ejemplo,
Entrada:
P e p e t 2 0 t V 0
Salida:
Nombre: Pepe
Edad: 20
Sexo: v
NOTA: El separador es el tabulador ’t’. La cadena termina en el car´acter ‘nul’ (’0’).
16 Dada una secuencia de caracteres acabada en un ’0’, construir un algoritmo que la modifique
pas´andola toda a min´usculas: minuscular(ES Cadena s).
17 Dadas dos secuencias de caracteres acabadas en ’0’, construir un algoritmo que
a) obtenga la concatenaci´on de las dos cadenas recibidas por copia en una tercera, recibida
por referencia: concat(S Cadena r, Cadena a, Cadena b)
b) concatene detr´as de la primera cadena de caracteres otra, modific´andola: anyade(ES Cadena
a, Cadena b)
18 Dada una secuencia de caracteres acabada en un ’0’, construir un algoritmo que Borre en ella
n ≥ 0 caracteres desde la posici´on p ≥ 0 inclu´ıda: borra(ES Cadena s, E N p, E N n).
VI ARRAYS 3
19 Desarrollar un algoritmo que devuelva en una cadena de caracteres los caracteres que est´an en
primer par´ametro pero no en el segundo.
20 Dada una secuencia de caracteres acabada en un ’0’, construir un algoritmo que devuelva en
un segundo array de 256 n´umeros naturales la frecuencia de aparici´on de cada una de las le-
tras. Cada ´ındice del array ([0..255]) indicar´a la letra y el valor all´ı su frecuencia. Naturalmente
freq[0]=0. Ser´ıa: freqs(Cadena s, S N freqs[256]).
21 Dada una secuencia de caracteres acabada en un ’0’, construir un algoritmo que extraiga en
otro par´ametro n ≥ 0 caracteres desde la posici´on p ≥ 0 inclu´ıda: extraer(S Cadena r, Cadena
s, N p, N n).
22 Dadas dos secuencias de caracteres acabadas en ’0’, construir un algoritmo que haga una
comparaci´on de ambas cadenas de carateres s1 y s2 devolviendo un +1, 0 ´o 1 seg´un la cadena
s1 sea mayor, igual o menor que la s2



−1 si s1 < s2,
0 si s1 = s2,
1 si s1 > s2.
N´otese que “avion” es m´as peque˜na que “barco” y “uno” es m´as grande que “dos” y tambi´en que
“tres”.
23 Dadas dos secuencias de caracteres acabadas en ’0’, construir un algoritmo que busque y
devuelva la posici´on de comienzo de la aparici´on de la segunda subcadena pat dentro de la pri-
mera cadena s. Si no apareciese devolver´ıa el valor -1. Por ejemplo: EncuentraSubcadena("Hoy
puede ser un gran d´ıa", "ser") devolver´ıa 10.
24 Dada una secuencia de caracteres acabada en un ’0’, construir un algoritmo que devuel-
va el n´umero de palabras que contiene. Se define palabra como cualquier secuencia de letras
[’a’..’z’].
25 Dada una secuencia de caracteres acabada en un ’0’, construir un algoritmo que devuelva la
longitud media de sus palabras (definidas en el ejercicio 24).
26 Dada una secuencia de caracteres acabada en un ’0’, construir un algoritmo que la modifique
pasando La Primera Letra De Cada Una De Sus Palabras A May´usculas (lo que es una palabra
est´a definido en el ejercicio 24): capitularizar(ES Cadena s).
27 Dada una secuencia de caracteres acabada en un ’0’ y un n´umero n construir un algoritmo que
devuelva en un tercer par´ametro por referencia, la n-sima palabra de la cadena. Las palabras se
contar´an desde 1. Si no hay tantas palabras el resultado quedar´a como cadena vac´ıa.
28 Formar los plurales de las palabras. Usar sencillamente la regla de poner una ‘s’ detr´as de las que
terminen en vocal y una ‘es’ si termina en consonante. Desarrollar para ello un procedimiento
Pluraliza que modifique la cadena que recibe como par´ametro.
29 Dada una frase acabada en un punto, construir un algoritmo que d´e c´omo resultado la frase
pero con los caracteres que forman cada una de las palabras en orden inverso. Los espacios en
blanco deben conservarse.
ENTRADA: ’ invertir, 1ab3 esta frase’
SALIDA: ’ ritrevni, 1ba3 atse esarf
30 Dada una secuencia de caracteres acabada en un ’0’, construir un algoritmo que determine
si la cadena (ignorando los posibles espacios y signos de puntuaci´on entre las palabras) es o no
pal´ındroma, esto es, sim´etrica, por ejemplo como: “d´abale arroz a la zorra el abad”, o “amor a
roma”.
NOTA: Otros pal´ındromos: “anita lava la tina”, “somos o no somos”, “a mama roma le aviva el
amor a papa y a papa roma le aviva el amor a mama”. Pal´ındromo viene del griego: pal´ın: “de
nuevo” y dromos: “carrera”.
VI ARRAYS 4
31 Hacer los siguientes procedimientos con cadenas terminadas en ’0’ como indicador de final
de la cadena:
a) Inserte modificando en la posici´on p otra cadena de caracteres. El antiguo car´acter en la
posici´on p pasar´a detr´as de la nueva. Hacer la inserci´on suponiendo que la cadena a in-
sertar 1) cabe y que 2) no cabe. En este ´ultimo caso los caracteres que sobren, ya sea de la
cadena que se est´a insertando como los del final de la original se despreciar´an. Si se inser-
ta en una posici´on por encima del ´ındice m´as alto de la cadena se tendr´a la operaci´on de
concatenaci´on.
b) Sustituya todas las subcadenas iguales a la dada por otra, de igual o distinta longitud, si es
que la encuentra. Por ejemplo: ReplStr(s, "no", "a veces") teniendo en s "Las vacas
no lloran" dejar´ıa en s "Las vacas a veces lloran", y con ReplStr(s, "ll", "") de-
jar´ıa "Las vacas no oran"
32 Dise˜nar un algoritmo que permita traducir una cadena num´erica al n´umero que representa. Por
ejemplo: Z StrANum("1234") devolver´ıa un n´umero entero con el valor 1234.
33 Recibir un segundo par´ametro indicando la base en la que est´a escrito el n´umero del ejercicio 32
en la cadena de caracteres. Por ejemplo, Z Str2Int("-33",16) devolver´ıa el n´umero entero −51.
34 Dise˜nar un algoritmo que permita traducir una cadena num´erica que contiene un n´umero real
al n´umero que representa. Por ejemplo: R StrANum("12.34") devolver´ıa un n´umero real con el
valor 12.34
35 Dise˜na una funci´on que permita leer “de teclado” una variable enumerada del siguiente tipo:
Tipos
ENUMERADO {AlfaRomeo, Fiat, Ford, Lancia, Renault, Seat, Opel,
Citroen, Ferrari, Volvo} TipoCoche
VARIABLES
TipoCoche Coche
devolviendo as´ı el valor correspondiente TipoCoche que el usuario haya escrito en forma de
cadena de caracteres.
36 Lo contrario del ejercicio 33, dise˜nar un procedimiento que convierta el n´umero natural que
recibe como par´ametro en una cadena de caracteres que representen el n´umero en la base tam-
bi´en recibida como par´ametro. Por ejemplo: Int2Str(s, -43962, 16) dejar´ıa en s, "-ABBA".
37 Desarrollar un procedimiento que convierta una cadena de caracteres al estilo de C (ASCIIZ)
(con la marca ’0’ al final) a una cadena de caracteres al estilo de Pascal, con la longitud (0 ≤
l ≤ 255 en el primer ‘car´acter’ de la cadena). Naturalmente en las cadenas Pascal el primer
byte no representa a ning´un car´acter, sino a la longitud ´util de la cadena. Destaca el principal
incoveniente de las cadenas tipo Pascal as´ı como su principal ventaja respecto a las cadenas
tipo C (las de Modula-2 tambi´en se suponen terminadas en ’0’ pero no siempre, son algo m´as
complicadas).
4 H o l a
0H o l a
Pascal
C
38 Para operar con n´umeros naturales de tama˜no grande, se puede utilizar un array cuyas compo-
nentes sean caracteres d´ıgitos (por ejemplo, decimales, entre ’0’ y ’9’). Elaborar un algorirmo
que recibiendo dos de estos n´umeros grandes, devuelva en un tercer par´ametro la suma. Supo-
ner que los n´umeros puedan tener hasta 100 cifras.
VI ARRAYS 5
39 Desarrollar procedimientos para:
a) Ver el valor de un n´umero romano, esto es: Devolver el n´umero natural correspondiente al
par´ametro cadena de caracteres que contiene a un n´umero romano (ej.: RomIICard(“XIV”)
dar´ıa 14).
b) Escribir n´umeros romanos, esto es: Modificar un par´ametro cadena de caracteres dejando
en ella el n´umero natural que se le pasa en al estilo romano (CardIIRom(s, 1997) pondr´ıa
en s “MCMXCVII”)
40 Se reciben dos cadenas de caracteres (largas) conteniendo una serie de “l´ıneas” de texto cada
una terminada en ’n’. Se pide eliminar de la primera cadena todas las l´ıneas que est´en en la
segunda: restaLin(ES Cadena t, Cadena s).
NOTA: Para recoger cada “p´arrafo” se puede recoge una cadena de caracteres hasta que se reco-
jan dos ’n’ seguidos, haciendo esto con cada p´arrafo t y s.
41 Calcular la suma de los elementos de la diagonal principal de una matriz cuatro por cuatro (4 ×
4).
42 Escribir un algoritmo que permita sumar el n´umero de elementos positivos y el de negativos de
una matriz T, siendo T una matriz de M × N elementos recibida como par´ametro.
43 Un array bidimensional a ∈ Mm×m es sim´etrico si sus elementos satisfacen aij = aji ∀i, j ∈
1 . . . m. Escribe una funci´on l´ogica que determine si una matriz es o no sim´etrica.
44 Hacer un procedimiento que modifique una matriz AN×M trasponi´endola, esto es: aij = aji.
45 Realizar un algoritmo que permute las filas i y j de una matriz M × N
46 Desarrollar un procedimiento que eval´ue el producto de dos matrices AN×K × BK×M . Para ello
el procedimiento recibir´a las matrices como par´ametros y devolver´a el resultado en una tercera
matriz.
47 Dada una matriz AM×N , dise˜nar un algoritmo que la modifique restando a cada elemento la
media aritm´etica de su columna.
48 Dada una matriz cuadrada de enteros, se pide un algoritmo que
a) imprima de cada paralela superior a la diagonal principal, el valor m´aximo,
b) imprima de cada paralela inferior a la diagonal principal, el valor m´ınimo.
49 Hacer una funci´on que encuentre la diagonal de una matriz N × M cuya suma de elementos
sea mayor. N´otese que las diagonales pueden ser o bien de pendiente negativa  o bien de
pendiente positiva //
50 Desarrollar una funci´on que eval´ue el determinante de una matriz cuadrada de orden tres.
¿C´omo se podr´ıa ampliar este procedimiento para que nos sirviese tambi´en en otros casos?
51 Desarrollar un algoritmo que recibiendo un tablero de ajedrez MN×N y en el que se coloquen N
reinas (0’s y 1’s; los unos ser´ıan las reinas), devuelva cierto si no se atacan entre ellas y falso si se
atacan.
52 Considera un mini tablero de ajedrez M4×4 y trata de situar 4 reinas, de tal modo que no se
coman entre s´ı1
. Aprovechar la respuesta del ejercicio 51.
53 Una matriz tiene un punto de silla en una de sus componentes si es el mayor valor de su columna
y el menor de su fila. Dise˜nar un algoritmo que recibiendo una matriz m ∈ Mn×n, escriba en la
pantalla las coordenadas de todos sus puntos silla.
1Como todos sabemos, una reina en el ajedrez ‘come’ sobre su fila, su columna y las dos diagonales que pasan por su posi-
ci´on.
VI ARRAYS 6
54 Un cuadrado m´agico es una matriz cuadrada de orden n de n´umeros naturales de 1 a n2
, tales
que la suma de cada fila, la de cada columna y la de las dos diagonales dan el mismo valor. Por
ejemplo, para n = 5, tenemos:
15 8 1 24 17
16 14 7 5 23
22 20 13 6 4
3 21 19 12 10
9 2 25 18 11
tiene de suma com´un 65. Para n impar tenemos el siguiente algoritmo (de H. Coxeter):
“comenzar en la mitad de la fila superior con el n´umero 1 ir subiendo hacia la izquierda
asignando n´umeros a los cuadrados vac´ıos; cuando nos salgamos de la matriz reem-
pezar continuar como si estuviese la misma repetida como losetas cubriendo todo el
plano; si un cuadro est´a ocupado, bajar un cuadro y continuar”
a) Sea un cuadrado N CUAD[N][N], dise˜nar la funci´on B EsM´agica(CUAD a); que devolver´a ‘cier-
to’ si a es un cuadrado m´agico y ‘falso’ en caso contrario.
b) Dise˜nar un algoritmo que construya un cuadrado m´agico para cualquier constante N im-
par dada.
55 Modelar un tablero de damas mediante una matriz 8 × 8. Desarrollar la estructura de datos y
desarrollar un procedimiento de Inicializaci´on que coloque a cada ficha en su lugar.
56 Modelar un tablero de ajedrez mediante una matriz 8 × 8. Desarrollar la estructura de datos y
desarrollar un procedimiento de Inicializaci´on que coloque a cada ficha en su lugar.
NOTA: Para referirnos a cada ficha enumerlas.
57 Desarrollar un procedimiento que recibiendo una matriz 3 × 4 correspondiente a los coeficien-
tes y t´erminos independientes (matriz extendida) de un sistema de tres ecuaciones con tres
inc´ognitas:
a11x1 + a12x2 + a13x3 = b1
a21x1 + a22x2 + a23x3 = b2
a31x1 + a32x2 + a33x3 = b3
Devuelva en en un vector x por referencia, con tres componentes, los valores de x1, x2 y x3 que
la satisfacen, si existen. En un segundo par´ametro devolver´a un tipo enumerado con el tipo de
ecuaci´on de que se trate. Utilizar la regla de Cr´amer cuando sea necesario.
58 Ordenar un vector mediante un vector de ´ındices. Se tiene un vector de enteros cualesquiera.
Obtener otro de forma que el contenido de cada elemento del nuevo vector sea un ´ındice que
nos indique de menor a mayor los valores de la tabla de enteros. Por ejemplo:
10 5 -7 0 12
1 2 3 4 5
valor
3 4 2 1 5
1 2 3 4 5
índice
NOTA: La tabla original no se podr´a modificar, ni se puede hacer una copia de la misma.
59 Dise˜na un programa que calcule las diez primeras cuaternas cuyos xi sean los menores que
satisfacen:
x3
i = a3
i + b3
i + c3
i , para i = 1, . . . , 10. (1)
Los t´erminos a, b y c deben ser linealmente independientes, es decir, no debe existir ning´un
n´umero n tal que si
−→
Ai = (ai, bi, ci) y
−→
Aj = (aj, bj, cj),
−→
Ai = n
−→
Aj. Por ejemplo, las ternas a = 1,
VI ARRAYS 7
b = 0, c = 0 y a = 2, b = 0, c = 0 son linealmente dependientes para n = 2, as´ı que la cuaterna que
nos interesa es la que da menor x. Sin embargo, la soluci´on a = 5, b = 4, c = 3 (63
= 53
+ 43
+ 33
)
es linealmente independiente de cada una de las anteriores.
60 Dise˜nar un algoritmo que simule el proceso de obtenci´on de n´umeros primos entre 1 y N lla-
mado “Criba de Erast´otenes”. En el proceso se siguen los siguientes pasos:
Se escriben los n´umeros naturales entre 1 y N.
Se tacha el 1.
Se deja el 2 y se tachan todos los dem´as n´umeros pares.
Se deja el tres y se tachan todos sus m´ultiplos.
etc...
as´ı, cuando pasemos del 13, estar´an tachados 14, 15 y 16, con lo que seguimos el proceso en el
17. El proceso acaba cuando llegamos a
√
N.
61 Realizar un algoritmo que genere en orden ascendente los 100 primeros elementos del conjunto
M, donde M se define:
El n´umero 1 pertenece a M
Si x pertenece a M, entonces 2x + 1 y 3x + 1 tambi´en pertenecen a M.
Ning´un otro n´umero est´a en M
con lo que M tendr´a el aspecto {1, 3, 4, 7, 9, 10, . . . }.
N´otese que no es necesario crear ninguna estructura para contener el conjunto M sino que basta
con ir escribiendo los n´umeros en la ‘pantalla’.
62 Crear y escribir un conjunto T tal que un n´umero pertene a T si cumple alguna de las siguientes
propiedades:
1, 2 ∈ T
3x + y ∈ T x, y ∈ T ∧ y = x
x ≤ N, ∀x ∈ T
De manera que se presenten elementos hasta el valor N. Como en el ejercicio 61, n´otese que no
es necesario crear ninguna estructura para contener el conjunto T sino que basta con ir escri-
biendo los n´umeros en la ‘pantalla’, en forma ascendente.

Más contenido relacionado

PPTX
Pe15 cadenacaracteres
DOCX
Códigos c++
DOCX
Tipo de Operadores
DOCX
Investigacion de elementos y codigos de c++
PDF
Problemas
PDF
Continuidad de-funciones
PDF
30 Php. Cadenas Alfanumericas
Pe15 cadenacaracteres
Códigos c++
Tipo de Operadores
Investigacion de elementos y codigos de c++
Problemas
Continuidad de-funciones
30 Php. Cadenas Alfanumericas

La actualidad más candente (20)

DOCX
20 algoritmos
DOCX
Fundamentos de programación librería string C++
PDF
Trabajo de matematica
PDF
Matematicas seis segunda parte
PDF
Subespacios vectoriales definición y ejemplos el blog de leo
PDF
La máquina sin memoria
PDF
Tema_4.pdf
PDF
Límites algebraicos_Límites triginometricos
PDF
Matematicas seis tercer parte
PDF
Las máquinas que están en varios lugares
PDF
Resolver ecuaciones lineales y no lineales bueno
PDF
INVESTIGACION .pdf
PDF
Seriespot0910 (1)
PDF
Analisis2
PDF
Ejercicios parcial1
PPTX
Funciones str
DOCX
Éxito y Fracáso
PDF
Ecuaciones tipo hammerstein romero alvarez-n
PDF
Tema_7.pdf
PDF
Tema_6.pdf
20 algoritmos
Fundamentos de programación librería string C++
Trabajo de matematica
Matematicas seis segunda parte
Subespacios vectoriales definición y ejemplos el blog de leo
La máquina sin memoria
Tema_4.pdf
Límites algebraicos_Límites triginometricos
Matematicas seis tercer parte
Las máquinas que están en varios lugares
Resolver ecuaciones lineales y no lineales bueno
INVESTIGACION .pdf
Seriespot0910 (1)
Analisis2
Ejercicios parcial1
Funciones str
Éxito y Fracáso
Ecuaciones tipo hammerstein romero alvarez-n
Tema_7.pdf
Tema_6.pdf
Publicidad

Similar a 6.1 arrays en java (20)

DOCX
Ciclos repetitivos matlab
PDF
18 tipos-de-datos
PDF
Librería String, Math de Java (NetBeans)
PDF
DOC
Matlab introducción-clase3
PDF
SlE ADSI
PDF
Programacion matlab
DOCX
Longitud de cadena y funciones en java
PDF
CLASE 05.pdf
PDF
Ejercicios de Lenguaje C #08 Resol.pdf
DOCX
Unidad 6 metodos
DOCX
Enunciado 2 actividad grupal c
PPT
DOCX
Prácticas labview
PDF
Ciclos repetición matlab
PDF
Taller 10-14-ii
DOCX
Practica.10
PDF
Estadística - César.Angulo.Bustos.pdf
PPTX
40 diapositivas
PDF
Jyoc java-cap04 vectores (arrays)
Ciclos repetitivos matlab
18 tipos-de-datos
Librería String, Math de Java (NetBeans)
Matlab introducción-clase3
SlE ADSI
Programacion matlab
Longitud de cadena y funciones en java
CLASE 05.pdf
Ejercicios de Lenguaje C #08 Resol.pdf
Unidad 6 metodos
Enunciado 2 actividad grupal c
Prácticas labview
Ciclos repetición matlab
Taller 10-14-ii
Practica.10
Estadística - César.Angulo.Bustos.pdf
40 diapositivas
Jyoc java-cap04 vectores (arrays)
Publicidad

Último (20)

PDF
GUÍA PARA LA IMPLEMENTACIÓN DEL PLAN PARA LA REDUCCIÓN DEL RIESGO DE DESASTRES
PPTX
GEOLOGIA, principios , fundamentos y conceptos
PPTX
Notificacion e investigación de incidentes y accidentes de trabajo.pptx
PDF
FIJA NUEVO TEXTO DE LA ORDENANZA GENERAL DE LA LEY GENERAL DE URBANISMO Y CON...
PPTX
Manual ISO9001_2015_IATF_16949_2016.pptx
PPTX
CAPACITACIÓN DE USO ADECUADO DE EPP.pptx
PDF
fulguracion-medicina-legal-418035-downloable-2634665.pdf lesiones por descarg...
PPTX
MARITIMO Y LESGILACION DEL MACO TRANSPORTE
PPTX
NILS actividad 4 PRESENTACION.pptx pppppp
PDF
Informe Comision Investigadora Final distribución electrica años 2024 y 2025
PPTX
Gestion de seguridad y salud ocupacional.pptx
PDF
Durabilidad del concreto en zonas costeras
PPTX
MODULO 1.SEGURIDAD Y SALUD CONCEPTOS GENERALES.pptx
DOCX
CONCEPTOS BASICOS DE LA PROGRAMACION STEP
PDF
presentacion sobre los polimeros, como se conforman
PPTX
A8B08CED-D3D9-415C-B4A3-2A6CA6409A48.1.1Presentación Dirección 2022 unidade...
PDF
Sugerencias Didacticas 2023_Diseño de Estructuras Metalicas_digital.pdf
PDF
Curso Introductorio de Cristales Liquidos
DOC
informacion acerca de la crianza tecnificada de cerdos
DOCX
Cumplimiento normativo y realidad laboral
GUÍA PARA LA IMPLEMENTACIÓN DEL PLAN PARA LA REDUCCIÓN DEL RIESGO DE DESASTRES
GEOLOGIA, principios , fundamentos y conceptos
Notificacion e investigación de incidentes y accidentes de trabajo.pptx
FIJA NUEVO TEXTO DE LA ORDENANZA GENERAL DE LA LEY GENERAL DE URBANISMO Y CON...
Manual ISO9001_2015_IATF_16949_2016.pptx
CAPACITACIÓN DE USO ADECUADO DE EPP.pptx
fulguracion-medicina-legal-418035-downloable-2634665.pdf lesiones por descarg...
MARITIMO Y LESGILACION DEL MACO TRANSPORTE
NILS actividad 4 PRESENTACION.pptx pppppp
Informe Comision Investigadora Final distribución electrica años 2024 y 2025
Gestion de seguridad y salud ocupacional.pptx
Durabilidad del concreto en zonas costeras
MODULO 1.SEGURIDAD Y SALUD CONCEPTOS GENERALES.pptx
CONCEPTOS BASICOS DE LA PROGRAMACION STEP
presentacion sobre los polimeros, como se conforman
A8B08CED-D3D9-415C-B4A3-2A6CA6409A48.1.1Presentación Dirección 2022 unidade...
Sugerencias Didacticas 2023_Diseño de Estructuras Metalicas_digital.pdf
Curso Introductorio de Cristales Liquidos
informacion acerca de la crianza tecnificada de cerdos
Cumplimiento normativo y realidad laboral

6.1 arrays en java

  • 1. Elementos de Programaci´on Tema 6. Arrays Relaci´on de Ejercicios 18 de diciembre de 2003 1 ETSI Telecomunicaci´on VI. Arrays 1 Hacer una funci´on que reciba un array TVector de n n´umeros enteros y devuelva el valor m´ınimo de todos. NOTA: En todos los ejercicios que siguen se supondr´a que la funci´on recibe tanto el array (por copia o por referencia) como el n´umero entero de elementos a tratar, o sea su tama˜no. 2 Realizar un algoritmo que lea un array de N valores enteros y lo imprima en la pantalla al rev´es del orden en que se leyeron. 3 Hacer una funci´on que reciba un array TVector de n n´umeros enteros y un valor x devuelva o bien -1 si el valor x no est´a en el array o bien la posici´on (´ındice) (primero) en la que lo encuentre. 4 Desarrollar un algoritmo estad´ıstico que reciba un array de N n´umeros reales correspondientes a estaturas de N personas y devuelva en distintos par´ametros de salida: a) la media de las estaturas b) las alturas m´axima y m´ınima c) determine cu´antos son m´as altos y cuantos m´as bajos que la media. Utilizando el valor de la media anterior. d) La desviaci´on est´andard: σ = n i=1(xi − x)2 n − 1 = n i=1 x2 i − ( n i=1 xi)2 /n n − 1 5 Ampliar el ejercicio 4 para calcular tambi´en la moda (si no la hay pondr´a -1 en ese par´ametro). La moda es el n´umero m´as repetido pero debe ser ´unica. O sea, que si hay dos (o m´as) multire- petidos la misma cantidad de veces no hay moda. 6 Hacer una funci´on que reciba un array TVector de n n´umeros naturales distintos de cero. La funci´on deber´a averiguar si alguno de los n´umeros del vector est´a repetido, devolver´a -1 si no hay ninguno repetido y el ´ındice del primer repetido que encuentre, en otro caso. 7 Como en el ejercicio 4 recoger ahora pares de datos que corresponder´ıan a abcisas x y ordenadas y de una recta experimental y dar los coeficientes a y b de la recta y = ax + b de regresi´on lineal: a = n i=1 yi − b n i=1 xi n con b = n n i=1 xiyi − n i=1 xi n i=1 yi n n i=1 x2 i − ( n i=1 xi) 2 8 Dado un tipo Z VECTOR[TAM] desarrollar sendos procedimientos que recibiendo un objeto de tal tipo como par´ametro devuelva: a) El ´ındice del primer elemento mayor que su sucesor
  • 2. VI ARRAYS 2 b) El ´ındice de la primera cima (elemento mayor que sus vecinos). Atenci´on: los extremos, primero y ´ultimo pueden ser cimas, s´olo que no tendr´ıan anterior o siguiente (respectiva- mente) con quienes comparar, sino que tendr´ıan s´olo que ser mayores que el siguiente o mayor que el anterior (respectivamente). 9 Dise˜nar una funci´on l´ogica que nos indique si dos vectores de enteros son ‘circularmente igua- les’, esto significa, tener los mismos elementos y en el mismo orden relativo: circularmente {3, 4, 1, 5} = {5, 3, 4, 1}. 10 Sin usar vectores auxiliares dise˜nar un algoritmo que permita invertir el contenido de un vector. Ejemplo: Vector Original: 24 12 45 90 7 9 15 Vector Invertido: 15 9 7 90 45 12 24 11 Dado un tipo Z VECTOR[TAM] desarrollar una funci´on que recibiendo un vector de tal tipo calcule la longitud de la subsecuencia com´un m´as larga (lcs), esto es, la longitud de la mayor secuen- cia de elementos repetidos dentro del vector, por ejemplo, en (2, 5, 4, 2, 2, 5, 6, 6, 6, 3) ser´ıa 3; en (3, 2, 4, 1, 2) ser´ıa 1 12 Desarrollar un procedimiento que lea una sucesi´on de N n´umeros naturales, encuentre el valor m´aximo y lo imprima junto con el n´umero de veces que aparece y las posiciones en que esto ocurre. El proceso se repite con el resto de la suceci´on hasta que no quede ning´un elemento por tratar. 13 Desarrollar un procedimiento-funci´on que calcule el producto escalar de dos vectores de tres componentes que devolver´a como resultado. Los vectores estar´an ‘tipificados’ con el nombre ‘VECTORES’. Los componentes ser´an enteros. 14 Dada una secuencia de caracteres acabada en un ’0’, construir un algoritmo que devuelva su longitud: N longitud(E Cadena s). 15 Leer en una l´ınea (mediante una cadena de caracteres) el nombre, la edad y sexo de una persona y almacenarlos en tres variables distintas denominadas respectivamente nombre, edad y sexo. Por ejemplo, Entrada: P e p e t 2 0 t V 0 Salida: Nombre: Pepe Edad: 20 Sexo: v NOTA: El separador es el tabulador ’t’. La cadena termina en el car´acter ‘nul’ (’0’). 16 Dada una secuencia de caracteres acabada en un ’0’, construir un algoritmo que la modifique pas´andola toda a min´usculas: minuscular(ES Cadena s). 17 Dadas dos secuencias de caracteres acabadas en ’0’, construir un algoritmo que a) obtenga la concatenaci´on de las dos cadenas recibidas por copia en una tercera, recibida por referencia: concat(S Cadena r, Cadena a, Cadena b) b) concatene detr´as de la primera cadena de caracteres otra, modific´andola: anyade(ES Cadena a, Cadena b) 18 Dada una secuencia de caracteres acabada en un ’0’, construir un algoritmo que Borre en ella n ≥ 0 caracteres desde la posici´on p ≥ 0 inclu´ıda: borra(ES Cadena s, E N p, E N n).
  • 3. VI ARRAYS 3 19 Desarrollar un algoritmo que devuelva en una cadena de caracteres los caracteres que est´an en primer par´ametro pero no en el segundo. 20 Dada una secuencia de caracteres acabada en un ’0’, construir un algoritmo que devuelva en un segundo array de 256 n´umeros naturales la frecuencia de aparici´on de cada una de las le- tras. Cada ´ındice del array ([0..255]) indicar´a la letra y el valor all´ı su frecuencia. Naturalmente freq[0]=0. Ser´ıa: freqs(Cadena s, S N freqs[256]). 21 Dada una secuencia de caracteres acabada en un ’0’, construir un algoritmo que extraiga en otro par´ametro n ≥ 0 caracteres desde la posici´on p ≥ 0 inclu´ıda: extraer(S Cadena r, Cadena s, N p, N n). 22 Dadas dos secuencias de caracteres acabadas en ’0’, construir un algoritmo que haga una comparaci´on de ambas cadenas de carateres s1 y s2 devolviendo un +1, 0 ´o 1 seg´un la cadena s1 sea mayor, igual o menor que la s2    −1 si s1 < s2, 0 si s1 = s2, 1 si s1 > s2. N´otese que “avion” es m´as peque˜na que “barco” y “uno” es m´as grande que “dos” y tambi´en que “tres”. 23 Dadas dos secuencias de caracteres acabadas en ’0’, construir un algoritmo que busque y devuelva la posici´on de comienzo de la aparici´on de la segunda subcadena pat dentro de la pri- mera cadena s. Si no apareciese devolver´ıa el valor -1. Por ejemplo: EncuentraSubcadena("Hoy puede ser un gran d´ıa", "ser") devolver´ıa 10. 24 Dada una secuencia de caracteres acabada en un ’0’, construir un algoritmo que devuel- va el n´umero de palabras que contiene. Se define palabra como cualquier secuencia de letras [’a’..’z’]. 25 Dada una secuencia de caracteres acabada en un ’0’, construir un algoritmo que devuelva la longitud media de sus palabras (definidas en el ejercicio 24). 26 Dada una secuencia de caracteres acabada en un ’0’, construir un algoritmo que la modifique pasando La Primera Letra De Cada Una De Sus Palabras A May´usculas (lo que es una palabra est´a definido en el ejercicio 24): capitularizar(ES Cadena s). 27 Dada una secuencia de caracteres acabada en un ’0’ y un n´umero n construir un algoritmo que devuelva en un tercer par´ametro por referencia, la n-sima palabra de la cadena. Las palabras se contar´an desde 1. Si no hay tantas palabras el resultado quedar´a como cadena vac´ıa. 28 Formar los plurales de las palabras. Usar sencillamente la regla de poner una ‘s’ detr´as de las que terminen en vocal y una ‘es’ si termina en consonante. Desarrollar para ello un procedimiento Pluraliza que modifique la cadena que recibe como par´ametro. 29 Dada una frase acabada en un punto, construir un algoritmo que d´e c´omo resultado la frase pero con los caracteres que forman cada una de las palabras en orden inverso. Los espacios en blanco deben conservarse. ENTRADA: ’ invertir, 1ab3 esta frase’ SALIDA: ’ ritrevni, 1ba3 atse esarf 30 Dada una secuencia de caracteres acabada en un ’0’, construir un algoritmo que determine si la cadena (ignorando los posibles espacios y signos de puntuaci´on entre las palabras) es o no pal´ındroma, esto es, sim´etrica, por ejemplo como: “d´abale arroz a la zorra el abad”, o “amor a roma”. NOTA: Otros pal´ındromos: “anita lava la tina”, “somos o no somos”, “a mama roma le aviva el amor a papa y a papa roma le aviva el amor a mama”. Pal´ındromo viene del griego: pal´ın: “de nuevo” y dromos: “carrera”.
  • 4. VI ARRAYS 4 31 Hacer los siguientes procedimientos con cadenas terminadas en ’0’ como indicador de final de la cadena: a) Inserte modificando en la posici´on p otra cadena de caracteres. El antiguo car´acter en la posici´on p pasar´a detr´as de la nueva. Hacer la inserci´on suponiendo que la cadena a in- sertar 1) cabe y que 2) no cabe. En este ´ultimo caso los caracteres que sobren, ya sea de la cadena que se est´a insertando como los del final de la original se despreciar´an. Si se inser- ta en una posici´on por encima del ´ındice m´as alto de la cadena se tendr´a la operaci´on de concatenaci´on. b) Sustituya todas las subcadenas iguales a la dada por otra, de igual o distinta longitud, si es que la encuentra. Por ejemplo: ReplStr(s, "no", "a veces") teniendo en s "Las vacas no lloran" dejar´ıa en s "Las vacas a veces lloran", y con ReplStr(s, "ll", "") de- jar´ıa "Las vacas no oran" 32 Dise˜nar un algoritmo que permita traducir una cadena num´erica al n´umero que representa. Por ejemplo: Z StrANum("1234") devolver´ıa un n´umero entero con el valor 1234. 33 Recibir un segundo par´ametro indicando la base en la que est´a escrito el n´umero del ejercicio 32 en la cadena de caracteres. Por ejemplo, Z Str2Int("-33",16) devolver´ıa el n´umero entero −51. 34 Dise˜nar un algoritmo que permita traducir una cadena num´erica que contiene un n´umero real al n´umero que representa. Por ejemplo: R StrANum("12.34") devolver´ıa un n´umero real con el valor 12.34 35 Dise˜na una funci´on que permita leer “de teclado” una variable enumerada del siguiente tipo: Tipos ENUMERADO {AlfaRomeo, Fiat, Ford, Lancia, Renault, Seat, Opel, Citroen, Ferrari, Volvo} TipoCoche VARIABLES TipoCoche Coche devolviendo as´ı el valor correspondiente TipoCoche que el usuario haya escrito en forma de cadena de caracteres. 36 Lo contrario del ejercicio 33, dise˜nar un procedimiento que convierta el n´umero natural que recibe como par´ametro en una cadena de caracteres que representen el n´umero en la base tam- bi´en recibida como par´ametro. Por ejemplo: Int2Str(s, -43962, 16) dejar´ıa en s, "-ABBA". 37 Desarrollar un procedimiento que convierta una cadena de caracteres al estilo de C (ASCIIZ) (con la marca ’0’ al final) a una cadena de caracteres al estilo de Pascal, con la longitud (0 ≤ l ≤ 255 en el primer ‘car´acter’ de la cadena). Naturalmente en las cadenas Pascal el primer byte no representa a ning´un car´acter, sino a la longitud ´util de la cadena. Destaca el principal incoveniente de las cadenas tipo Pascal as´ı como su principal ventaja respecto a las cadenas tipo C (las de Modula-2 tambi´en se suponen terminadas en ’0’ pero no siempre, son algo m´as complicadas). 4 H o l a 0H o l a Pascal C 38 Para operar con n´umeros naturales de tama˜no grande, se puede utilizar un array cuyas compo- nentes sean caracteres d´ıgitos (por ejemplo, decimales, entre ’0’ y ’9’). Elaborar un algorirmo que recibiendo dos de estos n´umeros grandes, devuelva en un tercer par´ametro la suma. Supo- ner que los n´umeros puedan tener hasta 100 cifras.
  • 5. VI ARRAYS 5 39 Desarrollar procedimientos para: a) Ver el valor de un n´umero romano, esto es: Devolver el n´umero natural correspondiente al par´ametro cadena de caracteres que contiene a un n´umero romano (ej.: RomIICard(“XIV”) dar´ıa 14). b) Escribir n´umeros romanos, esto es: Modificar un par´ametro cadena de caracteres dejando en ella el n´umero natural que se le pasa en al estilo romano (CardIIRom(s, 1997) pondr´ıa en s “MCMXCVII”) 40 Se reciben dos cadenas de caracteres (largas) conteniendo una serie de “l´ıneas” de texto cada una terminada en ’n’. Se pide eliminar de la primera cadena todas las l´ıneas que est´en en la segunda: restaLin(ES Cadena t, Cadena s). NOTA: Para recoger cada “p´arrafo” se puede recoge una cadena de caracteres hasta que se reco- jan dos ’n’ seguidos, haciendo esto con cada p´arrafo t y s. 41 Calcular la suma de los elementos de la diagonal principal de una matriz cuatro por cuatro (4 × 4). 42 Escribir un algoritmo que permita sumar el n´umero de elementos positivos y el de negativos de una matriz T, siendo T una matriz de M × N elementos recibida como par´ametro. 43 Un array bidimensional a ∈ Mm×m es sim´etrico si sus elementos satisfacen aij = aji ∀i, j ∈ 1 . . . m. Escribe una funci´on l´ogica que determine si una matriz es o no sim´etrica. 44 Hacer un procedimiento que modifique una matriz AN×M trasponi´endola, esto es: aij = aji. 45 Realizar un algoritmo que permute las filas i y j de una matriz M × N 46 Desarrollar un procedimiento que eval´ue el producto de dos matrices AN×K × BK×M . Para ello el procedimiento recibir´a las matrices como par´ametros y devolver´a el resultado en una tercera matriz. 47 Dada una matriz AM×N , dise˜nar un algoritmo que la modifique restando a cada elemento la media aritm´etica de su columna. 48 Dada una matriz cuadrada de enteros, se pide un algoritmo que a) imprima de cada paralela superior a la diagonal principal, el valor m´aximo, b) imprima de cada paralela inferior a la diagonal principal, el valor m´ınimo. 49 Hacer una funci´on que encuentre la diagonal de una matriz N × M cuya suma de elementos sea mayor. N´otese que las diagonales pueden ser o bien de pendiente negativa o bien de pendiente positiva // 50 Desarrollar una funci´on que eval´ue el determinante de una matriz cuadrada de orden tres. ¿C´omo se podr´ıa ampliar este procedimiento para que nos sirviese tambi´en en otros casos? 51 Desarrollar un algoritmo que recibiendo un tablero de ajedrez MN×N y en el que se coloquen N reinas (0’s y 1’s; los unos ser´ıan las reinas), devuelva cierto si no se atacan entre ellas y falso si se atacan. 52 Considera un mini tablero de ajedrez M4×4 y trata de situar 4 reinas, de tal modo que no se coman entre s´ı1 . Aprovechar la respuesta del ejercicio 51. 53 Una matriz tiene un punto de silla en una de sus componentes si es el mayor valor de su columna y el menor de su fila. Dise˜nar un algoritmo que recibiendo una matriz m ∈ Mn×n, escriba en la pantalla las coordenadas de todos sus puntos silla. 1Como todos sabemos, una reina en el ajedrez ‘come’ sobre su fila, su columna y las dos diagonales que pasan por su posi- ci´on.
  • 6. VI ARRAYS 6 54 Un cuadrado m´agico es una matriz cuadrada de orden n de n´umeros naturales de 1 a n2 , tales que la suma de cada fila, la de cada columna y la de las dos diagonales dan el mismo valor. Por ejemplo, para n = 5, tenemos: 15 8 1 24 17 16 14 7 5 23 22 20 13 6 4 3 21 19 12 10 9 2 25 18 11 tiene de suma com´un 65. Para n impar tenemos el siguiente algoritmo (de H. Coxeter): “comenzar en la mitad de la fila superior con el n´umero 1 ir subiendo hacia la izquierda asignando n´umeros a los cuadrados vac´ıos; cuando nos salgamos de la matriz reem- pezar continuar como si estuviese la misma repetida como losetas cubriendo todo el plano; si un cuadro est´a ocupado, bajar un cuadro y continuar” a) Sea un cuadrado N CUAD[N][N], dise˜nar la funci´on B EsM´agica(CUAD a); que devolver´a ‘cier- to’ si a es un cuadrado m´agico y ‘falso’ en caso contrario. b) Dise˜nar un algoritmo que construya un cuadrado m´agico para cualquier constante N im- par dada. 55 Modelar un tablero de damas mediante una matriz 8 × 8. Desarrollar la estructura de datos y desarrollar un procedimiento de Inicializaci´on que coloque a cada ficha en su lugar. 56 Modelar un tablero de ajedrez mediante una matriz 8 × 8. Desarrollar la estructura de datos y desarrollar un procedimiento de Inicializaci´on que coloque a cada ficha en su lugar. NOTA: Para referirnos a cada ficha enumerlas. 57 Desarrollar un procedimiento que recibiendo una matriz 3 × 4 correspondiente a los coeficien- tes y t´erminos independientes (matriz extendida) de un sistema de tres ecuaciones con tres inc´ognitas: a11x1 + a12x2 + a13x3 = b1 a21x1 + a22x2 + a23x3 = b2 a31x1 + a32x2 + a33x3 = b3 Devuelva en en un vector x por referencia, con tres componentes, los valores de x1, x2 y x3 que la satisfacen, si existen. En un segundo par´ametro devolver´a un tipo enumerado con el tipo de ecuaci´on de que se trate. Utilizar la regla de Cr´amer cuando sea necesario. 58 Ordenar un vector mediante un vector de ´ındices. Se tiene un vector de enteros cualesquiera. Obtener otro de forma que el contenido de cada elemento del nuevo vector sea un ´ındice que nos indique de menor a mayor los valores de la tabla de enteros. Por ejemplo: 10 5 -7 0 12 1 2 3 4 5 valor 3 4 2 1 5 1 2 3 4 5 índice NOTA: La tabla original no se podr´a modificar, ni se puede hacer una copia de la misma. 59 Dise˜na un programa que calcule las diez primeras cuaternas cuyos xi sean los menores que satisfacen: x3 i = a3 i + b3 i + c3 i , para i = 1, . . . , 10. (1) Los t´erminos a, b y c deben ser linealmente independientes, es decir, no debe existir ning´un n´umero n tal que si −→ Ai = (ai, bi, ci) y −→ Aj = (aj, bj, cj), −→ Ai = n −→ Aj. Por ejemplo, las ternas a = 1,
  • 7. VI ARRAYS 7 b = 0, c = 0 y a = 2, b = 0, c = 0 son linealmente dependientes para n = 2, as´ı que la cuaterna que nos interesa es la que da menor x. Sin embargo, la soluci´on a = 5, b = 4, c = 3 (63 = 53 + 43 + 33 ) es linealmente independiente de cada una de las anteriores. 60 Dise˜nar un algoritmo que simule el proceso de obtenci´on de n´umeros primos entre 1 y N lla- mado “Criba de Erast´otenes”. En el proceso se siguen los siguientes pasos: Se escriben los n´umeros naturales entre 1 y N. Se tacha el 1. Se deja el 2 y se tachan todos los dem´as n´umeros pares. Se deja el tres y se tachan todos sus m´ultiplos. etc... as´ı, cuando pasemos del 13, estar´an tachados 14, 15 y 16, con lo que seguimos el proceso en el 17. El proceso acaba cuando llegamos a √ N. 61 Realizar un algoritmo que genere en orden ascendente los 100 primeros elementos del conjunto M, donde M se define: El n´umero 1 pertenece a M Si x pertenece a M, entonces 2x + 1 y 3x + 1 tambi´en pertenecen a M. Ning´un otro n´umero est´a en M con lo que M tendr´a el aspecto {1, 3, 4, 7, 9, 10, . . . }. N´otese que no es necesario crear ninguna estructura para contener el conjunto M sino que basta con ir escribiendo los n´umeros en la ‘pantalla’. 62 Crear y escribir un conjunto T tal que un n´umero pertene a T si cumple alguna de las siguientes propiedades: 1, 2 ∈ T 3x + y ∈ T x, y ∈ T ∧ y = x x ≤ N, ∀x ∈ T De manera que se presenten elementos hasta el valor N. Como en el ejercicio 61, n´otese que no es necesario crear ninguna estructura para contener el conjunto T sino que basta con ir escri- biendo los n´umeros en la ‘pantalla’, en forma ascendente.