Autor Tema: Listado ejercicios para aprender a programar

0 Usuarios y 1 Visitante están viendo este tema.

19 Diciembre, 2017, 03:00 pm
Leído 2421 veces

mathtruco

  • Moderador Global
  • Mensajes: 4,919
  • País: cl
  • Karma: +0/-0
  • Sexo: Masculino
  • El gran profesor inspira
Hola.

¿Alguien conoce algún listado de ejercicios para aprender a programar?

Es para un jovencito al que estoy orientando que aún no ingresa a la universidad. Estábamos viendo el listado de https://projecteuler.net/  pero es demasiado complejo para comenzar. En el spoiler dejo los primeros tres problemas de este listado, para que vean el grado de dificultad.

Spoiler
Problem 1

If we list all the natural numbers below 10 that are multiples of 3 or 5, we get 3, 5, 6 and 9. The sum of these multiples is 23.

Find the sum of all the multiples of 3 or 5 below 1000.



Problem 2

Each new term in the Fibonacci sequence is generated by adding the previous two terms. By starting with 1 and 2, the first 10 terms will be:

1, 2, 3, 5, 8, 13, 21, 34, 55, 89, ...

By considering the terms in the Fibonacci sequence whose values do not exceed four million, find the sum of the even-valued terms.



Problem 3

The prime factors of 13195 are 5, 7, 13 and 29.

What is the largest prime factor of the number 600851475143 ?

[cerrar]

Ahora estoy revisando la siguente web: http://progra.usm.cl/apunte/ejercicios

Como no quiero fallar nuevamente en la elección de los problemas, les pido un consejo a ustedes: ¿les parece apropiado aprender a programar con estos ejemplos? ¿Tienen una mejor sugerencia?

Gracias!

19 Diciembre, 2017, 04:00 pm
Respuesta #1

Masacroso

  • Héroe
  • Mensajes: 2,019
  • País: es
  • Karma: +4/-0
Conozco cursillos de lenguajes de programación online gratuitos como *****************, y luego páginas para practicar como por ejemplo solveet. Pero debe haber bastantes más, aunque no sé si será esto lo que buscas.

21 Diciembre, 2017, 03:32 pm
Respuesta #2

mathtruco

  • Moderador Global
  • Mensajes: 4,919
  • País: cl
  • Karma: +0/-0
  • Sexo: Masculino
  • El gran profesor inspira
Gracias Masacroso por la respuesta. Me basaré en esas webs para hacer un mix de problemas.

21 Diciembre, 2017, 06:37 pm
Respuesta #3

Masacroso

  • Héroe
  • Mensajes: 2,019
  • País: es
  • Karma: +4/-0
Gracias Masacroso por la respuesta. Me basaré en esas webs para hacer un mix de problemas.

También se pueden encontrar un montón de libros de textos online, o en PDF, dedicados a diversos lenguajes de programación, los cuales generalmente vienen con ejercicios.

Lo más difícil de aprender, y que requiere más tiempo y práctica, es aprender a diseñar un programa, más que a escribirlo. Es decir: aprender a estructurar tus ideas para generar un programa eficiente, para eso hay que conocer las capacidades del lenguaje de programación usado, sus paradigmas y cómo diseñar un pseucódigo o esquema del programa antes de empezar a escribirlo. De eso trata el último capítulo de este curso de programación en javascript.

Buscando por ahí he encontrado este curso justamente diseñado para aprender a programar, a diseñar programas, más que a aprender un lenguaje específico (o al menos esa parece ser la intención del autor, según leo). Aunque no sé cómo de adecuado será, de todos modos ahí lo dejo por si sirviese de algo.

17 Febrero, 2018, 01:39 pm
Respuesta #4

Jonan

  • Nuevo Usuario
  • Mensajes: 13
  • Karma: +0/-0
  • Sexo: Masculino
Algunos de los ejercicios básicos para aprender a programar suelen ser: (todos ellos primero que se muestren en consola y luego ya se haran en entorno gráfico)

-Una calculadora
-Un menu que pregunte al usuario que opción quiere escoger y devuelva una acción
-Leer y escribir el contenido de un fichero
-Ordenar de de mayor a menor un array
-Calcular la inversa de una matriz(este viene muy bien para aprender a usar bucles)
-Resolver una torre de Hanoi

La dificultad va de menos a mas en ese orden.Espero que alguno te sirva

23 Febrero, 2018, 03:00 am
Respuesta #5

dresuer

  • Novato
  • Mensajes: 112
  • País: ar
  • Karma: +0/-0
  • Sexo: Masculino
Estos son los que son buenos.

http://codeforces.com/ , ahi hay demasiados problemas.

EDITO: Disculpa, estos son problemas que se presentaron en las competencias mundial de codeforces, si mal no recuerdo.

Problema 1: http://codeforces.com/problemset/problem/4/A
• Solución: https://gist.github.com/karupayun/30b29b467a50dcab70d4
• Problema 2: http://codeforces.com/contest/500/problem/A
• Solución: https://gist.github.com/karupayun/2411239a46116fb79aff
• Problema 3: http://codeforces.com/contest/500/problem/C
• Solución: https://gist.github.com/karupayun/ae89566a27e9c04a7608

Creo que este sería el adecuado hay varios niveles, pero en codeforces también hay para muchos niveles.

https://www.urionlinejudge.com.br/judge/es/categories

(Tenés que registrarte para poder subir tu código y que te lo evalúen tenés que darle en el boton ENVIAR que está a tu izquierda), no están todos los problemas traducidos 100% al español, están en portugues todos y hay muchos en inglés (no sé si todos).


Saludos!

23 Febrero, 2018, 02:44 pm
Respuesta #6

nia

  • Novato
  • Mensajes: 172
  • Karma: +0/-2
  • Sexo: Masculino
Programar, que yo sepa, es decir lo que vamos a hacer antes de tener los datos concretos, como su vulgar acepción nos indica. Por eso nacen las variables, pero...para aplicarlo en concreto necesitamos saber sus valores, que las máquinas tampoco multiplican rótulos.

Un programa sencillo en general consta de las siguientes lineas o instrucciones:

      dame el         Largo
      dame el                     Ancho
      calcula           Largo x Ancho = Superficie
      muestro la                              Superficie

Nota El siguiente paso sería indicar que se repita el proceso hasta que se cumpla una condición.
Nota En general, el problema consiste en saber e indicar como se puede hacer algo, en el lenguaje mas familiar posible, que la traducción informática es mas fácil, que los errores graves suelen ser de concepto, también en la informática. Tenemos la tendencia a pensar que todo lo que trata la informática es informático, lo que me recuerda la crítica que se hacía a un escritor: ¡tiene mucho y bueno!...¡lo mucho malo y lo bueno de otros!. (Si, si, un poco de picante.)