Anda di halaman 1dari 15

Instituto Politcnico Nacional.

Escuela Superior de Ingeniera Mecnica y


Elctrica.
Unidad Culhuacn

Practica 1

Nombre:
Figueroa Prez Erika.
Profesor:
Rodrguez Hernndez Javier
Unidad de Aprendizaje:
Anlisis numrico
Fecha:
23/02/2017

Calificacin:

Observaciones:
ndice

1.-Introduccion.3
2.-Programas...4
3.-Conclusion.15
4.-Bibliografia.15

2
Introduccin

Desbordamiento de memoria:
En seguridad informtica y programacin, un desbordamiento de buffer es un error
de software que se produce cuando un programa no controla adecuadamente la
cantidad de datos que se copian sobre un rea de memoria reservada a tal efecto:
Si dicha cantidad es superior a la capacidad preasignada, los bytes sobrantes se
almacenan en zonas de memoria adyacentes, sobrescribiendo su contenido
original, que probablemente pertenecan a datos o cdigo almacenados en
memoria. Esto constituye un fallo de programacin.

3
Programas
Operaciones.
1.-Realice un programa que calcule las siguientes operaciones: suma, resta,
divisin y multiplicacin. Dado dos nmeros por el usuario, que previamente
tendr que escoger con qu tipo de numeracin desea trabajar (enteros o
decimales).
Sintaxis:
#include<stdio.h>
#include<iostream.h>
#include<stdlib.h>

class operaciones
{
int a,b;
float a1,b1,c1,c;
public:
void suma(int a,int b);
void resta(int a, int b);
void division(int a,int b);
void multiplicacion(int a, int b);
void sumad(float a1,float b1);
void restad(float a1, float b1);
void divisiond(float a1,float b1);
void multiplicaciond(float a1, float b1);
}v;
void operaciones:: suma(int a, int b)
{
c=a+b;
cout<<"La suma es:"<<c<<"\n";;
}
void operaciones:: resta(int a, int b)

4
{
c=a-b;
cout<<"La resta es:"<<c<<"\n";
}
void operaciones:: multiplicacion(int a, int b)
{
c=a*b;
cout<<"La multiplicacion es:"<<c<<"\n";
}
void operaciones:: division(int a, int b)
{
c=a/b;
cout<<"La division es:"<<c<<"\n";
}
void operaciones:: sumad(float a1, float b1)
{
c1=a1+b1;
cout<<"La suma es:"<<c1<<"\n";
}
void operaciones:: restad(float a1, float b1)
{
c1=a1-b1;
cout<<"La resta es:"<<c1<<"\n";
}
void operaciones:: multiplicaciond(float a1, float b1)
{
c1=a1*b1;
cout<<"La multiplicacion es:"<<c1<<"\n";

5
void operaciones:: divisiond(float a1, float b1)
{
c1=a1/b1;
cout<<"La division es:"<<c1<<"\n";
}
void main()
{
int x,y,z,n;
float x1,y1,z1;
char R;
do{
cout<<" MENU\n";
cout<<"Que tipo de numeracion desea?\n";
cout<<"1.-Enteros\n";
cout<<"2.-Desimales\n";
cin>>n;
system("cls");
switch(n)
{
case 1:
cout<<"Dame un numero\n";
cin>>x;
cout<<"Dame segundo numero\n";
cin>>y;
system("cls");
do{
cout<<"1.-Suma\n";
cout<<"2.-Resta\n";
cout<<"3.-Multiplicaion\n";
cout<<"4.-Division\n";

6
cout<<"5.-Todas\n";
cin>>n;
system("cls");
switch(n)
{
case 1:
v.suma(x,y);
break;
case 2:
v.resta(x,y);
break;
case 3:
v.multiplicacion(x,y);
break;
case 4:
v.division(x,y);
break;
case 5:
v.suma(x,y);
v.resta(x,y);
v.multiplicacion(x,y);
v.division(x,y);
break;
}
cout<<"Desea realizar otra operacion? Si:S No:N \n";
cin>>R;
system("cls");
}while(R=='S');
break;
case 2:

7
cout<<"Dame un numero\n";
cin>>x1;
cout<<"Dame segundo numero\n";
cin>>y1;
system("cls");
do{
cout<<"1.-Suma\n";
cout<<"2.-Resta\n";
cout<<"3.-Multiplicaion\n";
cout<<"4.-Division\n";
cout<<"5.-Todas\n";
cin>>n;
system("cls");
switch(n)
{
case 1:
v.sumad(x1,y1);
break;
case 2:
v.restad(x1,y1);
break;
case 3:
v.multiplicaciond(x1,y1);
break;
case 4:
v.divisiond(x1,y1);
break;
case 5:
v.sumad(x1,y1);
v.restad(x1,y1);

8
v.multiplicaciond(x1,y1);
v.divisiond(x1,y1);
break;
}
cout<<"Desea realizar otra operacion? Si:S No:N \n";
cin>>R;
system("cls");
}while(R=='S');

break;
}
cout<<"Desea cambiar de numeracion? Si:S No:N \n";
cin>>R;
system("cls");
}while(R=='S');
system("pause");
}

Corrida del programa:


1.- En el men se le da a elegir al usuario que tipo de numeracin desea utilizar.
Tiene que introducir el nmero correspondiente a dicha numeracin.

9
2.-Despues se debe introducir cuales son los nmeros con los que se desea
calcular

3.-Hay un men donde t indica cuales operaciones deseas realizar, ya sea solo
una, o las cuatro al mismo tiempo. Se debe introducir el nmero correspondiente.

10
4.-Por ultimo cual sea que haya sido tu opcin, el programa te regresa el resultado
de dicha o dichas operaciones y te pregunta si desea hacer alguna otra operacin.
Si no es as, te pregunta si desea utilizar otro tipo de numeracin y si es as, te
regresa al men de eleccin, si no te saca del programa.

Figura.
2.-Realice un programa donde se dibuje una figura, ya sea triangulo, cuadrado o
rectngulo. El usuario debe introducir las medidas.
11
Sintaxis:
#include<stdio.h>
#include<iostream.h>
#include<stdlib.h>

class Figura
{
int a,b,i,w;
public:
void horizon(int a,int b) ;
}v;
void Figura::horizon(int a,int b)
{
w=0;
do{
for(i=0;i<a;i++)
{
cout<<"#";
}
w++;
cout<<"\n";
}while(w!=b);
}

void main ()
{
int x,y;
char R;

12
do{
cout<<"Ingresa las medidas del rectangulo o cuadrado\n";
cout<<"Base:\n";
cin>>x;
cout<<"altura:\n";
cin>>y;
v.horizon(x,y);
cout<<"Desea generar otra figura? S:si N:no\n";
cin>>R;
system("cls");
}while(R=='S');
system("pause");
}

Corrida del programa


1.-El usuario debe ingresar las medidas, ya sea del cuadrado el rectngulo.

2.-El programa arrojara la figura especificada.

13
14
Conclusin

En la elaboracin del programa nmero 1 (operaciones), me encontr con varios


problemas como: en la utilizacin de los tipos de datos, ya sea entero o flotante,
ya que el usuario puede introducir dos nmeros enteros pero el programa puede
arrojar un nmero decimal, como por ejemplo en los nmeros 5 y 2, en la divisin
da 2.5, por lo que se debe de utilizar un flotante para que el resultado aparezca.
Con este programa se puede dar entender lo que es un desbordamiento en la
computadora. Cuando el usuario introduce nmeros pequeos la computadora
hace las operaciones sin ningn problema, pero cuando se introduce nmeros
muy grandes, se arroja ya sea un error, deja de funcionar el programa o
simplemente se vuelve loco. Esto ocurre porque hay un desbordamiento de
memoria ya que no tiene demasiados bits para poder realzar la operacin.
En mi caso la computadora arroja nmeros negativos:

Bibliografa.

https://es.wikipedia.org/wiki/Desbordamiento_de_bfer

15

Anda mungkin juga menyukai