MANUALDEPRÁCTICASDE LABORATORIODE FUNDAMENTOSDE PROGRAMACIÓN LINF.ABELALBERTOPINTORESTRADA
FECHADEELABORACIÓN:SEMESTREAGOSTO–DICIEMBRE2011
MANUALDEPRÁCTICASDELABORATORIODEFUNDAMENTOSDE PROGRAMACIÓN
1
ÍndicedePrácticas ObjetivoGeneral Objetivo General.................. ......... ................... .................... ................... ................... .................... ................... ................... .................... .................... .......... 3 PrácticaI,IntroducciónallenguajeANSIC... PrácticaI,Introduccióna llenguajeANSIC................... ................................ ................................ ............................... .................4 Objetivo................................ ................................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ .......................... ..........4 Correlaciónconlostemasdelaunidad............... Correlaciónconlostemasdelaunidad ............................... ................................ ................................ ................................ ................................ ............................. .............4 Antecedentesteóricos Antecedentesteóricos................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ............................. .............4 Estructuragener Estruct urageneraldeunpro aldeunprogramaenAN gramaenANSIC SIC..................................... ..................................... ........................................ ................4 Materiales.......... Materiales................... ................... ................... ................... .................... ................... ................... ................... ................... .................... ................... ................... .................... ................... ................... ................... ............ ...5 5 Procedimiento.............................................................................................................................................................5 Conclusiones Conclusiones.............. .............................. ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ .................. ..5 5 Bibliografía Bibliografía.............. .............................. ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ..................... .....6
PrácticaII,Estructurascondicionales...................... PrácticaII,Estructurascondicio nales...................................... ................................ ............................... ..................... ......7 Objetivo................................ ................................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ .......................... ..........7 Correlaciónconlostemasdelaunidad............... Correlaciónconlostemasdelaunidad ............................... ................................ ................................ ................................ ................................ ............................. .............7 MarcoTeórico MarcoTeórico................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ............................. .............7 Materiales.......... Materiales................... ................... ................... ................... .................... ................... ................... ................... ................... .................... ................... ................... .................... ................... ................... ................... ............ ...7 7 Procedimiento.............................................................................................................................................................7 Conclusiones Conclusiones.............. .............................. ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ .................. ..8 8 Bibliografía Bibliografía.............. .............................. ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ..................... .....8
PrácticaIII,Estructurasiterativas;hacer…mientras,mientras…finmientrasypara… finpara........................................................................................................................9 Objetivo................................ ................................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ .......................... ..........9 Correlaciónconlostemasdelaunidad............... Correlaciónconlostemasdelaunidad ............................... ................................ ................................ ................................ ................................ ............................. .............9 Antecedentesteóricos Antecedentesteóricos................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ............................. .............9 Materiales.......... Materiales................... ................... ................... ................... .................... ................... ................... ................... ................... .................... ................... ................... .................... ................... ................... ................... ............ ...9 9 Procedimiento.............................................................................................................................................................9 Conclusiones Conclusiones.............. .............................. ................................ ................................ ................................ ................................ ................................ ................................ ................................ ............................... ...............12 12 Bibliografía Bibliografía.............. .............................. ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ .................. ..12 12
PrácticaIV,ArreglosUnidimensionales,parteI PrácticaIV,ArreglosUnidimension ales,parteI............... ............................... ............................... ........................... ............13 13 Objetivo................................ ................................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ....................... .......13 13 Correlaciónconlostemasdelaunidad............... Correlaciónconlostemasdelaunidad ............................... ................................ ................................ ................................ ................................ .......................... ..........13 13 Antecedentesteóricos Antecedentesteóricos................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ .......................... ..........13 13 Materiales............................... ............................................... ................................ ................................ ................................ ................................ ................................ ............................... ................................ ..................... ....13 13 Procedimiento Procedimiento................................ ................................................ ................................ ................................ ................................ ................................ ................................ ................................ .......................... ..........13 13 Conclusiones Conclusiones.............. .............................. ................................ ................................ ................................ ................................ ................................ ................................ ................................ ............................... ...............14 14 Bibliografía Bibliografía.............. .............................. ................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ .................. ..14 14
PrácticaV,ArreglosUnidimensionales,parte2. PrácticaV,ArreglosUnidimension ales,parte2............... .............................. ............................... ........................... ............15 15 Objetivo................................ ................................................ ................................ ................................ ................................ ................................ ................................ ................................ ................................ ....................... .......15 15 Correlaciónconlostemasdelaunidad............... Correlaciónconlostemasdelaunidad ............................... ................................ ................................ ................................ ................................ .......................... ..........15 15
LINF.ABELALBERTOPINTORESTRADA
2
MANUALDEPRÁCTICASDELABORATORIODEFUNDAMENTOSDE PROGRAMACIÓN
Antecedentesteóricos..........................................................................................................................................15 Materiales...................................................................................................................................................................15 Procedimiento..........................................................................................................................................................15 Conclusiones.............................................................................................................................................................16 Bibliografía................................................................................................................................................................16
PrácticaVI,Arreglosunidimensionales,parteIII.........................................................17 Objetivo.......................................................................................................................................................................17 Correlaciónconlostemasdelaunidad.........................................................................................................17 Antecedentesteóricos..........................................................................................................................................17 Materiales...................................................................................................................................................................17 Procedimiento..........................................................................................................................................................17 Conclusiones.............................................................................................................................................................19 Bibliografía................................................................................................................................................................19
PrácticaVII,Arreglosunidimensionales,parteIV.......................................................20 Objetivo.......................................................................................................................................................................20 Correlaciónconlostemasdelaunidad.........................................................................................................20 Antecedentesteóricos..........................................................................................................................................20 Materiales...................................................................................................................................................................20 Procedimiento..........................................................................................................................................................20 Conclusiones.............................................................................................................................................................22 Bibliografía................................................................................................................................................................22
PrácticaVIII,ArreglosBidimensionales......................................................................23 Objetivo.......................................................................................................................................................................23 Correlaciónconlostemasdelaunidad.........................................................................................................23 Antecedentesteóricos..........................................................................................................................................23 Materiales...................................................................................................................................................................23 Procedimiento..........................................................................................................................................................23 Conclusiones.............................................................................................................................................................24 Bibliografía................................................................................................................................................................24
PrácticaIX,OrdenamientoconArreglos.....................................................................25 Objetivo.......................................................................................................................................................................25 Correlaciónconlostemasdelaunidad.........................................................................................................25 Antecedentesteóricos..........................................................................................................................................25 Materiales...................................................................................................................................................................25 Procedimiento..........................................................................................................................................................25 Conclusiones.............................................................................................................................................................26 Bibliografía................................................................................................................................................................26
BibliografíaGeneral...................................................................................................27
LINF.ABELALBERTOPINTORESTRADA
MANUALDEPRÁCTICASDELABORATORIODEFUNDAMENTOSDE PROGRAMACIÓN
3
ObjetivoGeneral Alterminarderealizartodaslasprácticasdelaboratoriodelpresentemanual,elalumnoserá capazdecomprenderelentornodedesarrollodesoftwareMicrosoftVisualC++enmodo consolade32bitsyserácapazdedesarrollarprogramassencillosbajoelparadigmadela programaciónestructurada.
LINF.ABELALBERTOPINTORESTRADA
MANUALDEPRÁCTICASDELABORATORIODEFUNDAMENTOSDE PROGRAMACIÓN
4
PrácticaI,IntroducciónallenguajeANSIC Objetivo Que el alumno conozca la interfaz del lenguaje de programación ANSI C utilizando la herramienta Microsoft Visual C++ en modo consola. Al finalizar la práctica el alumno deberá obtener las siguientes habilidades: 1.
Reconocer la interfaz del entorno IDE.
2.
Escribir un programa sencillo en lenguaje C donde aplique la estructura básica de un programa en este lenguaje.
3.
Compilar y depurar el código escrito para obtener una ejecución exitosa del programa.
Correlaciónconlostemasdelaunidad 3.1 Estructuras secuenciales
Antecedentesteóricos EllenguajeANSIC/C++esunlenguajedenominadodealtoniveldebidoaqueutilizanmemotécnicosdelidioma inglés.Comotodolenguaje,ANSIC/C++estábasadoenunalfabeto,denominadotabladecodificación(ASCII, UNICODE)ytambiénestablecereglassintácticasysemánticasmuyestrictasparatratardeevitarambigüedadesenla interpretaciónyejecucióndelasinstrucciones. ANSIC/C++tienenuncatálogoestándardefuncionesquepuedenserusadasencualquiermomento,solovasta incluirlasaliniciodenuestroprograma,algunosejemplosdeestasfuncionesson: •
printf,lacualseutilizaparaimprimirunaleyendaotextoenpantalla.
•
scanf,lacualseutilizaparaleerunvalorentero,carácter,flotante,etc.
EstructurageneraldeunprogramaenANSIC LaestructurageneraldeunprogramaescritoenANSICes:
// // est_gral_c.c // Laboratorio_U3 // // Created by ABEL PINTOR ESTRADA on 01/12/11. // Copyright 2011 INSTITUTO TECNOLÓGICO DE MORELIA. All rights reserved. // //macro-instrucción utilizada para incluir alguna de las librerías estándar de ANSI C #include int main() { //declaración de variables //bloque de instrucciones }
//valor de retorno (1 - éxito, 0 - error): return 1
LINF.ABELALBERTOPINTORESTRADA
MANUALDEPRÁCTICASDELABORATORIODEFUNDAMENTOSDE PROGRAMACIÓN
Materiales Se deberá contar con los siguientes materiales y herramientas de software 1 Microsoft Visual C++ 2 Computadora con sistema operativo Microsoft Windows XP o superior.
Procedimiento 1.
Abrir MVC++ (Microsoft Visual C++)
2.
Crear un nuevo proyecto de aplicación de consola
3.
Abre el archivo *.c #include int suma(int n1, int n2, int n3); int main() { int sum = 0; sum = suma(2,3,5); printf(“El resultado de 2 + 3 + 5 es: %d”, sum); } suma(int n1, int n2, int n3) { return n1 + n2 + n3; }
4.
Escribe el siguiente algoritmo en la aplicación principal (la que contiene la función main)
5.
Localiza y haz click sobre el botón compilar
6.
Escribe el resultado de la compilación
R:
7. Corrige el error que se está generando y vuelve a compilar. 8. Haz click sobre el botón ejecutar y observa la ejecución de tu primer programa.
Conclusiones
LINF.ABELALBERTOPINTORESTRADA
5
6
MANUALDEPRÁCTICASDELABORATORIODEFUNDAMENTOSDE PROGRAMACIÓN
Bibliografía (Cairó, 2010) (López, Jeder, & Vega, 2010)
LINF.ABELALBERTOPINTORESTRADA
MANUALDEPRÁCTICASDELABORATORIODEFUNDAMENTOSDE PROGRAMACIÓN
7
PrácticaII,Estructurascondicionales. Objetivo Que el alumno identifique y aplique de manera correcta las estructuras condicionales para la creación de programas que resuelvan problemas de la vida real. Al finalizar la práctica el alumno deberá obtener las siguientes habilidades:
•
Reconocer la interfaz del entorno IDE.
•
Escribir un programa en lenguaje C donde aplique las estructuras condicionales e iterativas para la solución de problemas reales.
•
Compilar y depurar el código escrito para obtener una ejecución exitosa del programa.
•
Correlaciónconlostemasdelaunidad 3.2 Estructuras selectivas: simple, doble y múltiple
MarcoTeórico Materiales Se deberá contar con los siguientes materiales y herramientas de software 1 Microsoft Visual C++ 2
Computadora con sistema operativo Microsoft Windows XP o superior.
Procedimiento 1
Abrir MVC++ (Microsoft Visual C++)
2
Crear un nuevo proyecto de aplicación de consola win32 que lleve por nombre PracticasFP
3
Agrega un archivo *.c o *.cpp
4
Resuelve el siguiente problema utilizando la plantilla que viene a bajo: a.
Haga un programa para calcular lo que hay que pagar por un conjunto de llamadas telefónicas. Por cada llamada se ingresa el tipo (Internacional, Nacional y Local) y la duración en minutos. El criterio que se sigue para calcular el coso de cada llamada es el siguiente: i. ii.
5
Internacional: 3 primeros minutos $7.59, minuto adicional $3.03 Nacional: 3 primeros minutos $1.20, minuto adicional 0.48
iii.
Local: las primeras 50 llamadas no se cobran. Llamada adicional $0.60
iv.
Datos: TIPO1,DUR1,TIPO2,DUR2,...,-1 1.
TIPO: tipo de llamada
2.
DUR: duración
Realiza el diagrama de E-P-S en el recuadro siguiente:
LINF.ABELALBERTOPINTORESTRADA
8
MANUALDEPRÁCTICASDELABORATORIODEFUNDAMENTOSDE PROGRAMACIÓN
6
Escribe el código correspondiente en lenguaje C para resolver el problema descrito.
7
Compila (menú build, comando compile)
8
Ejecuta el programa (barra de comandos, botón ejecutar)
Conclusiones
Bibliografía (Cairó, 2010) (López, Jeder, & Vega, 2010)
LINF.ABELALBERTOPINTORESTRADA
MANUALDEPRÁCTICASDELABORATORIODEFUNDAMENTOSDE PROGRAMACIÓN
PrácticaIII,Estructurasiterativas;hacer…mientras,mientras… finmientrasypara…finpara. Objetivo •
Que el alumno identifique y aplique de manera correcta las estructuras iterativas para la creación de programas que resuelvan problemas de la vida real. Al finalizar la práctica el alumno deberá obtener las siguientes habilidades: o
o
o
Reconocer la interfaz del entorno IDE. Escribir un programa en lenguaje C donde aplique las estructuras condicionales e iterativas para la solución de problemas reales. Compilar y depurar el código escrito para obtener una ejecución exitosa del programa.
Correlaciónconlostemasdelaunidad 3.3 Estructuras iterativas: repetir, mientras, hasta y desde
Antecedentesteóricos Materiales Se deberá contar con los siguientes materiales y herramientas de software 1. Microsoft Visual C++ 2. Computadora con sistema operativo Microsoft Windows XP o superior.
Procedimiento Abrir MVC++ (Microsoft Visual C++) Crear un nuevo proyecto de aplicación de consola win32 que lleve por nombre PracticasFP Agrega un archivo *.c o *.cpp Resuelve el siguiente problema utilizando la plantilla que viene a bajo: •
En un estadio se tienen 5 tipos diferentes de localidades, las cuales se identifican por una clave numérica que es un valor comprendido entre 1 y 5. Los precios de cada localidad y los datos referentes a las ventas de boletas para el próximo juego se proporcionan como sigue:
•
Datos: P1,P2,P3,P4,P5
•
CLAVE1, CANT1, CLAVE2,CANT2,... -1
•
Construya un programa que: •
Lea los precios.
•
Lea los datos de las ventas de boletos.
•
Imprima para cada venta, la clave, la cantidad y el importe total de los boletos vendidos en esta venta.
•
Calcule e imprima la cantidad de boletos vendidos de cada tipo.
LINF.ABELALBERTOPINTORESTRADA
9
10
MANUALDEPRÁCTICASDELABORATORIODEFUNDAMENTOSDE PROGRAMACIÓN •
5.
Calcule e imprima la recaudación total del estadio.
Para crear el programa utilice la siguiente plantilla, sólo llena los espacios que se indican con las instrucciones adecuadas y prueba tu programa en Visual C++.
LINF.ABELALBERTOPINTORESTRADA
MANUALDEPRÁCTICASDELABORATORIODEFUNDAMENTOSDE 11 PROGRAMACIÓN // // // // // // //
practica2.c Laboratorio_U3 Created by ABEL PINTOR ESTRADA on 04/10/11. Copyright 2011 __MyCompanyName__. All rights reserved.
#include int main() { //declara e inicializa de manera adecuada las variables int p1,p2,p3,p4,p5; int clave,cant; int s1,s2,s3,s4,s5; int rec; printf("\nCaptura el precio de la localidad 1: " ); scanf("%d",&p1); printf("\nCaptura el precio de la localidad 2: " ); scanf("%d",&p2); printf("\nCaptura el precio de la localidad 3: " ); scanf("%d",&p3); printf("\nCaptura el precio de la localidad 4: " ); scanf("%d",&p4); printf("\nCaptura el precio de la localidad 5: " ); scanf("%d",&p5); printf("\n\nCaptura de registros..." ); while(/*pon la condición adecuada*/) //en la descripción, la bandera se baja con -1 { printf("\nCaptura la clave: "); scanf("%d",&clave); printf("\nCaptura la cantidad: "); scanf("%d",&cant); switch (/*¿cuál es la variable?*/) { case 1: printf("\nSe vendieron %d de %d igual a %d" ,cant,p1,cant*p1); s1=s1+cant; //incrementa en uno el número de localidades vendidas tipo 1 //pon la instrucción aquí para calcular la recaudación break; case 2: printf("\nSe vendieron %d de %d igual a %d" ,cant,p2,cant*p2); s2=s2+cant; //pon la instrucción aquí para calcular la recaudación break; case 3: printf("\nSe vendieron %d de %d igual a %d" ,cant,p3,cant*p3); s3=s3+cant; //pon la instrucción aquí para calcular la recaudación break; case 4: printf("\nSe vendieron %d de %d igual a %d" ,cant,p4,cant*p4); s4=s4+cant; //pon la instrucción aquí para calcular la recaudación break; case 5: printf("\nSe vendieron %d de %d igual a %d" ,cant,p5,cant*p5); s5=s5+cant; //pon la instrucción aquí para calcular la recaudación } } printf("\nSe han vendido hasta ahorita: " ); printf("\n%d de la localidad 1",s1); printf("\n%d de la localidad 2",s2); printf("\n%d de la localidad 3",s3); printf("\n%d de la localidad 4",s4); printf("\n%d de la localidad 5",s5); printf("\n¿Qué mensaje debería ir aquí? %d" , s1+s2+s3+s4+s5); printf("\n¿Qué mensaje debería ir aquí? %d" ,rec); }
6.
Compila (menú build, comando compile)
7.
Ejecuta el programa (barra de comandos, botón ejecutar)
LINF.ABELALBERTOPINTORESTRADA
12
MANUALDEPRÁCTICASDELABORATORIODEFUNDAMENTOSDE PROGRAMACIÓN
Conclusiones
Bibliografía (Cairó, 2010) (López, Jeder, & Vega, 2010)
LINF.ABELALBERTOPINTORESTRADA
MANUALDEPRÁCTICASDELABORATORIODEFUNDAMENTOSDE 13 PROGRAMACIÓN
PrácticaIV,ArreglosUnidimensionales,parteI Objetivo Que el alumno identifique y aplique de manera correcta los arreglos de una sola dimensión. Al finalizar la práctica el alumno deberá obtener las siguientes habilidades: 1 2 3
Declarar e inicializar adecuadamente un arreglo de cualquier tipo de una sola dimensión. Utilizar arreglos de una sola dimensión para solucionar problemas concretos. Compilar y depurar el código escrito para obtener una ejecución exitosa del programa.
Correlaciónconlostemasdelaunidad 4.1 Unidimensionales; conceptos básicos, operaciones y aplicaciones
Antecedentesteóricos Materiales Se deberá contar con los siguientes materiales y herramientas de software 1 Microsoft Visual C++ 2 Computadora con sistema operativo Microsoft Windows XP o superior.
Procedimiento 1 Abrir MVC++ (Microsoft Visual C++) 2 Crear un nuevo proyecto de aplicación de consola win32 que lleve por nombre PracticasFP 3 Agrega un archivo *.c o *.cpp llamado “arreglouni2.c” 4 Observa el siguiente código que declara e inicializa un arreglo de enteros: int main() { int vars[5]; //declara una variable de 5 elementos enteros var[0]=1; //en la posición 0 de var almacena el valor 1 var[1]=3; //en la posición 1 de var almacena el valor 3 var[2]=5; var[3]=4; var[4]=10; for(i=0; i<5; i++) { printf(“\nPosición %d = %d”,i,var[i]); //imprime los valores de cada posición } return 0; }
LINF.ABELALBERTOPINTORESTRADA
14
MANUALDEPRÁCTICASDELABORATORIODEFUNDAMENTOSDE PROGRAMACIÓN
5 6
Compila el programa anterior y ejecuta. Modifica el programa anterior para que el usuario capture N elementos hasta un máximo de 100 posiciones del arreglo. 7 Compila (menú build, comando compile). 8 Ejecuta el programa (barra de comandos, botón ejecutar). 9 Notifica a tu profesor para que te califique.
Conclusiones
Bibliografía (Cairó, 2010) (López, Jeder, & Vega, 2010)
LINF.ABELALBERTOPINTORESTRADA
MANUALDEPRÁCTICASDELABORATORIODEFUNDAMENTOSDE 15 PROGRAMACIÓN
PrácticaV,ArreglosUnidimensionales,parte2. Objetivo Que el alumno identifique y aplique de manera correcta los algoritmos y herramientas para manipulación de arreglos del tipo char utilizando arreglos de una dimensión. Al finalizar la práctica el alumno deberá obtener las siguientes habilidades: Declarar e inicializar adecuadamente un arreglo de cualquier tipo de una dimensión. Utilizar arreglos de una dimensión para solucionar problemas concretos de manejo de cadenas. Compilar y depurar el código escrito para obtener una ejecución exitosa del programa.
Correlaciónconlostemasdelaunidad 4.1 Unidimensionales; conceptos básicos, operaciones y aplicaciones
Antecedentesteóricos Materiales Se deberá contar con los siguientes materiales y herramientas de software 1. Microsoft Visual C++ 2. Computadora con sistema operativo Microsoft Windows XP o superior.
Procedimiento 1. Abrir MVC++ (Microsoft Visual C++) 2. Crear un nuevo proyecto de aplicación de consola win32 que lleve por nombre PracticasFP 3. Agrega un archivo *.c o *.cpp llamado “palindromo.c” 4. Observa el siguiente código que declara e inicializa un arreglo de enteros: // // practica7.c // Laboratorio_U3 // // Created by ABEL PINTOR ESTRADA on 03/11/11. // Copyright 2011 TEC MORELIA. All rights reserved. // #include #include int palindromo(char arreglo[]); int main() { char arreglo[100]; strcpy (arreglo,"anitalavalatina"); if (palindromo(arreglo)==1) printf ("\nla frase \"%s\" es un palíndromo",arreglo); else
LINF.ABELALBERTOPINTORESTRADA
16
MANUALDEPRÁCTICASDELABORATORIODEFUNDAMENTOSDE PROGRAMACIÓN
printf ("\nla frase \"%s\" no es un palíndromo",arreglo); return 0; } int palindromo(char arreglo[]) { int i,n=0; while(arreglo[n]!='\0'){ n++; }
}
for (i=0; i
5. Compila el programa anterior y ejecuta. 6. Realiza una prueba de escritorio (utiliza las herramientas debug de tu entorno IDE) y haz un seguimiento en tu libreta 7. Cambia la frase a “anitalavalatina.” 8. Compila el programa y ejecuta. 9. Realiza una prueba de escritorio (utiliza las herramientas debug de tu entorno IDE) y haz un seguimiento en tu libreta 10. Describe, con un comentario, cada línea de código del programa. 11. Notifica a tu profesor para que te califique.
Conclusiones
Bibliografía (Cairó, 2010) (López, Jeder, & Vega, 2010)
LINF.ABELALBERTOPINTORESTRADA
MANUALDEPRÁCTICASDELABORATORIODEFUNDAMENTOSDE 17 PROGRAMACIÓN
PrácticaVI,Arreglosunidimensionales,parteIII Objetivo Que el alumno identifique y aplique de manera correcta los algoritmos y herramientas para manipulación de arreglos del tipo int utilizando arreglos de una dimensión. Al finalizar la práctica el alumno deberá obtener las siguientes habilidades: Declarar e inicializar adecuadamente un arreglo de cualquier tipo de una dimensión. Utilizar arreglos de una dimensión para solucionar problemas concretos de manejo de cadenas y enteros. Compilar y depurar el código escrito para obtener una ejecución exitosa del programa.
Correlaciónconlostemasdelaunidad 4.1 Unidimensionales; conceptos básicos, operaciones y aplicaciones
Antecedentesteóricos Materiales Se deberá contar con los siguientes materiales y herramientas de software 1. Microsoft Visual C++ 2. Computadora con sistema operativo Microsoft Windows XP o superior.
Procedimiento Abrir MVC++ (Microsoft Visual C++) Crear un nuevo proyecto de aplicación de consola win32 que lleve por nombre PracticasFP Agrega un archivo *.c o *.cpp llamado “pascal.c” Observa el siguiente código que declara e inicializa un arreglo de enteros y calcula el triángulo de pascal: // pascal.c // Laboratorio_U3 // // Created by ABEL PINTOR ESTRADA on 10/11/11. // Copyright 2011 TEC MORELIA. All rights reserved. // #include #define N 15 void inicializar(int arreglo[]); void imprimir(int arreglo[]); void triangulo_pascal(int arreglo[]); void copiar_arreglo(int ant[], int arreglo[]); int main() { int arreglo[N]; inicializar (arreglo); triangulo_pascal(arreglo);
LINF.ABELALBERTOPINTORESTRADA
18
MANUALDEPRÁCTICASDELABORATORIODEFUNDAMENTOSDE PROGRAMACIÓN
imprimir (arreglo); return 0; } void triangulo_pascal(int arreglo[]) { int C,ant[N],I,D,i; C=N / 2; I=D=C; arreglo[C]=1; do{ inicializar (ant); copiar_arreglo(ant,arreglo); inicializar (arreglo); I=I-1; D=D+1; arreglo[I]=ant[I-1]+ant[I+1]; for (i=I+2; i0); } void copiar_arreglo(int r[], int a[]) { int i; for (i=0;i
LINF.ABELALBERTOPINTORESTRADA
MANUALDEPRÁCTICASDELABORATORIODEFUNDAMENTOSDE 19 PROGRAMACIÓN Compila el programa y ejecuta. Describe, con un comentario, cada línea de código del programa. Notifica a tu profesor para que te califique.
Conclusiones
Bibliografía (Cairó, 2010) (Deitel & Deitel, 2005) (López, Jeder, & Vega, 2010)
LINF.ABELALBERTOPINTORESTRADA
20
MANUALDEPRÁCTICASDELABORATORIODEFUNDAMENTOSDE PROGRAMACIÓN
PrácticaVII,Arreglosunidimensionales,parteIV Objetivo Que el alumno identifique y aplique de manera correcta los algoritmos y herramientas para manipulación de arreglos del tipo char utilizando arreglos de una dimensión. Al finalizar la práctica el alumno deberá obtener las siguientes habilidades: Declarar e inicializar adecuadamente un arreglo de cualquier tipo de una dimensión. Utilizar arreglos de una dimensión para solucionar problemas concretos de manejo de cadenas y enteros. Compilar y depurar el código escrito para obtener una ejecución exitosa del programa.
Correlaciónconlostemasdelaunidad 4.1 Unidimensionales; conceptos básicos, operaciones y aplicaciones
Antecedentesteóricos Materiales Se deberá contar con los siguientes materiales y herramientas de software 3. Microsoft Visual C++ 4. Computadora con sistema operativo Microsoft Windows XP o superior.
Procedimiento Abrir MVC++ (Microsoft Visual C++) Crear un nuevo proyecto de aplicación de consola win32 que lleve por nombre PracticasFP Agrega un archivo *.c o *.cpp llamado “copiarn.c” Observa el siguiente código que declara e inicializa un arreglo de caracteres e implementa la función strncpy de la librería string.h // // practica10.c // Laboratorio_U3 // // Created by ABEL PINTOR ESTRADA on 17/11/11. // Copyright 2011 TEC MORELIA. All rights reserved. // #include #include #define N 100 void copiarn(char d[], char f[], int n); int misterio(char c1[], char c2[]); int main(){ char f[N],d[N];
LINF.ABELALBERTOPINTORESTRADA
MANUALDEPRÁCTICASDELABORATORIODEFUNDAMENTOSDE 21 PROGRAMACIÓN printf ("Ingrese una frase (máx 100 caracteres: "); gets(f); printf ("\nHa introducido la cadena: %s",f); copiarn(d,f,5); printf ("\ncadena: %s",d); //código para la función misterio printf ("\n\nIntroduzca un texto: "); gets(f); printf ("\nIntroduzca un texto: "); gets(d); if (misterio(d,f)) printf ("\n¿qué imprimir aquí (v)?"); else printf ("\n¿qué imprimir aquí (f)?"); }
return 0;
void copiarn(char d[], char f[], int n) { int i; for (i=0; i
Compila el programa anterior y ejecuta. Realiza una prueba de escritorio (utiliza las herramientas debug de tu entorno IDE) y haz un seguimiento en tu libreta Observa que la función copiarn copia n elementos del arreglo fuente al arreglo destino, justo lo que hace la función strncpy() de la librería string.h
LINF.ABELALBERTOPINTORESTRADA
22
MANUALDEPRÁCTICASDELABORATORIODEFUNDAMENTOSDE PROGRAMACIÓN Identifica qué es lo que hace la función misterio y ponle el nombre correcto a la función y también sustituye el texto que se debería de imprimir, en las funciones printf, al llamar a la función misterio. Compila el programa y ejecuta. Describe, con un comentario, cada línea de código del programa. Notifica a tu profesor para que te califique.
Conclusiones
Bibliografía (Deitel & Deitel, 2005) (López, Jeder, & Vega, 2010)
LINF.ABELALBERTOPINTORESTRADA
MANUALDEPRÁCTICASDELABORATORIODEFUNDAMENTOSDE 23 PROGRAMACIÓN
PrácticaVIII,ArreglosBidimensionales Objetivo Que el alumno identifique y aplique de manera correcta los arreglos de dos dimensiones. Al finalizar la práctica el alumno deberá obtener las siguientes habilidades: 1 2 3
Declarar e inicializar adecuadamente un arreglo de cualquier tipo de dos dimensiones. Utilizar arreglos de dos dimensiones para solucionar problemas concretos. Compilar y depurar el código escrito para obtener una ejecución exitosa del programa.
Correlaciónconlostemasdelaunidad 4.2 Multidimensionales; conceptos básicos, operaciones y aplicaciones
Antecedentesteóricos Materiales Se deberá contar con los siguientes materiales y herramientas de software 1 Microsoft Visual C++ 2 Computadora con sistema operativo Microsoft Windows XP o superior.
Procedimiento 1.
Abrir MVC++ (Microsoft Visual C++)
2.
Crear un nuevo proyecto de aplicación de consola win32 que lleve por nombre PracticasFP
3.
Agrega un archivo *.c o *.cpp llamado “arreglosbi2.c”
4.
Observa el siguiente código que declara e inicializa un arreglo bidimensional de enteros:
// // practica5.c // Laboratorio_U3 // // Created by ABEL PINTOR ESTRADA on 13/10/11. // Copyright 2011 __MyCompanyName__. All rights reserved. // #include int main() { int matriz[ 3][ 3],x,y; //ciclos para inicializar las localidades de un arreglo bidimensional for (x=0;x< 3;x++) { for (y=0;y< 3;y++) {
LINF.ABELALBERTOPINTORESTRADA
MANUALDEPRÁCTICASDELABORATORIODEFUNDAMENTOSDE PROGRAMACIÓN
24
}
matriz[x][y]=0;
} //para capturar desde el teclado elementos para el arreglo bidimensional for (x=0;x< 3;x++) { for (y=0;y< 3;y++) { printf ("\nCaptura un valor para la posición %d,%d: " , x,y); scanf ("%d", &matriz[x][y]); } }
}
//para imprimir los elementos de un arreglo bidimensional for (x=0;x< 3;x++) { for (y=0;y< 3;y++) { printf ("\nEn la posición %d,%d tiene el valor %d", x,y,matriz[x][y]); } } return 0;
5.
Compila el programa anterior y ejecuta.
6.
Modifica el programa anterior para que el usuario capture NxM elementos hasta un máximo de 100 * 100 posiciones del arreglo.
7.
Compila (menú build, comando compile).
8.
Ejecuta el programa (barra de comandos, botón ejecutar).
9.
Notifica a tu profesor para que te califique.
Conclusiones
Bibliografía (Deitel & Deitel, 2005) (López, Jeder, & Vega, 2010)
LINF.ABELALBERTOPINTORESTRADA
MANUALDEPRÁCTICASDELABORATORIODEFUNDAMENTOSDE 25 PROGRAMACIÓN
PrácticaIX,OrdenamientoconArreglos Objetivo Que el alumno identifique y aplique de manera correcta los algorítmos de ordenamiento utilizando arreglos de una dimensión. Al finalizar la práctica el alumno deberá obtener las siguientes habilidades: 1 2 3 4
Declarar e inicializar adecuadamente un arreglo de cualquier tipo de una dimensión. Utilizar arreglos de una dimensión para solucionar problemas concretos. Comprender los algoritmos generalmente utilizados para el ordenamiento de arreglos. Compilar y depurar el código escrito para obtener una ejecución exitosa del programa.
Correlaciónconlostemasdelaunidad 4.1 Unidimensionales; conceptos básicos, operaciones y aplicaciones 4.2 Multidimensionales; conceptos básicos, operaciones y aplicaciones
Antecedentesteóricos Materiales Se deberá contar con los siguientes materiales y herramientas de software: 1 Microsoft Visual C++ 2 Computadora con sistema operativo Microsoft Windows XP o superior.
Procedimiento 1 Abrir MVC++ (Microsoft Visual C++) 2 Crear un nuevo proyecto de aplicación de consola win32 que lleve por nombre PracticasFP 3 Agrega un archivo *.c o *.cpp llamado “burbuja.c” 4 Observa el siguiente código que declara e inicializa un arreglo de enteros: // // practica5.c // Laboratorio_U3 // // Created by ABEL PINTOR ESTRADA on 13/10/11. // Copyright 2011 __MyCompanyName__. All rights reserved. // #include int main() { int matriz[ 3][ 3],x,y; //ciclos para inicializar las localidades de un arreglo bidimensional for (x=0;x< 3;x++) { for (y=0;y< 3;y++)
LINF.ABELALBERTOPINTORESTRADA
MANUALDEPRÁCTICASDELABORATORIODEFUNDAMENTOSDE PROGRAMACIÓN
26 { }
matriz[x][y]=0;
}
//para capturar desde el teclado elementos para el arreglo bidimensional for (x=0;x< 3;x++) { for (y=0;y< 3;y++) { printf ("\nCaptura un valor para la posición %d,%d: " , x,y); scanf ("%d", &matriz[x][y]); } } //para imprimir los elementos de un arreglo bidimensional for (x=0;x< 3;x++) { for (y=0;y< 3;y++) { printf ("\nEn la posición %d,%d tiene el valor %d", x,y,matriz[x][y]); } } return 0; } 5 6
Compila el programa anterior y ejecuta. Modifica el programa anterior para que el usuario capture NxM elementos hasta un máximo de 100 * 100 posiciones del arreglo. 7 Compila (menú build, comando compile). 8 Ejecuta el programa (barra de comandos, botón ejecutar). 9 Notifica a tu profesor para que te califique.
Conclusiones
Bibliografía (Deitel & Deitel, 2005) (López, Jeder, & Vega, 2010)
LINF.ABELALBERTOPINTORESTRADA
MANUALDEPRÁCTICASDELABORATORIODEFUNDAMENTOSDE 27 PROGRAMACIÓN
BibliografíaGeneral Cairó,O.(2010). MetodologíadelaProgramación.México:Alfaomega. López,Jeder,&Vega.(2010). AnálisisyDiseñodeAlgoritmos.México:Alfaomega. Deitel,&Deitel.(2005). CómoProgramarenC/C++.PrenticeHall.
LINF.ABELALBERTOPINTORESTRADA