Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Temas - Gilding

Páginas: [1]
1
Hola, muy buenas a todos!

Ya he finalizado los 2 cursos de fundamentos de la programación y el de Visual Basic. Aunque debo admitir que no he realizado los ejercicios opcionales que se plantean al final de cada curso. Los del segundo curso de fundamentos, aunque los comprendo, se escapan a mi nivel actual de matemáticas... ojalá algún día consiga plantear algo como eso jejeje. En cuanto al de Visual Basic (ordenación de series de números), prefiero plantearlo más adelante con otro lenguaje. El objetivo era conseguir y asentar unas bases sólidas de programación y creo que lo he conseguido, aunque estoy seguro que tendré que repasar algunos de los temas en el futuro. En este sentido simplemente quiero expresar mi gratitud a los que habeís participado de una forma u otra en la realización y divulgación de estos cursos.

Dicho esto todavía me quedan algunas dudas que expondré a continuación:

Los únicos bucles condicionales que no había visto hasta llegar a este curso son los bucles while...loop y do...loop. Me ha quedado claro la diferencia entre uno y otro. Básicamente do...loop debe ejecutarse siempre hasta que se cumple una condición de salida y while...loop puede ejecutarse sino se cumple la condición o mientras se cumpla una condición, y se ejecutará hasta que está se cumpla o deje de cumplirse. Mi duda es respecto a cuando usar while o until. No me ha quedado nada claro, no sé si es una opción del programador o hay alguna regla que te indique cuando usar uno u otro. Por ejemplo:

Hacer Mientras A sea distindo de 10 ...... Repetir
Hacer Hasta que A sea igual a 10 ...... Repetir

Para mi estos dos bucles hacen básicamente lo mismo. Sé que en algunos problemas puntuales será evidente dependiendo del resultado buscado, sin embargo en muchos de los ejercicios planteados en el curso podría haberse usado uno u otro indistintamente variando un poco la condición y obteniendo el mismo resultado, es decir, el resultado esperado.

Cambiando de tema, hay en general muchas cosas que no muestra el curso sobre el lenguaje. Entiendo que es un curso de iniciación y que seguramente en el curso de java o de otros lenguajes si que aparezcan. Pero hay una serie de cosas que me habría resultado interesante ver en este curso de iniciación. Entre ellas las siguientes:

El ArrayList. Se da una explicación extensa del Array, pero no se menciona nada sobre el ArrayList. ¿Podría alguien explicarme que es un ArrayList y que lo diferencia de un Array?. Como he mencionado antes, creo que en el curso de Java es explicado el ArrayList. De ser así, con el enlace a su explicación será suficiente para mi.

Las estructuras. Es uno de los temas que llevo tiempo buscando y me ha desilusionado que solo sean mencionadas de forma testimonial en el ejercicio opcional del curso de Visual Basic.

Los enum. Realmente no tengo practicamente ninguna noción de ellos, es más, no sé si son "enunciados" o "enumerados" jajaja. Es otro de los temas que llevo tiempo buscando.

Y para terminar, habría sido interesante ver una pequeña introducción a que es y como funciona una máquina de estados.

Muchas gracias a todos por vuestro tiempo y por vuestras respuestas.

Un saludo!

2
Hola a todos!

En el tema CU00346A del curso de Visual Basic se nos propone crear una aplicación que permita añadir un dato a un array dinámico, borrar un dato del array, mostrar el número total de datos del array (tamaño del array) e imprimir todos los valores del array en pantalla. He logrado crear el programa sin mayores problemas. Realizando esta tarea se me ha presentado una duda: ¿Cómo podemos comprobar si un array dinámico ha sido o no ha sido redimensionado por primera vez, en Visual Basic?.

He encontrado alguna función axuliar por la red que comprueba si el array ya ha sido redimensionado por primera vez devolviendo una booleana, pero son para Visual Basic 6 o inferiores, y en Visual Basic 2010 que es la versión que estoy utilizando no funcionan.

Un saludo y muchas gracias a todos por vuestras respuestas.

3
Muy buenas.

Por recomendación de Alex Rodriguez tras finalizar el curso de fundamentos I, inicié a la vez el de fundamentos II y el de Visual Basic. Ya casi he terminado estos, y la verdad es que fue un gran consejo, puesto que todo lo que se muestra en los cursos de fundamentos se aplica casi punto por punto en el curso de Visual Basic.

Realizando los cursos me he dado cuenta de que independientemente de realizarlos de esta forma o en orden, es necesario saltar de un curso a otro para asentar conocimientos o realizar comprobaciones, pero los temas casi nunca se corresponden en número o nombre con su homólogo en otro curso. Se que es muy difícil, por no decir imposible que la numeración se corresponda entre los temas, más que nada porque son dos cursos "contra" uno. Sin embargo creo que seria una buena idea agrupar los temas por bloques y por colores. De esta forma saltar de la parte teorica de uno de los cursos de fundamentos a la parte práctica del de Visual Basic seria más sencillo para los estudiantes y también más rápido. También se agradeceria en visitas futuras una vez terminados los cursos. Porque por lo menos por mi parte, sé que volveré a revisar varios de los temas pasado un tiempo.

No habría que cambiar nada en los temas, simplemente definir los bloques temáticos en el índice de cada curso.

Por ejemplo:
Bloque de Errores - Definición - Detección - Tratamiento
Curso Fundamentos nivel II
Temas 29 a 46

Bloque de Errores - Definición - Detección - Tratamiento
Curso Visual Basic
Temas 49 a 56

Para resolver muchos de los problemas del curso de Visual Basic, he recurrido al pseudocódigo de los cursos de fundamentos, para intentar traducir por mi cuenta dicho pseudocódigo a Visual Basic, antes de ver las soluciones de los ejercicios. Estos bloques temáticos hubieran sido de gran ayuda para no tener que buscar tema por tema donde estaba el pseudocódigo de un ejercicio en particular.


Muchas gracias por vuestro tiempo y por el trabajo que haceis.

Un saludo!


4
Hola!

En el tema CU00334A-2 del curso de Visual Basic proponeis un ejercicio para comprobar si existe un libro dentro de un lote, y si existe que nos devuelva el precio en función de un descuento. Y en la segunda parte del ejercicio que nos devuelva el precio del lote completo.

Mi problema surge en la primera parte del ejercicio. He utilizado como base de datos del lote los datos que poneis en el ejemplo. Si introduzco un ISBN que esta en el lote, lo encuentra y me devuelve el precio correctamente aplicando el descuento. Si introduzco un ISBN que no esta en lote, me indica que no esta en el lote. El problema surge cuando introduzco como ISBN un valor que corresponde por ejemplo con uno de los precios de la base de datos, ya que me dice que si existe ese libro, me devuelve como precio el centinela que se utiliza para indicar el descuento (seria la siguiente posición en la base de datos), y por último me da un error al exceder los limites del array que contiene los datos, porque se salta el centinela que es usado como indicador de final de archivo.

Esto no debería ocurrir puesto que vamos saltando posiciones en el array de 3 en 3 para que solo lea los datos correspondientes al ISBN de cada libro. Tras volverme loco buscando el error en mi código, he probado con el que poneís de ejemplo... y sucede exactamente lo mismo. Mis preguntas son: ¿este es un error "controlado", ya sabiais que existia? ¿Como podríamos solucinar esto? Ahora ya me pica la curiosidad jejeje.

Aclaro que el archivo libros.dat al tener pocos datos, lo he creado a mano con el bloc de notas, en vez de hacerlo por código. Por si esto influyera en algo. Lo adjunto por si fuera un error del archivo

Muchas gracias por vuestro tiempo.

Un saludo!

5
Muy buenas!

En el tema CU00333A del curso del Visual Basic proponeis el siguiente ejercicio:

 En un complejo industrial se desea incentivar a los encargados de turnos de producción. A cada encargado le corresponde un turno. Hay 18 turnos, y por cada uno de ellos 40 operarios. Para evaluar a los encargados se ha hecho una encuesta entre los trabajadores. Se les ha pedido que evalúen a su encargado de 0 a 10 siendo el 5 el aprobado. Los resultados están almacenados en un array tipo Nota(turno, operario) donde turno indica el número de turno y operario el número de operario dentro del turno. Desarrollar un programa que determine en qué turnos todos los operarios del mismo han aprobado al encargado.

Nota: las notas las generaremos aleatoriamente en un fichero con un pequeño programa auxiliar.


Para resolverlo proponeis utilizar un bucle dentro de otro bucle:
For i = 1 to 18
      For j = 1 to 40
          nota(i, j) = Leer linea del archivo
          Comparar si la nota(i, j) es mayor a 5.
      Next j
Next i

Teniendo en cuenta que en total tenemos 720 notas (18 * 40), en 720 líneas de un archivo. No entiendo como este bucle interpreta que tras la primera iteración (notas de la 1 a la 40) debe leer las notas de la 41 a la 80 en la segunda iteración y así sucesivamente hasta llegar a la nota 720. Ahora mismo yo interpreto que siempre lee las notas de la 1 a la 40. ¿Podría alguien explicarme esto, por favor?

Muchas gracias y un saludo!

6
Hola muy buenas!

En el tema CU00309A del curso de Visual Basic indicais que la forma más acertada de declarar una serie de variables es de la siguiente forma:

   Dim i%, j%, k As Integer
   Dim longitud!, canto!, ancho As Single.

La cuestión es que Visual Studio 2010 no me permite hacerlo de esta forma. Me indica que no puedo utilizar una abreviatura y una declaración explicita de tipo de variable en la misma línea. Tengo que poner la abreviatura en todas las variables, o hacer la declaración explicita de todas las variables o (y aquí viene la mejora de esta versión) poner solo la declaración explicita de la última variable, y todas las variables que preceden a esta automáticamente quedan definidas con el tipo de la última. Un ejemplo:

   Dim i, j, k As Integer    (todas la variables serian de tipo entero)
   Dim longitud, canto, ancho As Single    (todas las variables serian de tipo real)


Por otro lado en este tema también indicais que se pueden declarar varias variables en una misma línea utilizando dos puntos en lugar de coma. En esta versión al menos, no te permite hacerlo de esa forma.

    Dim i! : j! : k!   (ya no se puede hacer así, te indica "Se esperaba una declaración")


He abierto este tema a modo informativo. No tengo ningún problema en no usar las abreviaturas, es más, hasta ahora siempre que he programado tenía la costumbre de declarar cada variable en una línea e indicar explicitamente el tipo. A mi personalmente me resulta más fácil leer todas las variables de esta forma.


Un saludo!

7
Hola muy buenas!

Me gustaría que me recomendarais algún programa para crear tanto los esquemas descendentes de programas, como los diagramas de flujo de programa.

Estoy probando CmapTools. No esta mal, pero no me acaba de convencer. En algunas cosas esta bastante restringido, como por ejemplo las formas ("bocadillos") que contienen los conceptos, solo pueden ser cuadradas u ovaladas. Aparte no se puede eliminar el proposito en la linea que une dos conceptos y en general para el objetivo que tiene es un tanto "engorroso" y algo complejo de manejar.
Eso si, tiene algunas opciones interesantes como: añadir archivos a un concepto, anidar varios conceptos y poder plegarlos y desplegarlos cuando se desee, poder trabajar varias personas en un mismo esquema a través de una red local o internet, etc etc.

Muchas gracias de antemano. Un saludo!

8
Muy buenas!

Antes de nada quisiera agradecer a los creadores de esta comunidad su trabajo y su gran aportación a la red. Llevo mucho tiempo buscando un curso "completo" de programación y tras visitar cientos de webs por fin lo he encontrado... y gratis! ;D. Asi que por ello os doy mi enhorabuena.

Me llamo Alejandro y ya tengo algunas nociones de scripting y de programación estructurada, pero me esta costando horrores dar el salto a la programación orientada a objetos. Pero creo que gracias a esta web por fin voy a poder conseguirlo.

Mi objetivo es por un lado aprender a programar con C#, por hobbie más que nada. Y por otro lado con Python, este por motivos laborales. Soy diseñador 3D, más técnico que artista, y para subir escalones en esta rama de mi profesión es indispensable aprender a programar. He elegido Python porque es el lenguaje que puede ser utilizado en casi todas las aplicaciones o entornos de desarrollo 3D, como son Autodesk Maya, Autodesk 3ds Max, Autodesk Motion Builder, etc etc.

Realmente no me es imprescindible aprender a programar desde la base de la propia programación, puesto que estoy seguro que jamás voy a construir un programa desde cero, siempre serán herramientas o pequeñas aplicaciones dependientes de un entorno que estará por encima de ellas y de las que dependerán directamente. Aún así soy una persona con mucha curiosidad, y me gusta saber como funcionan las cosas "por detrás" o en "el fondo". Y también me gusta el refrán: "nunca digas nunca jamás". Por ello ya he empezado y completado el curso "Bases de la programación Nivel I", en el ya he visto varias cosas que no había visto en ningún otro sitio en internet. Ahora estoy comenzando con el curso "Bases de la programación Nivel II". Ambos cursos en modalidad gratuita... mi economía no me permite hacer las modalidades de pago, aunque me gustaría. Pero no os preocupéis que cuando mi bolsillo mejore, os haré algunas donaciones.

Tras acabar con el curso de Nivel II estoy un tanto confuso por donde seguir. Mi intuición me dice que debería seguir por el de Java, ya que tengo también nociones de este lenguaje y tengo instalado BlueJ para otro curso que estoy haciendo destinado solo a la programación orientada a objetos... curso que tuve que parar por carencias en la base de mis conocimientos de programación (hecho que me ha traído hasta aquí). Además es un lenguaje muy similar a C#, que es uno de mis objetivos finales.
También veo pocas cosas relacionadas directamente con Python en la web. Os agradecería que me proporcionarais más información o links que haya en el foro o en la web sobre el.

Muchas gracias por vuestro tiempo y un saludo a todos!

Páginas: [1]

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".