Cap 01 - Introduccion Al Lenguaje C

20
1 Estudios Generales Ciencias Pontificia Universidad Católica del Perú Lenguaje de Programación Capítulo 1: Introducción al lenguaje C

description

bueno

Transcript of Cap 01 - Introduccion Al Lenguaje C

  • 1Estudios Generales Ciencias

    Pontificia Universidad Catlica del Per

    Lenguaje de Programacin

    Captulo 1:

    Introduccin al

    lenguaje C

  • Pontificia Universidad Catlica del Per 2

    Contenido

    Planteamiento de soluciones a problemas simples usando Diagramas de Flujo

    Lenguajes de programacin

    Clasificacin

    Formas exactas y aproximadas de solucin

    Lenguaje de programacin C

    Algunas caractersticas generales

    Estructura general de un programa en C

    Bibliografa

  • Pontificia Universidad Catlica del Per 3

    Diagramas de Flujo - Smbolos

  • Pontificia Universidad Catlica del Per 4

    Diagramas de Flujo Ms smbolos

  • Pontificia Universidad Catlica del Per 5

    Problema

    Elabore un diagrama de flujo que solucione el problema de calcular el mximo comn divisor (MCD) de dos nmeros ledos por teclado, segn el siguiente mtodo:

    El MCD de dos nmeros se obtiene dividiendo el mayor de los nmeros dados por el menor. Si la divisin es exacta, el menor es el MCD; si es inexacta, se divide el divisor por el residuo. Lo anterior se repite hasta obtener una divisin exacta, siendo el ltimo divisor el MCD.

    Muestre el resultado en pantalla.

  • Pontificia Universidad Catlica del Per 6

    Solucin en Diagrama de Flujo

  • Pontificia Universidad Catlica del Per 7

    Lenguajes de programacin

    Lenguaje conjunto de smbolos y signos que permiten la expresin y comunicacin de ideas entre personas que lo manejan.

    Sintaxis: coordinar y unir palabras

    Gramtica: Arte de hablar y escribir un lenguaje con correcin

    Lenguaje de programacin conjunto de signos que permiten la comunicacin hombre / computadora

  • Pontificia Universidad Catlica del Per 8

    Una clasificacin para lenguajes de programacin (1)

    Lenguajes de Mquina

    Secuencias de nmeros que proporcionan instrucciones (rdenes) de mquina especficas

    1300042774

    1400593419

    1200274027

    Lenguajes Ensambladores

    Abreviaciones en ingls que representan operaciones bsicas para la computadora

    Reduce complejidad de los L. de mquina LOAD SUELDO_BASICO

    ADD HORAS_EXTRA

    STORE IMPORTE_NETO

  • Pontificia Universidad Catlica del Per 9

    Una clasificacin para lenguajes de programacin (2)

    Lenguajes de Alto Nivel

    Lenguaje ms cercano al humano (ingls)

    IMPORTE_NETO = SUELDO_BASICO + HORAS_EXTRA

  • Pontificia Universidad Catlica del Per 10

    El lenguaje de Programacin C (1)

    C Derivado a partir del Lenguaje B ( y del BPCL)

    por Dennis Ritchie de los Laboratorios BELL, 1972 implantado por primera vez en una computadora PDP-11 de DEC

    Usado para desarrollar el UNIX

    Independiente del Hardware (portable)

    Existieron muchas variaciones leves del C incompatibles entre si

    Se cre un Comit para formar una definicin no ambigua independiente de la mquina

    Estndar se cre en 1989, actualizada en 1999

  • Pontificia Universidad Catlica del Per 11

    El lenguaje de Programacin C (2)

    Un lenguaje de nivel medio

    Combina elementos de lenguajes de alto nivel (Pascal, Basic) con funcionalidades de lenguaje ensamblador (Assembler)

    Mejor manejo de recursos de hardware: : disco y archivos

    Mejor manejo de posiciones de memoria

    Portabilidad

  • Pontificia Universidad Catlica del Per 12

    El lenguaje de Programacin C (3)

    Un lenguaje estructurado

    Estructura basada en funciones

    Recuerde concepto de funciones en Pascal

    Bloques independientes invocados desde un bloque principal

    Concepto de mdulo principal y mdulos secundarios

  • Pontificia Universidad Catlica del Per 13

    Estructura general de un programa en C (1)

    Ligeras salvedades a la metodologa top-down

    Declaraciones globales

    Declaraciones de librerias

    main()

    {

    }

    funcion1(lista de parmetros)

    { variables locales de la funcin

    instrucciones de la funcin

    }

    funcion2(lista de parmetros)

    { variables locales de la funcin

    instrucciones de la funcin

    }

    funcionNN(lista de parmetros)

    { variables locales de la funcin

    instrucciones de la funcin

    }

    Relacione: Funciones ya

    implementadasPrograma principal

    Funciones que sern usadas en el main

  • Pontificia Universidad Catlica del Per 14

    Estructura general de un programa en C (2)

    Ejemplo 1

    #include

    main()

    {

    printf("hola mundo \n");

    }

    Librera de C que contiene funciones entrada y salida

    de datos

    Programa principal sin funciones auxiliares

  • Pontificia Universidad Catlica del Per 15

    Estructura general de un programa en C (3)

    Algunas diferencias que podemos percatarnos con Visual Basic:

    Concepto de bloque No se forma usando function o sub y end

    Se requiere de llaves {}

    Libreras Para casi todas las acciones posibles en C,

    existen funciones en determinadas libreras que debern ser invocadas convenientemente

  • Pontificia Universidad Catlica del Per 16

    Estructura general de un programa en C (4)

    Ejemplo 2: convertir grados centgrados a Fahrenheit

    #include

    void main()

    { float F,C;

    scanf("%f",&C);

    F = (9.0 / 5.0)*C + 32;

    printf("%f", F);

    }

  • Pontificia Universidad Catlica del Per 17

    Proceso de ejecucin de un programa escrito en C (1)

    Fases del proceso de diseo

    Editar: escribir el programa fuente

    Preprocesar

    Compilar (Compile): deteccin de errores

    Enlazar (Link): el programa *.C con las libreras usadas en l (*.H)

    Cargar (Load): creacin del ejecutable

    Ejecutar (Execute)

  • Pontificia Universidad Catlica del Per 18

    Proceso de ejecucin de un programa escrito en C (2)

    Preprocesa las directivas

    Cargador coloca el programa

    en memoria

    El compilador crea el cdigo

    objeto y lo almacena en disco

    El enlazador vincula el cdigo

    objeto con las librerias

    Loader

    Primary Memory

    Compiler

    Editor

    Preprocessor

    Linker

    .

    .

    .

    .

    .

    .

    Disk

    Disk

    Disk

    Disk

    Disk

  • Pontificia Universidad Catlica del Per 19

    Proceso de ejecucin de un programa escrito en C (3)

    Fuente Compilador

    EnlazadoCompilacinPrecompilacin

    *.C

    *.H*.C *.OBJ

    *. EXE

    Programa

    *.LIB

    *.LIB

    Librera

    estndar

  • Pontificia Universidad Catlica del Per 20

    Bibliografa

    B. Kernighan; D. Ritchie El lenguaje de programacin C. Prentice-Hall Hispanoamericana, Mxico (1988)

    H. Schildt Turbo C/C++ Manual de referencia. McGraw-Hill Interamericana, Espaa (1992)