intro csharp enero de 2015

Download Intro csharp enero de 2015

Post on 08-Feb-2017

395 views

Category:

Technology

6 download

Embed Size (px)

TRANSCRIPT

  • Introduccin a la programacin con C#, por Nacho Cabanes

    Revisin 0.99zz Pgina 1

    Introduccin a la programacin con C#

    Este texto es una introduccin a la programacin de ordenadores, usando el

    lenguaje C#.

    Est organizado de una forma ligeramente distinta a los libros de texto

    "convencionales", procurando incluir ejercicios prcticos lo antes posible, para

    evitar que un exceso de teora en los primeros temas haga el texto pesado de

    seguir.

    Este texto ha sido escrito por Nacho Cabanes. Si quiere conseguir la ltima

    versin, estar en mi pgina web:

    www.nachocabanes.com

    Este texto es de libre distribucin ("gratis"). Se puede distribuir a otras personas

    libremente, siempre y cuando no se modifique. Si le gustan los formalismos, esto

    sale a equivaler a una licencia Creative Commons BY-NC-ND: reconocimiento del

    autor, no se puede hacer uso comercial (no se puede "vender" este curso), no se

    puede crear obras derivadas.

    Este texto se distribuye "tal cual", sin garanta de ningn tipo, implcita ni explcita.

    Aun as, mi intencin es que resulte til, as que le rogara que me comunique

    cualquier error que encuentre.

    Para cualquier sugerencia, no dude en contactar conmigo a travs de mi web.

    Revisin actual: 0.99zz

  • Introduccin a la programacin con C#, por Nacho Cabanes

    Revisin 0.99zz Pgina 2

    Contenido Contenido _________________________________________________________________________________ 2

    0. Conceptos bsicos sobre programacin ____________________________________________ 9

    0.1. Programa y lenguaje _______________________________________________________________________________ 9

    0.2. Lenguajes de alto nivel y de bajo nivel ___________________________________________________________ 9

    0.3. Ensambladores, compiladores e intrpretes ___________________________________________________ 11

    0.4. Pseudocdigo _______________________________________________________________________________________ 14

    1. Toma de contacto con C# ____________________________________________________________ 16

    1.1. Qu es C #? Qu entorno usaremos? __________________________________________________________ 16

    1.2. Escribir un texto en C# ____________________________________________________________________________ 17

    1.3. Cmo probar este programa _____________________________________________________________________ 19 1.3.1. Cmo probarlo con Mono en Linux ______________________________________________________ 19 1.3.2. Cmo probarlo con Mono en Windows __________________________________________________ 24 1.3.3. Otros editores ms avanzados para Windows ___________________________________________ 33

    1.4. Mostrar nmeros enteros en pantalla __________________________________________________________ 34

    1.5. Operaciones aritmticas bsicas ________________________________________________________________ 34 1.5.1. Operadores _____________________________________________________________________________ 34 1.5.2. Orden de prioridad de los operadores ___________________________________________________ 35 1.5.3. Introduccin a los problemas de desbordamiento _______________________________________ 36

    1.6. Introduccin a las variables: int _________________________________________________________________ 36 1.6.1. Definicin de variables: nmeros enteros _______________________________________________ 36 1.6.2. Asignacin de valores ___________________________________________________________________ 37 1.6.3. Mostrar el valor de una variable en pantalla _____________________________________________ 38

    1.7. Identificadores _____________________________________________________________________________________ 40

    1.8. Comentarios ________________________________________________________________________________________ 41

    1.9. Datos por el usuario: ReadLine __________________________________________________________________ 43

    1.10. using System ______________________________________________________________________________________ 44

    1.11. Escribir sin avanzar de lnea ____________________________________________________________________ 45

    2. Estructuras de control ________________________________________________________________ 47

    2.1. Estructuras alternativas __________________________________________________________________________ 47 2.1.1. if ________________________________________________________________________________________ 47 2.1.2. if y sentencias compuestas ______________________________________________________________ 48 2.1.3. Operadores relacionales: =, ==, != _____________________________________________ 49 2.1.4. if-else ____________________________________________________________________________________ 50 2.1.5. Operadores lgicos: &&, ||, ! ____________________________________________________________ 52 2.1.6. El peligro de la asignacin en un "if" _____________________________________________________ 54 2.1.7. Introduccin a los diagramas de flujo ____________________________________________________ 55 2.1.8. Operador condicional: ? _________________________________________________________________ 58 2.1.9. switch ___________________________________________________________________________________ 60

    2.2. Estructuras repetitivas____________________________________________________________________________ 63 2.2.1. while ____________________________________________________________________________________ 63 2.2.2. do ... while _______________________________________________________________________________ 65 2.2.3. for _______________________________________________________________________________________ 67 2.2.4. Bucles sin fin ____________________________________________________________________________ 69

  • Introduccin a la programacin con C#, por Nacho Cabanes

    Revisin 0.99zz Pgina 3

    2.2.5. Bucles anidados _________________________________________________________________________ 69 2.2.6. Repetir sentencias compuestas __________________________________________________________ 70 2.2.7. Contar con letras ________________________________________________________________________ 71 2.2.8. Declarar variables en un "for" ___________________________________________________________ 72 2.2.9. Las llaves son recomendables ___________________________________________________________ 74 2.2.10. Interrumpir un bucle: break ____________________________________________________________ 75 2.2.11. Forzar la siguiente iteracin: continue __________________________________________________ 77 2.2.12. Equivalencia entre "for" y "while" _______________________________________________________ 78 2.2.13. Ejercicios resueltos sobre bucles _______________________________________________________ 80

    2.3. Saltar a otro punto del programa: goto _________________________________________________________ 82

    2.4. Ms sobre diagramas de flujo. Diagramas de Chapin _________________________________________ 83

    2.5. foreach ______________________________________________________________________________________________ 85

    2.6. Recomendacin de uso para los distintos tipos de bucle _____________________________________ 86

    2.7. Una alternativa para el control errores: las excepciones ____________________________________ 88

    3. Tipos de datos bsicos _______________________________________________________________ 92

    3.1. Tipo de datos entero ______________________________________________________________________________ 92 3.1.1. Tipos de datos para nmeros enteros ___________________________________________________ 92 3.1.2. Conversiones de cadena a entero _______________________________________________________ 93 3.1.3. Incremento y decremento _______________________________________________________________ 94 3.1.4. Operaciones abreviadas: += _____________________________________________________________ 96 3.1.5. Asignaciones mltiples __________________________________________________________________ 96

    3.2. Tipo de datos real __________________________________________________________________________________ 97 3.2.1. Coma fija y coma flotante _______________________________________________________________ 97 3.2.2. Simple y doble precisin _________________________________________________________________ 98 3.2.3. Pedir nmeros reales al usuario ________________________________________________________ 100 3.2.4. Conversin de tipos (typecast) __________________________________________________________ 102 3.2.5. Formatear nmeros ____________________________________________________________________ 103 3.2.6. Cambios de base _______________________________________________________________________ 105

    3.3. Tipo de datos carcter __________________________________________________________________________ 107 3.3.1. Leer y mostrar caracteres ______________________________________________________________ 107 3.3.2. Secuencias de escape: \n y otras ________________________________________________________ 108

    3.4. Toma de contacto con las cadenas de texto _________________________________________________ 110

    3.5. Los valores "booleanos" ________________________________________________________________________ 111

    4. Arrays, estructuras y cadenas de texto ___________________________________________ 113

    4.1. Conceptos bsicos sobre arrays o tablas _____________________________________________________ 113 4.1.1. Definicin de un array y acceso a los datos _____________________________________________ 113 4.1.2. Valor inicial de un array ________________________________________________________________ 114 4.1.3. Recorriendo los elementos de una tabla ____________________________________________