Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion es/task-27.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
_ podria ser util resolver [Bubble in Array](./bubble-in-array) antes de este problema._
_ podria ser util resolver [Bubble in Array](./bubble-in-arrayarray-es) antes de este problema._


El ordenamiento de arreglos es un problema popular para los recien llegados -- y extremadamente importante en programación profesional
(bases de datos, bibliotecas etc).
Expand Down
29 changes: 29 additions & 0 deletions es/task-29
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
Despues de resolver la tarea [Bubble Sort](./bubble-sort-es) suponesmos que aprendiste sobre el ordenamiento de arreglos. Ahora tenemos para tí
un prolbema ligeramente ms complicado de programar, ya que es importante tener práctica en la clasificación y manipulación no
sólo valores primitivos sino también de objetos más complejos.

Como anteriormente, te daremos un arreglo de números. Este debe ordenarse primero (en orden no decreciente) -
y luego, para cada valor, se debe imprimir su índice (posición) inicial (los índices comienzan desde 1).

Es decir, imaginate que tenemos el arreglo `50 98 17 79` el cual se convierte en `17 50 79 98` después de ordenado. ahora:

17 era el 3-er puesto incialmente
50 era el 1-er puesto incialmente
79 era el 4-to puesto incialmente
98 era el 2-do puesto incialmente

así que el resultado es
3 1 4 2

**Datos de Entrada** contendran el tamaño del arreglo en la primera fila y los valores del mismo en la segunda
(los enteros irán separados por espacios).
**Respuesta** deberá contener los indices (posiciónes) iniciales del los elementos del arreglo despues de haber sido reordenados.

Ejemplo:

datos de entrada:
4
50 98 17 79

respuesta:
3 1 4 2
15 changes: 15 additions & 0 deletions es/task-30.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
una tarea bastante simple - solo para comenzar a aprender strings (arreglos de caracteres)...

**Datos de Entrada** contendran un string sencillo en letras minusculas con algunos espacios.
**Respuesta** debe contener la cadena de la misma longitud con los mismos caracteres pero en orden inverso.

Ejemplo:

dato de entrada:
four score and seven years ago

respuesta:
oga sraey neves dna erocs ruof

A pesar de que algunos lenguajes tienen incorporada alguna funcion para esto, por favor trata de desorrollarlo por tu cuenta y
'in situ', es decir, mover caracteres del mismo string en lugar de copiarlos en uno nuevo (string o arreglo de caracteres).
38 changes: 38 additions & 0 deletions es/task-35
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
<!-- #Calculadora de Ahorros -->
Joel quiere comprar un bote que cuesta `$10000`. Sin embargo, el actualmente tiene solo `$1000`. Una de las formas de hacer crecer su dinero
es ponerle en una cuenta bancaria y esperar. Por ejemplo, si la cuenta incrementa un `8%` cada año:

año dinero
0 1000
1 1080
2 1166.4
3 1259.71
4 1360.48
5 1469.31
6 1586.85
.....
29 9316.82
30 10062.16

Entonces Joel puede hacer crecer su dinero en `30` años. Ademas, si la cuenta crece, no anualmente sino mensual (con la
misma tasa de interes de `8%` al año) entonces la suma sera alcanzada en solo `29` años!
then Joel can grow his money in `30` years. Moreover, if account is increased not annually but monthly (with the
same interest rate of `8%` per year) then the sum will be collected in only `29` years! Bastante divertido :)

En esta tarea tú necesitas ayudar a Joel a calcular cuantos años necesita esperar dependiendo de una suma inicial
de dinero `S`, requiere una suma `R` y una tasa de interes bancaria `P`. Al final de cada año la cuenta es aumentada y
**redondeada hacia abajo** hasta centavos ( como en el ejemplo de arriba).

**Datos de entrada** En la primera linea contendrá el numero de casos a testiar.
Cada una de las siguientes lineas contiene tres numeros`S`, `R` y `P`.
**Respuesta** deberá contener el numero de años a esperar en cada caso, separados por espacios.

Ejemplo:

datos de entrada:
2
1000 10000 8
50 100 25

respuesta:
30 4
48 changes: 48 additions & 0 deletions es/task-52
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
<div class="text-center">
<img alt="types of angles in triangle" src="https://codeabbey.github.io/data/pythagorean-theoreme.png"/>
</div>

Un triangulo es llamado **rectangulo** cuando uno de sus tres angulos es **angulo recto**, igual a 90° Es decir,
dos lados de este triangulo son ortogonales. Recordemoslo.

Los lados adyacentes al angulo recto de estos triangulos, son llamados **catetos** y el tercer lado es **hipotenusa**.
El teorema estalbece que la longitud de la hipotenusa está determinada por las longitudes de los catetos a partir de esta simple formula:

c^2 = a^2 + b^2

o

c = raiz_cuadrada(a^2 + b^2)

Donde `c` es la longitud de la hipotenusa, mientras `a` y `b` son las longitudes de los catetos.

Es famoso el ejemplo del triangulo rectangulo donde sus lados son `3`, `4` y `5` unidades. Así, en este caso, el teorema afirma:

5^2 = 3^2 + 4^2

or

25 = 9 + 16

En esta tarea tú usaras este teorema para escribir un programa que pueda determiar, cuando un triangulo es réctangulo,
o si es **acutangulo*, o **obtusángulo**:

- para el triangulo acutangulo el lado mas largo es más corto de lo que la hipotenusa deberia ser;
- para el triangulo obtusangulo el lado mas largo, es más largo de lo que la hipotenusa debería ser.

**Datos de Entrada** en la primera linea contendrá el numero de triangulos.
Las siguientes lineas describen cada una un triangulo. Cuya descripción consiste en tres valores - longitudes de los lados. El valor más grande será
siempre ser el ultimo de los tres, por motivos de simplicidad.
**Respuestas** Debe tener una de las letras `R` (right, réctangulo), `A` (acute, acutangulo) o `O` (obtuse, obtusángulo) pr cada uno de los triangulos. La letras
deben estar separadas por espacios.

Ejemplo:

datos de entrada:
3
6 8 9
9 12 15
16 12 22

respuesta:
A R O
45 changes: 45 additions & 0 deletions es/task-67
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
Incluso un programador novato está usualmente familiarizado con **La secuencia de fibonacci** la cual es generada de la siguente manera:

- 0- valor es `0`;
- 1-er valor es `1`;
- todos los siguientes valores son la suma de los dos predecesores inmediatos.

Así tenemos:

0: 0
1: 1
2: 1 = 0 + 1
3: 2 = 1 + 1
4: 3 = 1 + 2
5: 5 = 2 + 3
6: 8 = 3 + 5

y sucesivamente, si tú continuas calculadolo por ti mismo, obtendras la siguiente secuencia inicial:

0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, ...

Puedes percatarte de que los valores crecen muy rapido! El `lugar-17` está cercano a exceder a mil, `lugar 31`
es más grande que un `millón`.

**Planteamiento del problema**

Se te daran varios numeros de la secuencia de Fibonacci. Tu tarea es dar los indices de dicha secuencia.

**Datos de entrada** En la primera linea contiene el numero de datos que se te darán.
Las siguientes lineas contienen un numero de fibonacci cada una (desde los primeros `1000` valores).
**Respuesta** deberá contener los indices en la secuencia, separados por espacios.

Ejemplo:

datos de entrada:
5
610
34
0
1346269
10946

respuesta:
15 9 0 31 21

*Sé cuidadoso: Los valores podrián ser de cientos o más digitos de longitud!*