programacion en c unidad 01 capitulos 1 y 2

Upload: erick-francisco-merino-menares

Post on 06-Apr-2018

227 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/3/2019 Programacion en C unidad 01 capitulos 1 y 2

    1/75

    INC-112 Programacion I

    Unidad 1

    Profesores: Roberto Munoz S. - Eliana Providel G.Escuela de Ingeniera Civil en Informatica

    Universidad de [email protected], [email protected]

    Segundo Semestre 2011

    Unidad 1

    http://find/http://goback/
  • 8/3/2019 Programacion en C unidad 01 capitulos 1 y 2

    2/75

    Contenidos Unidad I

    Parte I: Introduccion.

    Parte II: Estructura de un Programa en C.

    Parte III:Tipos de datos.

    Parte IV: Operadores.

    Unidad 1

    http://find/
  • 8/3/2019 Programacion en C unidad 01 capitulos 1 y 2

    3/75

    Parte I: Introduccion

    Unidad 1

    http://find/
  • 8/3/2019 Programacion en C unidad 01 capitulos 1 y 2

    4/75

    Contenidos

    Generaciones.Estructura fsica de un computador.

    La medida de informacion.

    Algoritmos.

    Programacion.

    Unidad 1

    http://find/
  • 8/3/2019 Programacion en C unidad 01 capitulos 1 y 2

    5/75

    Estructura fsica de un computadorLa medida de informacion

    AlgortimosAlgortimos

    Programacion

    Un lenguaje de programacion debe ser parte de la solucion,no parte del problema

    Unidad 1

    http://find/
  • 8/3/2019 Programacion en C unidad 01 capitulos 1 y 2

    6/75

    Estructura fsica de un computadorLa medida de informacion

    AlgortimosAlgortimos

    Programacion

    Un computador facilita el trabajo de un ser humano. Ej.multiplicar numeros.Que se hace para obtener una solucion?

    Disenar un algoritmo.

    Programador codifica en un lenguaje de programacion que elcomputador es capaz de entender.

    Se ejecuta el programa en el computador.

    Computador entrega el resultado.

    Unidad 1

    http://find/
  • 8/3/2019 Programacion en C unidad 01 capitulos 1 y 2

    7/75

    Estructura fsica de un computadorLa medida de informacion

    AlgortimosAlgortimos

    Programacion

    Elementos principales del computador

    Elementos principales del computador

    La parte fsica del computador, es decir, todos aquelloscomponentes que conforman la estructura de un computador, seconocen como el Hardware (HW).

    CPU (Central Processing Unit)

    Memoria ROM

    Memoria RAM

    Memoria SecundariaPlaca Madre

    Dispositivos de Salida

    Dispositivos de Entrada

    Unidad 1

    http://find/
  • 8/3/2019 Programacion en C unidad 01 capitulos 1 y 2

    8/75

    Estructura fsica de un computadorLa medida de informacion

    AlgortimosAlgortimos

    Programacion

    Elementos principales del computador

    CPU

    CPU: Procesador. Es el cerebro del computador. Sus componentestpicos son la ALU y la CU.

    Unidad 1

    http://find/
  • 8/3/2019 Programacion en C unidad 01 capitulos 1 y 2

    9/75

    Estructura fsica de un computadorLa medida de informacion

    AlgortimosAlgortimos

    Programacion

    Elementos principales del computador

    Memoria ROMMemoria ROM: Programas basicos para el funcionamiento delhardware. Los datos almacenados en la ROM no se puedenmodificar, permitiendo solo su lectura.

    Unidad 1

    http://find/
  • 8/3/2019 Programacion en C unidad 01 capitulos 1 y 2

    10/75

    Estructura fsica de un computadorLa medida de informacion

    AlgortimosAlgortimos

    Programacion

    Elementos principales del computador

    Memoria RAMMemoria RAM: Dispositivo capaz de almacenar temporalmenteinformacion (al apagar el equipo, todo lo que se encontraba en laRAM se pierde), almacena informacion que la CPU esta accesando

    frecuentemente y necesita para poder trabajar. No es posible queel usuario acceda a ella. Ademas, es parte de la Memoria Principal, junto con la Memoria Cache.

    Unidad 1

    http://find/
  • 8/3/2019 Programacion en C unidad 01 capitulos 1 y 2

    11/75

    Estructura fsica de un computadorLa medida de informacion

    AlgortimosAlgortimos

    Programacion

    Elementos principales del computador

    Memoria SecundariaMemoria Secundaria: Todas aquellas unidades de disco que uncomputador puede tener. Se usa para almacenar grandescantidades de datos que requieren ser accesados en algun

    momento. Son de lento acceso (obtener informacion toma mastiempo que en la RAM). No es Volatil como la RAM (al apagar elequipo, no se pierde lo que hay en la memoria secundaria). Aqu elusuario se puede accesar a la memoria llamando directamente a losarchivos.

    Unidad 1

    http://find/
  • 8/3/2019 Programacion en C unidad 01 capitulos 1 y 2

    12/75

    Estructura fsica de un computadorLa medida de informacion

    AlgortimosAlgortimos

    Programacion

    Elementos principales del computador

    Placa MadrePlaca Madre: Tarjeta Madre. Es el lugar donde se conectan todoslos dispositivos como: procesador, memorias, tarjetas de video,sonido, red, etc.

    Unidad 1

    http://find/
  • 8/3/2019 Programacion en C unidad 01 capitulos 1 y 2

    13/75

    Estructura fsica de un computadorLa medida de informacion

    AlgortimosAlgortimos

    Programacion

    Elementos principales del computador

    Dispositivos de Entrada

    Dispositivos de Entrada: Elementos que permiten ingresarinformacion al computador, tales como: teclado, mouse,

    microfono, scanner, etc.

    Unidad 1

    f

    http://find/
  • 8/3/2019 Programacion en C unidad 01 capitulos 1 y 2

    14/75

    Estructura fsica de un computadorLa medida de informacion

    AlgortimosAlgortimos

    Programacion

    Elementos principales del computador

    Dispositivos de Salida

    Dispositivos de Salida: Elementos por los cuales el computadorentrega informacion, tales como: impresoras, monitor, parlantes,etc.

    Unidad 1

    http://find/
  • 8/3/2019 Programacion en C unidad 01 capitulos 1 y 2

    15/75

    E t t f i d t d

  • 8/3/2019 Programacion en C unidad 01 capitulos 1 y 2

    16/75

    Estructura fsica de un computadorLa medida de informacion

    AlgortimosAlgortimos

    Programacion

    Definicion de Algoritmo

    Definicion de Algoritmo

    Algoritmo

    Secuencia de pasos finita y ordenada que permite dar solucion a unproblema.

    Unidad 1

    Estructura fsica de un computador

    http://find/
  • 8/3/2019 Programacion en C unidad 01 capitulos 1 y 2

    17/75

    Estructura fsica de un computadorLa medida de informacion

    AlgortimosAlgortimos

    Programacion

    Definicion de AlgoritmoDefinicion de ProgramasTipos de Programas

    Definicion de Algoritmo

    Algoritmo

    Secuencia de pasos finita, no ambigua y ordenada que permite darsolucion a un problema.

    Unidad 1

    Estructura fsica de un computador

    http://find/
  • 8/3/2019 Programacion en C unidad 01 capitulos 1 y 2

    18/75

    Estructura fsica de un computadorLa medida de informacion

    AlgortimosAlgortimos

    Programacion

    Definicion de AlgoritmoDefinicion de ProgramasTipos de Programas

    Definicion de Programa

    Programa

    Es el complemento del Hardware (la parte fsica del computador).Son conjuntos de instrucciones capaces de decirle al computador

    que es lo que debe realizar.

    Los programas se pueden diferenciar en 4 grupos: de gestion derecursos, de usuario o aplicaciones, de soporte a aplicaciones,

    basicos.Todos los programas conforman el conjunto del Software (SW)del computador.Lo unico tangible del software es el lugar donde es almacenado(disco duro, CD, DVD, pendrive, diskette, etc).

    Unidad 1

    Estructura fsica de un computador

    http://find/
  • 8/3/2019 Programacion en C unidad 01 capitulos 1 y 2

    19/75

    Estructura fsica de un computadorLa medida de informacion

    AlgortimosAlgortimos

    Programacion

    Definicion de AlgoritmoDefinicion de ProgramasTipos de Programas

    Definicion de Programa

    Programa

    Es el complemento del Hardware (la parte fsica del computador).Son conjuntos de instrucciones capaces de decirle al computador

    que es lo que debe realizar.

    Los programas se pueden diferenciar en 4 grupos: de gestion derecursos, de usuario o aplicaciones, de soporte a aplicaciones,

    basicos.Todos los programas conforman el conjunto del Software (SW)del computador.Lo unico tangible del software es el lugar donde es almacenado(disco duro, CD, DVD, pendrive, diskette, etc).

    Unidad 1

    http://find/
  • 8/3/2019 Programacion en C unidad 01 capitulos 1 y 2

    20/75

  • 8/3/2019 Programacion en C unidad 01 capitulos 1 y 2

    21/75

    Estructura fsica de un computador

  • 8/3/2019 Programacion en C unidad 01 capitulos 1 y 2

    22/75

    La medida de informacionAlgortimosAlgortimos

    Programacion

    Definicion de AlgoritmoDefinicion de ProgramasTipos de Programas

    Definicion de Programa

    Programa

    Es el complemento del Hardware (la parte fsica del computador).Son conjuntos de instrucciones capaces de decirle al computador

    que es lo que debe realizar.

    Los programas se pueden diferenciar en 4 grupos: de gestion derecursos, de usuario o aplicaciones, de soporte a aplicaciones,

    basicos.Todos los programas conforman el conjunto del Software (SW)del computador.Lo unico tangible del software es el lugar donde es almacenado(disco duro, CD, DVD, pendrive, diskette, etc).

    Unidad 1

    Estructura fsica de un computador

    http://find/
  • 8/3/2019 Programacion en C unidad 01 capitulos 1 y 2

    23/75

    La medida de informacionAlgortimosAlgortimos

    Programacion

    Definicion de AlgoritmoDefinicion de ProgramasTipos de Programas

    Definicion de Programa

    Programa

    Es el complemento del Hardware (la parte fsica del computador).Son conjuntos de instrucciones capaces de decirle al computador

    que es lo que debe realizar.

    Los programas se pueden diferenciar en 4 grupos: de gestion derecursos, de usuario o aplicaciones, de soporte a aplicaciones,

    basicos.Todos los programas conforman el conjunto del Software (SW)del computador.Lo unico tangible del software es el lugar donde es almacenado(disco duro, CD, DVD, pendrive, diskette, etc).

    Unidad 1

    Estructura fsica de un computadorL did d i f i D fi i i d Al i

    http://find/
  • 8/3/2019 Programacion en C unidad 01 capitulos 1 y 2

    24/75

    La medida de informacionAlgortimosAlgortimos

    Programacion

    Definicion de AlgoritmoDefinicion de ProgramasTipos de Programas

    Definicion de Programa

    Programa

    Es el complemento del Hardware (la parte fsica del computador).Son conjuntos de instrucciones capaces de decirle al computador

    que es lo que debe realizar.

    Los programas se pueden diferenciar en 4 grupos: de gestion derecursos, de usuario o aplicaciones, de soporte a aplicaciones,

    basicos.Todos los programas conforman el conjunto del Software (SW)del computador.Lo unico tangible del software es el lugar donde es almacenado(disco duro, CD, DVD, pendrive, diskette, etc).

    Unidad 1

    Estructura fsica de un computadorL did d i f i D fi i i d Al it

    http://find/
  • 8/3/2019 Programacion en C unidad 01 capitulos 1 y 2

    25/75

    La medida de informacionAlgortimosAlgortimos

    Programacion

    Definicion de AlgoritmoDefinicion de ProgramasTipos de Programas

    Tipos de Programas

    de Gestion de Recursos: Conocidos como SistemasOperativos. Son el programa mas importante, ya que controlael funcionamiento del computador y de los demas programas.

    El sistema operativo, establece las reglas y parametros paraque las aplicaciones inter-actuen con el hardware delcomputador, utilizandolo como interprete entre ambas partes(aplicaciones-HW).

    Ademas, es el encargado de asignar los recursos de memoria oprocesador a las diferentes aplicaciones que estan corriendo enun momento dado.

    Unidad 1

    Estructura fsica de un computadorLa medida de informacion Definicion de Algoritmo

    http://find/
  • 8/3/2019 Programacion en C unidad 01 capitulos 1 y 2

    26/75

    La medida de informacionAlgortimosAlgortimos

    Programacion

    Definicion de AlgoritmoDefinicion de ProgramasTipos de Programas

    Tipos de Programas

    Programas de Gestion de Recursos: Ejemplos: Windows (NT, 3.x,95, 98, XP, Server 2003, Vista), Unix, Linux (RedHat, Debian,Mandrake, CentOS, SuSe, Fedora, etc), MacOS, Solaris, entremuchos mas.

    Unidad 1

    Estructura fsica de un computadorLa medida de informacion Definicion de Algoritmo

    http://find/
  • 8/3/2019 Programacion en C unidad 01 capitulos 1 y 2

    27/75

    La medida de informacionAlgortimosAlgortimos

    Programacion

    Definicion de AlgoritmoDefinicion de ProgramasTipos de Programas

    Tipos de Programas

    de Usuario o Aplicaciones: Programas que son escritos parao por los usuarios para realizar una tarea especfica en elcomputador.

    Ejemplos: procesadores de textos, hojas de calculo,

    aplicaciones para sonido y/o video, navegadores, antivirus, etc.

    Unidad 1

    Estructura fsica de un computadorLa medida de informacion Definicion de Algoritmo

    http://find/
  • 8/3/2019 Programacion en C unidad 01 capitulos 1 y 2

    28/75

    La medida de informacionAlgortimosAlgortimos

    Programacion

    Definicion de AlgoritmoDefinicion de ProgramasTipos de Programas

    Tipos de Programas

    de Soporte a Aplicaciones: Se tienen los drivers y loscodecs.

    Un driver es un programa (conjunto de instrucciones) quecontrola un dispositivo, ya sea externo o interno que vayaconectado al computador.

    Los archivos de audio y sonido se comprimen y descomprimen

    mediante ciertos algoritmos matematicos para poderalmacenar o ejecutar aquellos archivos. Un codec es unprogramita desarrollado en base a estas formulas matematicasde compresion. De ah su nombre que proviene deCOmpresion y DECompresion.

    Unidad 1

    Estructura fsica de un computadorLa medida de informacion Definicion de Algoritmo

    http://find/
  • 8/3/2019 Programacion en C unidad 01 capitulos 1 y 2

    29/75

    La medida de informacionAlgortimosAlgortimos

    Programacion

    Definicion de AlgoritmoDefinicion de ProgramasTipos de Programas

    Tipos de Programas

    Basicos: La BIOS (Basic Input-Output System) es un codigoque localiza y carga el sistema operativo en la RAM.

    Proporciona el funcionamiento y configuracion del hardwaredel sistema que, como mnimo, maneja el teclado yproporciona salida basica (emitiendo pitidos normalizados porel altavoz del ordenador si se producen fallos) durante el

    arranque.

    La BIOS generalmente esta escrito en lenguaje ensamblador.

    Unidad 1

    Estructura fsica de un computadorLa medida de informacion

    Lenguajes de ProgramacionD fi i i

    http://find/
  • 8/3/2019 Programacion en C unidad 01 capitulos 1 y 2

    30/75

    AlgortimosAlgortimos

    Programacion

    DefinicionesParadigmas de ProgramacionCaractersticas del lenguaje C

    Lenguajes de Programacion

    Un Lenguaje de Programacion es aquel que se utiliza paradesarrollar programas que el computador pueda entender. Estanformados por conjuntos de smbolos (alfabeto) y reglas.Cada da, existen problemas mas diversos y complejos; loslenguajes de programacion deben ser capaz de adaptarse y entregar

    eficiencia en la ejecucion.

    Unidad 1

    Estructura fsica de un computadorLa medida de informacion

    Lenguajes de ProgramacionDefiniciones

    http://find/
  • 8/3/2019 Programacion en C unidad 01 capitulos 1 y 2

    31/75

    AlgortimosAlgortimos

    Programacion

    DefinicionesParadigmas de ProgramacionCaractersticas del lenguaje C

    Tipos de lenaguaje de Programacion

    Existen 3 tipos de Lenguajes de Programacion:

    1 Lenguaje de Maquina

    2 Lenguajes de Bajo Nivel (ensamblador)

    3 Lenguajes de Alto Nivel (C, Pascal, Basic, Algol, Cobol,Fortran, Prolog, entre muchos mas)

    Los lenguajes que tiene mayor semejanza con el lenguaje humanose les llama lenguajes de alto nivel, mientras que los lenguajes masparecidos al lenguaje de maquina son conocidos como de bajo nivel.

    Unidad 1

    Estructura fsica de un computadorLa medida de informacion

    Lenguajes de ProgramacionDefiniciones

    http://find/
  • 8/3/2019 Programacion en C unidad 01 capitulos 1 y 2

    32/75

    AlgortimosAlgortimos

    Programacion

    DefinicionesParadigmas de ProgramacionCaractersticas del lenguaje C

    Lenguaje Ensamblador y de Maquina

    El Lenguaje Ensamblador es una notacion del lenguaje de maquinaque es legible por personas y es especfica de cada arquitectura de

    computadoras.

    Mientras que el Lenguaje de Maquina es el sistema de codigosdirectamente interpretable por un circuito microprogramable, comoel microprocesador de un computador. As, el lenguaje estacompuesto por un conjunto de instrucciones que determinanacciones a ser tomadas por la maquina.

    Unidad 1

    Estructura fsica de un computadorLa medida de informacion

    Al i

    Lenguajes de ProgramacionDefiniciones

    http://find/
  • 8/3/2019 Programacion en C unidad 01 capitulos 1 y 2

    33/75

    AlgortimosAlgortimos

    Programacion

    DefinicionesParadigmas de ProgramacionCaractersticas del lenguaje C

    Definicion de Compilador

    Compilador

    Es un programa encargado de transformar el codigo escrito por una

    persona a un codigo que el computador pueda entender, es decir, aun lenguaje de bajo nivel o a lenguaje de maquina.

    Ejemplos de Compiladores C

    Borland C++; MS Visual C++; GNU gcc/c++ (versin MinGWpara Windows), GNU gcc/g++ para Linux, Dev-C++ (Windows),Borland Turbo C++.

    Unidad 1

    Estructura fsica de un computadorLa medida de informacion

    Al ti

    Lenguajes de ProgramacionDefiniciones

    http://find/
  • 8/3/2019 Programacion en C unidad 01 capitulos 1 y 2

    34/75

    AlgortimosAlgortimos

    Programacion

    DefinicionesParadigmas de ProgramacionCaractersticas del lenguaje C

    Definicion de Compilador

    Compilador

    Es un programa encargado de transformar el codigo escrito por una

    persona a un codigo que el computador pueda entender, es decir, aun lenguaje de bajo nivel o a lenguaje de maquina.

    Ejemplos de Compiladores C

    Borland C++; MS Visual C++; GNU gcc/c++ (versin MinGWpara Windows), GNU gcc/g++ para Linux, Dev-C++ (Windows),Borland Turbo C++.

    Unidad 1

    Estructura fsica de un computadorLa medida de informacion

    Algortimos

    Lenguajes de ProgramacionDefiniciones

    http://find/
  • 8/3/2019 Programacion en C unidad 01 capitulos 1 y 2

    35/75

    AlgortimosAlgortimos

    Programacion

    Paradigmas de ProgramacionCaractersticas del lenguaje C

    Definicion de Ensamblador

    Ensamblador

    Un ensamblador es un programa que traduce de un lenguajeensamblador a lenguaje maquina.

    Unidad 1

    http://find/
  • 8/3/2019 Programacion en C unidad 01 capitulos 1 y 2

    36/75

  • 8/3/2019 Programacion en C unidad 01 capitulos 1 y 2

    37/75

    Estructura fsica de un computadorLa medida de informacion

    Algortimos

    Lenguajes de ProgramacionDefinicionesP di d P i

  • 8/3/2019 Programacion en C unidad 01 capitulos 1 y 2

    38/75

    AlgortimosAlgortimos

    Programacion

    Paradigmas de ProgramacionCaractersticas del lenguaje C

    Lenguaje Imperativo o procedural.

    Niklaus Wirth:

    Cualquier problema algortmico puede resolverse con el uso deestos tres tipos de instrucciones.

    Secuenciales Instrucciones que se ejecutan en orden normal.El flujo del programa ejecuta la instruccion y pasa a ejecutarla siguiente.

    Alternativas Instrucciones en las que se evalua una condicion ydependiendo si el resultado es verdadero o no, el flujo delprograma se dirigira a una instruccion o a otra.

    Iterativas Instrucciones que se repiten continuamente hastaque se cumple una determinada condicion.

    Unidad 1

    Estructura fsica de un computadorLa medida de informacion

    Algortimos

    Lenguajes de ProgramacionDefinicionesP di d P i

    http://find/
  • 8/3/2019 Programacion en C unidad 01 capitulos 1 y 2

    39/75

    go t osAlgortimos

    Programacion

    Paradigmas de ProgramacionCaractersticas del lenguaje C

    Lenguajes Funcionales

    Estan constituidos unicamente por definiciones de funciones,entendiendo estas no como subprogramas clasicos de unlenguaje imperativo, sino como funciones puramentematematicas, basado en logica.

    Ejemplo: Haskell, Miranda, Lisp

    Unidad 1

    Estructura fsica de un computadorLa medida de informacion

    Algortimos

    Lenguajes de ProgramacionDefinicionesParadigmas de Programacion

    http://find/
  • 8/3/2019 Programacion en C unidad 01 capitulos 1 y 2

    40/75

    gAlgortimos

    Programacion

    Paradigmas de ProgramacionCaractersticas del lenguaje C

    Lenguajes Logicos

    El programador, parar solucionar un problema, todo lo quetiene que hacer es describirlo va axiomas y reglas dededuccion.

    Ej. : PROLOG

    Unidad 1

    Estructura fsica de un computadorLa medida de informacion

    Algortimos

    Lenguajes de ProgramacionDefinicionesParadigmas de Programacion

    http://find/
  • 8/3/2019 Programacion en C unidad 01 capitulos 1 y 2

    41/75

    AlgortimosProgramacion

    Paradigmas de ProgramacionCaractersticas del lenguaje C

    Lenguajes Orientados a Objetos

    Se introducen los conceptos de objetos, clases y metodos Laidea de la POO es poseer un conjunto de objetos que secomunican y colaboran entre si para dar solucion a unproblema.

    Ejemplo: Java, C++

    Unidad 1

    Estructura fsica de un computadorLa medida de informacion

    Algortimos

    Lenguajes de ProgramacionDefinicionesParadigmas de Programacion

    http://find/
  • 8/3/2019 Programacion en C unidad 01 capitulos 1 y 2

    42/75

    AlgortimosProgramacion

    Paradigmas de ProgramacionCaractersticas del lenguaje C

    Caractersticas del lenguaje C

    C es un lenguaje de programacion estructurado.

    El lenguaje C fue disenado por Dennis Ritchie, de losLaboratorios Bell.

    Brian Kernighan y Dennis Ritchie publicaron, en el ano 1978,el libro The C Programming Language que es la definicionimportante del lenguaje.

    Otro estandar:The C Programming Language-ReferenceManual (Lab.Bell) escrito por Dennis M. Ritchie.

    Unidad 1

    Estructura fsica de un computadorLa medida de informacion

    AlgortimosAl i

    Lenguajes de ProgramacionDefinicionesParadigmas de Programacion

    http://find/
  • 8/3/2019 Programacion en C unidad 01 capitulos 1 y 2

    43/75

    AlgortimosProgramacion

    Paradigmas de ProgramacionCaractersticas del lenguaje C

    Caractersticas del lenguaje C

    Permite estructuras de control while, do-while, for.

    Posee un conjunto reducido de palabras claves.

    Permite manejar bits, bytes y direcciones.

    A mediados de los ochenta se crea el C++, que corresponde auna extension del lenguaje C con un paradigma Orientado aObjetos. El C++ se convierte en estandar ISO en 1998. ParaC no se consideraran mas modificaciones, se haran para C++.

    No comprueba errores en tiempo de ejecucion Por ejemploque no se asignen datos a posiciones de arreglos que no hansido creadas. El programados es el encargado de verificarestas comprobaciones.

    Unidad 1

    http://find/
  • 8/3/2019 Programacion en C unidad 01 capitulos 1 y 2

    44/75

    Parte II: Estructura de un programa en C.

    Unidad 1

    http://find/
  • 8/3/2019 Programacion en C unidad 01 capitulos 1 y 2

    45/75

    Contenidos Parte II

    Generalidades

    Estructura general de un programaBibliotecas o Cabeceras

    Sentencias importantes para el compilador

    Funciones

    Proceso de compilacion

    Unidad 1

    GeneralidadesEstructura de un Programa en C

    Bibliotecas o CabecerasSentencias importantes para compilar

    Generalidades

    http://find/
  • 8/3/2019 Programacion en C unidad 01 capitulos 1 y 2

    46/75

    FuncionesProceso de compilacion

    Generalidades

    Un programa en C consta de una o mas funcionesExiste una funcion que siempre debe estar: main(). Es laprimera funcion que es llamada cuando el programa esejecutado.

    Unidad 1

    GeneralidadesEstructura de un Programa en C

    Bibliotecas o CabecerasSentencias importantes para compilar

    http://find/
  • 8/3/2019 Programacion en C unidad 01 capitulos 1 y 2

    47/75

    FuncionesProceso de compilacion

    Estructura de un Programa en C

    /*Declaracion de Bibliotecas*/

    #include

    /*Declaracion de Funciones*/

    int main(){/*Declaracion de Variables y Constantes*/

    /*Sentencias separadas por ; */

    return 0;

    }

    Unidad 1

    GeneralidadesEstructura de un Programa en C

    Bibliotecas o CabecerasSentencias importantes para compilar

    F i

    http://find/
  • 8/3/2019 Programacion en C unidad 01 capitulos 1 y 2

    48/75

    FuncionesProceso de compilacion

    Estructura de un Programa en C

    Estructura

    Un programa en C es construdo mediante 3 elementos:

    Declaraciones: de variables y constantes

    Sentencias: las cuales se componen de conjuntos deinstrucciones en donde,

    Un bloque de instrucciones se delimita mediante { }Cada sentencia se separa mediante ; con la siguiente

    Comentarios: los cuales no son considerados al momento dela Compilacion y se escriben entre /* */

    Unidad 1

    GeneralidadesEstructura de un Programa en C

    Bibliotecas o CabecerasSentencias importantes para compilar

    F i s

    http://find/
  • 8/3/2019 Programacion en C unidad 01 capitulos 1 y 2

    49/75

    FuncionesProceso de compilacion

    Estructura de un Programa en C

    Estructura

    Un programa en C es construdo mediante 3 elementos:

    Declaraciones: de variables y constantes

    Sentencias: las cuales se componen de conjuntos deinstrucciones en donde,

    Un bloque de instrucciones se delimita mediante { }Cada sentencia se separa mediante ; con la siguiente

    Comentarios: los cuales no son considerados al momento dela Compilacion y se escriben entre /* */

    Unidad 1

    GeneralidadesEstructura de un Programa en C

    Bibliotecas o CabecerasSentencias importantes para compilar

    Funciones

    http://find/
  • 8/3/2019 Programacion en C unidad 01 capitulos 1 y 2

    50/75

    FuncionesProceso de compilacion

    Estructura de un Programa en C

    Estructura

    Un programa en C es construdo mediante 3 elementos:

    Declaraciones: de variables y constantesSentencias: las cuales se componen de conjuntos deinstrucciones en donde,

    Un bloque de instrucciones se delimita mediante { }Cada sentencia se separa mediante ; con la siguiente

    Comentarios: los cuales no son considerados al momento dela Compilacion y se escriben entre /* */

    Unidad 1

    GeneralidadesEstructura de un Programa en C

    Bibliotecas o CabecerasSentencias importantes para compilar

    Funciones

    http://find/
  • 8/3/2019 Programacion en C unidad 01 capitulos 1 y 2

    51/75

    FuncionesProceso de compilacion

    Estructura de un Programa en C

    Estructura

    Un programa en C es construdo mediante 3 elementos:

    Declaraciones: de variables y constantesSentencias: las cuales se componen de conjuntos deinstrucciones en donde,

    Un bloque de instrucciones se delimita mediante { }Cada sentencia se separa mediante ; con la siguiente

    Comentarios: los cuales no son considerados al momento dela Compilacion y se escriben entre /* */

    Unidad 1

    GeneralidadesEstructura de un Programa en C

    Bibliotecas o CabecerasSentencias importantes para compilar

    Funciones

    http://find/
  • 8/3/2019 Programacion en C unidad 01 capitulos 1 y 2

    52/75

    FuncionesProceso de compilacion

    Bibliotecas o Cabeceras

    C posee un conjunto de bibliotecas que contiene una variedad

    de funciones.Se colocan al principio del archivo se la siguiente forma.

    #include

    #include "cabecera.h"

    Unidad 1

    GeneralidadesEstructura de un Programa en C

    Bibliotecas o CabecerasSentencias importantes para compilar

    Funciones

    Sentencias importantes para compilar

    http://find/
  • 8/3/2019 Programacion en C unidad 01 capitulos 1 y 2

    53/75

    FuncionesProceso de compilacion

    Sentencias importantes para compilar

    Son aquellas que el computador interpreta antes de la compilaciondel programa.Comienzan por el signo #Ej.

    #define PI 3.14

    #include

    # define PRUEBA 1

    ...

    ...

    Unidad 1

    GeneralidadesEstructura de un Programa en C

    Bibliotecas o CabecerasSentencias importantes para compilar

    Funciones

    Funciones

    http://find/
  • 8/3/2019 Programacion en C unidad 01 capitulos 1 y 2

    54/75

    Proceso de compilacion

    Funciones

    Encabezado = tipo Retorno nombreFuncion (p1, p2, p3)Parametros = p1, p2, p3;

    {Cuerpo funcion

    Declaraciones = tipo a1;Sentencias = sentencia;

    ...

    sentencia;}

    Unidad 1

    GeneralidadesEstructura de un Programa en C

    Bibliotecas o CabecerasSentencias importantes para compilar

    Funciones

    Funciones

    http://find/
  • 8/3/2019 Programacion en C unidad 01 capitulos 1 y 2

    55/75

    Proceso de compilacion

    Funciones - ejemplo

    int suma(int x, int y)

    {

    int z;

    z=0;

    z=x+y;

    return z;}

    Unidad 1

    http://find/
  • 8/3/2019 Programacion en C unidad 01 capitulos 1 y 2

    56/75

    GeneralidadesEstructura de un Programa en CBibliotecas o Cabeceras

    Sentencias importantes para compilarFunciones

    P d il i

    Preprocesado

    CompilacionEnsambladoEnlazadoProceso CompletoProceso Completo

  • 8/3/2019 Programacion en C unidad 01 capitulos 1 y 2

    57/75

    Proceso de compilacionProceso CompletoCompilar y ejecutar un programa

    Proceso de compilacion

    #define PI 3.1416

    main() {

    float area, radio;

    radio = 10;

    area = PI * (radio * radio);

    printf("Circulo.\n");printf("%s%f\n\n", "Area de circulo radio 10: ", area);

    }

    Unidad 1

    GeneralidadesEstructura de un Programa en CBibliotecas o Cabeceras

    Sentencias importantes para compilarFunciones

    P d il i

    Preprocesado

    CompilacionEnsambladoEnlazadoProceso CompletoProceso Completo

    http://find/
  • 8/3/2019 Programacion en C unidad 01 capitulos 1 y 2

    58/75

    Proceso de compilacionp

    Compilar y ejecutar un programa

    Preprocesado

    Actua sobre el programa fuente

    Permite realizar algunas operaciones antes de que el codigosea compilado

    Operaciones como:Sustitucion de constantes simbolicasAquellas lneas que comienzan con ## include # include archivo.h

    La primera busca en el o los directorios estandares de laslibrerias definidas en CEl segundo busca en el directorio en donde se esta trabajandoy en los directorios estandares de C# define constante

    Unidad 1

    GeneralidadesEstructura de un Programa en CBibliotecas o Cabeceras

    Sentencias importantes para compilarFunciones

    Proceso de compilacion

    Preprocesado

    CompilacionEnsambladoEnlazadoProceso CompletoProceso Completo

    http://find/
  • 8/3/2019 Programacion en C unidad 01 capitulos 1 y 2

    59/75

    Proceso de compilacionp

    Compilar y ejecutar un programa

    Preprocesado

    gcc -E circulo.c > circulo.pp

    more circulo.pp

    Unidad 1

    GeneralidadesEstructura de un Programa en CBibliotecas o Cabeceras

    Sentencias importantes para compilarFunciones

    Proceso de compilacion

    Preprocesado

    CompilacionEnsambladoEnlazadoProceso CompletoProceso Completo

    http://find/
  • 8/3/2019 Programacion en C unidad 01 capitulos 1 y 2

    60/75

    Proceso de compilacionCompilar y ejecutar un programa

    Compilacion

    Compilacion Condicional

    Permite compilar solo algunas partes del codigo fuente

    Se suele utilizar cuando se tiene varias versiones de unprograma

    Por ej:Versiones para diferentes sistemas operativosVersion de un compilador gratuito que no tiene todas las

    funcionalidades o version completa de un programaUso de #if, #else, #elif, #endifUso de #ifdef y #undef

    Unidad 1

    GeneralidadesEstructura de un Programa en CBibliotecas o Cabeceras

    Sentencias importantes para compilarFunciones

    Proceso de compilacion

    Preprocesado

    CompilacionEnsambladoEnlazadoProceso CompletoProceso Completo

    http://find/
  • 8/3/2019 Programacion en C unidad 01 capitulos 1 y 2

    61/75

    Proceso de compilacionCompilar y ejecutar un programa

    Compilacion

    Compilacion Condicional Ejemplo 1.

    #if SYSTEM == OSX

    #define HDR "osx.h"

    #elif SYSTEM == MSDOS

    #define HDR "msod.h"

    #elif SYSTEM == BSD

    #define HDR "bsd.h"

    #else#define "default.h"

    #enif

    #include HDR

    Unidad 1

    GeneralidadesEstructura de un Programa en CBibliotecas o Cabeceras

    Sentencias importantes para compilarFunciones

    Proceso de compilacion

    Preprocesado

    CompilacionEnsambladoEnlazadoProceso CompletoProceso CompletoC il j

    http://find/
  • 8/3/2019 Programacion en C unidad 01 capitulos 1 y 2

    62/75

    Proceso de compilacionCompilar y ejecutar un programa

    Compilacion

    Compilacion Condicional Ejemplo 2. Segun una constante

    #define max 10

    int main()

    {

    //entrada de datos

    #if max >10

    . . .

    #else. . .

    #endif

    return 0;

    }

    Unidad 1

    GeneralidadesEstructura de un Programa en CBibliotecas o Cabeceras

    Sentencias importantes para compilarFunciones

    Proceso de compilacion

    Preprocesado

    CompilacionEnsambladoEnlazadoProceso CompletoProceso CompletoC il j t

    http://find/
  • 8/3/2019 Programacion en C unidad 01 capitulos 1 y 2

    63/75

    pCompilar y ejecutar un programa

    Compilacion

    El compilador se encarga de analizar el codigo fuente.

    Busca la existencia de errores.

    Tiene como salida un archivo con la traduccion del codigofuente a un conjunto de instrucciones para el procesador.

    Si existen varios archivos, lo que es conveniente si es que unarchivo es muy grande, se consideraran todos lo archivos.

    La compilacion transforma el codigo C en el lenguajeensamblador propio del procesador de nuestra maquina.

    Unidad 1

    GeneralidadesEstructura de un Programa en CBibliotecas o Cabeceras

    Sentencias importantes para compilarFunciones

    Proceso de compilacion

    Preprocesado

    CompilacionEnsambladoEnlazadoProceso CompletoProceso CompletoCompilar y ejecutar un programa

    http://find/
  • 8/3/2019 Programacion en C unidad 01 capitulos 1 y 2

    64/75

    pCompilar y ejecutar un programa

    Compilacion

    gcc -S circulo.c

    more circulo.s

    Unidad 1

    GeneralidadesEstructura de un Programa en CBibliotecas o Cabeceras

    Sentencias importantes para compilarFunciones

    Proceso de compilacion

    Preprocesado

    CompilacionEnsambladoEnlazadoProceso CompletoProceso CompletoCompilar y ejecutar un programa

    http://find/
  • 8/3/2019 Programacion en C unidad 01 capitulos 1 y 2

    65/75

    Compilar y ejecutar un programa

    Ensamblado

    El ensamblado transforma el programa escrito en lenguajeensamblador a codigo objeto, un archivo binario en lenguajede maquina ejecutable por el procesador.

    Unidad 1

    GeneralidadesEstructura de un Programa en CBibliotecas o Cabeceras

    Sentencias importantes para compilarFunciones

    Proceso de compilacion

    Preprocesado

    CompilacionEnsambladoEnlazadoProceso CompletoProceso CompletoCompilar y ejecutar un programa

    http://find/
  • 8/3/2019 Programacion en C unidad 01 capitulos 1 y 2

    66/75

    Compilar y ejecutar un programa

    Ensamblado

    gcc -c circulo.c

    more circulo.o

    Unidad 1

    GeneralidadesEstructura de un Programa en CBibliotecas o Cabeceras

    Sentencias importantes para compilarFunciones

    Proceso de compilacion

    Preprocesado

    CompilacionEnsambladoEnlazadoProceso CompletoProceso CompletoCompilar y ejecutar un programa

    http://find/
  • 8/3/2019 Programacion en C unidad 01 capitulos 1 y 2

    67/75

    Compilar y ejecutar un programa

    Enlazado

    Reune todos los archivos objetos de la fase anterior

    produciendo un solo archivo ejecutable.C provee un conjunto de libreras, que es un conjunto quemodulos objetos que han sido reunidos en un solo archivo.

    Muchas de estas libreras estan declaradas en archivos

    cabeceras.

    Unidad 1

    GeneralidadesEstructura de un Programa en C

    Bibliotecas o CabecerasSentencias importantes para compilar

    FuncionesProceso de compilacion

    Preprocesado

    CompilacionEnsambladoEnlazadoProceso CompletoProceso CompletoCompilar y ejecutar un programa

    http://find/
  • 8/3/2019 Programacion en C unidad 01 capitulos 1 y 2

    68/75

    p y j p g

    Enlazado

    gcc -o circulo circulo.o

    ./circulo

    Unidad 1

    GeneralidadesEstructura de un Programa en C

    Bibliotecas o CabecerasSentencias importantes para compilar

    FuncionesProceso de compilacion

    Preprocesado

    CompilacionEnsambladoEnlazadoProceso CompletoProceso CompletoCompilar y ejecutar un programa

    http://find/
  • 8/3/2019 Programacion en C unidad 01 capitulos 1 y 2

    69/75

    j

    Proceso Completo

    Cabecera Cabecera

    Cabecera

    Modulo Fuente Compilacin

    Enlazado

    Modulo Ejecutable

    Modulo

    Objeto

    Librera

    Modulo Fuente

    Modulo Fuente

    Unidad 1

    http://find/
  • 8/3/2019 Programacion en C unidad 01 capitulos 1 y 2

    70/75

    GeneralidadesEstructura de un Programa en C

    Bibliotecas o CabecerasSentencias importantes para compilar

    FuncionesProceso de compilacion

    Preprocesado

    CompilacionEnsambladoEnlazadoProceso CompletoProceso CompletoCompilar y ejecutar un programa

  • 8/3/2019 Programacion en C unidad 01 capitulos 1 y 2

    71/75

    Compilar y ejecutar un programa

    En un editor escribir un programa en C con nombreprimerprograma.c

    Guardar y salir del editorCompilar mediante:

    gcc primerprograma.c -o primerprograma

    Ejecutar:

    ./primerprograma

    Unidad 1

    GeneralidadesEstructura de un Programa en C

    Bibliotecas o CabecerasSentencias importantes para compilar

    FuncionesProceso de compilacion

    Preprocesado

    CompilacionEnsambladoEnlazadoProceso CompletoProceso CompletoCompilar y ejecutar un programa

    http://find/
  • 8/3/2019 Programacion en C unidad 01 capitulos 1 y 2

    72/75

    Compilacion: Ejemplo

    #include

    int main(){int a = 2 ;

    char b = x;

    printf(El valor de a es %d y el de b es %c, a,

    b);

    return 0;

    }

    $ gcc ejemplo2.c -o ejemplo2$ ./ejemplo2

    El valor de a es 2 y el de b es x

    Unidad 1

    GeneralidadesEstructura de un Programa en C

    Bibliotecas o CabecerasSentencias importantes para compilar

    FuncionesProceso de compilacion

    Preprocesado

    CompilacionEnsambladoEnlazadoProceso CompletoProceso CompletoCompilar y ejecutar un programa

    http://find/
  • 8/3/2019 Programacion en C unidad 01 capitulos 1 y 2

    73/75

    Resumen

    Resumen.Para producir un ejecutable con fuente de un solo archivo:

    $ gcc -o circulo circulo.c

    Para crear un modulo objeto, con el mismo nombre del fuente yextension .o:

    $ gcc -c circulo.c

    Para enlazar un modulos objeto:

    $ gcc -o circulo circulo.oPara enlazar los modulos objeto triangulo.o, cuadrado.o, circulo.o,ya compilados separadamente, en el archivo ejecutable area:

    $ gcc -o area triangulo.o cuadrado.o circulo.o

    Unidad 1

    GeneralidadesEstructura de un Programa en C

    Bibliotecas o CabecerasSentencias importantes para compilar

    FuncionesProceso de compilacion

    Preprocesado

    CompilacionEnsambladoEnlazadoProceso CompletoProceso CompletoCompilar y ejecutar un programa

    http://find/
  • 8/3/2019 Programacion en C unidad 01 capitulos 1 y 2

    74/75

    Compilacion: Errores y Warnings

    Error:

    El compilador aborta el proceso de compilacion.

    Ejemplo: variables asignadas pero sin declarar el tipo de dato.

    Warning (-Wall):

    No son errores.

    El compilador sugiere corregir el problema para evitar errores.Ej. variables sin uso.

    Unidad 1

    Preguntas

    http://find/
  • 8/3/2019 Programacion en C unidad 01 capitulos 1 y 2

    75/75

    Preguntas

    Unidad 1

    http://find/