SlideShare una empresa de Scribd logo
1 de 4
Instituto Tecnológico de Tuxtla Gutiérrez
Ingeniería en Sistemas Computacionales
Materia: Simulación.
Tema: Generación de números
pseudoaleatorios.
Proyecto: “Método de Productos Medios”.
Alumnos:
Pérez Camacho Jesús Asmeth.
Culebro De la cruz Luis Antonio.
Miércoles 9 de julio de 2014, Tuxtla
Gutiérrez, Chis.
En el presente proyecto presentamos un programa que nos ayudara a la obtención de
números pseudoaleatorios mediante el algoritmo de “productos medios”.
A continuación mostraremos las capturas de pantalla sobre como funciona nuestro
programa:
Como podemos observar nos pide cuantos números pseudoaleatorios queremos generar,
nos pide dato de la semilla 1 y de la semilla 2, posteriormente nos muestra los resultados
en pantalla. 
Código de programa en C++
#include <iostream>
#include <string>
#include <sstream>
#include <stdio.h>
#include <stdlib.h>
usingnamespace std;
stringitoa(intn)
{
stringrtn;
bool neg=false;
if (n<0)
{
neg=true;
n=-n;
}
if (n==0)
return"0";
for(rtn="";n>0;rtn.insert(rtn.begin(),n%10+'0'),n/=10);
if (neg)
rtn.insert(rtn.begin(),'-');
returnrtn;
}
intmain()
{
int semilla1,semilla2,semilla3,ncalcular,semillafinal,x=3,r=1, longitud;
stringsemi,semillalong,semillaajust;
cout<< "METODO PRODUCTOS MEDIOS"<<endl;
cout<< "CUANTOSNUMEROS PSEUDOALEATORIOSDESEA OBTENER? ";
cin>>ncalcular;
cout<< "INTRODUSCA SEMILLA 1=> ";
cin>>semilla1;
semi=itoa(semilla1);
longitud=semi.length();
if(longitud==4)
{
cout<< "INTRODUSCA SEMILLA 2=> ";
cin>>semilla2;
semi=itoa(semilla2);
longitud=semi.length();
if(longitud==4)
{
cout<<endl<<endl <<"RESULTADOS;"<<endl<<endl;
for(inti=0;i<ncalcular;i++)
{
semilla3=semilla1*semilla2;
stringsemilla;
semilla=itoa(semilla3);
longitud=semilla.length();
if(longitud<8)
{
semilla="0"+semilla;
semillaajust=semilla;
stringsem;
sem= semilla.substr(2,4);
semilla3=atoi(sem.c_str());
cout<< "Y"<<i<<"("<<semilla1<<")"<< "("<<semilla2<<")"<<"="<< semillaajust;
cout<< "ttX"<<x++<< "="<<semilla3;
cout<< "ttr"<<r++<< "="<<"0."<<sem<<endl;
semilla1=semilla2;
semilla2=semilla3;
}
else
{
semillaajust=semilla;
stringsem;
sem= semilla.substr(2,4);
semilla3=atoi(sem.c_str());
cout<< "Y"<<i<<"("<<semilla1<<")"<< "("<<semilla2<<")"<<"="<< semillaajust;
cout<< "ttX"<<x++<< "="<<semilla3;
cout<< "ttr"<<r++<< "="<<"0."<<sem<<endl;
semilla1=semilla2;
semilla2=semilla3;
}
}
}
else
{
cout<< "FAVORDE INTRODUCIR UN NUMERO DE 4 CIFRAS"<<endl;
}
}
else
{
cout<< "FAVORDE INTRODUCIRUN NUMERO DE 4 CIFRAS"<<endl;
}
return0;
}

Más contenido relacionado

La actualidad más candente

Notación infija postfija
Notación infija postfijaNotación infija postfija
Notación infija postfija
Omarzingm
 
Programación MySQL-Ejercicios
Programación MySQL-EjerciciosProgramación MySQL-Ejercicios
Programación MySQL-Ejercicios
testgrupocomex
 
Estructuras de control en Java
Estructuras de control en JavaEstructuras de control en Java
Estructuras de control en Java
quesada_diego
 
Componentes y Librerías - Tópicos avanzados de programación.
Componentes y Librerías - Tópicos avanzados de programación.Componentes y Librerías - Tópicos avanzados de programación.
Componentes y Librerías - Tópicos avanzados de programación.
Giancarlo Aguilar
 

La actualidad más candente (20)

Ejemplo de Trigger en Mysql
Ejemplo de Trigger en MysqlEjemplo de Trigger en Mysql
Ejemplo de Trigger en Mysql
 
Ejercicios
EjerciciosEjercicios
Ejercicios
 
Algoritmo De Cuadrados Medios
Algoritmo De Cuadrados MediosAlgoritmo De Cuadrados Medios
Algoritmo De Cuadrados Medios
 
Tutorial de JFLAP
Tutorial de JFLAPTutorial de JFLAP
Tutorial de JFLAP
 
Algoritmo congruencial aditivo
Algoritmo congruencial aditivoAlgoritmo congruencial aditivo
Algoritmo congruencial aditivo
 
Calculadora Gráfica Java implementando el Patrón MVC
Calculadora Gráfica Java implementando el Patrón MVCCalculadora Gráfica Java implementando el Patrón MVC
Calculadora Gráfica Java implementando el Patrón MVC
 
Creación de tablas y relaciones en mysql workbench
Creación de tablas y relaciones en mysql workbenchCreación de tablas y relaciones en mysql workbench
Creación de tablas y relaciones en mysql workbench
 
Notación infija postfija
Notación infija postfijaNotación infija postfija
Notación infija postfija
 
Arreglos Bidimensionales - Java - NetBeans
Arreglos Bidimensionales - Java - NetBeansArreglos Bidimensionales - Java - NetBeans
Arreglos Bidimensionales - Java - NetBeans
 
Programación MySQL-Ejercicios
Programación MySQL-EjerciciosProgramación MySQL-Ejercicios
Programación MySQL-Ejercicios
 
Mapa mental de hilos
Mapa mental de hilosMapa mental de hilos
Mapa mental de hilos
 
Estructuras de control en Java
Estructuras de control en JavaEstructuras de control en Java
Estructuras de control en Java
 
Ejercicios de matrices y vectores en c++
Ejercicios de matrices y vectores en c++Ejercicios de matrices y vectores en c++
Ejercicios de matrices y vectores en c++
 
Presentación Métodos Numéricos
Presentación Métodos Numéricos Presentación Métodos Numéricos
Presentación Métodos Numéricos
 
Simulacion - Algoritmo congruencial cuadratico
Simulacion - Algoritmo congruencial cuadraticoSimulacion - Algoritmo congruencial cuadratico
Simulacion - Algoritmo congruencial cuadratico
 
ESTRUCTURAS ANIDADAS
ESTRUCTURAS ANIDADASESTRUCTURAS ANIDADAS
ESTRUCTURAS ANIDADAS
 
Simulación - Unidad 3 generacion de variables aleatorias
Simulación - Unidad 3 generacion de variables aleatoriasSimulación - Unidad 3 generacion de variables aleatorias
Simulación - Unidad 3 generacion de variables aleatorias
 
Componentes y Librerías - Tópicos avanzados de programación.
Componentes y Librerías - Tópicos avanzados de programación.Componentes y Librerías - Tópicos avanzados de programación.
Componentes y Librerías - Tópicos avanzados de programación.
 
Estructura de Datos - Unidad 5 metodos de ordenamiento
Estructura de Datos - Unidad 5 metodos de ordenamientoEstructura de Datos - Unidad 5 metodos de ordenamiento
Estructura de Datos - Unidad 5 metodos de ordenamiento
 
Recursividad
RecursividadRecursividad
Recursividad
 

Similar a Reporte de codigo productos medios (20)

Informe karen jacome
Informe karen jacomeInforme karen jacome
Informe karen jacome
 
Programas e informes Programación
Programas e informes ProgramaciónProgramas e informes Programación
Programas e informes Programación
 
Integradora ramos,cocon,perez,cante 10_b_10a
Integradora ramos,cocon,perez,cante 10_b_10aIntegradora ramos,cocon,perez,cante 10_b_10a
Integradora ramos,cocon,perez,cante 10_b_10a
 
11 porta
11 porta 11 porta
11 porta
 
Informe#2
Informe#2Informe#2
Informe#2
 
Practica 11
Practica 11Practica 11
Practica 11
 
11
1111
11
 
UNIDAD III - ACTIVIDAD II
UNIDAD III - ACTIVIDAD IIUNIDAD III - ACTIVIDAD II
UNIDAD III - ACTIVIDAD II
 
11
1111
11
 
Guia de-estructura-de-datos
Guia de-estructura-de-datosGuia de-estructura-de-datos
Guia de-estructura-de-datos
 
Switch case (informe_13)
Switch case (informe_13)Switch case (informe_13)
Switch case (informe_13)
 
Manual.es
Manual.esManual.es
Manual.es
 
In 2
In 2In 2
In 2
 
Practica
PracticaPractica
Practica
 
02 porta
02 porta02 porta
02 porta
 
Informe#15
Informe#15Informe#15
Informe#15
 
02
0202
02
 
Practica 11.0
Practica 11.0Practica 11.0
Practica 11.0
 
Algoritmia Iiparte (2)
Algoritmia Iiparte (2)Algoritmia Iiparte (2)
Algoritmia Iiparte (2)
 
P1
P1P1
P1
 

Más de Instituto Tecnológico de Tuxtla Gutiérrez

Más de Instituto Tecnológico de Tuxtla Gutiérrez (11)

INSTALACIÓN DE PROLOG EN WINDOWS
INSTALACIÓN DE PROLOG EN WINDOWSINSTALACIÓN DE PROLOG EN WINDOWS
INSTALACIÓN DE PROLOG EN WINDOWS
 
Reporte de instalación prolog MAC OS
Reporte de instalación prolog MAC OSReporte de instalación prolog MAC OS
Reporte de instalación prolog MAC OS
 
EJERCICIOS DE RECURSIVIDAD EN HASKELL
EJERCICIOS DE RECURSIVIDAD EN HASKELLEJERCICIOS DE RECURSIVIDAD EN HASKELL
EJERCICIOS DE RECURSIVIDAD EN HASKELL
 
SISTEMA NEURODIFUSO PARA EL CONTROL DE HUMEDAD DEL SUELO PARA EL CULTIVO DEL ...
SISTEMA NEURODIFUSO PARA EL CONTROL DE HUMEDAD DEL SUELO PARA EL CULTIVO DEL ...SISTEMA NEURODIFUSO PARA EL CONTROL DE HUMEDAD DEL SUELO PARA EL CULTIVO DEL ...
SISTEMA NEURODIFUSO PARA EL CONTROL DE HUMEDAD DEL SUELO PARA EL CULTIVO DEL ...
 
SISTEMA NEURODIFUSO PARA EL CONTROL DE TEMPERATURA PARA EL CULTIVO DEL COCCUS...
SISTEMA NEURODIFUSO PARA EL CONTROL DE TEMPERATURA PARA EL CULTIVO DEL COCCUS...SISTEMA NEURODIFUSO PARA EL CONTROL DE TEMPERATURA PARA EL CULTIVO DEL COCCUS...
SISTEMA NEURODIFUSO PARA EL CONTROL DE TEMPERATURA PARA EL CULTIVO DEL COCCUS...
 
SISTEMA NEURODIFUSO PARA EL CONTROL DE HUMEDAD RELATIVA PARA EL CULTIVO DEL C...
SISTEMA NEURODIFUSO PARA EL CONTROL DE HUMEDAD RELATIVA PARA EL CULTIVO DEL C...SISTEMA NEURODIFUSO PARA EL CONTROL DE HUMEDAD RELATIVA PARA EL CULTIVO DEL C...
SISTEMA NEURODIFUSO PARA EL CONTROL DE HUMEDAD RELATIVA PARA EL CULTIVO DEL C...
 
UNIDAD 3 MODULARIZACIÓN
UNIDAD 3 MODULARIZACIÓNUNIDAD 3 MODULARIZACIÓN
UNIDAD 3 MODULARIZACIÓN
 
PRÁCTICA 2 ENSAMBLADOR - JESÚS ASMETH PÉREZ CAMACHO
PRÁCTICA 2 ENSAMBLADOR - JESÚS ASMETH PÉREZ CAMACHOPRÁCTICA 2 ENSAMBLADOR - JESÚS ASMETH PÉREZ CAMACHO
PRÁCTICA 2 ENSAMBLADOR - JESÚS ASMETH PÉREZ CAMACHO
 
UNIDAD 2 PROGRAMACIÓN BASICA
UNIDAD 2 PROGRAMACIÓN BASICAUNIDAD 2 PROGRAMACIÓN BASICA
UNIDAD 2 PROGRAMACIÓN BASICA
 
PRÁCTICA 1 ENSAMBLADOR- JESÚS ASMETH PEREZ CAMACHO
PRÁCTICA 1 ENSAMBLADOR- JESÚS ASMETH PEREZ CAMACHOPRÁCTICA 1 ENSAMBLADOR- JESÚS ASMETH PEREZ CAMACHO
PRÁCTICA 1 ENSAMBLADOR- JESÚS ASMETH PEREZ CAMACHO
 
UNIDAD 1 INTRODUCCIÓN AL LENGUAJE ENSAMBLADOR
UNIDAD 1 INTRODUCCIÓN AL LENGUAJE ENSAMBLADORUNIDAD 1 INTRODUCCIÓN AL LENGUAJE ENSAMBLADOR
UNIDAD 1 INTRODUCCIÓN AL LENGUAJE ENSAMBLADOR
 

Reporte de codigo productos medios

  • 1. Instituto Tecnológico de Tuxtla Gutiérrez Ingeniería en Sistemas Computacionales Materia: Simulación. Tema: Generación de números pseudoaleatorios. Proyecto: “Método de Productos Medios”. Alumnos: Pérez Camacho Jesús Asmeth. Culebro De la cruz Luis Antonio. Miércoles 9 de julio de 2014, Tuxtla Gutiérrez, Chis. En el presente proyecto presentamos un programa que nos ayudara a la obtención de números pseudoaleatorios mediante el algoritmo de “productos medios”.
  • 2. A continuación mostraremos las capturas de pantalla sobre como funciona nuestro programa: Como podemos observar nos pide cuantos números pseudoaleatorios queremos generar, nos pide dato de la semilla 1 y de la semilla 2, posteriormente nos muestra los resultados en pantalla.  Código de programa en C++ #include <iostream> #include <string> #include <sstream> #include <stdio.h> #include <stdlib.h> usingnamespace std; stringitoa(intn) { stringrtn; bool neg=false;
  • 3. if (n<0) { neg=true; n=-n; } if (n==0) return"0"; for(rtn="";n>0;rtn.insert(rtn.begin(),n%10+'0'),n/=10); if (neg) rtn.insert(rtn.begin(),'-'); returnrtn; } intmain() { int semilla1,semilla2,semilla3,ncalcular,semillafinal,x=3,r=1, longitud; stringsemi,semillalong,semillaajust; cout<< "METODO PRODUCTOS MEDIOS"<<endl; cout<< "CUANTOSNUMEROS PSEUDOALEATORIOSDESEA OBTENER? "; cin>>ncalcular; cout<< "INTRODUSCA SEMILLA 1=> "; cin>>semilla1; semi=itoa(semilla1); longitud=semi.length(); if(longitud==4) { cout<< "INTRODUSCA SEMILLA 2=> "; cin>>semilla2; semi=itoa(semilla2); longitud=semi.length(); if(longitud==4) { cout<<endl<<endl <<"RESULTADOS;"<<endl<<endl; for(inti=0;i<ncalcular;i++) { semilla3=semilla1*semilla2; stringsemilla; semilla=itoa(semilla3); longitud=semilla.length(); if(longitud<8) { semilla="0"+semilla; semillaajust=semilla; stringsem;
  • 4. sem= semilla.substr(2,4); semilla3=atoi(sem.c_str()); cout<< "Y"<<i<<"("<<semilla1<<")"<< "("<<semilla2<<")"<<"="<< semillaajust; cout<< "ttX"<<x++<< "="<<semilla3; cout<< "ttr"<<r++<< "="<<"0."<<sem<<endl; semilla1=semilla2; semilla2=semilla3; } else { semillaajust=semilla; stringsem; sem= semilla.substr(2,4); semilla3=atoi(sem.c_str()); cout<< "Y"<<i<<"("<<semilla1<<")"<< "("<<semilla2<<")"<<"="<< semillaajust; cout<< "ttX"<<x++<< "="<<semilla3; cout<< "ttr"<<r++<< "="<<"0."<<sem<<endl; semilla1=semilla2; semilla2=semilla3; } } } else { cout<< "FAVORDE INTRODUCIR UN NUMERO DE 4 CIFRAS"<<endl; } } else { cout<< "FAVORDE INTRODUCIRUN NUMERO DE 4 CIFRAS"<<endl; } return0; }