Aprendizaje Programación 101 [2018] - Introdución a C# y a la programación

Tema en 'Desarrollo' iniciado por Antoniodelaiglesia, 27 May 2016.

  1. Arsen

    Arsen Nuevo Insider

    2
    0
    58
    Yo aun estoy en los vídeos morados.

    El Profesor menciono que fueron eliminados, yo tengo guardados algunos que ya no están

    •Escribe un programa que pregunte al usuario por números hasta que introduzca 0 y luego escribir el mayor de estos
    •Escribir un programa que pida un número entero y pinte una pirámide de rombos. Por ejemplo, si se introduce 6 la salida debe ser esta:
    •*
    ***
    *****
    *******
    *********
    ***********
    Escribir un programa que imprima todos los múltiplos de 3 del 1 al 1000
    •Escribir un programa que imprima todos los números primos que se encuentran entre 1 y 1000
    .

    •Crea un programa TOTALMENTE AUTOMATICO que juegue con una moneda a cara o cruz. El programa jugará solo. Puedes generar un número aleatorio que cuando sea 0 signifique que elige cara y cuando sea 1 que signifique que elige cruz. Luego tira la moneda usando otro número aleatorio. Haz que el programa juegue automáticamente 10000 jugadas y vete anotando en dos variables cuando gana y cuando pierde. Después de las 10000 jugadas, imprime el numero de tiradas ganadas y el número de tiradas perdidas y comprueba que ambos están muy cerca de 5000 (50% de probabilidad)
    •Extiende el programa anterior para que cuente las rachas en las cuales sale el mismo resultado. Por ejemplo, si sale dos veces seguidas cara, anótalo. Si luego sale cuatro veces seguidas cruz, sobreescribe el valor. Te sorprenderás con el resultado.
    •Haz un programa que juegue automáticamente a la lotería. Suponiendo que juegas una vez por semana, calcula cuantos años comprando el mismo número necesitarás para que te toque. El resultado siempre será diferente, pero al menos nos quedará claro que es casi imposible que nos hagamos millonarios jugando a la lotería. En el caso de la lotería española, se juegan cinco cifras, por ejemplo, el número premiado puede ser 91374.
    •Haz un programa que juegue automáticamente a la ruleta. Puedes usar el ejemplo del vídeo, pero en este caso iremos al casino con un saldo de 1000 euros y nos retiraremos si hemos ganado 1000 más (Es decir, nos vamos con 2000) o si perdemos todo. Nos servirá para saber que la banca siempre gana.
    •Extiende el programa anterior para que haga 1000 veces lo mismo. Guarda en dos variables cuantas veces te vas con 2000 euros y cuantas veces te arruinas.
    .
     
  2. Antoniodelaiglesia

    Antoniodelaiglesia Microsoft Insider

    2.555
    1.643
    680
    Los ejercicios de las lecciones que llevo realizadas están en programación101.net junto a los cuestionarios, y están resueltos en vídeo.

    Soy consciente de que los cuestionarios no cargan con algunos navegadores, trataré de resolverlo lo antes posible.

    Ahora como están mezclados los antiguos y los nuevos, es un lío. Pronto terminaré ya los nuevos y borraré todo lo antiguo para que quede ordenado.
     
  3. Arsen

    Arsen Nuevo Insider

    2
    0
    58
    Ok, muchas gracias, @Antoniodelaiglesia
    Entonces re-comenzare los cursos con los vídeos nuevos para apresurarme a ir al día.
     
    Última edición: 5 Dic 2017
  4. Antoniodelaiglesia

    Antoniodelaiglesia Microsoft Insider

    2.555
    1.643
    680
    Publicados dos nuevos vídeos!
     
    A luskao le gusta esto.
  5. CreatureOfLagoon

    CreatureOfLagoon Nuevo Insider

    2
    0
    36
    Buenas tardes,
    ¿Tienes en algún lado el código que escribes en cada vídeo?
    Cuando fallo en algo tengo que copiar el código directamente del vídeo, y es un poco coñazo.

    PD: Eres un crack!
     
  6. karen82

    karen82 Nuevo Insider

    1
    0
    46
    alguno d los videos viene como manejar archivos??? dentrp del codigo
     
  7. carlos_gr

    carlos_gr Nuevo Insider

    1
    0
    33
    Hola Antonio, me gustaria hacerte una sugerencia relacionada con tus videos, alguna forma de contactar contigo por mensaje privado? un saludo

    @Antoniodelaiglesia
     
    Última edición por un moderador: 15 Dic 2017
  8. TheChaler

    TheChaler Nuevo Insider

    2
    1
    76
    Tengo una solucion para el video #4 EJERCICIO DE LA RULETA, diganme que les parece, y perdon por mandarlo tan tarde XD, cogi los videos un poquito atrasado, dentro tengo un problema que me gustaria realizar, si tienen una idea de como hacerlo o si es demasiado avanzado aun, diganme, ante cualquier sugerencia estoy atento. Codigo comentado.


    int saldo = 1000;
    Console.WriteLine ("------------BIENVENIDO A LA RULETA G------------");
    Console.WriteLine ("------ELIGE NUMEROS DESDE EL 1 HASTA EL 36------ \n \n ");
    int jugadas = 0;
    bool solucion = true;//la solucion solo es un metodo para... -->1
    int saldo_apostado = 0;

    while (true) {

    Random generador = new Random ();
    int numdom = generador.Next (1 , 37);//Generador del numero que va a salir
    int premio = generador.Next (2 , 1001);//Generador del premio

    if (solucion) {//-->1 La principal funcion de este if es por si el usuario introduce un numero mayor a su saldo, asi el numero del premio no cambiara hasta que introduzca un numero aceptado


    //Esto envia un mensaje seguna las veces que haya jugado
    if (jugadas == 0) {

    Console.WriteLine ("Estas jugando para ganar " + premio + " veces mas de lo que apuestes");
    } else {
    Console.WriteLine ("Ahora puedes ganar hasta " + premio + " veces mas");
    }



    Console.WriteLine ("Tu saldo es de: $RD " + saldo);//Saldo del jugador
    Console.Write ("Presiona -1 para salir \n Cuanto quieres apostar?: ");
    saldo_apostado = Convert.ToInt32 (Console.ReadLine ());//Cantidad apostada

    //CASOS EN LOS QUE NO SE ADMITE EL SALDO APOSTADO
    if (saldo_apostado == -1) {
    Console.Write ("Gracias por jugar");//Si uiere salir por si mismo
    break;
    } else if (saldo_apostado > saldo) {
    Console.WriteLine ("No tienes suficiente dinero, vuelve a intentarlo");//SI no tiene suficiente saldo
    continue;
    }

    solucion = false;
    }

    //APUESTAS POR PORCENTAJE--(por concluir)


    Console.Write ("Elige tu numero de la suerte: ");
    int numero_apostado = Convert.ToInt32 (Console.ReadLine ());


    //MENSAJES DEL PREMIO
    if (numero_apostado == numdom) {
    Console.WriteLine ("Felicidades, estas de suerte, GANASTE!!");//Si gana
    saldo += saldo_apostado * premio;//Se suma el premio ganado a tu saldo
    } else {
    Console.WriteLine ("Lo siento, salio el " + numdom + " Mejor suerte para la proxima");//Si pierde

    //DIFENETES ESTADOS DEL SALDO
    if (saldo_apostado <= saldo){//Si es menor solo se resta al saldo
    saldo -= saldo_apostado;//Se resta el saldo apostado a tu saldo
    }
    else {//Si es mayor el saldo seria 0
    saldo = 0;
    }
    }

    jugadas++;//COntador de las jugadas que lleva el jugador
    solucion = true;
    }

    Console.ReadKey ();
     
  9. Antoniodelaiglesia

    Antoniodelaiglesia Microsoft Insider

    2.555
    1.643
    680
    Está todo en programacion101.net
    --- Doble mensaje combinado, 31 Dic 2017 , fecha del mensaje original: 18 Dic 2017 ---
    Otros dos
    --- Doble mensaje combinado, 8 Ene 2018 ---
    Bueno, pues todo terminado a falta de los últimos ejercicios.
     
  10. Julio Rios

    Julio Rios Insider habitual

    74
    26
    255
    Vuelvo a este foro después de 1 año y medio inactivo, pensé que todo estaría muerto, pero ahora veo que está más vivo que nunca
     
  11. luisobregon

    luisobregon Nuevo Insider

    1
    0
    64
    es por la ; quitalo y te va a funcionar ..!!
     
  12. Antoniodelaiglesia

    Antoniodelaiglesia Microsoft Insider

    2.555
    1.643
    680
    ¡Y terminado! ¡Muchas gracias a todos! La semana que viene empezará el siguiente: C# intermedio. Programación orientada a objectos.
     
  13. pedroja9

    pedroja9 Nuevo Insider

    1
    0
    35
    Hola!

    Antes de nada, gracias por todas las molestias que te estas tomando!

    He estado siguiendo tus cursos a traves de tu canal de youtube, me ha servido para recordar todo lo aprendido, ya que estudié un ciclo de informatica pero llevaba sin programar 12 años y habia olvidado todo!

    Gracias a ti, he vuelto a revivir el gusanillo de la programacion, el perder la nocion del tiempo frente a un ordenador...como cuando tenia 18 años...

    Queria preguntarte, si los videos que vas a subir del nivel intermedio, continuaran el video 14 te tu canal de youtube, es decir, seguir a partir de herencia y demas.

    Un saludo y por aqui nos vemos!
     
  14. Antoniodelaiglesia

    Antoniodelaiglesia Microsoft Insider

    2.555
    1.643
    680
    Sí, este martes publicaré nuevos vídeos. Esta semana no he publicado porque me habéis pillado finalizando un proyecto. ¡Continuaré!
    --- Doble mensaje combinado, 4 Feb 2018 , fecha del mensaje original: 4 Feb 2018 ---
    Sí, este martes publicaré nuevos vídeos. Esta semana no he publicado porque me habéis pillado finalizando un proyecto. ¡Continuaré!
     
  15. Yerco

    Yerco Nuevo Insider

    1
    0
    113
    Saludos, hace un par de días vi que continuaste con el curso, y me puse a ver los vídeos de nuevo por que los había dejado al ver que ya no continuarías el curso, a modo de recordar un poco hice el ejercicio del 3 en raya bastante básico.
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;

    namespace tres_en_raya_simple
    {
    class Program
    {
    static void Main(string[] args)
    {
    int[,] cancha = new int[3, 3];
    bool salir = false;
    int poscicionx = 0;
    int posciciony = 0;
    bool turnoX = true;
    while (!salir)
    {
    ConsoleKeyInfo tecla = Console.ReadKey(true);
    if (tecla.Key == ConsoleKey.LeftArrow && poscicionx > 0)
    {
    poscicionx--;
    Console.SetCursorPosition(poscicionx, posciciony);
    }
    if (tecla.Key == ConsoleKey.RightArrow && poscicionx < 2)
    {
    poscicionx++;
    Console.SetCursorPosition(poscicionx, posciciony);
    }
    if (tecla.Key == ConsoleKey.DownArrow && posciciony < 2)
    {
    posciciony++;
    Console.SetCursorPosition(poscicionx, posciciony);
    }
    if (tecla.Key == ConsoleKey.UpArrow && posciciony > 0)
    {
    posciciony--;
    Console.SetCursorPosition(poscicionx, posciciony);
    }
    if (tecla.Key == ConsoleKey.Spacebar && cancha[poscicionx,posciciony] == 0)
    {
    if (turnoX)
    {
    cancha[poscicionx, posciciony] = 1;
    turnoX = false;
    Console.Write("X");
    Console.SetCursorPosition(poscicionx, posciciony);
    }
    else
    {
    cancha[poscicionx, posciciony] = 2;
    turnoX = true;
    Console.Write("O");
    Console.SetCursorPosition(poscicionx, posciciony);
    }
    }
    if (tecla.Key == ConsoleKey.Escape) salir = true;
    if (Gano(cancha) == 1)
    {
    Console.Write("GANO X");
    salir = true;
    }
    if (Gano(cancha) == 2)
    {
    Console.Write("GANO O");
    salir = true;
    }
    if (Gano(cancha) == 3)
    {
    Console.Write("Empate");
    salir = true;
    }

    }
    Console.ReadKey();
    }



    static int Gano (int [,] cancha)
    {
    int Gano = 3;
    for (int x = 0; x <= 2; x++)
    {
    for (int y = 0; y <= 2; y++)
    {
    if (cancha[x, y] == 0) Gano = 0;
    }
    }
    for (int x=0;x<=2;x++)
    {
    if (cancha[x, 0] == cancha[x, 1] && cancha[x, 0] == cancha[x, 2] && cancha[x,0] != 0) Gano = cancha[x, 0];
    }
    for (int x = 0; x <= 2; x++)
    {
    if (cancha[0, x] == cancha[1, x] && cancha[0, x] == cancha[2, x] && cancha[0,x] != 0) Gano = cancha[0, x];
    }
    if (cancha[0, 0] == cancha[1, 1] && cancha[1, 1] == cancha[2, 2] && cancha[1,1] != 0) Gano = cancha[0, 0];
    if (cancha[2, 0] == cancha[1, 1] && cancha[1, 1] == cancha[0, 2] && cancha[1,1] != 0) Gano = cancha[1, 1];

    return Gano;
    }
    }
    }
    Pensaba agregarle algo como un Menú principal, Pausa, Instrucciones, una sección donde poner los nombres de los jugadores, en general hacerlo mas bonito e intuitivo pero me tomaría mas tiempo y estoy ansioso de seguir con las lecciones jej.
    Lo pongo a tu consideración, ¿Esta bien hecho?, ¿Agrego lo del Menú principal y esas cosas?, ¿Podría simplificar o acortar el código?.
    Muchas gracias por todo, excelentes vídeos
     
Cargando...
Otros hilos similares...
  1. EduardGm11
    Resp.:
    1
    Visitas:
    142
  2. Nazareno

    Aprendizaje Programación web

    Resp.:
    4
    Visitas:
    331
  3. FJ Corb
    Resp.:
    0
    Visitas:
    186
  4. Antoniodelaiglesia
    Resp.:
    91
    Visitas:
    13.567