clase programación 14

Upload: gmullerb

Post on 31-May-2018

220 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/14/2019 Clase Programacin 14

    1/138

    Programacin

    Prof. Gonzalo Mller

    [email protected] de Ingeniera

    Universidad Central de Venezuela

    Clase 14. Lenguaje C y C++

  • 8/14/2019 Clase Programacin 14

    2/138

    Clase Anterior

    Tipos de Datos:

    Numricos:

    Entero: Sin Signo: 1, 2, 4 y 8 bytes.

    Con Signo: 1, 2, 4 y 8 bytes.

    Programacin Prof. Gonzalo Mller Clase 14 GM - 2

    Real: 4 bytes.

    8 bytes.

    Lgicos.

    Carcter.

  • 8/14/2019 Clase Programacin 14

    3/138

    Programa fuente:

    Fortran, Pascal, C++, etc.

    Editor de

    Texto

    Algoritmo+

    Tipos de Datos

    Compilador

    Creacin de un programa utilizando un lenguaje deprogramacin compilado

    Lenguaje de programacin Compilado

    Programacin Prof. Gonzalo Mller Clase 14 GM - 3

    Programa objeto (.o, .obj)

    Enlazador(librera)Programa ejecutable (.exe)

    Libreras del sistema (.o, .obj)

  • 8/14/2019 Clase Programacin 14

    4/138

    Programa fuente:

    Fortran, Pascal, C++, etc.

    Editor de

    Texto

    Algoritmo+

    Tipos de Datos

    Compilador

    Creacin de un programa utilizando un lenguaje deprogramacin compilado

    Lenguaje de programacin Compilado

    Programacin Prof. Gonzalo Mller Clase 14 GM - 4

    Programa objeto (.o, .obj)

    Enlazador(librera)

    Libreras del sistema (.o, .obj)

    de erroresde sintaxis

    Correccinde erroresde lgica

    Programa ejecutable (.exe)

  • 8/14/2019 Clase Programacin 14

    5/138

    Lenguaje de programacin Compilado

    Programa fuente: Contiene las instrucciones en ellenguaje de programacin.

    Programa objeto: Mdulo que no esta listo paraejecucin que contiene las instrucciones en cdigode ma uina.

    Programacin Prof. Gonzalo Mller Clase 14 GM - 5

    Libreras del sistema: Mdulos que contienenfunciones especiales o predefinidas.

    Programa ejecutable: Programa que puede sercargado o ejecutado por el sistema operativo.

  • 8/14/2019 Clase Programacin 14

    6/138

    Programa fuente en C C++

    (.c, .cpp)

    Preprocesador

    Creacin de un programa utilizando el lenguaje deprogramacin C o C++

    Lenguaje de programacin C/C++

    Programacin Prof. Gonzalo Mller Clase 14 GM - 6

    Compilador

    Programa objeto (.o, .obj)

    Programa ejecutable (.exe)

    Enlazador Libreras delsistema (.o, .obj)

  • 8/14/2019 Clase Programacin 14

    7/138

    Preprocesador

    Editor de Texto

    DepuradorAmbiente

    de

    Ambiente de Desarrollo C/C++

    Programacin Prof. Gonzalo Mller Clase 14 GM - 7

    CompiladorEnlazador MinGWStudio BloodShed DevC++

    CodeBlocks,

    Desarrollo

  • 8/14/2019 Clase Programacin 14

    8/138

    Lenguaje C/C++

    En 1970 Ken Thompson de los laboratorios Bell creael lenguaje B como resultado de desarrollar uncompilador para el lenguaje Fortran para UNIX. Estelenguaje produca programas relativamente lentos.

    En 1971 Dennis Ritchie, desarrolla el lenguaje C (NB)

    Programacin Prof. Gonzalo Mller Clase 14 GM - 8

    . A principios de los 80 Bjarne Stroustrup en los Bell

    Laboratories desarrolla C++.

    C++ surge como una mejora de C.

  • 8/14/2019 Clase Programacin 14

    9/138

    Lenguaje C/C++

    Es Flexible.

    Permite la escritura a alto y bajo nivel. El Cdigo es Porttil.

    Programacin Prof. Gonzalo Mller Clase 14 GM - 9

    compilado en diferentes sistema operativos.

    Los Programas son ms Rpidos.

    Los Programas son ms Compactos. Ocupan menos Memoria Principal.

  • 8/14/2019 Clase Programacin 14

    10/138

    Lenguaje C/C++

    El vocabulario de C esta compuesto:

    Identificadores.

    Palabras Claves (keywords). Constantes.

    Programacin Prof. Gonzalo Mller Clase 14 GM - 10

    Operadores. Separadores.

    Comentarios.

  • 8/14/2019 Clase Programacin 14

    11/138

    Vocabulario de C

    Identificador: Es el nombre que el programadorcoloca para referirse a una determinada locacin de

    memoria, una variable en memoria. Es ms cmodo que identificar un locacin de

    memoria con nmero corres ondiente a la

    Programacin Prof. Gonzalo Mller Clase 14 GM - 11

    direccin.

    A

    31 Localidad

    Direccin

    Identificador

  • 8/14/2019 Clase Programacin 14

    12/138

    Vocabulario de C

    Reglas para definir un Identificador:

    1. Se forma con un secuencia de los siguientes

    caracteres: a b c d e f g h i j k l m n o p q r s t u v w x y z

    Programacin Prof. Gonzalo Mller Clase 14 GM - 12

    A B C D E F G H I J K L M N O P Q R S TU V W X Y Z

    0 1 2 3 4 5 6 7 8 9_

  • 8/14/2019 Clase Programacin 14

    13/138

    Vocabulario de C

    2. No puede contener espacios en blanco, ni ningnotro carcter diferente de los indicados en

    anteriormente.3. El primer carcter no puede ser un dgito.

    Programacin Prof. Gonzalo Mller Clase 14 GM - 13

    .minsculas.

    5. Puede tener hasta 31 caracteres.

    Recomendacin: utilizar un nombre que tengan unsignificado para el dato que representa.

  • 8/14/2019 Clase Programacin 14

    14/138

    Vocabulario de C

    Palabras clave: estn constituidas por una serie depalabras que define el lenguaje y que el programador

    no puede utilizar como identificador ya que tiene unafuncin especfica.

    Programacin Prof. Gonzalo Mller Clase 14 GM - 14

    struct float case void

    short long char int

    switch return else do

    if break const static

  • 8/14/2019 Clase Programacin 14

    15/138

    Vocabulario de C

    Constantes:

    Numricas.

    Lgicas. Carcter.

    Programacin Prof. Gonzalo Mller Clase 14 GM - 15

    Cadena de Caracteres. Simblicas.

  • 8/14/2019 Clase Programacin 14

    16/138

    Vocabulario de C

    Constantes Numricas:

    Enteras: Formada con secuencia de dgitos del 0 al

    9, , +. Con signo.

    Programacin Prof. Gonzalo Mller Clase 14 GM - 16

    n s gno. Sufijo Opcional: u , U .

    Hexadecimal:

    Tiene el Prefijo: 0x, 0X.

    Sufijo Opcional: l , L. Constante de 4 bytes.

  • 8/14/2019 Clase Programacin 14

    17/138

    Vocabulario de C

    Ejemplo:

    Entera sin signo: 25 25u 25U

    Entera con signo: -678 -789

    Hexadecimal: 0xFE68

    Programacin Prof. Gonzalo Mller Clase 14 GM - 17

    De 4 bytes: 98L 98l 0xFE68L 25ul

  • 8/14/2019 Clase Programacin 14

    18/138

    Vocabulario de C

    Reales: Formada con secuencia de dgitos del 0 al 9,, , +, e, E y/o . .

    Sufijo Opcional: f , F. Constante de 4 bytes.Ejemplo:

    Real: 9010.5 567e10 -2.4E10

    Programacin Prof. Gonzalo Mller Clase 14 GM - 18

    Real de 4 bytes: 9010.5f 567e10f -2.4E10

    Constantes Lgicas:

    Verdadero: true. Falso: false.

  • 8/14/2019 Clase Programacin 14

    19/138

    Vocabulario de C

    Constantes Carcter: Encerradas entre apostrofes.

    Caracteres especiales: `\t, `\\, `\n, etc. Constantes Texto:

    Programacin Prof. Gonzalo Mller Clase 14 GM - 19

    .

    Caracteres especiales: `\t, `\\, `\n, etc.

    Ejemplo:

    `aLenguaje C++ es el mejor

  • 8/14/2019 Clase Programacin 14

    20/138

    Vocabulario de C

    Constantes Carcter: Encerradas entre apostrofes.

    Caracteres especiales: `\t, `\\, `\n, etc. Constantes Texto:

    Equivalente a
    en Html

    Programacin Prof. Gonzalo Mller Clase 14 GM - 20

    .

    Caracteres especiales: `\t, `\\, `\n, etc.

    Ejemplo:

    `aLenguaje C++ es el mejor

    Equivalente a
    en Html

  • 8/14/2019 Clase Programacin 14

    21/138

    Vocabulario de C

    Operadores: Son signos especiales o un conjunto deellos que indican diferentes operaciones a realizar

    +

    Programacin Prof. Gonzalo Mller Clase 14 GM - 21

    *=

  • 8/14/2019 Clase Programacin 14

    22/138

    Vocabulario de C

    Operadores:

    Asignacin.

    Aritmticos. Incrementales.

    Programacin Prof. Gonzalo Mller Clase 14 GM - 22

    Relacionales. Lgicos.

  • 8/14/2019 Clase Programacin 14

    23/138

    Vocabulario de C

    Operador Asignacin, = : Coloca un valor dado a unavariable.

    Una constante. El valor de otra variable.

    Programacin Prof. Gonzalo Mller Clase 14 GM - 23

    resu ta o e una expres n.Constante

    Variable = Valor Variable

    Expresin

    Siempre a la izquierda

  • 8/14/2019 Clase Programacin 14

    24/138

    Vocabulario de C

    Ejemplo:A = 1000

    A = B

    A = (A + 1)/2 + B*6

    Programacin Prof. Gonzalo Mller Clase 14 GM - 24

    =

    C = 200

    R = 4.5

    R = 25.5*X +Y

  • 8/14/2019 Clase Programacin 14

    25/138

    Vocabulario de C

    Operadores Aritmticos:

    Suma: +

    Resta: - Multiplicacin: *

    Programacin Prof. Gonzalo Mller Clase 14 GM - 25

    Divisin: / Tener cuidado con el tipo de dato utilizado.

    Ambos tipos de datos enteros

    divisin entera Residuo de divisin entera: %

    Se puede utilizar con variables y constantes.

  • 8/14/2019 Clase Programacin 14

    26/138

    Vocabulario de C

    Operadores Relacionales:

    Mayor que: >

    Menor que: < Igual que: ==

    Programacin Prof. Gonzalo Mller Clase 14 GM - 26

    Mayor o igual que: >= Menor o igual que:

  • 8/14/2019 Clase Programacin 14

    27/138

    Vocabulario de C

    Operadores Lgicos:

    Y: &&

    O: ||

    Programacin Prof. Gonzalo Mller Clase 14 GM - 27

    Se utilizan expresiones lgicas sencillas para formarexpresiones lgicas compuestas.

    Negacin: !

  • 8/14/2019 Clase Programacin 14

    28/138

    Vocabulario de C

    Separadores: estn constituidos por:

    Espacios en blanco.

    Tabuladores. Caracteres de nueva lnea.

    Programacin Prof. Gonzalo Mller Clase 14 GM - 28

  • 8/14/2019 Clase Programacin 14

    29/138

    Vocabulario de C

    Comentarios: es posible introducir comentarios en elprograma fuente, que permitan aclarar parte del

    mismo. El compilador ignora los comentarios.

    *

    Programacin Prof. Gonzalo Mller Clase 14 GM - 29

    comentario.*/ : indica al compilador el final de un comentario.

    // : indica al compilador que el resto de la lnea es uncomentario.

  • 8/14/2019 Clase Programacin 14

    30/138

    Vocabulario de C

    /* y*/ Siempre deben ser usados en pareja.

    Ejemplo:/* Este es un comentario: lenguaje C++ es el mejor

    Programacin Prof. Gonzalo Mller Clase 14 GM - 30

    engua e e programac n

    // Este es otro comentario: la mayora de los

    // sistema operativos son desarrollados en C++

  • 8/14/2019 Clase Programacin 14

    31/138

    Directivas de Preprocesadormain(){

    Estructura Bsica de un programa en C/C++

    Programacin Prof. Gonzalo Mller Clase 14 GM - 31

    DeclaracionesSecuencia de Sentencias

    }

    Programa Fuente (*.c,*.cpp)

  • 8/14/2019 Clase Programacin 14

    32/138

    Directivas de Preprocesadormain(){

    Estructura Bsica de un programa en C/C++

    Mduloprincipal

    Programacin Prof. Gonzalo Mller Clase 14 GM - 32

    DeclaracionesSecuencia de Sentencias

    }

    Programa Fuente (*.c,*.cpp)

  • 8/14/2019 Clase Programacin 14

    33/138

    Directivas de Preprocesadormain()

    Mdulo principal

    Programacin Prof. Gonzalo Mller Clase 14 GM - 33

    {

    Declaraciones

    Secuencia de Sentencias}

  • 8/14/2019 Clase Programacin 14

    34/138

    Mdulo principal

    Constituye el bloque principal de un programa enC/C++.

    Todo programa en C/C++ debe tener un bloquemain.

    Programacin Prof. Gonzalo Mller Clase 14 GM - 34

    main()

    {

    }

  • 8/14/2019 Clase Programacin 14

    35/138

    Directivas de Preprocesadormain()

    Declaraciones

    Programacin Prof. Gonzalo Mller Clase 14 GM - 35

    {

    Declaraciones

    Secuencia de Sentencias}

    Tipos de Datos

  • 8/14/2019 Clase Programacin 14

    36/138

    Declaraciones

    Le indican al compilador el tipo y propiedades de unavariable.

    Programacin Prof. Gonzalo Mller Clase 14 GM - 36

    tipovariabletipovariable1, variable2,

  • 8/14/2019 Clase Programacin 14

    37/138

    Entero

    Tamao Sin signo

    Con signo

    Tipos de Datos

    Programacin Prof. Gonzalo Mller Clase 14 GM - 37

    1 byte (char) unsigned char signed char2 bytes (short) unsigned short signed short4 bytes (long) unsigned long signed long

    Ti d D

  • 8/14/2019 Clase Programacin 14

    38/138

    Tipos de Datos

    Reales: de 4 Bytes: float

    de 8 Bytes: double

    Programacin Prof. Gonzalo Mller Clase 14 GM - 38

    Ti d D

  • 8/14/2019 Clase Programacin 14

    39/138

    Tipos de Datos

    Reales: de 4 Bytes: float

    de 8 Bytes: double

    Programacin Prof. Gonzalo Mller Clase 14 GM - 39

    Lgico: bool

    Carcter: char

    D l i

  • 8/14/2019 Clase Programacin 14

    40/138

    Declaraciones

    Le indican al compilador el tipo y propiedades de unavariable.

    tipovariableNumricos:Entero:

    Sin Signo: 1, 2, 4 bytes:

    Programacin Prof. Gonzalo Mller Clase 14 GM - 40

    unsigned char, unsigned short, unsigned long

    Con Signo: 1, 2, 4 bytes:

    signed char, signed short, signed long

    Real:

    4 bytes:float

    8 bytes:doubleLgicos:bool

    Carcter.:char

    D l i

  • 8/14/2019 Clase Programacin 14

    41/138

    Declaraciones

    Le indican al compilador el tipo y propiedades de unavariable.

    tipovariableNumricos:Entero:

    Sin Signo: 1, 2, 4 bytes:

    Programacin Prof. Gonzalo Mller Clase 14 GM - 41

    unsigned char, unsigned short, unsigned long

    Con Signo: 1, 2, 4 bytes:

    signed char, signed short, signed long

    Real:

    4 bytes:float

    8 bytes:doubleLgicos:bool

    Carcter.:char

    D l r i n

  • 8/14/2019 Clase Programacin 14

    42/138

    Declaraciones

    Ejemplo: Se requiere seleccionar el tipo de dato parauna variable que almacenar las cantidad de donasvendidas por un vendedor informal en medio da. Debe ser Numrica.

    Debe ser Entera, ya que se vende las donas enteras

    Programacin Prof. Gonzalo Mller Clase 14 GM - 42

    Debe ser Entera sin signo, ya que el vendedor entrega las donas nolas recibe (sin considerar productos devueltos por el comprador ohurtos).

    Puede ser de 1 byte, ya que es difcil que un vendedor informal venda

    ms de 255 donas en medioda.

    Entera sin signo de 1 byte

    Declaraciones

  • 8/14/2019 Clase Programacin 14

    43/138

    Declaraciones

    Ejemplo: Se requiere seleccionar el tipo de dato parauna variable que almacenar las cantidad de donasvendidas por un vendedor informal en medio da. Debe ser Numrica.

    Debe ser Entera, ya que se vende las donas enteras

    Programacin Prof. Gonzalo Mller Clase 14 GM - 43

    Debe ser Entera sin signo, ya que el vendedor entrega las donas nolas recibe (sin considerar productos devueltos por el comprador ohurtos).

    Puede ser de 1 byte, ya que es difcil que un vendedor informal venda

    ms de 255 donas en medioda.

    Entera sin signo de 1 byte

    LV

    donasVendidas:

    entera sin signo

    de 1 byte

  • 8/14/2019 Clase Programacin 14

    44/138

    Declaraciones

  • 8/14/2019 Clase Programacin 14

    45/138

    Declaraciones

    Ejemplo: Se requiere seleccionar el tipo de dato parauna variable que almacenar las cantidad de donasvendidas promedio vendidas por un vendedorinformal en medio da por una semana. Debe ser Numrica.

    Programacin Prof. Gonzalo Mller Clase 14 GM - 45

    Debe ser Real, ya que el promedio es un nmero no necesariamenteentero, es decir, puede contener decimales.

    Puede ser de 4 bytes, ya que este tipo ofrece una precisin de 6cifras significativas y para el vendedor es necesario a lo sumo 1 cifra.

    Real de 4 bytes

    Declaraciones

  • 8/14/2019 Clase Programacin 14

    46/138

    Declaraciones

    Ejemplo: Se requiere seleccionar el tipo de dato parauna variable que almacenar las cantidad de donasvendidas promedio vendidas por un vendedorinformal en medio da por una semana. Debe ser Numrica.

    Programacin Prof. Gonzalo Mller Clase 14 GM - 46

    Debe ser Real, ya que el promedio es un nmero no necesariamenteentero, es decir, puede contener decimales.

    Puede ser de 4 bytes, ya que este tipo ofrece una precisin de 6cifras significativas y para el vendedor es necesario a lo sumo 1 cifra.

    Real de 4 bytes LVdonasPromedio:

    real de 4 bytes

    Declaraciones

  • 8/14/2019 Clase Programacin 14

    47/138

    Declaraciones

    Ejemplo: Se requiere seleccionar el tipo de dato parauna variable que almacenar las cantidad de donasvendidas promedio vendidas por un vendedorinformal en medio da por una semana. Debe ser Numrica.

    Programacin Prof. Gonzalo Mller Clase 14 GM - 47

    Debe ser Real, ya que el promedio es un nmero no necesariamenteentero, es decir, puede contener decimales.

    Puede ser de 4 bytes, ya que este tipo ofrece una precisin de 6cifras significativas y para el vendedor es necesario a lo sumo 1 cifra.

    Real de 4 bytes

    float donasPromedio

    LV

    donasPromedio:

    real de 4 bytes

    Declaraciones

  • 8/14/2019 Clase Programacin 14

    48/138

    Declaraciones

    Ejemplo: Se requiere seleccionar el tipo de dato parauna variable que almacenar si un vendedor informalvendi donas de chocolate en medio da. Debe ser Lgica, ya que se necesita almacenar dos situaciones, si

    vendi o no vendi, verdadero si vendi y falso de lo contrario.

    Programacin Prof. Gonzalo Mller Clase 14 GM - 48

    Lgica

  • 8/14/2019 Clase Programacin 14

    49/138

    Declaraciones

  • 8/14/2019 Clase Programacin 14

    50/138

    Declaraciones

    Ejemplo: Se requiere seleccionar el tipo de dato parauna variable que almacenar si un vendedor informalvendi donas de chocolate en medio da. Debe ser Lgica, ya que se necesita almacenar dos situaciones, si

    vendi o no vendi, verdadero si vendi y falso de lo contrario.

    Programacin Prof. Gonzalo Mller Clase 14 GM - 50

    Lgica

    bool chocoDonas

    LV

    chocoDonas:lgica

    Declaraciones

  • 8/14/2019 Clase Programacin 14

    51/138

    ec c o es

    Ejemplo:

    signed char llamadas /*Variable tipo

    Entero con Signo de 1 byte llamada

    Tipo Identificador

    Programacin Prof. Gonzalo Mller Clase 14 GM - 51

    float minimo, maximo, media /*Variables

    tipo Real de 4 byte llamadas Minimo,Maximo y Media*/

    Tipo Identificador1 Identificador3

  • 8/14/2019 Clase Programacin 14

    52/138

    Tipos de Datos

  • 8/14/2019 Clase Programacin 14

    53/138

    p

    Observaciones respecto a los enteros: Existe el tipo entero: int

    No esta normalizado por la ANSI. No es recomendable su uso por que su tamao

    Programacin Prof. Gonzalo Mller Clase 14 GM - 53

    e e e e co a o .

    Sentencias

  • 8/14/2019 Clase Programacin 14

    54/138

    Directivas de Preprocesadormain()

    Programacin Prof. Gonzalo Mller Clase 14 GM - 54

    {

    Declaraciones

    Secuencia de Sentencias}

    Algoritmo

    Sentencias

  • 8/14/2019 Clase Programacin 14

    55/138

    C/C++ PC DRE DF

    main(){

    Algoritmo

    {Algoritmo Comienzo

    Programacin Prof. Gonzalo Mller Clase 14 GM - 55

    Dec arac ones

    //Algoritmo

    } } Fin Fin

    Sentencias

  • 8/14/2019 Clase Programacin 14

    56/138

    Constituye una combinacin adecuada deidentificadores, constantes, operadores yseparadores, lacual realiza una operacin especfica.

    Programacin Prof. Gonzalo Mller Clase 14 GM - 56

    c = a + b

    Superior = r = b + 1

    Mitad = n * 0.5f

  • 8/14/2019 Clase Programacin 14

    57/138

    Sentencias

  • 8/14/2019 Clase Programacin 14

    58/138

    Todas las sentencias excepto las de control debenterminar con el smbolo ; .

    Ejemplo:

    Programacin Prof. Gonzalo Mller Clase 14 GM - 58

    ec arat vas: oat acumulador;

    Asignacin: acumulador = 0;

    Llamadas: printf(C++ es el 1);

    Nula: ;

    Directivas de Preprocesador

  • 8/14/2019 Clase Programacin 14

    59/138

    Directivas de Preprocesadormain()

    Programacin Prof. Gonzalo Mller Clase 14 GM - 59

    {

    Declaraciones

    Secuencia de Sentencias}

    Directivas de Preprocesador

  • 8/14/2019 Clase Programacin 14

    60/138

    Ahorran la escritura y aumentan la legilibidad delcdigo. Sus principales funciones son:

    Definir de constantes simblicas.

    Programacin Prof. Gonzalo Mller Clase 14 GM - 60

    Incluir de archivos de cabecera de libreraspredefinidas.

  • 8/14/2019 Clase Programacin 14

    61/138

    Libreras Predefinidas

  • 8/14/2019 Clase Programacin 14

    62/138

    Son programas objeto que contiene conjunto demdulos preprogramados.

    La directiva #include del preprocesador permiteincluir archivo cabecera:

    < >

    Programacin Prof. Gonzalo Mller Clase 14 GM - 62

    Ejemplo:#include

    Los archivos cabecera (*.h, *.hpp): Son archivosdestinados exclusivamente a la declaracin deidentificadores.

    Libreras Predefinidas

  • 8/14/2019 Clase Programacin 14

    63/138

    Son libreras predefinidas por C, con mdulos de: Entrada y salida.

    Matemticas bsicas. Manejo de archivos.

    Programacin Prof. Gonzalo Mller Clase 14 GM - 63

    Manejo de Cadena de Caracteres. Ordenamiento y bsqueda.

    entre otras.

    Libreras Estndar

  • 8/14/2019 Clase Programacin 14

    64/138

    Los archivos cabecera de las principales librerasestndar son:

    Entrada/Salida: stdio.h Matemticas: math.h

    Programacin Prof. Gonzalo Mller Clase 14 GM - 64

    t er as enera es: st .

  • 8/14/2019 Clase Programacin 14

    65/138

    Funciones Entrada/Salida

  • 8/14/2019 Clase Programacin 14

    66/138

    El flujo de entrada y salida de datos puede serrealizado forma directa con el usuario a travs delteclado y el monitor.

    Programacin Prof. Gonzalo Mller Clase 14 GM - 66

    ProgramaEntrada

    Teclado

    SalidaMonitor

  • 8/14/2019 Clase Programacin 14

    67/138

    Funciones Entrada/Salida

  • 8/14/2019 Clase Programacin 14

    68/138

    C ofrece un conjunto de funciones de entrada y salidapredefinidas en las libreras estndar stdio, lasprincipales son:

    De salida: printf.

    Programacin Prof. Gonzalo Mller Clase 14 GM - 68

    .

    ProgramaEntrada

    Teclado

    Salida

    Monitor

    scanf printf

    document.write

    Equivalente en Javascript

    prompt

  • 8/14/2019 Clase Programacin 14

    69/138

  • 8/14/2019 Clase Programacin 14

    70/138

    Funciones Entrada/Salida

  • 8/14/2019 Clase Programacin 14

    71/138

    Ejemplo:/* Escribe en pantalla: Lenguaje C++

    es el 1*/

    printf(Lenguaje C++ es el 1);

    Equivalente en Javascript:

    Programacin Prof. Gonzalo Mller Clase 14 GM - 71

    /* Escribe en dos lneas en pantalla:Lenguaje C++ es el Mejor!*/

    printf(Lenguaje C++\n);

    printf(es el Mejor!);

    .

    Equivalente en Javascript:document.write(Lenguaje C++
    );

    document.write(es el Mejor!);

    Ejercicio

  • 8/14/2019 Clase Programacin 14

    72/138

    Construir un programa en C que coloque en pantallasu edad y su promedio.

    Programacin Prof. Gonzalo Mller Clase 14 GM - 72

    ase : se o y n s s:

    DES, DRE DF y CF.

    Fase 2: Codificacin: programa estructurado en C.

    Notacin, Documentacin e Indentacin.

  • 8/14/2019 Clase Programacin 14

    73/138

    Funciones Entrada/Salida

  • 8/14/2019 Clase Programacin 14

    74/138

    El formato esta constituido por al menos una lista deespecificadores de las variables a escribir:

    Programacin Prof. Gonzalo Mller Clase 14 GM - 74

    ormato s o var a es

    especificador1 especificador2 especificador3

  • 8/14/2019 Clase Programacin 14

    75/138

  • 8/14/2019 Clase Programacin 14

    76/138

  • 8/14/2019 Clase Programacin 14

    77/138

  • 8/14/2019 Clase Programacin 14

    78/138

  • 8/14/2019 Clase Programacin 14

    79/138

    Funciones Entrada/Salida

  • 8/14/2019 Clase Programacin 14

    80/138

    Ejemplo:

    unsigned char contador;

    LVcontador: entera sin signo de 1 byte

    Programacin Prof. Gonzalo Mller Clase 14 GM - 80

    Funciones Entrada/Salida

  • 8/14/2019 Clase Programacin 14

    81/138

    LVcontador: entera sin signo de 1 byte

    Ejemplo:

    unsigned char contador;

    Programacin Prof. Gonzalo Mller Clase 14 GM - 81

    Formato Tipo de dato

    %u Entero sin signo

    la variable contador*/

    printf(%u, contador);

    Funciones Entrada/Salida

  • 8/14/2019 Clase Programacin 14

    82/138

    Formato

    Ejemplo:/* Escribe en pantalla: El valor de

    la variable contador*/

    printf(%u, contador);

    Programacin Prof. Gonzalo Mller Clase 14 GM - 82

    Formato

    /* Escribe en pantalla: El valor dela variable contador y media*/

    printf(%u %f, contador, media);

    Funciones Entrada/Salida

  • 8/14/2019 Clase Programacin 14

    83/138

    Lista de Variables

    Ejemplo:/* Escribe en pantalla: El valor de

    la variable contador*/

    printf(%u, contador);

    Programacin Prof. Gonzalo Mller Clase 14 GM - 83

    Lista de Variables

    /* Escribe en pantalla: El valor dela variable contador y media*/

    printf(%u %f, contador, media);

  • 8/14/2019 Clase Programacin 14

    84/138

  • 8/14/2019 Clase Programacin 14

    85/138

  • 8/14/2019 Clase Programacin 14

    86/138

    Funciones Entrada/Salida

    i l 1 l 2 l 3

  • 8/14/2019 Clase Programacin 14

    87/138

    printf(%letra1 %letra2 %letra3,

    variable1,variable2,variable3);

    Correspondencia

    Programacin Prof. Gonzalo Mller Clase 14 GM - 87

    Funciones Entrada/Salida

    i f(%l 1 %l t 2 %l t 3

  • 8/14/2019 Clase Programacin 14

    88/138

    printf(%letra1 %letra2 %letra3,

    variable1,variable2,variable3);

    Correspondencia

    Programacin Prof. Gonzalo Mller Clase 14 GM - 88

    1 Especificador del Formato1 Variable de la Lista

  • 8/14/2019 Clase Programacin 14

    89/138

  • 8/14/2019 Clase Programacin 14

    90/138

  • 8/14/2019 Clase Programacin 14

    91/138

    Ejercicio

  • 8/14/2019 Clase Programacin 14

    92/138

    Construir un programa en C que coloque en pantallasu edad y su promedio. La edad y promedio debe estar

    Programacin Prof. Gonzalo Mller Clase 14 GM - 92

    .

    Fase 1: Diseo y Anlisis:DES, DRE DF, LV y CF.

    Fase 2: Codificacin: programa estructurado en C.Notacin, Documentacin e Indentacin.

  • 8/14/2019 Clase Programacin 14

    93/138

  • 8/14/2019 Clase Programacin 14

    94/138

  • 8/14/2019 Clase Programacin 14

    95/138

  • 8/14/2019 Clase Programacin 14

    96/138

    Funciones Entrada/Salida

    Ej mpl LV

  • 8/14/2019 Clase Programacin 14

    97/138

    Ejemplo:

    unsigned char contador;

    float media;

    LVcontador: entera sin signo de 1 bytemedia: real de 4 bytes

    Programacin Prof. Gonzalo Mller Clase 14 GM - 97

    printf(Se encontraron %u datos, cuyo

    promedio fue %f, contador, media);

    Lista de Variables

    Funciones Entrada/Salida

    Ejemplo: LV

  • 8/14/2019 Clase Programacin 14

    98/138

    Ejemplo:

    unsigned char contador;

    float media;

    LVcontador: entera sin signo de 1 bytemedia: real de 4 bytes

    Programacin Prof. Gonzalo Mller Clase 14 GM - 98

    printf(Se encontraron %u datos, cuyo

    promedio fue %f, contador, media);

    Texto

    Funciones Entrada/Salida

    Ejemplo: LV

  • 8/14/2019 Clase Programacin 14

    99/138

    Ejemplo:

    unsigned char contador;

    float media;

    LVcontador: entera sin signo de 1 bytemedia: real de 4 bytes

    Programacin Prof. Gonzalo Mller Clase 14 GM - 99

    printf(Se encontraron %u datos, cuyo

    promedio fue %f, contador, media);

    Formato Tipo de dato

    %u Entero sin signo %f Real

    spec ca or

    Especificador

    Funciones Entrada/Salida

    Ejemplo: LV

  • 8/14/2019 Clase Programacin 14

    100/138

    Ejemplo:

    unsigned char contador;

    float media;

    contador: entera sin signo de 1 bytemedia: real de 4 bytes

    Programacin Prof. Gonzalo Mller Clase 14 GM - 100

    printf(Se encontraron %u datos, cuyo

    promedio fue %f, contador, media);

    Correspondencia

    Funciones Entrada/Salida

    Ejemplo: LV d i i d 1 b

  • 8/14/2019 Clase Programacin 14

    101/138

    Ejemplo:

    unsigned char contador;

    float media;

    contador: entera sin signo de 1 bytemedia: real de 4 bytes

    Programacin Prof. Gonzalo Mller Clase 14 GM - 101

    printf(Se encontraron %u datos, cuyo

    promedio fue %f, contador,media);

    Correspondencia

  • 8/14/2019 Clase Programacin 14

    102/138

    Ejercicio

  • 8/14/2019 Clase Programacin 14

    103/138

    Construir un programa en C que coloque en pantallasu edad y su promedio. La edad y promedio debe estar

    Programacin Prof. Gonzalo Mller Clase 14 GM - 103

    .

    Fase 1: Diseo y Anlisis:DES, DRE DF, LV y CF.

    Fase 2: Codificacin: programa estructurado en C.Notacin, Documentacin e Indentacin.

  • 8/14/2019 Clase Programacin 14

    104/138

  • 8/14/2019 Clase Programacin 14

    105/138

  • 8/14/2019 Clase Programacin 14

    106/138

    Funciones Entrada/Salida

    De esta forma algunos formatos bsicos para lal t r s r n

  • 8/14/2019 Clase Programacin 14

    107/138

    De esta forma algunos formatos bsicos para lalectura seran:

    (ISOC9899)

    Formato Tipo de dato

    %c char%hhd signed char

    Programacin Prof. Gonzalo Mller Clase 14 GM - 107

    (ISOC9899)u uns gne c ar

    %hd signed short%hu unsigned short%ld signed long

    %lu unsigned long%f float%lf double

  • 8/14/2019 Clase Programacin 14

    108/138

    LVcantidad: entera sin signo de 2 byte

    Funciones Entrada/Salida

    Ejemplo:

  • 8/14/2019 Clase Programacin 14

    109/138

    cantidad: entera sin signo de 2 bytej p

    Programacin Prof. Gonzalo Mller Clase 14 GM - 109

  • 8/14/2019 Clase Programacin 14

    110/138

    Funciones Entrada/Salida

    Ejemplo:

  • 8/14/2019 Clase Programacin 14

    111/138

    j p

    unsigned short cantidad;

    Programacin Prof. Gonzalo Mller Clase 14 GM - 111

    Formato Tipo de dato

    %c char

    %hu unsigned short

    variable cantidad*/scanf(%hu, &cantidad);

    Funciones Entrada/Salida

    Ejemplo:/* Lee de teclado: El valor de la

  • 8/14/2019 Clase Programacin 14

    112/138

    j p/* Lee de teclado: El valor de la

    variable cantidad*/

    scanf(%hu, &cantidad);

    Programacin Prof. Gonzalo Mller Clase 14 GM - 112

    Es necesario tener extrema precaucin e indicarel especificador correcto para la variable dada enfuncin de evitar sobrescribir la memoria

    /* Lee de teclado: El valor de lavariable media*/

    scanf(%f, &media);

    Funciones Entrada/Salida

    Ejemplo:/* Lee cantidad de datos*/

  • 8/14/2019 Clase Programacin 14

    113/138

    j p/* Lee cantidad de datos*/

    printf(Cantidad de datos:);

    scanf(%hu, &cantidad);

    Programacin Prof. Gonzalo Mller Clase 14 GM - 113

    Si un programa se detiene abruptamente o se guinda esrecomendable revisar todos los scanf del programa fuente yaque alguno puede estar ocasionando el problema

    /* Lee media de datos*/

    printf(Media de datos:);

    scanf(%f, &media);

    Funciones Entrada/Salida

    Ejemplo:/* Lee cantidad de datos*/

  • 8/14/2019 Clase Programacin 14

    114/138

    Equivalente en Javascript:

    /* Lee cantidad de datos*/

    printf(Cantidad de datos:);

    scanf(%hu, &cantidad);

    Programacin Prof. Gonzalo Mller Clase 14 GM - 114

    cantidad = parseInt(prompt(Cantidad de datos:));

    Equivalente en Javascript:media = parseFloat(prompt(Media de datos:));

    /* Lee media de datos*/

    printf(Media de datos:);

    scanf(%f, &media);

  • 8/14/2019 Clase Programacin 14

    115/138

    Ejercicio

  • 8/14/2019 Clase Programacin 14

    116/138

    Construir un programa en C para hallar la hipotenusa

    2

    de un triangulo dado sus catetos.

    Programacin Prof. Gonzalo Mller Clase 14 GM - 116

    ase : se o y n s s:

    DES, DRE DF, LV y CF.Fase 2: Codificacin: programa estructurado en C.

    Notacin, Documentacin e Indentacin.

    Ejercicio

  • 8/14/2019 Clase Programacin 14

    117/138

    Construir el programa en C para promediar dos notas.Fase 1: Diseo y Anlisis:

    Programacin Prof. Gonzalo Mller Clase 14 GM - 117

    DES, DRE DF, LV y CF.

    Fase 2: Codificacin: programa estructurado en C.Notacin, Documentacin e Indentacin.

    Sentencias de Control

    Permiten ejecutar una sentencia o una secuencia desentencias de forma repetitiva o no, dada un

  • 8/14/2019 Clase Programacin 14

    118/138

    p ,condicin.

    Programacin Prof. Gonzalo Mller Clase 14 GM - 118

    .

    Sentencia Repetitiva.

    Si se ejecuta una secuencia de sentencias las mismasdeben ser colocadas entre llaves { }.

  • 8/14/2019 Clase Programacin 14

    119/138

    Ejemplo: Construir un bloque de sentencias en C queconvierta un nmero positivo A en par.

    Sentencias de Control

  • 8/14/2019 Clase Programacin 14

    120/138

    p p

    Programacin Prof. Gonzalo Mller Clase 14 GM - 120

    Sentencias de Control

    Condicional DobleJavaScript/

    PC DRE DF

  • 8/14/2019 Clase Programacin 14

    121/138

    JavaScript/

    C/C++PC DRE DF

    if(Condicin){ Si(Condicin)

    { Condicin

    Programacin Prof. Gonzalo Mller Clase 14 GM - 121

    }

    else

    {

    }

    }sino

    {

    }

    F

  • 8/14/2019 Clase Programacin 14

    122/138

    Sentencias de Control

    Estructura Repetitiva MientrasJavaScript/C

  • 8/14/2019 Clase Programacin 14

    123/138

    JavaScript/C

    /C++PC DRE DF

    while(Condicin)

    {

    Mientras(Condicin)

    Programacin Prof. Gonzalo Mller Clase 14 GM - 123

    }

    {

    }

    Condicin

    V

    Mientras

    (Condicin)

    Sentencias de Control

    Estructura Repetitiva Hacer Mientras nica sentencia de control que termina en ;.

  • 8/14/2019 Clase Programacin 14

    124/138

    q ;JavaScript/C

    /C++ PC DRE DFdo Hacer

    Programacin Prof. Gonzalo Mller Clase 14 GM - 124

    {

    }

    while(Condicin);

    {

    }Mientras(Condici

    n)

    Mientras(Condicin)

    CondicinV

    Ejercicio

  • 8/14/2019 Clase Programacin 14

    125/138

    Construir el programa en C que sume los nmeros delA al B.

    Programacin Prof. Gonzalo Mller Clase 14 GM - 125

    ase : se o y n s s:

    DES, DRE DF, LV y CF.Fase 2: Codificacin: programa estructurado en C.

    Notacin, Documentacin e Indentacin.

    Funciones Entrada/Salida

    scanfretorna la cantidad de elementos ledos. Si este valor es 0, indica que hubo un error

  • 8/14/2019 Clase Programacin 14

    126/138

    , qconvirtiendo el dato ledo en el tipo

    correspondiente.

    Programacin Prof. Gonzalo Mller Clase 14 GM - 126

    ingrese texto en un valor numrico. De ser este elcaso el scanf finaliza y retorna 0, pero el buffer deentrada queda con los caracteres ingresados por elusuario, por lo que es necesario eliminarlos para quesubsecuentes llamadas funcionen correctamente.

    Funciones Entrada/Salida

    Forma de uso:

  • 8/14/2019 Clase Programacin 14

    127/138

    while(scanf(Formato,&Variable) == 0)

    {

    Programacin Prof. Gonzalo Mller Clase 14 GM - 127

    m na un car cter e u er e entra a

    Sale del bucle solo cuando un valornumrico fue asignado a la variable

    ge c ar ;

    }

  • 8/14/2019 Clase Programacin 14

    128/138

    Metodologa para creacin de un programa1. Realizar el anlisis del problema a resolver:

    Metodologa para creacin de un programa C

  • 8/14/2019 Clase Programacin 14

    129/138

    1. Definir los datos de entrada y de salida.

    2. Teora asociada, requerimientos, etc.

    Programacin Prof. Gonzalo Mller Clase 14 GM - 129

    . .

    3. Definir los tipos de datos de las diferentes variablesutilizadas en el algoritmo. Construir Lista de variables.

    4. Codificar en C/C++:

    1. Lista de Variables Declaraciones.2.Algoritmo Secuencia de Sentencias.

    Fin

    SalidasEntradas

    Diagrama Entrada - Salida1

    Metodologa para creacin de un programa C

  • 8/14/2019 Clase Programacin 14

    130/138

    SalidasEntradas

    Programacin Prof. Gonzalo Mller Clase 14 GM - 130

    SalidasEntradas

    Diagrama Entrada - Salida1

    Metodologa para creacin de un programa C

  • 8/14/2019 Clase Programacin 14

    131/138

    DRE2

    Nombre

    Programacin Prof. Gonzalo Mller Clase 14 GM - 131

    FIN

    SalidasEntradas

    Diagrama Entrada - Salida1

    Metodologa para creacin de un programa C

  • 8/14/2019 Clase Programacin 14

    132/138

    DRE2

    Nombre

    Programacin Prof. Gonzalo Mller Clase 14 GM - 132

    Lista de Variables3

    Variablesvariable : tipo

    FIN

    SalidasEntradas

    Diagrama Entrada - Salida1

    /

    Metodologa para creacin de un programa C

  • 8/14/2019 Clase Programacin 14

    133/138

    Nombre

    DRE2

    4 C/C++

    main(){

    Programacin Prof. Gonzalo Mller Clase 14 GM - 133

    FIN

    Lista de Variables3

    Variablesvariable : tipo

    //Declaraciones

    //Algoritmo

    }

  • 8/14/2019 Clase Programacin 14

    134/138

    Ejercicios

    Construir un programa en C para:

  • 8/14/2019 Clase Programacin 14

    135/138

    a) Calcular la sumatoria de los primeros N nmerosenteros.

    Programacin Prof. Gonzalo Mller Clase 14 GM - 135

    ) Ca cu ar e actoria e N.

    Fase 1: Diseo y Anlisis:DES, DRE DF, LV y CF.

    Fase 2: Codificacin: programa estructurado en C.Notacin, Documentacin e Indentacin.

  • 8/14/2019 Clase Programacin 14

    136/138

    Resumen

    Creacin de un programa Compilado. Ambiente de Desarrollo C.

  • 8/14/2019 Clase Programacin 14

    137/138

    Lenguaje C/C++

    Vocabulario: Identificadores, Palabras Claves,

    Programacin Prof. Gonzalo Mller Clase 14 GM - 137

    pera ores, onstantes, etc.

    Estructura bsica de un programa en C. Funcin Main.

    Declaraciones: Tipos de Datos. Secuencia de Sentencias.

    Resumen

    Directivas de preprocesador, Libreras y Funciones. Funciones Entrada/Salida:

  • 8/14/2019 Clase Programacin 14

    138/138

    printf: Sin formato, Con formato.

    scanf.

    Programacin Prof. Gonzalo Mller Clase 14 GM - 138

    Sentencias de Control.

    Condicionales.

    Repetitivas.

    Metodologa para creacin de un programa C.