Aprendizaje Programación 101: 1 - Introducción C# desde cero

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

  1. Antoniodelaiglesia

    Antoniodelaiglesia Microsoft Insider

    2.533
    1.634
    680
    Titulo Post.png

    Bueno, como muchos me lo habéis pedido (y de manera bastante persistente :clap:) y el tiempo acompaña pues aquí está de manera oficial el curso de Introducción a C# para gente que quiere aprender a desarrollar. Así que aquí está PROGRAMACIÓN 101: INTRODUCCIÓN A C# desde cero

    ¿Para quién es este curso?
    En este curso se presupone que tienes unos conocimientos de informática a nivel usuario. Además, dado que es un curso de aprendizaje de programación con C# también se presupone que no tienes conocimientos de programación, es decir, empezaremos desde el principio.

    F.A.Q:
    ¿Cuántas sesiones serán?
    En este curso básico serán 11. Continuaremos con otros cursos de mayor nivel después. En total serán muchos vídeos hasta que sepas hacer algo interesante.

    ¡Me he pusto a seguirlo a tope! ¿Alguna recomendación para repasar yo solo?
    ¡Si! Sería buena idea que dejes fluir tu imaginación y después de cada tutorial intentes hacer algo que se te ocurra con los conocimientos adquiridos. Después de cada tutorial dejaré un ejercicio que resolveré al principio del tutorial siguiente. Si deseas hacer más ejercicios no dejes de citarme

    ¿Podré hacer una App Universal después de acabar este curso? No, este curso está orientado a aprender a programar. Hay que saber muchas cosas antes de poder hacer una app universal, y aprender a programar es una de ellas. Así que si tu objetivo es hacer apps, y no tienes conocimientos de programación sería buena idea seguirlo. Si este curso tiene el éxito esperado, después de él seguiré por el camino para que puedas hacer una app.

    Todos los vídeos:
    Lección 0: INTRODUCCIÓN, Herramientas y Hello World


    Lección 1: VARIABLES y tipos de datos


    • Escribe un programa que le pida al usuario la altura y la anchura de un rectángulo y le devuelva el área del mismo. El área de un rectángulo es altura * anchura.
    • Escribe un programa que le pida al usuario cinco números y calcule la media de estos. SI QUIERES UN PLUS DE DIFICULTAD: Hazlo usando únicamente dos variables.
    • Haz un programa que pida al usuario el precio de un objeto sin IVA y la cantidad de IVA aplicable. Luego calcula el precio final.

    Lección 2: IF. El tipo de datos bool. Estructuras condicionales I.



    • Escribe un programa que le pida al usuario cinco notas de exámenes de una asignatura, calcule la media de estas y diga si el alumno está aprobado o suspenso.
    • Una tienda al por mayor de manzanas hace descuento mientras más compres. Si compras menos de 100 el kilo sale a 4€, si compras entre 100 y 500 kilos el kilo sale a 3€, si compras entre 500 y 1000 kilos el kilo sale a 2€. Si compras más de 1000 kilos, el kilo sale a 1€. Haz un programa que calcule el precio según los kilos que compres.
    • Haz un programa que pida al usuario tres números y diga cual es el mayor de los tres.

    Lección 3: WHILE, DO WHILE, FOR, Comparaciones Booleanas. Bucles.




    • 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

    Lección 4: EJERCICIOS con condicionales y bucles. Break y Continue



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

    Lección 5: ARRAYS, recorrer arrays, foreach, arrays multidimensionales



    • Haz que el usuario introduzca diez números y almacénalos en una array. Luego muestra por pantalla la suma, resta, multiplicación y división de todos ellos
    • Rellena un array con los 25 primeros números primos. Luego, muestra la suma de todos ellos.
    • Crea un array de 3x3 como si fuera una celda de un Sudoku con datos que introduzca el usuario. Una vez esté, suma el resultado de las dos diagonales y imprímelo.
    • Crea un array que sea cómo empieza un tablero de ajedrez. Para ello, en lugar de almacenar números, nuestra array almacenará string. Los peones serán P, Caballos C, Alifiles A, Reina R, Rey K. Luego, muestralo por pantalla. Las casillas en blanco pueden ser un espacio.
    • EJERCICIO CON UN PLUS DE DIFICULTAD. Pide al usuario 10 números y almacénalos en un array. Luego sácalos por pantalla ordenados. PISTA: Mejor, antes de imprimir nada, ordenalos dentro de un array nuevo.

    Lección 6: SWITCH / CASE, char, jugando con strings



    • Hay un juego de dos personas que se llama "PIEDRA; PAPEL O TIJERA", donde cada uno de los usuarios tiene que introducir Piedra, Papel o Tijera, y la máquina dar el resultado: "Piedra gana a tijera: Gana el juegador 1".
    • Haz un programa en el que el usuario introduzca el número de mes (1/12) y el programa lo convierta a texto (P. Ej.: 11 => Noviembre)
    • EXTRA: Haz que el programa lea una fecha completa (4/11/2016) y la convierta a texto: (4 de noviembre de 2016). PISTA: Usa String.Split
    • Haz que el usuario introduzca un mes (1/12) y imprime si este tiene 31, 30 o 28 días. Pista: Puedes agrupar más de un case:
    • switch(var) {
         case 1:
         case 2:
         case 3.
            // Tu instrucción
           break;
      }

    Lección 7: MÉTODOS, parámetros



    • Un banco nos ha dado un crédito de 1200€ durante un año. Crea un programa que calcule el 3% de cada mensualidad, que es la comisión que se llevará el banco. Crea un método en el cual se introduzca la mensualidad y el interés como parámetros (120€ y 3%) y devuelva la cantidad con el porcentaje aplicado (123,6€). Este método tiene que funcionar para cualquier cantidad y porcentaje.
    • Extendiendo el programa anterior, crea un nuevo método dónde introduzcas el importe total, el número de meses a pagar y el porcentaje del banco, y, extendiendo el método anterior, sea capaz de calcular e imprimir el importe de la cuota mensual.
    • Haz un programa que contenga un método que invierta un número. Por ejemplo, si el usuario introduce 239874 la salida tiene que ser 478932.
    • Usa el método dos veces, y si lo has hecho bien debería salir el número original
    • Haz que el programa anterior saque el número invertido más 10 (Así practicamos tipos, por si se te ha ocurrido imprimir por pantalla carácter a carácter)
    • Haz un programa que calcule el mayor de entre dos números. Para ello, haz un método al que se le pase como parámetros esos dos números y devuelva el mayor.
    • Extiende el programa anterior calculando el mayor de entre tres números. Haz un método que calcule el mayor entre tres números. Este método debe llamar al método anterior, que calcula el mayor entre dos números.

    Lección 8: MÉTODOS RECURSIVOS, sobrecargas de métodos, parámetros opcionales



    • Haz un método recursivo que permita sumar todos los elementos de un array (int[] array), que vendrá pasada como parámetro.
    • Haz un método recursivo, que pasándole un array (int[] array) imprima el mayor número dentro del arrray.
    • Haz un método que calcule el consumo de un coche en autovía. El coche consume 5,8l/100km. Este méotodo debe calcular el consumo, siendo su primer parametro un double km, y su segundo parámetro un parámetro booleano opcional, que indicará si estamos pasando el dato en kilómetros o en millas. SI todo es correcto, para 50km debería salir un consumo de 2.9l y para 50 millas debería salir un consumo de aprox 4.67l.
    • En este último programa, hazle una sobrecarga al método que admita también el tipo de datos int, aunque la salida deberá ser double.

    Lección 9: EXCEPCIONES básicas, Try/Catch, manejo de errores y ejercicios




    • Haz un juego donde el ordenador genera un número aleatorio del 0 al 100 y el usuario tiene que intentar adivinarlo. Cada vez que falle, se le dirá si el número es mayor o menor que el que se ha escrito, para pasar a otra oportunidad. Cuándo el usuario lo adivine, el programa debe decir cuántos intentos ha necesitado. No dejes que el programa falle por introducir otras cosas en vez de números.
    • Haz un programa donde se pida un número para cualquier propósito en un int. Introduciendo el número (puedes usar un while para no tener que ejecutarlo) intenta averiguar cuál es el límite de int, de manera que cuando lo alcances el programa imprima "Te has pasado". Ese mismo programa debe imprimir "Error general" para otro tipo de errores al introducir el número.
    • Haz lo mismo que en el ejercicio anterior, pero en lugar de usar INT usa LONG. ¿Es el limite de LONG más grande que el de INT? ¿Podrías explicar por qué?

    ¿HAS ACABADO ya con este curso? CONTINÚA CON PROGRAMACIÓN 101 - PROGRAMACIÓN ORIENTADA A OBJETOS (Click aquí)
     

    Adjuntos:

    Última edición: 8 Mar 2017
    CenCristian, Joel_Viera, defeitar y 20 otros les gusta esto.
  2. cristhian-7123

    cristhian-7123 Insider senior

    151
    25
    292
    Espero que al finalizar el curso me pueda hacer una app así sea bien chorra.

    Enviado desde mTalk
     
  3. Antoniodelaiglesia

    Antoniodelaiglesia Microsoft Insider

    2.533
    1.634
    680
    No, no vas a poder. Eso es para el siguiente curso. Este es para aprender a programar. Saludos!
     
  4. SrMatiM7

    SrMatiM7 Insider Pro ★★

    4.129
    1.225
    720
    Gracias a este cursillo podré aprender a programar
     
  5. MrNadix

    MrNadix Insider Pro ★

    2.044
    602
    612
    Antonio, se te pedía porque tu tienes como... Carisma, explicas las cosas muy bien y bueno... Que se queda, ya se lo he pasado a unos cuantos amigos para que empiecen a darle caña n.n
     
  6. Andres Roldan

    Andres Roldan Insider Pro

    1.357
    350
    472
    Por desgracia no podre verla en directo :c
     
  7. Joel_Viera

    Joel_Viera Insider frecuente

    22
    6
    53
    Por aquí otro alumno, seguiré el curso con entusiasmo muchas gracias por la iniciativa Antonio.
     
  8. luskao

    luskao Insider Pro ★ Buena reputación Administrador

    1.844
    540
    463
    Otro que se apunta, nunca es tarde si el profe es bueno!

    Y lo comparto por redes
     
    A Fernando Gartz le gusta esto.
  9. DaniCode

    DaniCode Insider Pro

    995
    402
    343
    No olvides recordar a los que vean el directo o el vídeo en Youtube que tienen una parte 1. En mi caso no me apareció en el feed de Youtube y me di cuenta de él porque apareció entre las sugerencias que muestran en la sección Inicio.
     
  10. Antoniodelaiglesia

    Antoniodelaiglesia Microsoft Insider

    2.533
    1.634
    680
    OK lo tengo en cuenta!
     
  11. gabrielpb1

    gabrielpb1 Insider Pro

    961
    127
    361
    Excelente, empezare con el curso hace tiempo que esperaba uno, gracias Antonio :laleche:
     
  12. nanai

    nanai Insider senior

    452
    214
    327
    Buenísimo! Seguro que le echo un vistazo. Gracias por tu tiempo :)

    Enviado desde mTalk
     
  13. Álex Rodríguez

    Álex Rodríguez Insider Pro ★★★★ Miembro del equipo Administrador

    7.898
    2.078
    804
    Me ha encantado el primer vídeo. Este curso no me lo pierdo por nada del mundo. ¡Grande Antonio! Y muchas gracias.

    Saludos!
     
  14. Antoniodelaiglesia

    Antoniodelaiglesia Microsoft Insider

    2.533
    1.634
    680
    ¡Empezamos en media hora!
     
    A gabrielpb1 le gusta esto.
  15. gabrielpb1

    gabrielpb1 Insider Pro

    961
    127
    361
    Ya estoy esperando :D me viene de perlas lo que compartes
     
  16. Antoniodelaiglesia

    Antoniodelaiglesia Microsoft Insider

    2.533
    1.634
    680
    Bueno, pues ya está subido el capítulo 1, cuando a mr Youtube le de la gana de procesarlo pues lo podréis ver :)
     
    A gabrielpb1 le gusta esto.
  17. ezequiel

    ezequiel Insider frecuente

    32
    14
    249
    Buenisimo, no o podré hacer en vivo (Trabajo a esa hora) pero lo seguire en el foro.
     
Cargando...
Otros hilos similares...
  1. Nazareno

    Aprendizaje Programación web

    Resp.:
    3
    Visitas:
    101
  2. FJ Corb
    Resp.:
    0
    Visitas:
    133
  3. Antoniodelaiglesia
    Resp.:
    91
    Visitas:
    11.439
  4. Webserveis
    Resp.:
    4
    Visitas:
    665