40
0 Nivel: Principiante. POR: POR: POR: POR: TEC. COMP TEC. COMP TEC. COMP TEC. COMP: VICTOR MANUEL TEJEDA LOPEZ VICTOR MANUEL TEJEDA LOPEZ VICTOR MANUEL TEJEDA LOPEZ VICTOR MANUEL TEJEDA LOPEZ ESTUDIANTE DE LA CARRERA: ESTUDIANTE DE LA CARRERA: ESTUDIANTE DE LA CARRERA: ESTUDIANTE DE LA CARRERA: ING. EN SISTEMAS COMPUTACIONALES ING. EN SISTEMAS COMPUTACIONALES ING. EN SISTEMAS COMPUTACIONALES ING. EN SISTEMAS COMPUTACIONALES EN EL EN EL EN EL EN EL INSTITUTO TECNOLOGICO DE NUEVO INSTITUTO TECNOLOGICO DE NUEVO INSTITUTO TECNOLOGICO DE NUEVO INSTITUTO TECNOLOGICO DE NUEVO LAREDO LAREDO LAREDO LAREDO

Curso Basico a la Programacion en C, C++

Embed Size (px)

DESCRIPTION

curso Basico a la Programacion en C, C++

Citation preview

  • 0

    Nivel: Principiante.

    POR:POR:POR:POR:

    TEC. COMPTEC. COMPTEC. COMPTEC. COMP:::: VICTOR MANUEL TEJEDA LOPEZVICTOR MANUEL TEJEDA LOPEZVICTOR MANUEL TEJEDA LOPEZVICTOR MANUEL TEJEDA LOPEZ

    ESTUDIANTE DE LA CARRERA:ESTUDIANTE DE LA CARRERA:ESTUDIANTE DE LA CARRERA:ESTUDIANTE DE LA CARRERA:

    ING. EN SISTEMAS COMPUTACIONALESING. EN SISTEMAS COMPUTACIONALESING. EN SISTEMAS COMPUTACIONALESING. EN SISTEMAS COMPUTACIONALES

    EN ELEN ELEN ELEN EL INSTITUTO TECNOLOGICO DE NUEVO INSTITUTO TECNOLOGICO DE NUEVO INSTITUTO TECNOLOGICO DE NUEVO INSTITUTO TECNOLOGICO DE NUEVO

    LAREDOLAREDOLAREDOLAREDO

  • 1

    Fundamentos del lenguaje.

    Pg.:

    Estructura general de un programa.3 Tipos de datos ...4 Palabras reservadas.4 Cdigos de formato.5 Operadores relacionales..5 Operadores lgicos..5 Cdigos de escape...6 Creacin de un programa.7

    o Entrada o Salida o Declaraciones.

    Operaciones dentro del programa9 Ejercicios.11 Sentencia if-else..12 if anidados...14 Estatuto switch....15 Bucles(ciclos).18 Estatuto while...18 Estatuto do-while.....20 Estatuto for....22 Ciclos anidados.....24 Funciones...27 Arrays.30 Algoritmo de la burbuja..33 Array multidimencional..35 Registros.37 Bibliografa.

    Tec.Victor Manuel Tejeda Lopez

  • 2

    Comentarios de autor: Solo puedo decir que espero que sea de gran utilidad este Manual para aquellos que empiezan y desean aprender el lenguaje de programacin C/C++, este Manual es de nivel principiante. El aprender a programar C depende del esfuerzo y de las ganas que uno le eche para aprender. Este Manuel no asegura que aprenda o se experto programador en C. Solo trato de mostrarles el comienzo y darles la chispa para que adquieran conocimientos de lenguaje C. Como ya se dije todo depende de que tanto esfuerzo que uno le dedique y de las ganas que uno le ponga. chenle ganas y conozcan este maravilloso mundo de la programacin. atte.: Tec.Comp.Victor Manuel Tejeda Lpez.

    Cualquier tipo de duda o comentario escrbanme a este correo:

    [email protected]

    Tec.Victor Manuel Tejeda Lpez

  • 3

    Para crear un programa Se utiliza las siguientes etapas: 1.-definir su programa 2.-definir directivas del procesador { {Variables globales} 3.-definiciones de declaraciones globales 4.-crear main () 5.-crear el cuerpo del programa 6.-crear funciones definidas por usuario 7.-compilar, enlazar, ejecutar y Comprobar su programa 8.-utilizar comentarios Estructura General De un programa

    . .

    .

    O bien:

    Encabezados #include #include

    void f1(void); declaracin de variables int a=1,b=2; {variables globales}

    void main(void) {

    clrscr(); f1();

    Programa principal printf(" = %d",a+b); getch(); return;

    } void f1(void)

    { rutina printf("resultado"); return; }

    Encabezados

    Declaracin de variables.

    Programa principal (subrutinas)

    Rutina 2

    Rutina n

    Rutina 1

    Tec.Victor Manuel Tejeda Lopez

  • 4

    Tipos de datos:

    int Numrico entero (2 bytes de memoria)+32767 a -32767

    int a,b,c,x; int num;

    float Numrico real(4 bytes de memoria, 7 dgitos de precisin) 10-38 a 1038

    float y; float num=10;

    char Carcter (1 bytes de memoria) -128 a 127

    char a; char b;

    double Tipo double (8 bytes) 10-308 a 10308

    double a,b,c;

    constantes double pi=3.141592

    Palabras reservadas

    Los siguientes identificadores estn reservados para utilizarlos como palabras reservadas, y no se deben emplear para otros propsitos.

    asm enum signed continue long auto extern sizeof default register break float static do return case for struct double short char goto switch else union const if typedef int unsigned void volatile while

    Una palabra reservada no puede usarse como nombre de identificador o funcin:

    int int a: //error float int x: //error

    Prioridad y asociatividad. Prioridad (mayor a menor) asociatividad

    +, - (unitario) Izquierda-derecha * , /, % Izquierda-derecha

    Tec.Victor Manuel Tejeda Lopez

  • 5

    Cdigos de formato:

    Se usan para especificar en tipo de formato o dato que se va a capturar desde el teclado o el tipo de formato que uno quiera que aparezca en la pantalla en un programa. Ejemplo: scanf(%d,&entero); printf(el numero es: %d,entero);

    %d El dato se convierte a entero decimal. %o El dato entero se convierte a octal. %x El dato entero se convierte a hexadecimal. %u El dato entero se convierte a entero sin signo. %e El dato se considera de tipo float. Se convierte a notacin

    cientfica. De la forma { - } n.mmmmmmE { +/- }dd. %f El dato se considera de tipo float. Se convierte a notacin decimal,

    con parte entera y los dgitos de presicion. %g El dato se considera de tipo float. Se convierte segn el codigo %e

    o %f dependiendo del cual sea la representacin mas corta %s El dato ha de ser una cadea de carateres. %lf El dato se considera de tipo double.

    Operadores relacionales.

    operador significado Ejemplo == Igual a A==b != No igual a A!=b > Mayor que a>b < Menor que A= Mayor o igual que a>=b

  • 6

    Cdigos de escape:

    Operadores de asignacin

    operador sentencia abreviada sentencia no abreviada += m+=n m=m+n -= m-=n m=m-n

    *= m*=n m=m*n

    /= m/=n m=m/n %= m%=n m=m%n ++ m++ m=m+1 - - m- - m=m-1

    Encabezados

    Standar input-ouput stdio.h

    Console input-ouput conio.h

    p/ funciones aritmticas math.h

    p/ graficos graphics.h

    p/ funiones dos dos.h

    p/ funciones del sistema sys.h

    Cdigo de escape

    Significado

    \n Nueva linea \r Retorno de carro \t Tabulacion \v Tabulacion vertical \a Alerta (pitido sonoro) \b Retroceso de espacio \f Avance de pagina \\ Barra inclinada \ Comilla simple \ Comilla doble \? Signo de interrogacin

    \000 Numero octal \xhh Numero hexadecimal

    Tec.Victor Manuel Tejeda Lopez

  • 7

    Los compiladores donde ejecutar los programas son: Turbo c++ versin 3.0 Crimson Editor 3.60

    Como opinin personal yo recomiendo el primero tiene muchas ventajas.

    Creacin de un programa

    Crearemos un programa que imprima en la pantalla el siguiente enunciado: Mi primer programa

    Como primer paso incluiremos las libreras que usaremos.

    #include #include

    Enseguida el programa

    int main () { clrscr(); printf(Mi primer programa); getch(); return 0; }

    clrscr()se usa para limpiar pantalla printf( )se usa para imprimir el mensaje (ntese que el mensaje a . Imprimir esta encerrada con comillas). getch()para capturar un carcter sin eco (o para que el programa se . espere hasta que se oprima cualquier tecla). return 0;. es el retorno de la funcin main sin devolver algn valor. { }.. Se abren llaves despus del main, el cual lleva todo lo que . incluir el cuerpo del programa.

    **para agregar algn comentario se puede hacer de estas dos formas.

    /* comentario */ // comentario

    Tec.Victor Manuel Tejeda Lopez

  • 8

    Para la entrada de valores numricos o caracteres se usan:

    scanf(%cdigo de formato,&declaracin); cin>>declaracin; gets(declaracin)..esta se usa para capturar una cadena de caracteres.

    Nota: previamente se debe de declarar las variables a usar.

    Para imprimir un mensaje o salida de carcter o valor se usan:

    printf( ); puts( ); cout

  • 9

    Operaciones dentro del programa:

    Realizar operaciones dentro de un programa es sencillo y se puede hacer de maneras distintas.

    En c las operaciones bsicas se hacen como toda operacin, Ejemplo:

    printf (%d, 2+1); O bien se declara una variable cualquiera y se hace de esta forma; int r; .

    .

    .

    r=2+1; printf(%d, r);

    Tambin se puede manejar de la misma forma el cout

  • 10

    Ejemplos: *Programa que calcula el rea de un triangulo:

    #include #include void main(void) { clrscr(); int base,altura; printf("Dame la base: "); scanf("%d",&base); printf("Dame la altura: "); scanf("%d",&altura); printf("El area del rectangulo es: %d",base*altura); getch(); return; } //Realiza este mismo programa utilizando el cout;

    **Programa que calcula el rea de un crculo. area=pi*r2.

    #include #include #include

    void main(void) { clrscr(); float radio,area; coutradio; area=3.1416*pow(radio,2); cout

  • 11

    Ntese que se pone el .2 para mostrar solamente 2 decimales de la misma forma se puede hacer 2.2,.3,.1,.5etc. segn uno quiera que aparezca. Ejercicios:

    a) Hacer un programa que calcule el rea de un triangulo.

    b)Hacer un programa que calcule esta operacin: a=pow(5,2)+(10+2)/(5*4)/5)

    c) Hacer un programa que calcule la expresin con los siguientes datos, muestre el resultado con un formato adecuado en la pantalla.

    A=5, b=0.3, c=-3.1, x=1.018, z=0.8514

    2( a/b )x-1/(b-3c)1/z

    d) Hacer un programa que convierta f a c. c=f-32*5/9

    e) Hacer un programa que resuelva una ecuacin cuadrtica del tipo: ax2+bx+c=0, encontrando los valores x1y x2; donde: x=-bb2-4ac 2a. f) Captura tres variables y saca el promedio de los 3.

    Respuestas:

    b)=300.

    c)=0.147676

    d)=100f=37.777

    e)= prueba el programa con los siguientes datos: a=1,b=5,c=2 x1=-0.44 x2=-4.56

    f)= prueba el programa con los siguientes datos a=1,b=2,c=3 Prom=2

    Tec.Victor Manuel Tejeda Lopez

  • 12

    Sentencia if-else.

    La sentencia if funciona de la siguiente manera. Cuando se alcanza la sentencia if dentro de un programa, se evala la expresin entre parntesis que viene a continuacin de if. Si expresin es verdadera, se ejecuta Accin; en caso contrario no se ejecuta Accin y ejecuta la siguiente sentencia o Accin2 que uno quiere que realice.

    Falsa

    Verdadera

    if(Expresin) Accin.

    if(Expresin) Accin, else Accion2. En este formato Accin, y Accin2 son individualmente, o bien una nica sentencia que termina en un punto y coma (;) o un grupo de sentencias encerrado entre llaves

    Ejemplos:

    *Programa que te dice si eres menor o mayor de edad;

    #include #include

    void main(void) { clrscr(); int edad; printf("Dame la edad: "); scanf("%d",&edad); if(edad>=18) printf("Eres mayor de edad"); else printf("Eres menor de edad"); getch(); return; }

    Tec.Victor Manuel Tejeda Lopez

    Expresin

    Accin

    Accin2

  • 13

    *El mismo programa pero con ms Acciones en cada condicin:

    #include #include

    void main(void) { clrscr(); int edad; printf("Dame la edad: "); scanf("%d",&edad); if(edad>=18) { printf("Eres mayor de edad"); puts("\nEres una persona adulta"); } else { printf("Eres menor de edad"); puts("\nTodavia eres un nio"); } getch(); return; }

    /* Ntese que las acciones de cada condicin se encierran en llaves, ya que se tiene mas de una sentencia (accin), esto es siempre que se tenga 2 o mas condiciones.

    Tec.Victor Manuel Tejeda Lopez

  • 14

    Sentencia if else anidadas

    Una sentencia if es anidada cuando la sentencia de la rama verdadera o la rama falsa es a su vez una sentencia if anidada se puede utilizar para implementar dediciones con varias alternativas o Mult.-alternativas.

    Ejemplo:

    Programa que te captura un numero entero y te dice si es positivo, negativo o cero.

    #include #include

    void main(void) { clrscr(); int num; printf("Dame un numero: "); scanf("%d",&num); if(num>0) printf("El numero es positivo"); else if(num

  • 15

    Estatuto Switch.

    La sentencia switch es una sentencia C que se utiliza para seleccionar una entre multiples alternativas. La sentencia switch es epecialmente util cuando la seleccin se basa en el valor de una variable simple o de una expresin simple denominada expresin de control o selector. El valor de esta expresin puede ser de tipo int o char. Pero no de tipo float ni double.

    Sintaxis:

    switch ( variable ) //La variable de tipo entero o carcter. { case valor1: accion1; break; case valor2: accion2;break; .

    .

    .

    case valor n: accion n;break; default: accionD;

    };

    Ejemplo 1: switch ( opcion ) { case 0: puts(Cero:); break; case 1: puts(Uno:); break; case 2: puts(Dos:); break; default: puts (Fuera de rango); }

    Ejemplo 2: switch ( opcion ) { case 0: case 1: case 2: printf(Menor de 3:); break; case 3: printf(Igual a 3:); break default: printf(Mayor que 3:);

    }

    * Ejercicio: Realiza un programa que lea 3 nmeros enteros y los despliege de mayor a menor.

    Tec.Victor Manuel Tejeda Lopez

  • 16

    Comparacin de la sentencia if-else-if y el switch. Se necesita saber si un determinado carcter car es una vocal.

    Solucin con if-else-if:

    #include #include

    int main() { clrscr(); char car; coutcar; if ((car == 'a') || (car == 'A')) printf("%c es una vocal\n",car); else if ((car == 'e') || (car == 'E')) printf("%c es una vocal\n",car); else if ((car == 'i') || (car == 'I')) printf("%c es una vocal\n",car); else if ((car == 'o') || (car == 'O')) printf("%c es una vocal\n",car); else if ((car == 'u') || (car == 'U')) printf("%c es una vocal\n",car); else printf("%c no es una vocal\n",car); getch(); return 0; }

    Solucion con switch:

    #include #include

    int main() { clrscr();

    Tec.Victor Manuel Tejeda Lopez

  • 17

    char car; coutcar;

    switch (car) { case 'a': case 'A': case 'e': case 'E': case 'i': case 'I': case 'o': case 'O': case 'u': case 'U': printf("%c es una vocal",car); break; default: printf("%c no es una vocal",car); } getch(); return 0; }

    Ntese que en la solucin de switch el manejo de la solucin es ms clara y que no se usan operadores de relacionales.

    Ejercicios:

    * Dada una nota de un examen mediante un cdigo escribir el literal que le corresponde a la nota. A-Excelente B- Muy bien C- Bien cualquier otro (Suspendido).

    *Programa que pide un numero de mes y escribe la cantidad de das que tiene.

    *Dada un fecha con numeros, muestra la fecha poniendo el mes con letras.

    Ejemplo: 01:01:2005 debe mostrar. 01 de enero de 2005.

    Tec.Victor Manuel Tejeda Lopez

  • 18

    Bucles. Ciclos

    C soporta tres tipos de estructuras de control: los bucles while, for y do-while. Estas estructuras de control o sentencias repetitivas controlan el nmero de veces que una sentencia o listas de sentencias se ejecutan.

    Estatuto While:

    Sintaxis:

    while ( condicin ) estatuto;

    Si se requiere realizar ms de un estatuto se deben utilizar llaves.

    while ( condicin ) { Bloque de estatutos;

    }

    Representacin en diagrama del bucle while:

    Falsa.

    Verdadera.

    Tec.Victor Manuel Tejeda Lopez

    Condicin_bucle

    Incremento

    Sentencia

  • 19

    *Programa que obtiene el promedio de calificaciones de 10 estudiantes:

    #include #include

    int main() { clrscr(); int est,i=1; float suma=0.0; printf("Dame las calificaciones de los 10 estudiantes:\n"); while(i

  • 20

    Estatuto dowhile

    La sentencia do-while se utiliza para especificar un bucle condicional que se ejecuta al menos una vez. Esta situacin se suele dar en algunas circunstancias en la que se ha de tener la seguridad de que una determinada accin se ejecutara una o varias veces, pero al menos una vez.

    Sintaxis: do estatuto; while ( condicin );

    Si se requiere realizar mas de un estatuto se deben a utilizar llaves.

    do { Bloque de estatutos;

    }while ( condicin );

    Representacin en diagrama del bucle do-while.

    Verdadera

    Falso.

    Tec.Victor Manuel Tejeda Lopez

    Sentencia

    Incremento

    Expresin

  • 21

    **Los mismos programas del estatuto anterior pero ahora con el estatuto do-while.

    #include #include

    int main() { clrscr(); int est,i=1; float suma=0.0; printf("Dame las calificaciones de los 10 estudiantes:\n"); do { printf("\nDame la calificacion del estudiante %d: ",i); scanf("%d",&est); suma=est+suma; i++; }while(i

  • 22

    Estatuto for:

    El bucle for de C es superior a los bucles for de otros lenguajes de programacin tales como BASIC, Pascal y Fortran ya que ofrece mas control sobre la inicializacin y el incremento de las variables de control del bucle.

    Sintaxis:

    for (inicializacin; condicin; incremento) Estatuto;

    Si se requiere realizar mas de un estatuto se debe utilizar llaves:

    for (inicializacin; condicin; incremento) { Bloque de estatutos; }

    Representacin en diagrama del estatuto for:

    Falso.

    Verdadero.

    Inicializacin

    Condicin.

    Incremento.

    Estatutos.

    Tec.Victor Manuel Tejeda Lopez

  • 23

    *** Los mismos programas de los estatutos anteriores pero ahora con el estatuto for.

    #include #include

    int main() { clrscr(); int est,i; float suma=0.0; printf("Dame las calificaciones de los 10 estudiantes:\n"); for (i=1; i

  • 24

    Ciclos anidados:

    Ejercicios con los ciclos, while, do-while y for:

    Realizar una tabla de multiplicar de la forma:

    1 2 3 4 5 6 7 8 9 2 4 6 8 10 12 14 16 18 3 6 9 12 15 18 21 24 27 4 8 12 16 20 24 28 32 36 5 10 15 20 25 30 35 40 45 6 12 18 24 30 36 42 48 54 7 14 21 28 35 42 49 54 63 8 16 24 32 40 48 56 64 72 9 18 27 36 45 54 63 72 81

    Estatuto for:

    #include #include

    int main() { clrscr(); int i,j; printf("Tabla de multiplicar\n\n");

    for(i=1; i

  • 25

    Estatuto while:

    #include #include

    int main() { clrscr(); int i=1,j=1; printf("Tabla de multiplicar\n\n");

    while(i

  • 26

    }while(i

  • 27

    Funciones:

    Una funcin es un mini programa dentro de un programa. Las funciones contienen varias sentencias bajo un solo nombre, que un programa puede utilizar una o mas veces para ejecutar dichas sentencias. Las funciones ahorran espacio, reduciendo repeticiones y haciendo ms fcil la programacin, proporcionando un medio de dividir un proyecto grande en mdulos pequeos ms manejables.

    La estructura de una funcin en C es:

    float suma (float num1,float num2)

    { float resp; resp = num1 + num2; return resp; } .

    Tipo de retorno nombreFuncion (listadeParametros) { cuerpo de la funcin return expresin }

    Tipo de retorno... Tipo de valor devuelto por la funcin o la palabra . reservada void si la funcin no devuelve ningn . . . valor. nombreFuncionIdentificador o nombre de la funcion. listaDeParametrosLista de declaraciones de los parmetros de la . . . . . funcion separados por comas. Expresinvalor que devuelve la funcion.

    Ejemplo de un programa que manda a llamar una funcin y devuelve un valor.

    #include #include

    int resultado(int r,int a,int b); void main(void) { clrscr(); int a,b,r; printf("Dame los numero a sumar:\n");

    Tec.Victor Manuel Tejeda Lopez

  • 28

    scanf("%d%d",&a,&b); printf("El resultado de la suma es: %d",resultado(r,a,b)); getch(); return; } int resultado(int r,int a,int b) { r=a+b; return r; }

    En este caso se manda a llamar una funcin resultado, el cual se le manda dos valores a y b y se devuelve el valor r.

    Ejemplo de una funcin sencilla que sirve para dos cosas diferentes que nosotros queramos. Evitando as que se codifique doblemente.

    Sacar el rea de un rectngulo y el rea de un triangulo.

    #include #include

    float area1(float area,float altura,float base); void main(void) { clrscr(); float base,altura,area; printf("Area de un ractangulo y de un triangulo\n\n"); printf("Base: ");scanf("%f",&base); printf("Altura: ");scanf("%f",&altura); printf("EL area del rectangulo es: %.2f",area1(area,altura,base)); printf("\n\nEl area del triangulo es:%.2f",area1(area,altura,base)/2.0); getch(); return; } float area1(float area,float altura,float base) { area=base*altura; return (area); }

    En este ejemplo se ve claramente la funcin principal de las funciones, aunque aparentemente es sencillo muestra claramente lo que una funcin.

    Tec.Victor Manuel Tejeda Lopez

  • 29

    La funcin mx. Devuelve el nmero mayor de dos enteros.

    #include #include

    int max(int x,int y) { if(x < y) return y; else return x; } void main(void) { int m, n; do { clrscr(); printf("Introduce dos numeros: "); scanf("%d %d",&m,&n); printf("Maximo de %d,%d es %d\n",m,n,max(m,n));//llamada a max getch(); }while(m!=0); return; } Ejercicios:

    Realiza un programa que mande a una funcin el ao de nacimiento y el ao actual y que regrese el la edad actual.

    Escribir una funcin que tenga un argumento de tipo entero y que devuelva la letra P si el nmero es positivo, y la letra N si es cero o negativo.

    Escribir una funcin que convierta una temperatura dada en grados Celsius a grados Fahrenheit, La formula de conversin es:

    F= 9/5*C+32

    Tec.Victor Manuel Tejeda Lpez

  • 30

    1

    ARRAYS:

    Los arrays (o matrices) son un tipo de variable que permiten tener ms de un elemento, (o valor en su interior), a los que se pueden acceder mediante un ndice. Un array tambin es el tipo en el que se basan todas las matrices o arrays. Un array puede contener, por ejemplo, la edad de los alumnos de una clase, las temperaturas de cada da de un mes en una ciudad determinada, las calificaciones de los alumnos de un saln. Etc. En C un array empieza con en valor de 0 y hasta donde nosotros le indiquemos: . a[0],a[1],a[2],a[3] a[n-1]. Por ejemplo un array con seis elementos de tipo entero.

    A

    Y as este array de tipo entero contiene 6 elementos, A[0] contiene 5, A[1] contiene 4, A[2] contiene 10, A[3] contiene 8, A[4] contiene 25, A[5] contiene 50.

    La declaracin de un array en C es la siguiente.

    Tipo nombrearray [numerodeelementos];

    int A[10]; int alumnos[10]; char A[10]; char alumnos[10]; float A[10]; float alumnos[10];

    Ejemplo:

    Rellenar un array de con nmeros enteros enteros y despus mostrarlos en la pantalla.

    #include #include

    void main(void) { int num[10];

    5 4 10 8 25 50

    0

    2 3

    5 4

    Tec.Victor Manuel Tejeda Lpez

  • 31

    clrscr(); printf("*Ingrese 10 numeros enteros*\n"); //En este ciclo se almacena los datos de el array. for(int i=0; i

  • 32

    Ejemplo de cmo capturar e imprimir una cadena de caracteres:

    #include #include

    int main() { clrscr(); char nombre[15]; printf("Inserta un nombre: ");

    gets(nombre); printf("\n\n%s",nombre); getch(); return 0; }

    Ejercicios:

    Tec.Victor Manuel Tejeda Lpez

    *Declara un array de tipo entero de 10 elementos y muestra la suma de los elementos que sean nmeros pares.

    *Realiza un programa que muestre el nmero menor y el nmero mayor de una array de tipo entero.

  • 33

    Algoritmo de la burbuja.

    El ordenamiento de datos es de gran utilidad, y este mtodo de la burbuja es uno de los mtodos de ms facilidad para ordenar. El valor ms pequeo flota hasta la parte superior del array y as sucesivamente hasta que todos los elementos se queden acomodados.

    El diagrama de flujo del mtodo de la burbuja seria.

    t=num[i] num[i]=num[j] num[j]=t

    r

    F

    Fin

    F

    V

    V

    Tec.Victor Manuel Tejeda Lpez

    max 5 num[max],i,j,t

    i

    i < max-1 i++

    j j < max

    j++

    num[i] > num[j]

    Inicio

    r

  • 34

    La codificacin ser:

    #include #include #include #define MAX 5

    void main(void) { clrscr(); int num[MAX],i,j,t; printf("Dame 5 numero cuales quiera: \n"); for(i=0;i>num[i]; /*Metodo de la burbuja*/

    for(i=0;i

  • 35

    Array multidimencionales.

    Este tipo de array se distingue por ser de dos dimensiones y se manejan de la misma forma que una tabla o una matriz. Que equivale a una tabla con mltiples filas y columnas.

    Su estructura es la siguiente:

    0 1 2 3 n

    0

    1

    2

    m

    En C un array empieza en la posicin (0,0) y sigue as segn uno quiera.

    La estructura para ver las posiciones del array ser:

    [0,0]

    [0,1]

    [0,2]

    [0,3]

    [1,0]

    [1,1]

    [1,2]

    [1,3]

    [2,0]

    [2,1]

    [2,2]

    [2,3]

    Tec.Victor Manuel Tejeda Lpez

  • 36

    Una estructura de do dimensiones en C se declara de la siguiente manera.

    int A[2][2]; Esta es un array de 2 filas, 2 columnas. char A[3][2]; Esta es un array de 3 filas, 2 columnas.

    Los array son muy fcil de manejar siempre y cuando se visualice primero las posiciones del mismo, y ver como se va controlando las posiciones filas, columnas.

    Ejemplo de cmo se llenara de datos un array de dos dimensiones.

    #include #include #include

    void main(void) { int A[3][3],i,j; clrscr(); printf("Dame los datos:\n"); for(i=0;iA[i][j]; } printf("\n\n\n"); //imprimir los datos. for(i=0;i

  • 37

    Registros:

    Un registro es un conjunto esttico y heterogneo de datos relacionados pertenecientes a un mismo objeto. Manejar registros estructuras es de gran utilidad ya que se puede manejar dentro de un arreglo diferentes tipos de datos, ya sea enteros, carcter, flotantes

    Una estructura se representa de la siguiente manera:

    Clave nombre depto sueldo

    Registros:

    Bsicamente esa es una estructura donde dentro del un mismo registro se manejan diferentes tipos de datos como se muestra en la figura.

    En C la declaracin de un registro es de la siguiente manera.

    Struct tipo_registro { Int clave; Char nombre; Char depto; Flota sueldo; }

    Si se quiere que la variable sea empleado:

    struct tipo_registro empleado;

    Ejemplo de un llenado de registros.

    #include #include #include

    #define MAX 10

    struct tipo_registro { int clave; char nombre[30]; char depto; float sueldo;

    123 Victor A 1230.76

    Tec.Victor Manuel Tejeda Lpez

  • 38

    }; void main(void) { clrscr(); struct tipo_registro Empleado[10]; int cantidad; do { coutcantidad; }while(cantidad>=MAX);

    /*Se capturan los arreglos*/

    clrscr(); for(int i=0; i

  • 39

    Bibliografa:

    Programacin en C (Metodologa, estructura de datos y objetos) Luis Joyanes Aguilar Ignacio Zahonero Martnez. Mc Graw Hill.

    Curso de Programacin en Lenguaje C++ (ITESM).

    Ejercicios (Cortesa del Ing. Sergio Garza Carranza)

    PROGRAMACION EN *C* 2/E Autor: GOTTFRIED

    Se recomienda que se empiece a programar orientado a objetos y manejar la estructura de datos.

    Prximamente un Manuel de estructura de datos orientado a objetos.

    Tec.Victor Manuel Tejeda Lpez