Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Sede: Zacatenco
Salón: 2EV3
Práctica 2
Introducción 3
Marco teórico 4
Programa 1 5
Programa 2 11
Programa 3 16
Programa 4 20
Programa 5 24
Conclusión 29
Referencias 30
2
Introducción
Las clases (class) y estructuras (struct) son dos de las construcciones básicas
que forman un conjunto como una unidad lógica. Los datos y comportamientos son
eventos, entre otros elementos, como se muestra más adelante en este tema.
3
El anidamiento (llamado nesting en inglés) es la práctica de
incorporar llamadas (calls) a funciones o procedimientos (unas) dentro
de otras, mediante la inclusión de diversos niveles de paréntesis.
Debido a que la potencial acumulación de éstos últimos suele hacer que
la edición y la detección de errores se vuelva un proceso engorroso, los
entornos de programación modernos -así como los programas de
planilla de cálculo- resaltan en negrita el par correspondiente a la
posición que está editando el programador o usuario en cada momento.
El control (automático) del balance o equilibrio entre los paréntesis de
apertura y de cierre se suele conocer como brace match checking en
inglés.
Naturalmente, para la resolución matemática de estas complejas
formulas encadenadas, las expresiones deben ser evaluadas
desde adentro hacia afuera, ya que los resultados de las más internas
sirven, temporalmente, de datos de entrada de las exteriores.
4
Programa 1
Realice el siguiente ejercicio con una clase La clase struct lleva inicio, fin,
incremento y acumulador, para sumar un incremento dado por el usuario, que
inicie en un valor dado por el usuarios y un fin dado por el usuario.
Y que el usuario vuelva a preguntar inicio, fin e incremento en un rango de 0
a 100.
Ejemplo;
Inicio 3
Fin 12
Incremento 2
Debe considerara suma=0 o el primer valor de suma es=a inicio
suma= 3+2=5
Suma= 5+2=7
suma =7+2=9
suma=9+2=11 fin del proceso
Iteraciones 4
5
6
7
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
void Datos()
{
char Nombre[30],Edad[30],Escuela[30],Grupo[30],Boleta[30];
cout<<"\nIngrese su nombre: ";
cin>>Nombre;
cout<<"Ingrese su edad: ";
cin>>Edad;
cout<<"Escuela donde estudia: ";
cin>>Escuela;
cout<<"Grupo: ";
cin>>Grupo;
cout<<"Ingrese su Numero de Boleta: ";
cin>>Boleta;
cout<<endl;
}
void UML()
{
cout<<"|-----------------------------------|\n";
cout<<"| struct<Acumulador> |\n";
cout<<"|-----------------------------------|\n";
cout<<"| x : int |\n";
cout<<"| i : int |\n";
cout<<"| f : int |\n";
cout<<"| inc : int |\n";
cout<<"| acu : int |\n";
cout<<"| sum : int |\n";
cout<<"|-----------------------------------|\n";
cout<<"| |\n";
cout<<"|-----------------------------------|\n";
}
struct suma
{
int x,a,b,inc,acu,sum;
}obj;
int main()
{
8
UML();
Datos();
int y=0;
char op;
do
{
obj.sum=0;
cout<<"Programa que suma los incrimentos de los numeros
entre un parametro especifico\n\n";
do{
cout<<"Dame un parametro de inicio entre 0 y 100 con numero
entero: ";
cin>>obj.a;
if(obj.a<0||obj.a>100)
{
cout<<"\nopcion invalida\n";
}
}while(obj.a<0||obj.a>100);
cout<<endl;
do{
cout<<"Dame un parametro de fin entre 0 y 100 con numero
entero: ";
cin>>obj.b;
if(obj.b<0||obj.b>100)
{
cout<<"\nopcion invalida\n";
}
}while(obj.b<0||obj.b>100);
cout<<endl;
do{
cout<<"dame un parametro de incrimento entre 0 y 100 con
numero entero: ";
cin>>obj.inc;
if(obj.inc<0||obj.inc>100)
{
cout<<"\nopcion invalida\n";
}
}while(obj.inc<0||obj.inc>100);
cout<<endl;
for(obj.x=obj.a;obj.x<=obj.b;obj.x=obj.x+obj.inc)
9
{
obj.acu=obj.inc+obj.x;
cout<<obj.x<<"+ "<<obj.inc<<"="<<obj.acu<<endl;
obj.sum=obj.x+obj.sum;
y++;
}
cout<<"La suma total es: "<<obj.sum<<"\n";
cout<<"Fueron "<<y<<" iteraciones\n";
cout<<"Desea volver con otros numeros:\na.-si\nb.-no\n";
cin>>op;
}
while(op!='b');
return 0;
}
10
Programa 2
Realice el siguiente ejercicio con una clase. Struct lleva inicio, fin , incremento
, el multiplicador y el número de interaciones
Para multiplicar un incremento dado por el usuario, que inicie en un valor
dado por el usuarios y un fin dado por el usuario.
Ejemplo;
Inicio 3
Fin 12
Incremento 2 fin de proceso
11
12
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
void Datos()
{
char Nombre[30],Edad[30],Escuela[30],Grupo[30],Boleta[30];
cout<<"\nIngrese su nombre: ";
cin>>Nombre;
cout<<"Ingrese su edad: ";
cin>>Edad;
cout<<"Escuela donde estudia: ";
cin>>Escuela;
cout<<"Grupo: ";
cin>>Grupo;
cout<<"Ingrese su Numero de Boleta: ";
cin>>Boleta;
cout<<endl;
}
void UML()
{
cout<<"|-----------------------------------|\n";
cout<<"| struct<Multiplicador> |\n";
cout<<"|-----------------------------------|\n";
cout<<"| x : int |\n";
cout<<"| i : int |\n";
cout<<"| f : int |\n";
cout<<"| inc : int |\n";
cout<<"| acu : int |\n";
cout<<"| mul : int |\n";
cout<<"|-----------------------------------|\n";
cout<<"| |\n";
cout<<"|-----------------------------------|\n";
}
struct multiplicacion
{
int x,a,b,inc,acu,mul;
}obj;
int main()
{
13
UML();
Datos();
int y=0;
char op;
do
{
obj.mul=1;
cout<<"Programa que multiplica los incrimentos de los
numeros entre un parametro especifico\n\n";
do{
cout<<"Dame un parametro de inicio entre 0 y 100 con numero
entero: ";
cin>>obj.a;
if(obj.a<0||obj.a>100)
{
cout<<"\nopcion invalida\n";
}
}while(obj.a<0||obj.a>100);
cout<<endl;
do{
cout<<"Dame un parametro de fin entre 0 y 100 con numero
entero: ";
cin>>obj.b;
if(obj.b<0||obj.b>100)
{
cout<<"\nopcion invalida\n";
}
}while(obj.b<0||obj.b>100);
cout<<endl;
do{
cout<<"dame un parametro de incrimento entre 0 y 100 con
numero entero: ";
cin>>obj.inc;
if(obj.inc<0||obj.inc>100)
{
cout<<"\nopcion invalida\n";
}
}while(obj.inc<0||obj.inc>100);
cout<<endl;
for(obj.x=obj.a;obj.x<=obj.b;obj.x=obj.x+obj.inc)
14
{
obj.acu=obj.inc*obj.x;
cout<<obj.x<<"* "<<obj.inc<<"="<<obj.acu<<endl;
obj.mul=obj.x*obj.mul;
y++;
}
cout<<"La multiplicacion final es: "<<obj.mul<<"\n";
cout<<"Fueron "<<y<<" iteraciones\n";
cout<<"Desea volver con otros numeros:\na.-si\nb.-no\n";
cin>>op;
}
while(op!='b');
return 0;
}
15
Programa 3
Cree una función de usuario (es portada) para que imprima sus datos como
son nombre, grupo y fecha.
16
17
#include<iostream>
#include<cstdio>
#include<cstring>
#include<cstdlib>
using namespace std;
struct nombre
{
char nom[30],apep[30],apem[30];
};
struct agenda
{
nombre nombrec;
float calif[3],estatura;
}alumno;
void Datos()
{
char nombre[30],grupo[30],escuela[30],fecha[30];
cout<<"Ingrese su nombre:";
cin>>nombre;
cout<<"Ingrese su grupo:";
cin>>grupo;
cout<<"En que escuela estudia:";
cin>>escuela;
cout<<"Ingrese la fecha :";
cin>>fecha;
fflush(stdin);
}
void UML()
{
cout<<"|-----------------------------------|\n";
cout<<"| struct<Agenda,Nombre> |\n";
cout<<"|-----------------------------------|\n";
cout<<"| nomb : char |\n";
cout<<"| apep : char |\n";
cout<<"| apem : char |\n";
cout<<"| calif : float |\n";
cout<<"| estatura : float |\n";
cout<<"| |\n";
cout<<"|-----------------------------------|\n";
18
cout<<"| |\n";
cout<<"|-----------------------------------|\n";
}
int main()
{
UML();
int x;
system("color F9");
Datos();
cout<<"\nDame tu nombre: ";
cin>>alumno.nombrec.nom;
cout<<"\nDame tu apellido paterno: ";
cin>>alumno.nombrec.apep;
cout<<"\nDame tu apellido materno: ";
cin>>alumno.nombrec.apem;
for(x=0;x<3;x++)
{
cout<<"\nDame la colificacion "<<x+1<<": ";
cin>>alumno.calif[x];
}
cout<<"\nDame tu estatura: ";
cin>>alumno.estatura;
system("cls");
cout<<"\n\nEl alumno "<<alumno.nombrec.nom<<"
"<<alumno.nombrec.apep<<" "<<alumno.nombrec.apem<<" con
una estatura de: "<<alumno.estatura;
cout<<"mts y con las calificaciones: ";
for(x=0;x<3;x++)
{
cout<<"\nCalificacion "<<x+1<<": "<<alumno.calif[x];
}
cout<<endl;
return 0;
}
19
Programa 4
Modifique el ejercicio anterior de una agenda con struct anidado un struct dentro
de un struct tome en consideración lo siguiente:
Cree una función de usuario para que imprima sus datos como son nombre, grupo
y fecha.
20
21
#include<iostream>
#include<cstdio>
#include<cstring>
#include<cstdlib>
using namespace std;
void UML()
{
cout<<"|-----------------------------------|\n";
cout<<"| struct<Agenda,Nombre> |\n";
cout<<"|-----------------------------------|\n";
cout<<"| nomb : char |\n";
cout<<"| apep : char |\n";
cout<<"| apem : char |\n";
cout<<"| calif : float |\n";
cout<<"| estatura : float |\n";
cout<<"| |\n";
cout<<"|-----------------------------------|\n";
cout<<"| |\n";
cout<<"|-----------------------------------|\n";
}
struct agenda
{
struct nombre
{
char nom[30],apep[30],apem[30];
}nombrec;
float calif[3],estatura;
}alumno;
void Datos()
{
char nombre[30],grupo[30],escuela[30],fecha[30];
cout<<"Ingrese su nombre:";
cin>>nombre;
cout<<"Ingrese su grupo:";
cin>>grupo;
cout<<"En que escuela estudia:";
cin>>escuela;
cout<<"Ingrese la fecha :";
cin>>fecha;
fflush(stdin);
22
}
int main()
{
UML();
int x;
system("color F9");
Datos();
cout<<"\nDame tu nombre: ";
cin>>alumno.nombrec.nom;
cout<<"\nDame tu apellido paterno: ";
cin>>alumno.nombrec.apep;
cout<<"\nDame tu apellido materno: ";
cin>>alumno.nombrec.apem;
for(x=0;x<3;x++)
{
cout<<"\nDame la colificacion "<<x+1<<": ";
cin>>alumno.calif[x];
}
cout<<"\nDame tu estatura: ";
cin>>alumno.estatura;
system("cls");
cout<<"\n\nEl alumno "<<alumno.nombrec.nom<<"
"<<alumno.nombrec.apep<<" "<<alumno.nombrec.apem<<" con
una estatura de: "<<alumno.estatura;
cout<<"mts y con las calificaciones: ";
for(x=0;x<3;x++)
{
cout<<"\nCalificacion "<<x+1<<": "<<alumno.calif[x];
}
cout<<endl;
return 0;
}
23
Programa 5
Cree una función de usuario para que imprima sus datos como son nombre,
grupo y fecha.
24
25
26
#include<iostream>
#include<cstdio>
#include<cstring>
#include<cstdlib>
using namespace std;
void UML()
{
cout<<"|-----------------------------------|\n";
cout<<"| struct<Agenda,Nombre> |\n";
cout<<"|-----------------------------------|\n";
cout<<"| nomb : char |\n";
cout<<"| apep : char |\n";
cout<<"| apem : char |\n";
cout<<"| calif : float |\n";
cout<<"| estatura : float |\n";
cout<<"| |\n";
cout<<"|-----------------------------------|\n";
cout<<"| |\n";
cout<<"|-----------------------------------|\n";
}
struct agenda
{
struct nombre
{
char nom[30],apep[30],apem[30];
}nombrec;
float calif[3],estatura;
}alumno[3];
void Datos()
{
char nombre[30],grupo[30],escuela[30],fecha[30];
cout<<"Ingrese su nombre:";
cin>>nombre;
cout<<"Ingrese su grupo:";
cin>>grupo;
cout<<"En que escuela estudia:";
cin>>escuela;
cout<<"Ingrese la fecha :";
cin>>fecha;
fflush(stdin);
27
}
int main()
{
UML();
int x,i;
system("color F9");
//Datos();
for(i=0;i<3;i++)
{
fflush(stdin);
cout<<"\nDame tu nombre alumno "<<i+1<<":" ;
cin.getline(alumno[i].nombrec.nom,30);
cout<<"\nDame tu apellido paterno alumno "<<i+1<<":" ;
cin>>alumno[i].nombrec.apep;
cout<<"\nDame tu apellido materno alumno "<<i+1<<":" ;
cin>>alumno[i].nombrec.apem;
for(x=0;x<3;x++)
{
cout<<"\nDame la colificacion "<<x+1<<": ";
cin>>alumno[i].calif[x];
}
cout<<"\nDame tu estatura: ";
cin>>alumno[i].estatura;
}
system("cls");
for(i=0;i<3;i++)
{
cout<<"\n\nEl alumno "<<alumno[i].nombrec.nom<<"
"<<alumno[i].nombrec.apep<<" "<<alumno[i].nombrec.apem<<"
con una estatura de: "<<alumno[i].estatura;
cout<<"mts y con las calificaciones: ";
for(x=0;x<3;x++)
{
cout<<"\nCalificacion "<<x+1<<": "<<alumno[i].calif[x];
}
cout<<endl;
}
return 0;
}
28
Conclusión
aislado sino que forma parte de una organización jerárquica o de otro tipo.
simple vista.
29
Referencias
30