Documentos de Académico
Documentos de Profesional
Documentos de Cultura
].
]
ifFalse: [
1 to: men do: [:i| ((x at:i)=(y at:i)) ifTrue: [c:=c,(x at:i)asString]
ifFalse: [c:=c,(y at: i)asString. cont:=cont+1].
].
].
^cont
masLarga
"Devuelve la palabra mas larga de una cadena"
| list v1 v2 larga |
v1:=0.
self do: [:i | v2:=v1. v1:= (i size).
(v2< v1) ifTrue: [ larga:=i].]. ^larga.
Matriz Rotada 90º
].
].
].
p:=p- 1.
].
^nm1
Mayor y Menor
|x|
x:= Prompter prompt: 'Ingrese numeros' default:''.
x:=x asSortedCollection: [:i :j | i<j].
MessageBox message: 'El menor numero es:', ' ', ((x at: 1) asString).
MessageBox message: 'El mayor numero es:', ' ', ((x at: (x size)) asString).
CAPICUA
|num n sum|
num:=Prompter prompt: 'Ingrese un numero' default: ''.
n:=num asInteger.
[((n asString) at: 1)=((n asString) at: ((n asString) size))] whileFalse: [ n:=n + ((num reversed)
asInteger)].
^'CAPICUA'
|numero arreglo|
arreglo:= OrderedCollection new.
numero:=Prompter prompt: 'ingrese un número' default:''.
|x z|
x:=Prompter prompt: 'Ingrese un texto' default: ''.
z:=''.
x:= x asArrayOfSubstrings.
x do: [:i | 1 to: (i size) do: [ :j |
((j=1) | (j=(i size))) ifTrue: [ z:=z,((i at: j) asString)]
ifFal
se: [ z:=z,'*'].
].
z:=z,' '
].
^z
Eliminar palabras repetidas
|x c z |
x:=Prompter prompt: 'Ingrese una cadena' default: ''.
x:=x asArrayOfSubstrings.
z:=OrderedCollection new.
c:=''.
x do: [:i | (z includes: i ) ifFalse: [ z add: i].].
z do: [:i | c:=c,i,' '].
^c
Primo perfecto
].
Oficial de correo
]
ifFalse: [z:=z,(i asString),' '.
prec:=prec+cosc].
((i at: (i size))=$.) ifTrue: [z:=z,ps].
].
pret:=pret+prec+prel.
MessageBox message: pret asString.
MessageBox message: z.
Numero e
|suma bloque e v1 v2 n r|
n:=(Prompter prompt: 'Ingrese el numero de veces' default: '') asInteger.
e:=(Prompter prompt: 'Ingrese un numero Epsilon' default: '') asInteger.
v1:=0. v2:=0. suma:=0.
1 to: n do: [:i |
bloque:=(1+(1/i)) raisedTo: i.
suma:=suma + bloque.
v2:=v1. v1:=bloque.
r:= (v2- v1) abs.
(r<e) ifTrue: [ ^'Salio por el epsilon', suma
asString].
].
^suma
Matriz
|f c1 con o q k b f1 m a x c v z pos p|
f:=(Prompter prompt: 'Cuantas filas' default: '') asInteger.
c:=(Prompter prompt: 'Cuantas columnas' default: '') asInteger.
x:=(Prompter prompt: 'Ingrese el valor a buscar' default: '') asInteger.
con:=1.
k:=1.
p:=1.
o:=1.
q:=1.
c1:= Array new: f*c.
f1:=Array new: f*c.
z:=Array new: f*c.
b:=OrderedCollection new.
f1 do: [ :i | f1 at: k put:p. k:=k+1. p:=p+1. (p=(f+1)) ifTrue: [ p:=1].].
c1 do: [:i | c1 at: o put: q. o:=o+1.con:=con+1. (con=(c+1)) ifTrue: [q:=q+1. con:=1.].].
m:=1 to: f do: [:i |
1 to: c do: [ :j |
v:=(Prompter prompt: ' Ingrese valor fila', i asString,
'columna', j asString default: '') asInteger.
pos:= (i- 1)* c+j.
z at: pos put: v].
].
b add: a
].
].
^b
Clave murciélago
|m x y z c k l|
x:=Prompter prompt: 'Ingrese una palabra para codificar' default: ''.
l:=(Prompter prompt: 'Ingrese 1 si desea decodificar y 0 si quiere codificar' default:'') asInteger.
y:= 'MURCIELAGO'.
z:= '0123456789'.
c:=''.
m:=1.
(l = 0)ifTrue: [
x do: [ :i | (y includes: i) ifTrue: [
k:= y findFirst: [ :j | i=j].
m:=m+1.].
] ifFalse: [
m:=m+1.].
].
^c
|x z|
x:=Prompter prompt: 'Ingresar una cadena combinada con numeros' default:''.
z:=''.
x:=x asArrayOfSubstrings.
x do: [: i |
i do: [ : j | (j isLetter) ifTrue: [ z:=z, j asString].
].
z:=z,' '.
].
^z
Cambiar una letra dada por otra dada
|c x k y z|
x:=Prompter prompt: 'ingrese una cadena' default: ''.
y:=Prompter prompt: 'Ingrese la letra que desea cambiar' default: ''.
z:=Prompter prompt: 'Porque letra desea cambiar' default: ''.
k:=1.
c:=''.
x do: [:i | (i asString = y) ifTrue: [ c:=c,z] ifFalse: [ c:=c,i asString]
].
^c
|x z k p|
x:= Array new: 30.k:=1.
z:= Array new.
x do: [: i | x at: k put: k. k:=k+1].
1 to: 30 by: 2 do: [ :i | p:=(((x at:i) raisedTo: 4)asString)asArrayOfSubstrings. z:=z,p].^z
|x y z |
x:=Prompter prompt: 'ingrese una cadena' default: ''.
y:=Prompter prompt: 'ingrese los caracteres prohibidos' default: ''.
x isNil ifTrue: [^nil].
y isNil ifTrue: [^nil].
z:= ''.
x do: [ :i |
(y includes: i) ifTrue: [z:=z,' ']
ifFalse: [ z:=z,(i asString)].
].
^z
Serie
| x a e n p k v1 v2 bloque sum resta|
x:= (Prompter prompt: 'Ingrese un valor que correspondera a x' default: '')asInteger.
a:= (Prompter prompt: 'Ingrese un valor que correspondera a a' default: '')asInteger.
e:= (Prompter prompt: 'Ingrese un valor muy pequeño' default: '')asInteger.
n:= (Prompter prompt: ' Ingrese un valor de fin de la sucesion' default: '')asInteger.
p:=Array new: n.
k:=1.
p:=p do:[ :i | p at: k put: k. k:=k+1].
v1:=0. v2:=0. sum:=0.
p do: [ :i |
bloque:= ((x*(a raisedTo: i))/ (2*i)).
sum:=sum + bloque.
v2:=v1. v1:=bloque abs.
resta:=(v2 - v1) abs.
(resta<e) ifTrue: [^'salio antes con: ', sum asString].
].
^sum
12 bis
| j m con x a e coni cona cone cono conu i o u p f|
x:=Prompter prompt: 'Ingrese un texto terminado en /' default: ''.
x isNil ifTrue: [^nil].
p:=Array new: 5.
m:= #(a e i o u).
j:=1.
con:=0.cona:=0.cone:=0.coni:=0.cono:=0.conu:=0.
(x at: x size)= $. ifTrue: [x:=x asArrayOfSubstrings. x do: [ :k |
a:=( k select: [:c | c=$a ]) size .
e:=( k select: [:c | c=$e ]) size.
i:=( k select: [:c | c=$i ]) size.
o:=( k select: [:c | c=$o ]) size.
u:=( k select: [:c | c=$u ]) size.
p at:1 put: (cona:=cona+ a).
p at:2 put: (cone:=cone+e).
p at:3 put: (coni:=coni+i).
p at:4 put: (cono:=cono+o).
p at:5 put: (conu:=conu+u).
].
p do: [ :c | (c>con) ifTrue: [ con:=c . f:=( m at:j). ]. j:=j+1].
long:=long+ (i size).
((i size) between: 8 and: 16) ifTrue: [k:=0. k:=(i select: [:c | c=$a])size.
(k>=3)
ifTrue:[ con:=con+1] .
].
].
MessageBox message: long asString.
MessageBox message: pos asString.
MessageBox message: con asString.
|x y con|
x:= Prompter prompt: ' ingrese la frase' default: ''.
y:= Prompter prompt: 'ingese la letra' default: ''.
x isNil ifTrue: [^nil].
y isNil ifTrue: [^nil].
x:=x asArrayOfSubstrings.
con:=0.
x do: [ :i |
(i at: i size)asString=y ifTrue: [ con:=con+1].
].
^con
Contar palabas que empiezan con una letra
|x y con|
x:= Prompter prompt: ' ingrese la frase' default: ''.
y:= Prompter prompt: 'ingese la letra' default: ''.
x isNil ifTrue: [^nil].
y isNil ifTrue: [^nil].
x:=x asArrayOfSubstrings.
con:=0.
x do: [ :i |
(i at: 1)asString=y ifTrue: [ con:=con+1].
].
^con
|x con cont y|
x:=Prompter prompt: 'ingrese cadena' default:''.
x isNil ifTrue: [^nil].
x:=x asArrayOfSubstrings.
con:=0.
x do: [:i |
y:= (i select: [ :c | c isUpperCase])size.
].
^con
Tipo Titulo
|x y|
x:=Prompter prompt: 'plabra' default: ''.
x isNil ifTrue:[^nil].
x:= x asLowerCase.
x:= x asArrayOfSubstrings.
y:=''.
].
^y
Borrador
|x z j|
x:=Prompter prompt: ' Ingese una cadena' default: ''.
z:= String new: x size.
j:=1.
x do:[ :i |
[i= $ ] whileTrue: [ i:=i+1].
( i isLowerCase ) ifTrue: [ z at: j put: i asUpperCase]
ifFalse: [ z at: j put: i].
j:=j + 1.
].
^z
Intercalar Vocales
|j x y par z i|
x:=Prompter prompt: 'Ingrese una cadena' default: ''.
y:= Prompter prompt: 'ingerse otra cadena' default: ''.
par:= x size+ y size.
z:= String new: par.
i:=1.
j:=2.
x do: [:c | z at: i put: c. i:=i+2].
y do: [:n | z at: j put: n. j:=j+2].
^z
Contar Vocales
|x con|
x:= Prompter prompt: 'Ingrese la palabra' default: ''.
con:=0.
1 to: x size do: [:i | ((x at: i) isVowel) ifTrue: [ con:=con+1]].
^con
Palindromo
|x y|
x:=Prompter prompt: 'Ingrese la Palabra' default:''.
x asUpperCase.
y:= x reversed.
(x=y) ifTrue: ['Es Palindromo'] ifFalse: ['No es Palindromo'].
Mayusculas Y Minusculas
|x|
x:= Prompter prompt: 'Ingrese texto' default:''.
1 to: x size do: [:i | (x at: i) isLowerCase ifTrue: [ x at: i put: (x at: i) asUpperCase] ifFalse: [x at: i
put: (x at: i) asLowerCase].].
^x
Multiplos
Numero Primo
|x con des|
x:=(Prompter prompt: 'Ingrese Valor' default:'0')asInteger.
des:=x.
con:=0.
[des=0] whileFalse: [((x\\2)=0) ifTrue: [con:=con+1]. des:= des- 1].
(con>2) ifTrue: [^'No es Primo'] ifFalse: [^'Primo'].