Está en la página 1de 28

MANUAL

DE PRCTICAS DE
LABORATORIO DE
FUNDAMENTOS DE
PROGRAMACIN
LINF. ABEL ALBERTO PINTOR ESTRADA

FECHA DE ELABORACIN: SEMESTRE AGOSTO DICIEMBRE 2011

MANUAL DE PRCTICAS DE LABORATORIO DE FUNDAMENTOS DE


PROGRAMACIN

ndice de Prcticas
Objetivo General .......................................................................................................... 3
Prctica I, Introduccin al lenguaje ANSI C ................................................................... 4
Objetivo .......................................................................................................................................................................... 4
Correlacin con los temas de la unidad ............................................................................................................ 4
Antecedentes tericos ............................................................................................................................................. 4
Estructura general de un programa en ANSI C ............................................................................................. 4
Materiales ...................................................................................................................................................................... 5
Procedimiento ............................................................................................................................................................. 5
Conclusiones ................................................................................................................................................................ 5
Bibliografa ................................................................................................................................................................... 6
Prctica II, Estructuras condicionales. .......................................................................... 7
Objetivo .......................................................................................................................................................................... 7
Correlacin con los temas de la unidad ............................................................................................................ 7
Marco Terico ............................................................................................................................................................. 7
Materiales ...................................................................................................................................................................... 7
Procedimiento ............................................................................................................................................................. 7
Conclusiones ................................................................................................................................................................ 8
Bibliografa ................................................................................................................................................................... 8
Prctica III, Estructuras iterativas; hacer mientras, mientras fin mientras y para
fin para. ....................................................................................................................... 9
Objetivo .......................................................................................................................................................................... 9
Correlacin con los temas de la unidad ............................................................................................................ 9
Antecedentes tericos ............................................................................................................................................. 9
Materiales ...................................................................................................................................................................... 9
Procedimiento ............................................................................................................................................................. 9
Conclusiones ............................................................................................................................................................. 12
Bibliografa ................................................................................................................................................................ 12
Prctica IV, Arreglos Unidimensionales, parte I .......................................................... 13
Objetivo ....................................................................................................................................................................... 13
Correlacin con los temas de la unidad ......................................................................................................... 13
Antecedentes tericos .......................................................................................................................................... 13
Materiales ................................................................................................................................................................... 13
Procedimiento .......................................................................................................................................................... 13
Conclusiones ............................................................................................................................................................. 14
Bibliografa ................................................................................................................................................................ 14
Prctica V, Arreglos Unidimensionales, parte 2. ......................................................... 15
Objetivo ....................................................................................................................................................................... 15
Correlacin con los temas de la unidad ......................................................................................................... 15

LINF. ABEL ALBERTO PINTOR ESTRADA

MANUAL DE PRCTICAS DE LABORATORIO DE FUNDAMENTOS DE


PROGRAMACIN


Antecedentes tericos .......................................................................................................................................... 15
Materiales ................................................................................................................................................................... 15
Procedimiento .......................................................................................................................................................... 15
Conclusiones ............................................................................................................................................................. 16
Bibliografa ................................................................................................................................................................ 16

Prctica VI, Arreglos unidimensionales, parte III ......................................................... 17


Objetivo ....................................................................................................................................................................... 17
Correlacin con los temas de la unidad ......................................................................................................... 17
Antecedentes tericos .......................................................................................................................................... 17
Materiales ................................................................................................................................................................... 17
Procedimiento .......................................................................................................................................................... 17
Conclusiones ............................................................................................................................................................. 19
Bibliografa ................................................................................................................................................................ 19
Prctica VII, Arreglos unidimensionales, parte IV ....................................................... 20
Objetivo ....................................................................................................................................................................... 20
Correlacin con los temas de la unidad ......................................................................................................... 20
Antecedentes tericos .......................................................................................................................................... 20
Materiales ................................................................................................................................................................... 20
Procedimiento .......................................................................................................................................................... 20
Conclusiones ............................................................................................................................................................. 22
Bibliografa ................................................................................................................................................................ 22
Prctica VIII, Arreglos Bidimensionales ...................................................................... 23
Objetivo ....................................................................................................................................................................... 23
Correlacin con los temas de la unidad ......................................................................................................... 23
Antecedentes tericos .......................................................................................................................................... 23
Materiales ................................................................................................................................................................... 23
Procedimiento .......................................................................................................................................................... 23
Conclusiones ............................................................................................................................................................. 24
Bibliografa ................................................................................................................................................................ 24
Prctica IX, Ordenamiento con Arreglos ..................................................................... 25
Objetivo ....................................................................................................................................................................... 25
Correlacin con los temas de la unidad ......................................................................................................... 25
Antecedentes tericos .......................................................................................................................................... 25
Materiales ................................................................................................................................................................... 25
Procedimiento .......................................................................................................................................................... 25
Conclusiones ............................................................................................................................................................. 26
Bibliografa ................................................................................................................................................................ 26
Bibliografa General ................................................................................................... 27

LINF. ABEL ALBERTO PINTOR ESTRADA

MANUAL DE PRCTICAS DE LABORATORIO DE FUNDAMENTOS DE


PROGRAMACIN

Objetivo General
Al terminar de realizar todas las prcticas de laboratorio del presente manual, el alumno ser
capaz de comprender el entorno de desarrollo de software Microsoft Visual C++ en modo
consola de 32 bits y ser capaz de desarrollar programas sencillos bajo el paradigma de la
programacin estructurada.

LINF. ABEL ALBERTO PINTOR ESTRADA

MANUAL DE PRCTICAS DE LABORATORIO DE FUNDAMENTOS DE


PROGRAMACIN

Prctica I, Introduccin al lenguaje ANSI C


Objetivo
Que el alumno conozca la interfaz del lenguaje de programacin ANSI C utilizando la herramienta
Microsoft Visual C++ en modo consola. Al finalizar la prctica 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 bsica de un programa en


este lenguaje.

3.

Compilar y depurar el cdigo escrito para obtener una ejecucin exitosa del programa.

Correlacin con los temas de la unidad


3.1 Estructuras secuenciales

Antecedentes tericos
El lenguaje ANSI C/C++ es un lenguaje denominado de alto nivel debido a que utiliza nmemotcnicos del idioma
ingls. Como todo lenguaje, ANSI C/C++ est basado en un alfabeto, denominado tabla de codificacin (ASCII,
UNICODE) y tambin establece reglas sintcticas y semnticas muy estrictas para tratar de evitar ambigedades en la
interpretacin y ejecucin de las instrucciones.
ANSI C/C++ tienen un catlogo estndar de funciones que pueden ser usadas en cualquier momento, solo vasta
incluirlas al inicio de nuestro programa, algunos ejemplos de estas funciones son:

printf, la cual se utiliza para imprimir una leyenda o texto en pantalla.


scanf, la cual se utiliza para leer un valor entero, carcter, flotante, etc.

Estructura general de un programa en ANSI C


La estructura general de un programa escrito en ANSI C es:

//
// est_gral_c.c
// Laboratorio_U3
//
// Created by ABEL PINTOR ESTRADA on 01/12/11.
// Copyright 2011 INSTITUTO TECNOLGICO DE MORELIA. All rights reserved.
//
//macro-instruccin utilizada para incluir alguna de las libreras estndar de ANSI C
#include <stdio.h>
int main()
{
//declaracin de variables
//bloque de instrucciones
//valor de retorno (1 - xito, 0 - error): return 1
}

LINF. ABEL ALBERTO PINTOR ESTRADA

MANUAL DE PRCTICAS DE LABORATORIO DE FUNDAMENTOS DE


PROGRAMACIN

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 aplicacin de consola

3.

Abre el archivo *.c

#include<stdio.h>
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 aplicacin principal (la que contiene la funcin main)

5.

Localiza y haz click sobre el botn compilar

6.

Escribe el resultado de la compilacin

R:

7. Corrige el error que se est generando y vuelve a compilar.


8. Haz click sobre el botn ejecutar y observa la ejecucin de tu primer programa.

Conclusiones

LINF. ABEL ALBERTO PINTOR ESTRADA

MANUAL DE PRCTICAS DE LABORATORIO DE FUNDAMENTOS DE


PROGRAMACIN

Bibliografa
(Cair, 2010) (Lpez, Jeder, & Vega, 2010)

LINF. ABEL ALBERTO PINTOR ESTRADA

MANUAL DE PRCTICAS DE LABORATORIO DE FUNDAMENTOS DE


PROGRAMACIN

Prctica II, Estructuras condicionales.


Objetivo

Que el alumno identifique y aplique de manera correcta las estructuras condicionales para la
creacin de programas que resuelvan problemas de la vida real. Al finalizar la prctica 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
solucin de problemas reales.

Compilar y depurar el cdigo escrito para obtener una ejecucin exitosa del programa.

Correlacin con los temas de la unidad


3.2 Estructuras selectivas: simple, doble y mltiple

Marco Terico
Materiales
Se deber contar con los siguientes materiales y herramientas de software
1

Microsoft Visual C++

Computadora con sistema operativo Microsoft Windows XP o superior.

Procedimiento
1

Abrir MVC++ (Microsoft Visual C++)

Crear un nuevo proyecto de aplicacin 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:


a. Haga un programa para calcular lo que hay que pagar por un conjunto de llamadas
telefnicas. Por cada llamada se ingresa el tipo (Internacional, Nacional y Local) y la
duracin en minutos. El criterio que se sigue para calcular el coso de cada llamada es
el siguiente:
i. Internacional: 3 primeros minutos $7.59, minuto adicional $3.03
ii. 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: duracin

Realiza el diagrama de E-P-S en el recuadro siguiente:

LINF. ABEL ALBERTO PINTOR ESTRADA

MANUAL DE PRCTICAS DE LABORATORIO DE FUNDAMENTOS DE


PROGRAMACIN

Escribe el cdigo correspondiente en lenguaje C para resolver el problema descrito.

Compila (men build, comando compile)

Ejecuta el programa (barra de comandos, botn ejecutar)

Conclusiones

Bibliografa
(Cair, 2010) (Lpez, Jeder, & Vega, 2010)

LINF. ABEL ALBERTO PINTOR ESTRADA

MANUAL DE PRCTICAS DE LABORATORIO DE FUNDAMENTOS DE


PROGRAMACIN

Prctica III, Estructuras iterativas; hacer mientras, mientras


fin mientras y para fin para.
Objetivo

Que el alumno identifique y aplique de manera correcta las estructuras iterativas para la creacin
de programas que resuelvan problemas de la vida real. Al finalizar la prctica el alumno deber
obtener las siguientes habilidades:
o

Reconocer la interfaz del entorno IDE.

Escribir un programa en lenguaje C donde aplique las estructuras condicionales e


iterativas para la solucin de problemas reales.

Compilar y depurar el cdigo escrito para obtener una ejecucin exitosa del programa.

Correlacin con los temas de la unidad


3.3 Estructuras iterativas: repetir, mientras, hasta y desde

Antecedentes tericos

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 aplicacin 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 numrica 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 prximo 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. ABEL ALBERTO PINTOR ESTRADA

10

MANUAL DE PRCTICAS DE LABORATORIO DE FUNDAMENTOS DE


PROGRAMACIN

5.

Calcule e imprima la recaudacin total del estadio.

Para crear el programa utilice la siguiente plantilla, slo llena los espacios que se indican con las
instrucciones adecuadas y prueba tu programa en Visual C++.

LINF. ABEL ALBERTO PINTOR ESTRADA

MANUAL DE PRCTICAS DE LABORATORIO DE FUNDAMENTOS DE


11
PROGRAMACIN

//
//
//
//
//
//
//

practica2.c
Laboratorio_U3
Created by ABEL PINTOR ESTRADA on 04/10/11.
Copyright 2011 __MyCompanyName__. All rights reserved.

#include <stdio.h>
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 condicin adecuada*/) //en la descripcin, la bandera se baja con -1
{
printf("\nCaptura la clave: ");
scanf("%d",&clave);
printf("\nCaptura la cantidad: ");
scanf("%d",&cant);
switch (/*cul 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 nmero de localidades vendidas tipo 1
//pon la instruccin aqu para calcular la recaudacin
break;
case 2:
printf("\nSe vendieron %d de %d igual a %d",cant,p2,cant*p2);
s2=s2+cant;
//pon la instruccin aqu para calcular la recaudacin
break;
case 3:
printf("\nSe vendieron %d de %d igual a %d",cant,p3,cant*p3);
s3=s3+cant;
//pon la instruccin aqu para calcular la recaudacin
break;
case 4:
printf("\nSe vendieron %d de %d igual a %d",cant,p4,cant*p4);
s4=s4+cant;
//pon la instruccin aqu para calcular la recaudacin
break;
case 5:
printf("\nSe vendieron %d de %d igual a %d",cant,p5,cant*p5);
s5=s5+cant;
//pon la instruccin aqu para calcular la recaudacin
}
}
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("\nQu mensaje debera ir aqu? %d", s1+s2+s3+s4+s5);
printf("\nQu mensaje debera ir aqu? %d",rec);
}

6.

Compila (men build, comando compile)

7.

Ejecuta el programa (barra de comandos, botn ejecutar)

LINF. ABEL ALBERTO PINTOR ESTRADA

12

MANUAL DE PRCTICAS DE LABORATORIO DE FUNDAMENTOS DE


PROGRAMACIN

Conclusiones

Bibliografa

(Cair, 2010) (Lpez, Jeder, & Vega, 2010)

LINF. ABEL ALBERTO PINTOR ESTRADA

MANUAL DE PRCTICAS DE LABORATORIO DE FUNDAMENTOS DE


13
PROGRAMACIN

Prctica IV, Arreglos Unidimensionales, parte I


Objetivo
Que el alumno identifique y aplique de manera correcta los arreglos de una sola dimensin. Al finalizar la
prctica el alumno deber obtener las siguientes habilidades:
1
2
3

Declarar e inicializar adecuadamente un arreglo de cualquier tipo de una sola dimensin.


Utilizar arreglos de una sola dimensin para solucionar problemas concretos.
Compilar y depurar el cdigo escrito para obtener una ejecucin exitosa del programa.

Correlacin con los temas de la unidad


4.1 Unidimensionales; conceptos bsicos, operaciones y aplicaciones

Antecedentes tericos
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
2
3
4

Abrir MVC++ (Microsoft Visual C++)


Crear un nuevo proyecto de aplicacin de consola win32 que lleve por nombre PracticasFP
Agrega un archivo *.c o *.cpp llamado arreglouni2.c
Observa el siguiente cdigo 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 posicin 0 de var almacena el valor 1
var[1]=3; //en la posicin 1 de var almacena el valor 3
var[2]=5;
var[3]=4;
var[4]=10;
for(i=0; i<5; i++)
{
printf(\nPosicin %d = %d,i,var[i]); //imprime los valores de cada posicin
}
return 0;
}

LINF. ABEL ALBERTO PINTOR ESTRADA

14

MANUAL DE PRCTICAS DE LABORATORIO DE FUNDAMENTOS DE


PROGRAMACIN


5
6
7
8
9

Compila el programa anterior y ejecuta.


Modifica el programa anterior para que el usuario capture N elementos hasta un mximo de 100
posiciones del arreglo.
Compila (men build, comando compile).
Ejecuta el programa (barra de comandos, botn ejecutar).
Notifica a tu profesor para que te califique.

Conclusiones

Bibliografa

(Cair, 2010) (Lpez, Jeder, & Vega, 2010)

LINF. ABEL ALBERTO PINTOR ESTRADA

MANUAL DE PRCTICAS DE LABORATORIO DE FUNDAMENTOS DE


15
PROGRAMACIN

Prctica V, Arreglos Unidimensionales, parte 2.


Objetivo
Que el alumno identifique y aplique de manera correcta los algoritmos y herramientas para manipulacin de
arreglos del tipo char utilizando arreglos de una dimensin. Al finalizar la prctica el alumno deber obtener
las siguientes habilidades:
1

Declarar e inicializar adecuadamente un arreglo de cualquier tipo de una dimensin.

Utilizar arreglos de una dimensin para solucionar problemas concretos de manejo de cadenas.

Compilar y depurar el cdigo escrito para obtener una ejecucin exitosa del programa.

Correlacin con los temas de la unidad


4.1 Unidimensionales; conceptos bsicos, operaciones y aplicaciones

Antecedentes tericos
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 aplicacin de consola win32 que lleve por nombre PracticasFP

3.

Agrega un archivo *.c o *.cpp llamado palindromo.c

4.

Observa el siguiente cdigo 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 <stdio.h>
#include <string.h>
int palindromo(char arreglo[]);
int main()
{
char arreglo[100];
strcpy(arreglo,"anitalavalatina");
if(palindromo(arreglo)==1)
printf("\nla frase \"%s\" es un palndromo",arreglo);
else

LINF. ABEL ALBERTO PINTOR ESTRADA

16

MANUAL DE PRCTICAS DE LABORATORIO DE FUNDAMENTOS DE


PROGRAMACIN


printf("\nla frase \"%s\" no es un palndromo",arreglo);
return 0;
}
int palindromo(char arreglo[])
{
int i,n=0;
while(arreglo[n]!='\0'){
n++;
}
for(i=0; i<n; i++){
if(arreglo[i]!=arreglo[n-i-1]){
return 0;
}
}
return 1;
}
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 lnea de cdigo del programa.


11. Notifica a tu profesor para que te califique.

Conclusiones

Bibliografa

(Cair, 2010) (Lpez, Jeder, & Vega, 2010)

LINF. ABEL ALBERTO PINTOR ESTRADA

MANUAL DE PRCTICAS DE LABORATORIO DE FUNDAMENTOS DE


17
PROGRAMACIN

Prctica VI, Arreglos unidimensionales, parte III


Objetivo
Que el alumno identifique y aplique de manera correcta los algoritmos y herramientas para manipulacin de
arreglos del tipo int utilizando arreglos de una dimensin. Al finalizar la prctica el alumno deber obtener
las siguientes habilidades:
1

Declarar e inicializar adecuadamente un arreglo de cualquier tipo de una dimensin.

Utilizar arreglos de una dimensin para solucionar problemas concretos de manejo de cadenas y
enteros.

Compilar y depurar el cdigo escrito para obtener una ejecucin exitosa del programa.

Correlacin con los temas de la unidad


4.1 Unidimensionales; conceptos bsicos, operaciones y aplicaciones

Antecedentes tericos
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 aplicacin de consola win32 que lleve por nombre PracticasFP

3.

Agrega un archivo *.c o *.cpp llamado pascal.c

4. Observa el siguiente cdigo que declara e inicializa un arreglo de enteros y calcula el tringulo de
pascal:
// pascal.c
// Laboratorio_U3
//
// Created by ABEL PINTOR ESTRADA on 10/11/11.
// Copyright 2011 TEC MORELIA. All rights reserved.
//
#include <stdio.h>
#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. ABEL ALBERTO PINTOR ESTRADA

18

MANUAL DE PRCTICAS DE LABORATORIO DE FUNDAMENTOS DE


PROGRAMACIN


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; i<D; i=i+2)
{
arreglo[i]=ant[i-1]+ant[i+1];
}
arreglo[D]=ant[D-1]+ant[D+1];
}while(I>0);
}
void copiar_arreglo(int r[], int a[])
{
int i;
for(i=0;i<N;i++){
r[i] = a[i];
}
}
void inicializar(int a[]){
int i;
for(i=0;i<N;i++){
a[i] = 0;
}
}
void imprimir(int arreglo[]){
int i;
for(i=0; i<N; i++)
{
printf("\narreglo[%d] = %d",i,arreglo[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.

Observa que el resultado del tringulo es incorrecto, analiza el porque y propn una solucin e
implemntala.

LINF. ABEL ALBERTO PINTOR ESTRADA

MANUAL DE PRCTICAS DE LABORATORIO DE FUNDAMENTOS DE


19
PROGRAMACIN

8.

Compila el programa y ejecuta.

9. Describe, con un comentario, cada lnea de cdigo del programa.


10. Notifica a tu profesor para que te califique.

Conclusiones

Bibliografa

(Cair, 2010) (Deitel & Deitel, 2005) (Lpez, Jeder, & Vega, 2010)

LINF. ABEL ALBERTO PINTOR ESTRADA

20

MANUAL DE PRCTICAS DE LABORATORIO DE FUNDAMENTOS DE


PROGRAMACIN

Prctica VII, Arreglos unidimensionales, parte IV


Objetivo
Que el alumno identifique y aplique de manera correcta los algoritmos y herramientas para manipulacin de
arreglos del tipo char utilizando arreglos de una dimensin. Al finalizar la prctica el alumno deber obtener
las siguientes habilidades:
1

Declarar e inicializar adecuadamente un arreglo de cualquier tipo de una dimensin.

Utilizar arreglos de una dimensin para solucionar problemas concretos de manejo de cadenas y
enteros.

Compilar y depurar el cdigo escrito para obtener una ejecucin exitosa del programa.

Correlacin con los temas de la unidad


4.1 Unidimensionales; conceptos bsicos, operaciones y aplicaciones

Antecedentes tericos
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
1

Abrir MVC++ (Microsoft Visual C++)

Crear un nuevo proyecto de aplicacin de consola win32 que lleve por nombre PracticasFP

Agrega un archivo *.c o *.cpp llamado copiarn.c

Observa el siguiente cdigo que declara e inicializa un arreglo de caracteres e implementa la funcin
strncpy de la librera string.h

//
//
//
//
//
//
//

practica10.c
Laboratorio_U3
Created by ABEL PINTOR ESTRADA on 17/11/11.
Copyright 2011 TEC MORELIA. All rights reserved.

#include <stdio.h>
#include <string.h>
#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. ABEL ALBERTO PINTOR ESTRADA

MANUAL DE PRCTICAS DE LABORATORIO DE FUNDAMENTOS DE


21
PROGRAMACIN

printf("Ingrese una frase (mx 100 caracteres: ");
gets(f);
printf("\nHa introducido la cadena: %s",f);
copiarn(d,f,5);
printf("\ncadena: %s",d);
//cdigo para la funcin misterio
printf("\n\nIntroduzca un texto: ");
gets(f);
printf("\nIntroduzca un texto: ");
gets(d);
if(misterio(d,f))
printf("\nqu imprimir aqu (v)?");
else
printf("\nqu imprimir aqu (f)?");
return 0;
}
void copiarn(char d[], char f[], int n)
{
int i;
for(i=0; i<n; i++){
d[i]=f[i];
}
d[i]='\0';
}
int misterio(char c1[], char c2[])
{
int ban = 1,i=0;
while(c1[i] != '\0' && c2[i] != '\0' && ban != 0)
{
if(c1[i] != c2[i])
{
ban = 0;
}
i++;
}
return ban;
}

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 funcin copiarn copia n elementos del arreglo fuente al arreglo destino, justo lo que
hace la funcin strncpy() de la librera string.h

LINF. ABEL ALBERTO PINTOR ESTRADA

22

MANUAL DE PRCTICAS DE LABORATORIO DE FUNDAMENTOS DE


PROGRAMACIN

Identifica qu es lo que hace la funcin misterio y ponle el nombre correcto a la funcin y tambin
sustituye el texto que se debera de imprimir, en las funciones printf, al llamar a la funcin misterio.

Compila el programa y ejecuta.

10 Describe, con un comentario, cada lnea de cdigo del programa.


11

Notifica a tu profesor para que te califique.

Conclusiones

Bibliografa

(Deitel & Deitel, 2005) (Lpez, Jeder, & Vega, 2010)

LINF. ABEL ALBERTO PINTOR ESTRADA

MANUAL DE PRCTICAS DE LABORATORIO DE FUNDAMENTOS DE


23
PROGRAMACIN

Prctica VIII, Arreglos Bidimensionales


Objetivo
Que el alumno identifique y aplique de manera correcta los arreglos de dos dimensiones. Al finalizar la
prctica 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 cdigo escrito para obtener una ejecucin exitosa del programa.

Correlacin con los temas de la unidad


4.2 Multidimensionales; conceptos bsicos, operaciones y aplicaciones

Antecedentes tericos

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 aplicacin de consola win32 que lleve por nombre PracticasFP

3.

Agrega un archivo *.c o *.cpp llamado arreglosbi2.c

4.

Observa el siguiente cdigo 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 <stdio.h>
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. ABEL ALBERTO PINTOR ESTRADA

MANUAL DE PRCTICAS DE LABORATORIO DE FUNDAMENTOS DE


PROGRAMACIN

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 posicin %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 posicin %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 mximo de 100 *
100 posiciones del arreglo.

7.

Compila (men build, comando compile).

8.

Ejecuta el programa (barra de comandos, botn ejecutar).

9.

Notifica a tu profesor para que te califique.

Conclusiones

Bibliografa
(Deitel & Deitel, 2005) (Lpez, Jeder, & Vega, 2010)

LINF. ABEL ALBERTO PINTOR ESTRADA

MANUAL DE PRCTICAS DE LABORATORIO DE FUNDAMENTOS DE


25
PROGRAMACIN

Prctica IX, Ordenamiento con Arreglos


Objetivo
Que el alumno identifique y aplique de manera correcta los algortmos de ordenamiento utilizando arreglos
de una dimensin. Al finalizar la prctica el alumno deber obtener las siguientes habilidades:
1
2
3
4

Declarar e inicializar adecuadamente un arreglo de cualquier tipo de una dimensin.


Utilizar arreglos de una dimensin para solucionar problemas concretos.
Comprender los algoritmos generalmente utilizados para el ordenamiento de arreglos.
Compilar y depurar el cdigo escrito para obtener una ejecucin exitosa del programa.

Correlacin con los temas de la unidad


4.1 Unidimensionales; conceptos bsicos, operaciones y aplicaciones
4.2 Multidimensionales; conceptos bsicos, operaciones y aplicaciones

Antecedentes tericos

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
2
3
4
//
//
//
//
//
//
//

Abrir MVC++ (Microsoft Visual C++)


Crear un nuevo proyecto de aplicacin de consola win32 que lleve por nombre PracticasFP
Agrega un archivo *.c o *.cpp llamado burbuja.c
Observa el siguiente cdigo 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 <stdio.h>
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. ABEL ALBERTO PINTOR ESTRADA

MANUAL DE PRCTICAS DE LABORATORIO DE FUNDAMENTOS DE


PROGRAMACIN

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 posicin %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 posicin %d,%d tiene el valor %d", x,y,matriz[x][y]);
}
}
return 0;
}
5
6
7
8
9

Compila el programa anterior y ejecuta.


Modifica el programa anterior para que el usuario capture NxM elementos hasta un mximo de 100 *
100 posiciones del arreglo.
Compila (men build, comando compile).
Ejecuta el programa (barra de comandos, botn ejecutar).
Notifica a tu profesor para que te califique.

Conclusiones

Bibliografa
(Deitel & Deitel, 2005) (Lpez, Jeder, & Vega, 2010)

LINF. ABEL ALBERTO PINTOR ESTRADA

MANUAL DE PRCTICAS DE LABORATORIO DE FUNDAMENTOS DE


27
PROGRAMACIN

Bibliografa General
Cair, O. (2010). Metodologa de la Programacin. Mxico: Alfaomega.
Lpez, Jeder, & Vega. (2010). Anlisis y Diseo de Algoritmos. Mxico: Alfaomega.
Deitel, & Deitel. (2005). Cmo Programar en C/C++. Prentice Hall.

LINF. ABEL ALBERTO PINTOR ESTRADA