Vous êtes sur la page 1sur 23

Apuntes y ejercicios de EDD I

Rubén Alberto Martínez Aguilar N.C. 126055 1


Apuntes y ejercicios de EDD I

Estructura de Datos

PROFR: Ismael Domínguez Jiménez

ALUMNO: Martínez Aguilar Rubén Alberto

GRDO: 4º

GRUPO “1”

TRABAJO: “Programas 3er parcial”

Rubén Alberto Martínez Aguilar N.C. 126055 2


Apuntes y ejercicios de EDD I

Series de Seno y Coseno:

CONCEPTOS:

1. Programación orientada a objetos: Método de


implementación en el que los programas se
organizan como colecciones cooperativas de
objetos, cada uno de los cuales representan una
instancia de alguna clase, y cuyas clases son
todas miembros de una jerarquía de clase
mediante relaciones de herencia.
2. Polimorfismo: Permite que diferentes objetos
respondan de modo diferente a un mismo
mensaje.
3. Encapsulamiento: permite que los datos por
medio de las instancias de una clase guarden una
serie de datos para el procesamiento de estos en
la clase.
4. Herencia: Se basa sencillamente en el sentido
de la vida, creando una clase base, y de ella una
subclase y clases derivadas que obtienen
atributos y propiedades de ella.
5. Instancia de una Clase: Objeto: Unidad de
Datos y funciones que operan sobre estos datos.
6. Pase de parámetros por valor: los parámetros
reales se copian en el área de almacenamiento
de los parámetros formales.
7. Pase de parámetros por referencia: los
valores se indican en el lugar donde se localizan
y no se copian directamente.

TIPOS DE OPERADORES DE C++

Aritméticos:
+ Suma
- Resta
* Multiplicación
/ División
% Modulo
++ Incremento en 1
-- Decremento en 1
Asignación:
= Asignación
+= Asig. y suma
-= Asig. y resta
*= Asig y multiplicación
/= Asig y división
% Asig y modulo

Rubén Alberto Martínez Aguilar N.C. 126055 3


Apuntes y ejercicios de EDD I

Lógicos:
& and (lógico)
| or (lógico)
^ Xor (or exclusiva)
|| or (cortocircuito) condicional
&& and(cortocircuito)condicional
¡ not
&= Asig. y and
|= Asig. y or
^ Asig y xor

Relacional
== Igual a
¡= No igual a
> Mayor que
< Menor que
>= Mayor o igual que
<= Menor o igual que

TIPOS DE DATOS

Numéricos:
Real, integer.

Lógicos:
Booleans.

Carácter:
Char, string.

ESTRUCTURAS DE CONTROL

WHILE (MIENTRAS)

DO-WHILE (HACER-MIENTRAS)

Rubén Alberto Martínez Aguilar N.C. 126055 4


Verdadera Falsa
Apuntes y ejercicios de EDD I

REPEAT (REPETIR)

FOR (DESDE-PARA)

ARREGLOS:

Conjunto o series de datos del mismo tipo, y se clasifican por sus dimensiones.

Unidimensionales:
Vector:

Bidimensionales:
Matriz:

Rubén Alberto Martínez Aguilar N.C. 126055 5


Apuntes y ejercicios de EDD I

Multidimensionales:

Cubo:
0100090000037800000002001c00000000000400000003010800050000000b0200000
000050000000c029308300e040000002e0118001c000000fb021000070000000000bc0
2000000000102022253797374656d0008300e000096087c518c5d110004ee8339f8495
0030c020000040000002d01000004000000020101001c000000fb029cff000000000000
9001000000000740001254696d6573204e657720526f6d616e00000000000000000000
00000000000000040000002d010100050000000902000000020d000000320a5a00000
001000400000000002f0e920820002d00040000002d010000030000000000

Se accede mediante índices, en C++ se utiliza la posición 0; se declara


“<tipo> nombre [#tamaño];”
Ej. int números [15];

Ejercicio:

Char cubo [3][3][3]={{a,z,h},{b,d,g,},{c,f,c},{r,p,q},{r,m,a},{a,f,e},{j,c,c,},{r,y,j},


{j,m,c}};

Rubén Alberto Martínez Aguilar N.C. 126055 6


Apuntes y ejercicios de EDD I

LISTA DE PROGRAMAS
1........................................................................................Suma de dos números
2........................................................................................Factoriales de un número
3........................................................................................Áreas de cuadrado, triangulo y circulo
4........................................................................................Tablas de multiplicar
5........................................................................................Seno
6........................................................................................Coseno
7........................................................................................Promedio de calificaciones
8........................................................................................Fibonacci
9 Arreglos de caracteres
10 ......................................................................................Sudoku
11 ......................................................................................Cuadro mágico
12.......................................................................................Primos
13.......................................................................................Pares
14 ......................................................................................Rotar matrices -90
15 ......................................................................................Rotar matrices +90
16 ......................................................................................Suma 1-n
17.......................................................................................Suma de la diagonal principal
18 Triangulo asteriscos (***)

Rubén Alberto Martínez Aguilar N.C. 126055 7


Apuntes y ejercicios de EDD I

1.- Desarrollar un programa orientado a objetos que realice la suma de dos números:

#include <iostream.h>
#include <conio.h>

//declaracion de metodos o funciones:


class suma
{
private:
int a,b,c;
public:
suma();
void calcular();
void mostrar ();
void solicitar();
};

//implementacion de metodos y funciones:

suma::suma()
{
a=b=c=0;
}

void suma::solicitar()
{
cout<<"ingresa el primer numero: "
cin>>a;
cout<<"ingresa el segundo numero: "
cin>>b;
}

void suma::calcular()
{
c=a+b;
}

void suma::mostrar()
{
cout<<"el resultado de la suma es: "<<c;
getch();
}

main ()
{
suma obj; //creacion del objeto
obj.solicitar;
obj.calcular;
obj.mostrar;
}

Rubén Alberto Martínez Aguilar N.C. 126055 8


Apuntes y ejercicios de EDD I

2.- Factorial de un número, mediante un Programa Orientado a Objetos

#include <iostream.h>
#include <conio.h>

class factor
{
int x, acum;
public:
void imprimir();
factor();
void calculo();
};

factor::factor()
{
x=0;
acum=1;
}

void factor::calculo()
{
for(int i=1;i<x;i++);
{
acum=acum*i;
}
}

void factor::imprimir()
}
cout<<"El factorial de "<<x<<"es:"<<acum<<endl;
}

main ()
{
factor obj;
cout<<"ingresa el numero a calcular"<<endl;
cin>>obj.x;
obj.calculo();
obj.imprimir();
getch();
}

Rubén Alberto Martínez Aguilar N.C. 126055 9


Apuntes y ejercicios de EDD I

3.- áreas de cuadrado triangulo y circulo mediante un programa orientado a objetos:

#include <iostream.h> main()


#include <conio.h>
#include <math.h> area obj;
int op;
class area cout<<" MENU DE OPERACIONES "<<endl
{ <<" 1 cuadrado"<<endl
private:
<<" 2 triangulo"<<endl
Float a,b,c,area;
<<" 3 ciculo"<<endl;
public:
cin>>op;
area();
switch(op)
void cuadrado ();
void triangulo();
case 1:
void circulo();
obj.cuadrado;
};
break;
area::area();
case 2:
{
a=b=c=area=0.0; obj.triangulo;
} break;

void area::cuadrado(); case 3:


{ obj.circulo;
cout<<”ingresa el primer lado: “<<endl; break;
cin>>a;
cout<<”ingresa el segundo lado: “<<endl;
cin>>b;
area=a*b;
}

void area::triangulo()
{
float per=0.0;
cout<<”ingresa el primer lado: “<<endl;
cin>>a;
cout<<”ingresa el segundo lado: “<<endl;
cin>>b;
cout<<”ingresa el tercer lado: “<<endl;
cin>>c;
per=a+b+c;
area=pow(p*((p-a)+(p-b)+(p-c)),0.5);
}

void area::circulo();
{
cout<<”ingresa el radio. “<<endl;
cin>>a;
area=(3.1416*(pow(a,2)));
}

Rubén Alberto Martínez Aguilar N.C. 126055 10


Apuntes y ejercicios de EDD I

4.- imprimir las 10 tablas de multiplicar mediante un programa orientado a objetos:

#include <iostream.h>
#include <conio.h>

class tabla
{
public:
void calcular();
}

void tabla::calcular
{
for(int i=1;i<=10;i++)
{
for(int j=1;i<=10;++)
{
cout<<i<<”X”<<j<<”=”<<(i*j)<<endl;
}
}
}

main ()
{
tabla obj;
obj.calcular;
}

Rubén Alberto Martínez Aguilar N.C. 126055 11


Apuntes y ejercicios de EDD I

5.- Realizar un programa orientado a objetos, que calcule la serie de la función seno.

#include <conio.h>
#include <iostream.h>

#include<math.h>
class seno
{
private:
int n;
float serie, fact;
public:
seno();
void calcular()
void factorial()
};

seno::seno()
{
n=0;
serie=Fac.=0.0;
}

void seno::factorial()
{
Cout<<”ingrese el valor de n de la serie: ”;
Cin>>n;
for(int i=1;i<n;i++);
{
fact=fact*i;
}

void seno::calcular()
{
For(int i=0;i<n;i++)
{
serie= (pow(-1,n)*pow(i,(2*n))/2*fact)
}
Cout<<”la serie es: “<<serie;
}

Main()
{
Seno obj;
Obj.factorial;
Obj.calcular;
}

Rubén Alberto Martínez Aguilar N.C. 126055 12


Apuntes y ejercicios de EDD I

6.- Realizar un programa orientado a objetos, que calcule la serie de la función coseno.

#include <conio.h>
#include <iostream.h>

#include<math.h>
class coseno
{
private:
int n;
float serie, fact;
public:
coseno();
void calcular()
void factorial()
};

coseno::coseno()
{
n=0;
serie=Fac.=0.0;
}

void coseno::factorial()
{
Cout<<”ingrese el valor de n de la serie: ”;
Cin>>n;
for(int i=1;i<n;i++);
{
fact=fact*i;
}

void coseno::calcular()
{
For(int i=0;i<n;i++)
{
serie= (pow(-1,n)*pow(i,(2*n))/(2+1)*fact)
}
Cout<<”la serie es: “<<serie;
}

Main()
{
coseno obj;
Obj.factorial;
Obj.calcular;
}

Rubén Alberto Martínez Aguilar N.C. 126055 13


Apuntes y ejercicios de EDD I

7.- Realizar un programa en c++ orientado a objetos que obtenga el promedio de


calificaciones de un alumno, y que ordene las calificaciones, de menor a mayor,
obtenga la media, y la moda:

#include <iostream.h>
#include <conio.h>

class prom
{
Private:
int n;
float cal[‘ ’],moda;
public:
prom()
void llenar()
void mostrar()
void ordenar();
};

prom::prom()
{
cout<<”ingresa el numero de calificaciones”;
cin>>n;
moda=0.0

For (int i=0;i<n;i++)


{
cal[i]=0.0;
}
}

void prom::llenar()
{
For (int i=0;i<n;i++)
{
cout<<”ingresa la calificacion “<<i<<”:”
cin>>cal[i];
}
}

void prom::ordenar()
{
Float ord=0.0
for(int i=0;i<n;i++)
{
for(int j=0;i<n;j++)
{
If(cal[i]<cal[j]
{
ord=cal[i];
cal[i]=cal[j];
cal[j]=ord;

Rubén Alberto Martínez Aguilar N.C. 126055 14


Apuntes y ejercicios de EDD I

8.- Realizar un programa orientado a objetos que calcule y muestre la serie de


Fibonacci.

#include <conio.h>
#include <iostream.h>

class fibo
{
private:
int n;
int a[‘ ’]
public:
fibo();
void calcular();
void mostrar();
};

fibo::fibo()
{
n=0;
}

void fibo::calcular()
{
a[0]=1;
a[1]=1;
for(int i=2;i<n;i++)
{
a[i]=a[i-1]+a[i-2];
}
}

void fibo::mostrar()
{
for(int i=0;i<n;i++)
{
cout<<a[i];
}
}

main()
{
fibo obj;
obj.calcular;
obj.mostrar;
}

Rubén Alberto Martínez Aguilar N.C. 126055 15


Apuntes y ejercicios de EDD I

10.- Realizar un programa orientado a objetos que llene un sudoku

#include<iostream.h>
#include<conio.h> main()
class sudoku
{ sudoku obj;
public: obj.calcular();
void calcular(); obj.mostrar();
void mostrar(); getch();
private:
int a[' '][' '];
};

void sudoku::calcular()
{
int b,c=1;
for (int i=0;i<=8;i++)
{
b=c;
for(int j=0;j<=8;j++)
{
a[j][i]=b;
b++;
if(b>9)
b=1;
}
c=c+3;
if(c>9)
c=c-8;
}
}

void sudoku::mostrar()
{
for (int i=0;i<=8;i++)
{
for(int j=0;j<=8;j++)
{
cout<<a[i][j]<<" ";
}
cout<<"\n\n";
}
}

Rubén Alberto Martínez Aguilar N.C. 126055 16


Apuntes y ejercicios de EDD I

11.- Realizar un programa orientado a objetos que realice el llenado de un cuabro


magico de orden n.

#include<iostream.h>
#include<conio.h>
#include<math.h>
class cuadro
{
private:
int mat[' '][' '];
public:
void llenar(int n);
void poner0(int n);
void mostrar(int n);
mat[i][j]=cant;
};
cant++;
i++;
void cuadro::poner0(int n)
if(i==n)
{ i=0;
j++;
for(int i=0;i<n;i++) if(j==n)
{ j=0;
for(int j=0;j<n;j++)
{
mat[i][j]=0;
}
}
}

void cuadro::llenar(int n)
{
int cant=1, i=n-1, j=n/2;
while(cant<=(n*n))
{
if(mat[i][j]!=0)
{
j--;
if(j<0)
{j=n-1;}
i--;
if(i<0)
{i=n-1;}
i--;
if(i<0)
{i=n-1;}
}

Rubén Alberto Martínez Aguilar N.C. 126055 17


Apuntes y ejercicios de EDD I

12.-Relizar un programa orientdo objetos, que reconosca e imprim los numeros pares,
en una intervlo n.

#include <conio.h>
#include <iostream.h>

class pares
{
Public:
void calcular();
};

Void pares::calcular()
{
Int n;
Cout<<”ingrese el numero de elementos:”
Cin>>n;
for(i=2;i<=n;i+=2)
cout<<i;

Main()
{
Pares obj;
Obj.calcular;
}

Rubén Alberto Martínez Aguilar N.C. 126055 18


Apuntes y ejercicios de EDD I

13:- Relizar un programa orientdo a objetos, que calcule e imprima, los numeros
primos de una serie n.

#include <conio.h>
#include <iostrem.h>

class primos
{
Public:
void calcular();
};

Void primos::calcular()
{
int n,cont;
cout<<”ingrese el numero de elementos:”
cin>>n

for(int i;i<=n;i++)
{
Cont=0;
For(int j;j>=i;j++)
{
If(i%j=0)
Cont=cont+1;
If(cont<=2)
Cout<<i<<”,”;
}
}
}

Main()
{
Primos obj;
Obj.calcular;
}

Rubén Alberto Martínez Aguilar N.C. 126055 19


Apuntes y ejercicios de EDD I

14.- Realizar un programa orientado a objetos que rote una matriz a -90 grados

#include<conio.h>
#include<iostream.h>
#include<stdio.h>

class menos
{
public:
void llenar();
void rotar(); cout<<"";
void mostrar();
private: cout<<"***************";
int n,a[' '][' '],b[' '][' '];
};
for(int i=0;i<n;i++)
for(int j=0;j<n;j++)
void menos::llenar() cout<<b[i][j]<<"";
{
cout<<"\nNumero de la matriz cuadrada: cout<<"";
";
cin>>n;
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
cout<<"\nEscribe el elemento: "<<i<<","<<j<<" :";
cin>>a[i][j];
}
}
}

void menos::rotar()
{
int i,j,k;
k=n-1;
for(i=0;i<n;i++){
for(j=0;j<n;j++){
b[j][k]=a[i][j];
}
k--;
}
}

void menos::mostrar()
{
cout<<"\n\n";
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
cout<<a[i][j]<<"\t";
}

Rubén Alberto Martínez Aguilar N.C. 126055 20


Apuntes y ejercicios de EDD I

15.- Realizar un programa orientado acout<<"*************";


objetos que rote una matriz +90 grados.
for(int i=0;i<n;i++)
#include<conio.h> for(int j=0;j<n;j++)
#include<iostream.h> cout<<b[i][j]<<"";
#include<stdio.h>
cout<<"";
class mas
{
public:
void llenar();
main()
void rotar();
void mostrar();
private: mas noventa;
int n,a[' '][' '],b[' '][' ']; clrscr();
}; cout<<"DE UNA MATRIZ A + 90";
noventa.llenar();
void mas::llenar() noventa.rotar();
{
noventa.mostrar();
cout<<"\nNumero de la matriz cuadrada: ";
cin>>n;
getch();
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
cout<<"\nEscribe el elemento: "<<i<<","<<j<<" :";
cin>>a[i][j];
}
}
}

void mas::rotar()
{
int i,j,k;
for(i=0;i<n;i++){
k=n-1;
for(j=0;j<n;j++){
b[k][i]=a[i][j];
k--;
}
}
}

void mas::mostrar()
{
cout<<"\n\n";
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
cout<<a[i][j]<<"\t";
}
cout<<"\n";
}

Rubén Alberto Martínez Aguilar N.C. 126055 21


Apuntes y ejercicios de EDD I

16.- Realizar un programa orientado a objetos, que realice la suma de los elementos
de una serie elementos n.

#include <conio.h>
#include <iostream.h>

class suma
{
private:
int a[‘’], suma, n;
public:
void llenar();
void mostrar();
};

Void suma::llenar()
{
cout<<” ingrese el numero de elementos: “;
cin>>n;
for(int i=0;i<n;i++)
{
cout<<”ingrese el elemento: ”<<i<< “ de la serie”;
cin>>a[i];
suma+=a[i];
}
}

void suma::mostrar()
{
cout<<”los elementos de la serie son: “;
for(int i=0;i<n;i++)
cout<<a[i];
cout<<”la suma de los elementos anteriores es: “<<suma;
}

Main()
{
suma obj:
obj.llenar();
obj.mostrar();
}

Rubén Alberto Martínez Aguilar N.C. 126055 22


Apuntes y ejercicios de EDD I

17.- Realizar un programa orientado a objetos que realice la suma de l diagonal


principal en una matriz.

#include <conio.h>
#include <iostream.h>

Class diagonal
{
Private:
Int a[‘ ’,’ ’],n,res;
Public:
Void llenar();
Void imprimir();
};

Void diagonal::llenar()
{
Cout<<”ingrese el orden de la matriz”;
Cin>>n;

For(int i=0;i<n;i++)
{
For(int j=0;j<n;i++)
{
Cout<<”ingrese el elemento”<<i<<”,”<<j;
Cin>>a[i,j];
}
}
}

Void diagonal::imprimir()
{
For(int i=0;i<n;i++)
{
For(int j=0;j<n;i++)
{
If(i==j)
Res+=a[i,j];
}
}
Cout<<”el resultado es: “<<res;

Rubén Alberto Martínez Aguilar N.C. 126055 23

Vous aimerez peut-être aussi