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 - Alex Rodríguez

Páginas: [1]
1
Unos códigos que ilustran como dibujar un árbol de Navidad usando Python de tres maneras diferentes. Es un ejercicio interesante para practicar con bucles para cualquier persona que esté aprendiendo programación, tanto con Python como con otros lenguajes.

Código con bucle for:

Código: [Seleccionar]
# Función para dibujar un árbol de navidad de una altura dada
def draw_tree(height):
  # Bucle for que crea cada fila del árbol
  for i in range(1, height + 1):
    # Imprimir los espacios antes de los asteriscos en cada fila
    for j in range(height - i):
      print(" ", end="")
    # Imprimir los asteriscos en cada fila
    for j in range(2 * i - 1):
      print("*", end="")
    # Pasar a la siguiente línea
    print()
# Llamar a la función para dibujar el árbol con una altura dada por ejemplo 5
draw_tree(5)

Código con bucle while:

Código: [Seleccionar]
# Función para dibujar un árbol de navidad de una altura dada
def draw_tree(height):
  # Establecer los valores iniciales para el bucle while
  i = 1
  j = 1
  # Iterar mientras el número de fila sea menor o igual a la altura del árbol
  while i <= height:
    # Imprimir los espacios antes de los asteriscos en cada fila
    while j <= height - i:
      print(" ", end="")
      j += 1
    # Resetear el valor de j
    j = 1
    # Imprimir los asteriscos en cada fila
    while j <= 2 * i - 1:
      print("*", end="")
      j += 1
    # Resetear el valor de j
    j = 1
    # Pasar a la siguiente línea
    print()
    # Incrementar el valor de i
    i += 1
# Llamar a la función para dibujar el árbol con una altura dada por ejemplo 15
draw_tree(15)

Y la que quizás sea la versión más compleja, basada en código recursivo:

Código: [Seleccionar]
# Función para dibujar un árbol de navidad de una altura y nivel dada
def draw_tree(height, level):
  # Comprobar si el nivel es igual a la altura del árbol
  if level == height:
    # Return si el nivel es igual a la altura
    return
  # Imprimir los espacios antes de los asteriscos en cada fila
  for j in range(height - level):
    print(" ", end="")
  # Imprimir los asteriscos en cada fila
  for j in range(2 * level - 1):
    print("*", end="")
  # Pasar a la siguiente línea
  print()
  # Llamar a la función recursivamente con el siguiente nivel
  draw_tree(height, level + 1)
# Llamar a la función para dibujar el árbol con una altura dada por ejemplo 5
draw_tree(5, 1)

Quien se anime puede crear el mismo código en otro lenguaje usando las mismas ideas ("lógica o algoritmia subyacente").



2
Dibujar formas usando la salida por consola de un lenguaje como C es una buena forma de practicar lógica de la programación. Ahora que se acerca San Valentín dejamos por aquí este código para dibujar un corazón en lenguaje C. Para quienes lo celebren, feliz San Valentín, y para quienes no lo celebren, a por el reto lógico de dibujar una forma no trivial usando asteriscos.

Código: [Seleccionar]
#include <stdio.h>
#include <stdlib.h>

int main() {
   int a, b, line = 12;
   for (a = line/2; a <= line; a = a+2) { //Para la parte superior del corazon
      for (b = 1; b < line-a; b = b+2) //crear espacio antes de la primera prominencia
         printf(" ");
      for (b = 1; b <= a; b++) //imprimir la primera prominencia
         printf("*");
      for (b = 1; b <= line-a; b++) //crear espacio antes de la segunda prominencia
         printf(" ");
      for (b = 1; b <= a-1; b++) //imprimir la segunda prominencia
         printf("*");
      printf("\n");
   }
   for (a = line; a >= 0; a--) { //la base del corazon es un triangulo invertido
      for (b = a; b < line; b++) //generar espacio antes del triangulo
         printf(" ");
      for (b = 1; b <= ((a * 2) - 1); b++) //imprimir el triangulo
         printf("*");
      printf("\n");
   }
   return 0;
}

3
Para los amantes de la navidad y de java, árbol de navidad en Java dibujado en la consola:

Código: [Seleccionar]
public class ArbolDeNavidad {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        int i,j,k,n;
        n=10; //Modifica este parámetro si quieres
        for(i=1; i<n+(n/2); i++){
            for(j=n+(n/2); j>i; j--){
                System.out.print(" ");}
            for(k=1; k<=2*i-1; k++){
                System.out.print("*");}
            System.out.println("");
        }
        for(i=1; i<n-(n/2); i++){
            for(j=n+(n/2); j>1; j--){
                System.out.print(" ");}
            for(k=n/2; k<=(n/2)+1; k++){
                System.out.print("*");}
            System.out.println("");
        }
    }
}

4
Para incluir argumentos opcionales en php puedes usar una declaración de función donde se incluya el elemento o elementos opcionales con un valor predeterminado false.

Ejemplo:

Código: [Seleccionar]
<meta charset="utf-8">
<?php
function hacer_yogur($sabor$tipo false)
{
if (
$tipo) {
    return 
"Tenemos el argumento opcional. Hacer un tazón de yogur $tipo de $sabor.<br/>";}
else {return 
"No tenemos el argumento opcional. Hacer un tazón de yogur de $sabor.<br/>";
}
}

echo 
hacer_yogur("frambuesa");   
echo 
hacer_yogur("frambuesa""mesófilo"); 

?>


Si se quiere se puede plantear para que el argumento tome un valor por defecto concreto

Código: [Seleccionar]
<?php
function hacer_yogur($sabor$tipo "acidófilo")
{
if (
$tipo) {
    return 
"Tenemos el argumento opcional. Hacer un tazón de yogur $tipo de $sabor.\n";}
else {return 
"No tenemos el argumento opcional. Hacer un tazón de yogur de $sabor.\n";
}

echo 
hacer_yogur("frambuesa");   

?>



Saludos
echo hacer_yogur("frambuesa");   
echo hacer_yogur("frambuesa", "mesófilo");

?>

5
Ya está disponible el libro "Aprende a programar con pseudocódigo, diagramas de flujo y ejercicios de ejemplo resueltos en C. Algoritmos y lógica para aprender programación desde cero". Está disponible tanto en papel como en formato e-book



Libro dirigido al colectivo de personas que por interés personal, motivos profesionales o de estudios, deseen aprender programación partiendo desde cero. Todos los lenguajes de programación tienen una base común (algoritmos, lógica…), explicada en este libro con enfoque didáctico y paso a paso. Puedes leer toda la información pulsando en este enlace: http://aprenderaprogramar.com/index.php?option=com_content&view=article&id=693&Itemid=211

6
Para la descarga de Visual Basic 2010 Express (edición gratuita de Visual Basic): Acceder a  https://drive.google.com/file/d/0BzAA6hbbWbAeZjhQSTlSWThFVmc/view?usp=sharing, pulsar el icono de descarga, descomprimir el fichero zip en nuestro ordenador e instalar.

Nota: ejecutar la instalación como administrador (botón derecho del mouse, opción ejecutar como administrador).

Nota: este paquete instala únicamente Visual Basic 2010. No instala Visual Studio completo.

7
Adjunto un archivo con un artículo sobre diseño orientado a objetos que pienso puede ser de interés

Saludos

8
Un año más llega la navidad... Todo el equipo de aprenderaprogramar.com les desea unas felices fiestas y un próspero año nuevo. Los mejores deseos para 2015!!!

9
Aquí dejo ejemplos de código Java.

Para listar todos los archivos existentes en un directorio o carpeta:

Código: [Seleccionar]
import java.io.File;

public class ListFiles {

    public static void main(String[] args)     {

        // Aquí la carpeta donde queremos buscar
        String path = "C:/";

        String files;
        File folder = new File(path);
        File[] listOfFiles = folder.listFiles();

        for (int i = 0; i < listOfFiles.length; i++)         {

            if (listOfFiles[i].isFile())             {
                files = listOfFiles[i].getName();
                System.out.println(files);
            }
        }
    }
}



Para listar sólo los archivos de un tipo (por ejemplo sólo los txt):

Código: [Seleccionar]
import java.io.File;

public class ListFilesTxt {

    public static void main(String[] args)
    {

        // Aquí la carpeta que queremos explorar
        String path = "C:/";

        String files;
        File folder = new File(path);
        File[] listOfFiles = folder.listFiles();

        for (int i = 0; i < listOfFiles.length; i++)
        {

            if (listOfFiles[i].isFile())
            {
                files = listOfFiles[i].getName();
                if (files.endsWith(".txt") || files.endsWith(".TXT"))
                {
                    System.out.println(files);
                }
            }
        }
        System.out.println("Fin");
    }
}

10
Una regla básica... Las personas que participamos en los foros lo hacemos voluntaria y altruistamente. Para recibir hay que dar: si tú no respondes consultas no esperes que tus consultas sean respondidas. Si no ayudas a otros, no esperes ser ayudado. Si no colaboras, no esperes que los demás colaboren.

Escribe en el foro adecuado ...lee la descripción que incluye cada foro y escribe en el foro más adecuado. Por ejemplo si vas a presentarte debes escribir en el foro Comunidad. No escribas en cualquier lugar sin pensar antes si es el sitio adecuado, ya que hacer esto crea desorden.

¿Cómo poner nombre a los temas (hilos) del foro?...la mejor manera de poder obtener respuesta a una pregunta es poner un título para el mensaje que sea descriptivo y contenga palabras clave, de forma que sea fácil saber de qué trata el tema y poder localizar el tema. Por ejemplo "Arboles B+ y árboles B como estructuras de datos ¿qué son y para qué sirven?" es un título correcto mientras que "Ayuda!!!" o "Ayuda!!! árboles" o "Urgente árboles" son títulos incorrectos. También es incorrecto "Ejercicio CU00640B", es preferible algo como "Java sobrecarga clase ejemplo con dos constructores inicialización propiedades CU00640B". Siempre que el tema trate sobre un lenguaje concreto escribe el nombre del lenguaje en el título. Los nombres de los temas normalmente deben ser largos (mínimo 6 palabras) y no deben contener las palabras: "ayuda", "urgente", "importante", "duda", "consulta", "pregunta", "por favor", etc. porque esas palabras no permiten describir de qué trata el tema y no aportan nada. En el caso de ejercicios de cursos de aprenderaprogramar.com, escribe el código (por ejemplo CU00640B) al final del título del mensaje. Escribe los títulos de los temas en minúsculas excepto en palabras donde puntualmente pueda ser necesario usar mayúsculas.

Recomendaciones generales para consultas: no hagas consultas sobre problemas muy extensos, muy abiertos o ambiguos, ni sobre fragmentos de código muy extensos. Antes de hacer una consulta, intenta resolver tú mismo el problema. Cuando no sepas cómo avanzar, prepara el código o pseudocódigo necesario y pégalo, indicando dónde obtienes un error o no sabes avanzar. Describe cuáles son los objetivos que persigues de una forma clara y breve. Pon ejemplos para que se entienda claramente lo que intentas hacer. Ten en cuenta que las personas que participan respondiendo voluntariamente en los foros en general responden cuestiones concretas y bien definidas, pero no resuelven ejercicios completos ni analizan consignas, enunciados o código de gran extensión porque sería demasiado costoso. Escribe la consulta una única vez y espera respuesta. No repitas la consulta varias veces ni en varios foros. Si haces esto generas confusión y molestas a los demás usuarios.

Una vez obtengas respuesta a una consulta agradécelo respondiendo en el mismo hilo. Las personas que responden también esperan saber si la respuesta ha sido útil. Lo mínimo que puedes decir es "gracias".

Si tu consulta es sobre código, pega tu código en el mensaje ...si vas a escribir una consulta sobre una duda sobre cómo hacer algo o cómo resolver un problema de codificación, pega el código con el que estés trabajando. Si no sabes hacer algo, inténtalo y pega el código hasta donde hayas podido llegar. Si quieres una respuesta con código, aporta un código de partida sobre el que poder trabajar. Si no lo haces así será difícil que te ayuden.

¿Cómo insertar código en el foro? ...para insertar código en un mensaje haz lo siguiente: pulsa el botón # (insertar código) que aparece en la parte superior de la ventana de texto donde se escribe el mensaje. Una vez te aparezcan las etiquetas [code] ... [/code] pega el código entre ambas. Ejemplo [code] aqui el codigo etc [/code]

¿Debo escribir en mayúsculas o en minúsculas? ...en general se debe escribir en minúsculas. Sólo se escribe en mayúsculas algo que se quiere resaltar o siglas como ONU. No escribas todo un mensaje ni todo el título de un mensaje en mayúsculas porque esto se considera equivalente a hablar gritando, y a la gente no le gusta que le griten  :)

Cuando tengas el mensaje preparado pulsa previsualizar para comprobar que se muestre correctamente.

Si el código es muy largo o comprende varios archivos, puedes subirlo como archivos adjuntos. Ver más abajo cómo hacerlo.

¿Cómo insertar una imagen en un mensaje del foro? ...puedes encontrar una explicación de cómo hacerlo aquí: https://www.aprenderaprogramar.com/foros/index.php?topic=1474.0

¿Cómo insertar un archivo adjunto en el foro? ... si tienes por ejemplo un proyecto de código que es muy largo puedes subir un archivo adjunto pulsando en "Opciones adicionales" debajo del cuadro de texto del editor del foro y eligiendo el archivo pulsando en "Examinar". Si tienes varios archivos de código, puedes empaquetarlos en un archivo comprimido zip ó rar y subirlo de la misma manera. El tamaño de los archivos está limitado, por lo que si quieres adjuntar un archivo de gran tamaño te recomendamos que lo almacenes en dropbox, googledrive u otro servicio de almacenamiento de archivos y dejes el enlace para que pueda ser descargado.

¿Debo responder sobre un hilo ya abierto o crear un nuevo hilo? ... si vas a escribir una consulta o una respuesta a un ejercicio en el foro hazlo creando un nuevo hilo (nuevo tema). No respondas sobre hilos ya existentes (a no ser que quieras intervenir específicamente para indicar algo concreto de ese hilo).

Sobre los plazos de respuesta y la ayuda urgente ... este es un foro donde participan voluntariamente muchas personas que de forma altruista ayudan a otras. No pidas ayuda poniendo plazos, ni plantees la urgencia de obtener una respuesta. Se intenta responder tan rápido como a la comunidad es posible, pero es imposible garantizar un plazo. Esto no es un servicio de ayuda urgente, tenlo en cuenta.

Responde antes de seguir abriendo temas ...si has abierto un hilo y alguien ha respondido a él pidiéndote alguna aclaración, que aportes algo, que facilites más información, ofreciéndote alguna idea o haciendo cualquier comentario, antes de crear un nuevo hilo sobre otro tema, responde al que creaste primeramente. Si alguien te escribe, se supone que por educación vas a responder algo antes de crear un nuevo tema.

Respeta las mínimas normas de educación ...si haces una consulta, lo lógico es empezar con un "Hola", o un "Buenas tardes", o un "Por favor" o algo similar. Escribir directamente el enunciado de un problema o una pregunta sin más es una forma poco considerada de interactuar respecto de los demás.

No cumplir con estos criterios puede llevar aparejado el borrado o modificación de los mensajes por parte de los moderadores de los foros.


POLÍTICAS QUE MANTENEMOS EN LOS FOROS

1. Todos los mensajes publicados son revisados por uno o varios moderadores. Los fines previstos para los foros son el intercambio de ideas, consultas o contenidos sobre programación o cualquier tema de interés general que sea útil para todos. Los moderadores están autorizados para modificar mensajes, borrar mensajes e incluso eliminar cuentas de usuarios que no cumplan las reglas de los foros, que no sean respetuosos para con los demás o que no se atengan a los fines previstos.

2. Los usuarios que no han participado activamente haciendo aportaciones a la comunidad no pueden insertar links ni promocionar productos o webs en las páginas del foro. El motivo para ello es evitar que personas que no colaboran con la comunidad se dediquen a hacer publicidad de otros sitios web utilizando estos foros sin haber aportado nada a ellos. Los moderadores se encargarán de eliminar aquellos mensajes que no correspondan a usuarios que hayan colaborado con la comunidad o cualquier link o contenido que se estime improcedente.

3. Aquellos mensajes que tengan un texto poco coherente o un excesivo número de faltas de ortografía y de puntuación podrán ser borrados directamente por los moderadores. Con esto tratamos de mantener un mínimo nivel de coherencia y respeto hacia todos los usuarios.

4. Los mensajes que ofrezcan trabajo, colaboraciones, oportunidades, o que por su especial naturaleza a juicio de los moderadores así lo requieran, deberán ser autorizados por los responsables de esta web previamente. Una vez autorizados, deberán publicarse en el foro "De todo un poco". Estos mensajes deberán ser verosímiles a juicio de los moderadores. Los moderadores se encargarán de borrar aquellos mensajes que no cumplan estos requisitos.

Si algún mensaje es borrado incorrectamente puede escribirse al apartado de contacto de la web para proceder a una revisión y en caso de haberse tratado de un error, republicar el mensaje.

Agradecemos tu colaboración. Este sitio se construye entre todos.

11
Nota: este tema se ha desdoblado para mantener un ejercicio por tema.

Respusta de toni_apr al ejercicio CU00669B:

EJERCICIO CU00669B main manipulando array.
Dos clases. La primera con el main
clase EjemploArray
Código: [Seleccionar]
/**
 * Detalles de la clase.
 * @author (Toni)
 * @version (0)
 */
public class EjemploArray {   
    public static void main (String [] args) {
        String [] mesEA = {"enero","febrero","marzo","abril","mayo","junio",
                "julio","agosto","septiembre","octubre","noviembre","diciembre"};
        String mesSecreto = mesEA[(int)(Math.random() * 12)];
        boolean probarOtraVez = true;
        String respuesta = "", separacion = "";
        Mensaje mensaje = new Mensaje("Propuesta: Adivina el mes que he escogido. Escríbelo (todo en minúsculas).");
        do {
            for (int i = 0; i < mesEA.length; i++) {
                if (i < mesEA.length - 1) { separacion = ","; } else { separacion = ".\n"; }
                mensaje.muestra (mesEA[i] + separacion,0);
            } // fin del for
            respuesta = mensaje.responde ("\tEscribe tu mes:",0);
            if ( respuesta.length() == 0) {
                mensaje.muestra ("Con una entrada vacía. Salimos corriendo.");
                probarOtraVez = false;
            } else if (respuesta.equals(mesSecreto)) {
                mensaje.muestra ("Has acertado. Me retiro, hasta luego.");
                probarOtraVez = false;
            } else if (respuesta.equals("?")) { // Caracter espía
                mensaje.muestra ("\tLa respuesta es: " + mesSecreto + " Tariro rariro...");
            } else {
                mensaje.muestra ("Frio, frio. Inténtalo otra vez.");
            } // fin del if
        } while (probarOtraVez); // fin del while
    } // fin del main
} // Fin de la clase EjemploArray
La segunda para entradas de teclado y mensajes
Clase Mensaje
Código: [Seleccionar]
import java.util.Scanner;
/**
 * Detalles de la clase. El método presenta mensajes por pantalla... y devuelve entradas de teclado
 * @author (Toni)
 * @version (0)
 */
public class Mensaje { // Atributos de la clase Mensaje
    private String texto;
    private int valor;
    /**
     * Mostrará el texto con salto de línea final.
     */
    public Mensaje (String frase) { //Constructor 1 parámetro para objetos de la clase Mensaje. Inicializa atributos
        texto = frase;
        valor = 1;
        muestra (texto, valor);
    }

    /**
     * Valores param:
     * 0 = Sin salto de línea.
     * 1, u otro valor = Con salto de línea.
     */ 
    public Mensaje (String frase, int param) {
        texto = frase;
        valor = param;
        muestra (texto, valor);
    }
    // Siguen los setters para los atributos de la clase Mensaje
    public void setTexto (String texto) { this.texto = texto; }

    public void setValor (int valor)    { this.valor = valor; }
    // Ahora los getters para los atributos de la clase Mensaje
    public String getTexto ()           { return texto; }

    public int getValor ()              { return valor; }

    // Y seguidamente, procedimientos y funciones varios.
    /**
     * Mostrar el texto con salto de línea (sin segundo parámetro)
     */   
    public void muestra (String frase) {
        muestra (frase, 1);
    }// fin de muestra 1 parámetro

    /**
     * Valores param:
     * 0 = Sin salto de línea.
     * 1, u otro valor = Con salto de línea.
     */   
    public void muestra (String frase, int param) {
        texto = frase;
        valor = param;
        if (valor == 0) { System.out.print (texto + " ");
        }          else { System.out.println (texto); }
    }// fin de muestra 2 parámetros

    /**
     * Sin segundo parámetro el mensaje incluirá salto de línea. Devuelve entrada de teclado
     */
    public String responde (String frase) {
        return responde (frase, 1);
    }// fin de responde 1 parámetro

    /**
     * Valores param:
     * 0 = Sin salto de línea + entrada por teclado.
     * 1, u otro valor = Con salto de línea + entrada por teclado.
     */
    public String responde (String frase, int param) {
        texto = frase;
        valor = param;
        muestra (texto, valor);
        Scanner entradaEscaner = new Scanner(System.in);
        return entradaEscaner.nextLine();
    }// fin de responde 2 parámetros
} // Fin de la clase Mensaje
Espero vuestros comentarios. Saludos.

12
Respuesta a una consulta recibida, que es extensa, pero que hemos resumido en el título ¿Son importantes los fundamentos de programación? ¿Por qué? ¿Por dónde empezar? y que pensamos puede ser de interés para muchas personas que se plantean formarse como programadores.

Gracias por escribirnos y por tus comentarios. Lo que nos cuentas sobre tu web de clasificados para tu ciudad y una persona que supuestamente es experta y luego no lo es es más común de lo que te imaginas. La realidad es que ser experto en desarrollo web requiere muchos años de dedicación y una capacidad innata para la programación y análisis de problemas que muy poca gente llega a conseguir. La consecuencia es que mucha gente dice ser experta pero luego hay muy pocos verdaderos expertos. También hay que tener en cuenta la complejidad de los desarrollos web. Esta complejidad es tal que las grandes empresas dividen el trabajo: diseñadores, maquetadores, programadores, analistas, consultores de bases de datos, etc. crean los desarrollos web. Es difícil conseguir una persona que sepa de todas estas materias al mismo tiempo (por eso no se encuentran a los supuestos expertos).

Las oportunidades de negocio en internet son muchas, pero tienes que tener en cuenta que al igual que tú hay miles de personas que lo intentan o han intentado montar sitios web con éxito y la realidad es que sólo 1 de cada mil lo consigue, y no sólo debido a que la idea sea buena o mala o que se disponga de un programador bueno o malo, influyen muchos factores.

Aprender programación como reconoces requiere mucho tiempo.

La pregunta de si es adecuado empezar con fundamentos de programación te voy a dar una idea para que la respondas tú mismo. Imagina que te apasionan los rascacielos (la programación web) pero no sabes nada de construcción (fundamentos de programación). Te planteas aprender a construir rascacielos, pero no sabes lo que es el hormigón, ni un cimiento, ni un pilar, ni el momento en sentido físico, ni la torsión, ni la esbeltez, ni el pandeo... Empezarás a estudiar cómo construir un rascacielos y cuando te hablen del pandeo no sabrás bien a qué se refiere. Podrás resolver un problema concreto, pero no entenderás del todo bien qué es lo que hay detrás: el por qué, el cuándo es adecuado aplicar un método u otro. No tendrás una visión de conjunto. Podrás aprender a construir rascacielos, quizás lo consigas y seas muy bueno, pero lo más probable es que la falta de base haga que no tengas una comprensión global de lo que haces, y esto probablemente te lleve a ser un profesional normal o mediocre, no un experto reconocido. A todo esto le ponemos el <<probablemente>>. Mark Zuckerberg, el fundador de Facebook, abandonó los estudios y se dedicó a hacer lo que quería hacer y punto. El quizás no dedicó demasiado tiempo a los fundamentos y fue al grano. Pero estas historias <<probablemente>> no son aplicables a la mayoría de la gente. En la vida diaria son raros casos de este tipo.

Nuestra opinión es que para ser eficientes en programación web hacen falta fundamentos, o al menos a la mayor parte de la gente nos hacen falta fundamentos. Es verdad que no hay que entretenerse en conocer el origen del universo y los fundamentos físicos de la electricidad porque eso nos puede quitar mucho tiempo y tener poca aplicación práctica. Pero los fundamentos básicos... son básicos. Sin cimientos no hay edificios.

Nos planteas <<son mas de 6 meses que debo pasar leyendo cosas para recién ahí, entrar en el tema que me gusta...>> Aquí quizás te equivoques: el conocimiento en programación es acumulativo. Desde que empieces a trabajar con programación y sus fundamentos estarás adquiriendo conocimientos que te serán útiles para los desarrollos web. Y llegar a tener un nivel de experto en desarrollos web no se mide en meses, sino en años (para la mayoría de las personas).

Has hecho una consulta extensa y bien escrita y hemos tratado de responder de la misma manera.

Ahora la recomendación. Nosotros recomendamos nuestros libros y nuestros cursos (de la misma manera que cualquier web, centro educativo, etc.).

Para aquellas personas que puedan costeárselo recomendamos empezar con el curso tutorizado on-line "Fundamentos de programación nivel I". Con un curso de este tipo tienes la ventaja de estar tutorizado por un profesor experto (o quizás no experto como Marck Zuckerberg, digamos simplemente con muchos años de experiencia) y esto supone que alguien te coge de la mano cuando vas ciego y te dice por dónde debes ir. Para empezar pensamos que va muy bien, pero es un curso de pago y mucha gente piensa que no resultará una inversión con retorno (sin referirnos a este curso en concreto, nuestra opinión va en sentido contrario, la formación de calidad es la inversión con mejor retorno). La inscripción e información sobre ese curso está disponible aquí: http://aprenderaprogramar.com/index.php?option=com_content&view=article&id=64&Itemid=87

Para quien prefiera ir por libre puede optar por empezar con un libro físico o ebook (https://aprenderaprogramar.com/index.php?option=com_content&view=article&id=693:libro-y-ebook-qaprende-a-programar-con-pseudocodigo-diagramas-de-flujo-y-ejercicios-de-ejemplo-resueltos-en-cq&catid=25&Itemid=211) ó seguir el curso disponible en http://aprenderaprogramar.com/index.php?option=com_content&view=category&id=28&Itemid=59. En estos casos recomendamos utilizar los foros (http://aprenderaprogramar.com/foros) para obtener orientación y ayuda.

Y como es normal, también recomendamos oír más opiniones, tomar en consideración la posibilidad de tomar estudios reglados (que por desgracia muchas veces no tienen la suficiente orientación práctica, pero pueden ser una buena opción para muchas personas) y tener en cuenta que nadie tiene la verdad absoluta (ni Marck Zuckerberg, ni Bill Gates, ni lo aquí expuesto, ni...)

Esperamos que lo aquí escrito ayude a quienes se plantean formarse como programadores.


13
El otro día asistí a una conferencia donde hablaron sobre el cambio social que están suponiendo las nuevas tecnologías, sus ventajas e inconvenientes. Dentro de la misma proyectaron este video que aunque obviamente "dramatiza" un tanto, es bastante ilustrativo de la dependencia que muchas personas adquieren respecto a internet, telefonía móvil, etc. Aquí distintos enlaces al video:

http://www.youtube.com/watch?&v=XjCUrU-9eIU

http://www.youtube.com/watch?v=BESpF2tSm4U

http://www.youtube.com/watch?v=_0MBys9pQ8w

http://www.youtube.com/watch?v=1XCEcf9Fo_M


14
Acabamos de actualizar la información en la web sobre la segunda edición del libro "Creación y administración web con Joomla. Curso paso a paso". Este libro está orientado a personas que empiezan con Joomla desde cero y es una ampliación y mejora de la anterior edición. Está disponible tanto en formato papel al precio de 14,51 euros como en formato e-book al precio de 4,60 euros. Más información en:

Libro creación y administración web con Joomla. Curso paso a paso (2ª edición)

Para cualquier aclaración contactar con nosotros. Saludos.


15
Los días 2 al 4 de mayo tendrán lugar en la Escuela Técnica Superior de Ingeniería Informática de la Universidad de Sevilla (España) las Jornadas "Imaginática: hacia la ingeniería informática del futuro". Dentro de estas jornadas habrá diferentes ponencias a las que se puede asistir de forma libre y gratuita. Creemos que muchas de ellas pueden resultar interesantes para personas interesadas o que estén trabajando en el área de desarrollos web. Desde aprenderaprogramar.com participaremos con un stand donde expondremos libros y material formativo (entre ellos la 2a edición del libro "Introducción a la creación y administración web con Joomla"), y por otro lado Mario Rodríguez Rancel ("nuestro jefe", al que deseamos suerte) impartirá una ponencia (sábado 4 de mayo a las 9:00 en el salón de actos) titulada "Trabajar como programador o consultor freelance en desarrollos web: ¿nicho de empleo o espejismo?"

En la ponencia se abordará el trabajo freelancer en general y expondremos nuestra experiencia como desarrolladores freelance Joomla. Más información sobre el evento en imaginatica.org. Animamos a todos los que puedan a asistir. ¡Saludos!


16
CONSULTA RECIBIDA: Buenas tardes, he tenido un pequeño retraso con el curso de Programacion les dire en qué espero y me puedan ayudar lo mas pronto posible :)

Despues de haber descargado e instalado el Notepad++, he creado la carpeta como se indica, en mi disco local (C:) con el nombre de: curso_html_apr2 pero después al entrar, me he enredado con la imagen de ejemplo por que dice que cree un fichero llamado CU00708B.html especificamente supongo que un fichero lo puedo crear a través de un bloc de notas. Bueno después de este proceso abre el fichero en notepad++ e introduzco el codigo que viene en la pagina y al guardarlo no se habre en mi navegador sino que se abre en un simple bloc de notas... y no sé por qué espero y me podais ayudar con mi problema Gracias y espero respuesta

RESPUESTA: Tienes que comprobar que el fichero se haya guardadado con extensión html. Por lo que cuentas, posiblemente se haya guardado con extensión txt y esa extensión no es válida para visualizarlo como página web. Para guardarlo con extensión html, ábrelo con el bloc de notas, luego elige Archivo -> Guardar como... y escribe el nombre de fichero terminado en .html, por ejemplo CU00708B.html, y guárdalo. Si el contenido del archivo es código html, ya podrás abrirlo haciendo doble click y se te abrirá en un navegador.

17
CONSULTA RECIBIDA: Un cordial saludo,

Estoy muy interesado en aprender a programar (Diseño, elaboración y desarrollo de software) dado que soy ingeniero y trabajo enfocado en la solución de problemas al interior de las empresas u organizaciones, en la mejora de los procedimientos o la obtención de resultados con la implementación de herramientas o aplicaciones en sistemas que faciliten la labor de seguimiento, control, medición y evaluación de una gestión o proceso. En la actualidad dependo de ing. de sistemas para que desarrollen pero soy muy creativo e innovador y me gustaría a mi desarrollar estas aplicaciones a mi lógica y ritmo de trabajo, porque a veces el ing. de sistema no alcanza apreciar o a interpretar lo que yo estoy visualizando o lo que quiero lograr.

Me gusto la forma como explicaron "Desarrollar programas utilizando un lenguaje" en su pagina web, ya que me identifico con esa forma de enseñar y la utilizo para transmitir ideas o conceptos, hay que enseñar de una forma sencilla y fácil de asimilar por las personas, esto me llamo mucho la atención y me ubico en lo que quiero aprender y lograr.

Quiero aprender a desarrollar programas que funcionen en la red o internet para dar un mayor alcance global y sin restricción, me pueden colaborar como empezar para aprender lo mas rápido posible y con muy buenos fundamentos, soy muy autodidacta y aprendo rápido.


RESPUESTA:

Gracias por tus comentarios, que siempre nos animan a seguir aportando más contenidos que enriquezcan la web. Aprender a programar es algo que requiere tiempo y dedicación. Si estás dispuesto a empezar con ello, puedes hacerlo siguiendo uno de los cursos on-line que ofrecemos, en concreto es recomendable el curso Bases de la programación nivel I, disponible en este link: https://www.aprenderaprogramar.com/index.php?option=com_content&view=category&id=28&Itemid=59

Este curso y otros se ofrecen en la modalidad "tutorizado on-line" que puede ser de interés si se quiere contar con el apoyo de un tutor que guíe, oriente y supervise la evolución del aprendizaje. Más información aquí: https://www.aprenderaprogramar.com/index.php?option=com_content&view=article&id=64&Itemid=87

Para cualquier consulta estamos a tu disposición. Saludos.

18
La consulta recibida es la siguiente:

Mensaje:  Hola estoy estudiando programacion en visual basic 5, me cuesta porque no tuvimos una buena base los años anteriores por diferentes causas de los profesores.

Tengo un ejercicio con cuatros pantallas, los dos primeros me dan bien estos se tratan de colocar el apellido, nombre y dni en la primera pantalla con la venta de cada mes del primer semestre de un vendedor con un boton comamd buton "siguiente" con este debe pasar los tres primeros datos deben aparecer en la segunda pantalla con laventa de cada mes del vendedor cuyos resultados deben aparecer en el formulario3 en donde debemos colocar una comision. Damos en siguiente para pasar al formulario 4 en donde nos debe aparecer el Apellido, Nombre y el resultado de la operacion en el formulario3, puse los siguientes codigos:

Private Sub cmdCancelar_Click()
txt3.Text = " "
CancelUpdate
End Sub

Private Sub cmdSiguiente_Click()
Dim Porcentaje As Double
Porcentaje = Text3.Text
Comisionanual = (RPS + RSS) * Porcentaje / 100
Comisionanual.Show
End Sub

Private Sub Form_Load()
Text1.Text = RPS
Text2.Text = RSS
End Sub

pero me da un error en Comisionanual = (RPS + RSS) * Porcentaje / 100 lo que no me permite pasar al formulario4

ah en el formulario4 puse lo siguiente:
Private Sub Form_Load()
Text1.Text = Apellido
Text2.Text = Nombre
Text3.Text = Comisionanual
End Sub

Por favor ayudenme a comprender mejor leo todos lo que tienen y me ayudan a comprender un poco mejor desde ya muchisimas gracias


Respuesta: Hola, las cuestiones a comprobar son varias:

- La primera, ¿qué es RPS Y RSS? Suponemos que son variables numéricas y que tienen como ámbito el adecuado, pero habría que comprobarlo.

- La segunda cosa que llama la atención es la línea Porcentaje = Text3.Text

El tipo que devuelve un control text es tipo texto, mientras que tú necesitas un tipo numérico.

Te recomiendo que te leas esta entrega del curso de Visual Basic: La función Val con Visual Basic para transformar texto en valores numéricos. Ejemplo de uso (CU00318A), que tienes en esta URL: https://www.aprenderaprogramar.com/index.php?option=com_content&view=article&id=203:la-funcion-val-con-visual-basic-para-transformar-texto-en-valores-numericos-ejemplo-de-uso-cu00318a&catid=37:curso-qprogramacion-en-visual-basic-nivel-iq&Itemid=61

Lo que parece más lógico sería poner:

Porcentaje = Val(Text3)

Con esto podrías probar, pero aún así deberías introducir alguna validación o mecanismo de comprobación de que el valor que te introduzca el usuario es válido.

Pruébalo y si das más detalles quizás te podamos orientar algo más. Saludos.

19
Hemos recibido la consulta que reproducimos a continuación:

Hola: he conocido hoy mismo esta web. Llevo intentando empezar a formarme poco a poco en esto de la programación desde hace algún tiempo. Os planteo mi situación:

1) Soy totalmente nuevo en este mundo (no tengo ni idea de programación)

2) Trabajo y tengo pocas horas para poder estudiar

Y mis dudas:

1) Soy de letras. ¿Me será posible seguir el itinerario formativo y los cursos con mis conocimientos básicos de matemáticas (soy licenciado pero por carrera de letras, ya digo)?

2) Veo que para los cursos online (de pago) se dan 12 semanas. Pensé que no había límite para acabarlos. ¿Qué consecuencias tendría no acabarlo en las 12 semanas? ¿Se perdería en ese caso el derecho a consultar las dudas con el tutor? ¿Se perdería también el derecho a recibir el certificado del curso?

3) ¿Existe alguna posibilidad de hacer los cursos en un plazo más amplio sin perder por ello el derecho a que el tutor resuelva las dudas?

4) ¿Se pueden pagar los cursos a plazos u obligatoriamente ha de ser el coste total antes de comenzarlo? Realmente estoy buscando formación en este campo, pero busco algo que no me "agobie" demasiado pues ya digo que tengo que compaginarlo con mi trabajo, de modo que no me importa mucho que mi formación en programación se alargue en el tiempo, lo que sí quiero es aprender (no tirar el dinero ni el tiempo). Os agradecería respuesta a mis preguntas (lo más concretas posibles) y un poco de orientación general sobre cómo empezar a formarme de la mejor manera teniendo en cuenta mis circunstancias. Gracias.

20
Este tema deriva de otro en el que se trataban "Las redes sociales o la pérdida de intimidad" y mantiene cierta relación, pues digamos que son formas en que las nuevas tecnologías están cambiando la sociedad: la forma de relacionarse (redes sociales) y la educación (nuevas tecnologías en la educación). Para quienes no hayan seguido el tema, entre los últimos mensajes se incluía un video de "Edutify" o una teatralización musical en un encuentro sobre nuevas tecnologías y educación que tuvo lugar en Madrid. Este musical parece que estaba patrocinado por Telefónica, lo cual ya me hace desconfiar. El interés principal que supongo que tiene Telefónica en materia educativa es que se use más internet, más tabletas y más dispositivos tecnológicos en el ambo educativo para ellos vender más. Pero esto sería solo una lectura muy sesgada, la realidad es que puede haber muchas lecturas del video y quizás la más interesante sea verlo desde el punto de vista meramente humorístico. El musical trata de exponer las contradicciones a las que nos aboca el cambio tecnológico: conflicto generacional, cambios rápidos en la cultura y fenómeno educativo, etc. Un ejemplo es cuando el hijo le dice al padre: "Papá ya están las notas" , el padre responde ¿y dónde están? , el hijo dice "colgadas" y el padre no entiende nada ni puede asimilar que estén "colgadas en internet".
A mí no me queda nada claro si la aplicación intensiva de las nuevas tecnologías en el aula es buena o mala, o si que se pase de los profesores y maestros tradicionales a los profesores y maestros 2.0 es bueno o no, lo único que puedo dar por verdadero es algo que sí se dice en el video y que es "El mundo está cambiando".
Otra cosa que me pregunto es si los jóvenes del futuro sabrán quién fue Sócrates o para saberlo tendrán que buscar en Google, responder quién fue, y olvidarlo cinco minutos después porque estando toda la información en internet para qué vamos a almacenar conocimiento.
Sobre la diversificación curricular pienso que hoy día hay demasiados medios y demasiado poca planificación o fijación racional de objetivos. Se desarrollan proyectos educativos muy sofisticados mientras no se tienen cubiertas cuestiones básicas. Y se usa una terminología y unos materiales que muchas veces podríamos decir ¿y para qué? Creo haber visto por algún lado una definición de pizarra como "espacio bidimensional para la proyección del conocimiento". Muy bonito, pero mientras se pierde el tiempo en esas definiciones tan bonitas existen problemas muy concretos y muy básicos en los centros educativos que siguen sin resolverse. Saludos.

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".