1. Conceptos Básicos C (1)

Embed Size (px)

Citation preview

  • 7/25/2019 1. Conceptos Bsicos C (1)

    1/18

    COMPUTACIN Y ALGORITMOS II

    Fundamentos de la Programacin

    en C#

  • 7/25/2019 1. Conceptos Bsicos C (1)

    2/18

    Conceptos Bsicos

    Qu es un Programa?. Lenguajes de programacin. Clasificacin

    Compilador. Intrprete.

    Prctica Historia del lenguaje C.

    Lenguaje C, C++ y C#. Definicin, similitudes y diferencias. Aplicaciones relacionadas a la minera (nombre y utilidad).

    Realizar un programa en C. Guardar, depurar un programa.

  • 7/25/2019 1. Conceptos Bsicos C (1)

    3/18

    Programa

    Es un conjunto de instrucciones escritas en un lenguaje de

    programacin susceptibles de ser ejecutadas por lacomputadora.

    Programa = conjunto de datos + algoritmos

    Datos: conjunto de valores.

    Algoritmo: Secuencia de pasos a seguir para resolver unproblema

    Dijkstra (1972)

    El arte de la programacin es el arte de organizar lacomplejidad

    Debemos organizar los clculos de manera que nuestroslimitados sentidos sean suficientes para garantizar que elcmputo arroje los resultadosesperados

  • 7/25/2019 1. Conceptos Bsicos C (1)

    4/18

    Es un conjunto de normas lingsticas que permiten escribirun programa con instrucciones que sean entendidas por la

    computadora. Un lenguaje de programacin es una notacin para escribir

    programas.

    Un lenguaje de programacin permite al usuario crear

    programas que sern entendidos por el computador(directa o indirectamente) con el objetivo de realizar algunatarea.

    Lenguaje de Programacin

  • 7/25/2019 1. Conceptos Bsicos C (1)

    5/18

    Todo lenguaje de programacin tiene: Un alfabeto: que son los elementos lxicos permitidos

    Una Sintaxis: que indica cmo se construyen las frases del lenguaje

    Una Semntica: que indica el significado de las palabras y frasesformadas.

    El lenguaje debe ayudarnos a escribir buenos programas: un

    programa es bueno si es fcil de leer, fcil de entender yfcil de modificar. Lgicamente adems de resolver elproblema deseado.

    Lenguaje de Programacin

  • 7/25/2019 1. Conceptos Bsicos C (1)

    6/18

    Clasificacin de los lenguajes deprogramacin

  • 7/25/2019 1. Conceptos Bsicos C (1)

    7/18

    Lenguaje mquina

    Son aquellos cuyas instrucciones son directamenteentendibles por el computador sin la necesidad de

    traduccin alguna. Sus instrucciones no son ms queconjuntos de ceros y unos (bits). Estas especifican laoperacin a realizar, los registros del procesador y celdas dememoria implicados, etc.

    Estos lenguajes son dependientes de la mquina.Obviamente, este tipo de lenguajes sern fciles decomprender para un computador pero muy difciles para elhombre.

  • 7/25/2019 1. Conceptos Bsicos C (1)

    8/18

    Lenguajes de bajo nivel (ensamblador)

    Estos lenguajes son generalmente dependientes de lamquina, es decir, dependen de un conjunto deinstrucciones especficas del computador. Un ejemplo de

    este tipo de lenguajes es el ensamblador. En l, lasinstrucciones se escriben en cdigos alfabticos conocidoscomo mnemotcnicos (generalmente, abreviaturas depalabras inglesas).

    Las palabras mnemotcnicas son mucho ms fciles derecordar que las secuencias de ceros y unos. Una instruccintpica de ensamblador puede ser:

    ADD x,y,z

  • 7/25/2019 1. Conceptos Bsicos C (1)

    9/18

    Lenguajes de alto nivel

    Los lenguajes de alto nivel son aquellos en los que lasinstrucciones o sentencias son escritas con palabras similares a lasde los lenguajes humanos (en la mayora de los casos, el Ingls).

    Esto facilita la escritura y comprensin del cdigo al programador.Estos lenguajes permiten escribir programas portables y legibles.

    Existen muchos lenguajes de alto nivel, por citar algunos: ADA,BASIC, COBOL, FORTRAN, C , C++, Modula-2, Lisp, Prolog, Pascal,Java, Php, html, xml , etc.

    A continuacin se presenta una instruccin de java:

    if (x == y) System.out.println ('Esto es una prueba');

  • 7/25/2019 1. Conceptos Bsicos C (1)

    10/18

    Los programas escritos en lenguaje de alto nivel noson entendibles directamente por la mquina.Necesitan ser traducidos a instrucciones en

    lenguaje mquina que entiendan los computadores.Los programas que realizan esta traduccin sellaman compiladores, y los programas escritos enlenguajes de alto nivel se denominan programas

    fuente.

  • 7/25/2019 1. Conceptos Bsicos C (1)

    11/18

    Ejemplos de programas

    Programa que escribeHolaen pantalla

    Pascal

    C

  • 7/25/2019 1. Conceptos Bsicos C (1)

    12/18

    Ensamblador

  • 7/25/2019 1. Conceptos Bsicos C (1)

    13/18

    Traductores de programasLostraductoresson un tipo de programas cuya funcines convertir el cdigo de un lenguaje en otro. Porejemplo uncompilador, que traduce cdigo fuente encdigo objeto. Existen distintos tipos de traductores,entre ellos destacan:

    Ensambladores

    Preprocesadores Intrpretes Compiladores

  • 7/25/2019 1. Conceptos Bsicos C (1)

    14/18

    IntrpretesSe trata de traductores-ejecutores ya que con cada

    instruccin realizan un proceso triple de lectura-traduccin-ejecucin. Son relativamente lentos, pero muybuenos para la depuracin de programas.

    Compiladores

    Es el tipo de traductor ms conocido. Se trata de unprograma que traduce cdigo fuente escrito en unlenguaje de alto nivel (c#) en cdigo mquina (no siempre).Son ms rpidos que los intrpretes pero presentan mayordificultad a la hora de detectar errores.

  • 7/25/2019 1. Conceptos Bsicos C (1)

    15/18

  • 7/25/2019 1. Conceptos Bsicos C (1)

    16/18

  • 7/25/2019 1. Conceptos Bsicos C (1)

    17/18

    Mi primer programa en C#

    1. Escribir el programa en lenguaje C# (fichero fuente).2. Compilarlo con nuestro compilador. Esto creara un"fichero ejecutable".

    3. Lanzar el fichero ejecutable.

    Practica 01

  • 7/25/2019 1. Conceptos Bsicos C (1)

    18/18

    namespace ejercicio1{

    class Program{

    static void Main(string[] args){

    System.Console.WriteLine("Hola grupo A2");

    Console.Read();}}

    }