guia5 programacion.pdf

Upload: edwin-j-ortega

Post on 03-Apr-2018

220 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/28/2019 Guia5 programacion.pdf

    1/9

    Universidad Santiago de CaliEMPC03

    ProgramacionGua de trabajo 05

    Universidad Santiago de CaliFacultad de ingeniera

    Prof: Ing. Edwin J. Ortega Z.Colombia 2013

  • 7/28/2019 Guia5 programacion.pdf

    2/9

    ProgramacionIng. Edwin J. Ortega

    Universidad Santiago de CaliMAP05

    2

    Libreras y cabeceras

    Junto con los compiladores de C y C++, se incluyen ciertos archivos llamados bibliotecas mas

    comnmente libreras Las bibliotecas contienen el cdigo objeto de muchos programas quepermiten hacer cosas comunes, como leer el teclado, escribir en la pantalla, manejar nmeros,

    realizar funciones matemticas, etc. Las bibliotecas estn clasificadas por el tipo de trabajos que

    hacen, hay bibliotecas de entrada y salida, matemticas, de manejo de memoria, de manejo de

    textos y como imaginaras existen muchsimas libreras disponibles y todas con una funcin

    especifica.

    La declaracin de libreras, tanto en C como en C++, se debe hacer al principio de todo nuestro

    cdigo, antes de la declaracin de cualquier funcin o lnea de cdigo, debemos indicarle al

    compilador que libreras usar, para el saber que trminos estaran correctos en la escritura de nuestro

    cdigo y cuales no. La sintaxis es la siguiente: #include o

    alternativamente #include "nombre de la librera". Cualquiera de las 2 formas es valida en

    C++(no estoy seguro si en C sea valido), ten en cuenta que siempre el nombre de la librera debe ir

    entre " y " o entre < y >. En tu cdigo puedes declarar todas las libreras que quieras, pero en

    realidad no tienen sentido, declarar una librera que no vas a usar en tus programas, sin embargo no

    existe lmite para esto.

    - fstream: Flujos hacia/desde ficheros. Permite la

    manipulacin de archivos desde el programar, tanto leer

    como escribir en ellos.

    - iosfwd: Contiene declaraciones adelantadas de todas las

    plantillas de flujos y sus typedefs estndar. Por ejemploostream.

    - iostream: Parte del a STL que contiene los algoritmos

    estndar, es quiz la mas usada e importante (aunque no

    indispensable).

    - list: Parte de la STL relativa a contenedores tipo list; listas doblemente enlazadas

    - math: Contiene los prototipos de las funciones y otras definiciones para el uso y manipulacin de

    funciones matemticas.

    - memory: Utilidades relativas a la gestin de memoria, incluyendo asignadores y punteros

    inteligentes(auto_ptr).

    - new: Manejo de memoria dinmica

    - numeric: Parte de la librera numrica de la STL relativa a operaciones numricas.

    - ostream: Algoritmos estndar para los flujos de salida.

    - queue: Parte de la STL relativa a contenedores tipo queue (colas de objetos).

  • 7/28/2019 Guia5 programacion.pdf

    3/9

    ProgramacionIng. Edwin J. Ortega

    Universidad Santiago de CaliMAP05

    3

    - stdio: Contiene los prototipos de las funciones, macros, y tipos para manipular datos de entrada y

    salida.

    - stdlib: Contiene los prototipos de las funciones, macros, y tipos para utilidades de uso general.

    - string: Parte de la STL relativa a contenedores tipo string; una generalizacin de las cadenas

    alfanumricas para albergar cadenas de objetos. Muy til para el fcil uso de las cadenas de

    caracteres, pues elimina muchas d elas dificultades que generan los char

    - typeinfo: Mecanismo de identificacin de tipos en tiempo de ejecucin

    - vector: Parte de la STL relativa a los contenedores tipo vector; una generalizacin de las matrices

    unidimensionales C/C++

    Identificadores

    Identificadores son conjuntos de letras y/o nmeros que se utilizan para simbolizar todos los

    elementos que en un programa, son definibles por el usuario (programador o ingeniero de software)

    del mismo, como son las variables donde se almacenan datos, funciones( pequeos mdulos con

    cdigo), etiquetas, clases, objetos, etc.

    En C un identificador es una palabra compuesta de letras y/o nmeros de hasta 32 caracteres

    significativos, empezando siempre con una letra.

    Variable en C

    Una variable se define como un identificador que se utiliza para almacenar todos los datos

    generados durante la ejecucin de un programa.

    Slo estn permitidas letras de la 'a' a la 'z' (la no vale), nmeros y el smbolo '_', puede contener

    nmeros, pero no en el primer carcter.

    Ejemplos de nombres vlidos:

    camiones numero buffer a1 j10hola29 num_alumnos

    Ejemplos de nombres no vlidos:

    1abc nombre? num/alumnos

    Tampoco valen como nombres de variable las palabras reservadas que usa el compilador. Por

    ejemplo: for, main, do, while.

    C distingue entre maysculas y minsculas. Por lo tanto:

    Nombre nombre NOMBRE seran tres variables distintas.

  • 7/28/2019 Guia5 programacion.pdf

    4/9

    ProgramacionIng. Edwin J. Ortega

    Universidad Santiago de CaliMAP05

    4

    Estructuras de seleccin y repeticin

    Estructuras de seleccin

    Las sentencias de seleccin permiten crear "bifurcaciones" dentro de los programas, dependiendo

    de si una condicin es cierta o no en algn momento dado. C implementa tres sentencias de este

    tipo: if, if-else y switch.

    Sentencia if-else

    Para iniciar escribamos el y ejecutemos el siquiente programa:

    #include

    #include

    void main()

    {

    int a, b;

    printf("Ingrese su edad: ");

    scanf("%d", &a);

    printf("Ingrese la edad de algun conocido: ");

    scanf("%d", &b);

    if (a > b)

    {printf("Usted es la persona mayor");}

    else

    {printf("Usted es la persona menor");};

    getch();

    }

    El programa escrito aqui recibe 2 numeros, los cuales seran 2 edades. Luego, se dedica a

    comparar las edades ingresadas y le devuelve si usted es la persona mayor o menor,

    dependiendo de su edad y de la edad de la persona conocida (no se me ocurrio otro

    nombre >if y else estan presentes dentro del programa. Analicemos cada una de ellas

    por separado:

    if (a > b)

    printf("Usted es la persona mayor");

  • 7/28/2019 Guia5 programacion.pdf

    5/9

    ProgramacionIng. Edwin J. Ortega

    Universidad Santiago de CaliMAP05

    5

    Primero se pone la palabra reservada if, seguidamente se abre un '(' y all se escribe la

    comparacin que queremos realizar. En este caso, comparamos si el valor de 'a' es mayor

    que el de 'b'. Luego de nuestra comparacin se cierra el ')'. En caso que estacomparacin devuelva un resultado verdadero, es decir, el valor de 'a' es mayor que el

    de 'b', se enviara el mensaje que dice que usted es la persona mayor.

    else

    printf("Usted es la persona menor");

    En caso que el resultado de la comparacin haya sido falso, es decir, que el valor de 'a'

    es menor o igual al de 'b', se enviara el otro mensaje, que dice que usted es la persona

    menor. Tener en cuenta que antes de la palabra else la ultima sentencia lleva el popular';'. Hay lenguajes como Pascal donde no se cumple esta regla, pero en el C/C++ si, asi es

    necesario tener mucho cuidado con el ;.

    Sentencia switch

    Esta sentencia compara el valor de una expresin con una lista de constantes, cuando encuentra

    una correspondencia, se ejecutan las sentencias asociadas de la misma, switch es el "case" de

    Pascal. Tiene la siguiente forma:

    switch (expresion){

    case constante1:

    sentencias

    break;

    case constante2:

    sentencias

    break;

    .

    .

    .

    default:

    sentencias

    }

    La sentencia break al final de cada bloque de sentencias permite que se salga del switch, en caso

    de no haber un case, C pasa a ejecutar el siguiente bloque de sentencias correspondiente a la

    siguiente constante, en caso de no encontrarse ninguna correspondencia, se ejecutan las

    sentencias asociadas con default.

  • 7/28/2019 Guia5 programacion.pdf

    6/9

    ProgramacionIng. Edwin J. Ortega

    Universidad Santiago de CaliMAP05

    6

    Ejemplo:

    void men(void)

    {

    /* esta funcin permite la creacin de un men */

    char c;

    printf("1. Crear\n");

    printf("2. Editar\n");

    printf("3. Buscar\n");

    printf("4. Salir\n\n");

    printf("Introduzca su opcin:");

    c = getchar(); /* tomar la seleccin */

    switch (c){

    case '1':

    crear();

    break;

    case '2':

    editar();

    break;

    case '3':buscar();

    break;

    case '4':

    salir();

    default

    printf("\nOpcin no valida");

    }

    }

    Sentencias de iteracin

    Las sentencias de iteracin o repeticin permiten repetir un conjunto de sentencias ejecutando un

    bucle. En C++ existen tres formas de iteraciones: los bucles while, dowhile y for

    El bucle for

    El bucle for en C cumple la misma funcin que en el resto de los lenguajes de programacin

    procedimentales pero adems se le aade una potencia y flexibilidad nicas, lo cual lo convierte

    en una herramienta poderosa. Su forma es la siguiente:

  • 7/28/2019 Guia5 programacion.pdf

    7/9

    ProgramacionIng. Edwin J. Ortega

    Universidad Santiago de CaliMAP05

    7

    for(inicializacin; condicin; incremento)

    {

    sentencia;

    }

    Donde inicializacin es una sentencia de asignacin para inicializar la variable de control del bucle,

    condicin es una expresin relacional que determina el final del bucle e incremento define cmo

    cambia la variable de control cada vez que se ejecute una iteracin del bucle.

    ejemplo:

    #include "stdio.h"

    /* Imprime los nmeros del 1 al 100 */

    main()

    {

    int x;

    for (x=1; x

  • 7/28/2019 Guia5 programacion.pdf

    8/9

    ProgramacionIng. Edwin J. Ortega

    Universidad Santiago de CaliMAP05

    8

    El Bucle while

    Llamado bucle "mientras", ejecuta una sentencia mientras cierta condicin sea verdadera, su

    forma es la siguiente:

    while(condicin)

    {sentencia;}

    Donde sentencia es una sentencia vlida o un bloque de sentencias. la condicin puede ser

    cualquier expresin y cualquier valor distinto de 0 es cierto.

    ejm

    #include "stdio.h"

    main()

    {

    int i;

    float x, suma, promedio;

    /*

    lee numeros desde el teclado para calcular su promedio, terminacuando se introduce -1

    */

    x = suma = 0;

    i = 1;

    while (x != -1)

    {

    printf("\nIntroduzca el valor %d:", i);

    scanf("%f", &x);

    suma += x;}

    promedio := suma/i;

    printf("\nEl promedio es: %f / %d = %f", suma, i, promedio);

    }

    El Bucle do-while

  • 7/28/2019 Guia5 programacion.pdf

    9/9

    ProgramacionIng. Edwin J. Ortega

    Universidad Santiago de CaliMAP05

    9

    A diferencia de los bucles anteriores, que analizan la condicin al principio de los mismos, el bucle

    do-while lo hace al final, esto significa que se ejecuta siempre al menos una vez. Su forma general

    es:

    do{

    Sentencia;

    }while(condicin);

    Las llaves no son necesarias en el caso de una sentencia simple, pero se recomienda colocarlas por

    razones de legibilidad, este bucle iterar hasta que la condicin sea falsa. ejm:

    El siguiente bucle lee nmeros desde el teclado hasta que encuentra un numero negativo:

    do{

    scanf("%d", &num);}while(num = 0);

    Ejercicios.

    1. Usando la herramienta swicth escriba un programa en Lenguaje C que solicite elingreso de un nmero del 1 al 12 y que muestre por pantalla el mes

    correspondiente en letras seleccionado en letras.

    2. Escribir un programa C que lea exactamente 8 nmeros y luego escriba la suma de todosellos.

    3. Modificar el programa anterior para que en lugar de leer 8 nmeros, se puedan leer tantosnmeros como se quiera hasta que llegue un cero. El resultado es la suma de todos los

    nmeros ledos.

    4. Escriba un programa que lea un numero n y que imprima un conteo de 1 a n, n veces, porejemplo si escribo el nmero 4, en pantalla se debe imprimir

    1234

    1234

    1234

    1234