Heivilina Perez "Automatas y Lenguajes Formales "
martes, 26 de mayo de 2015
lunes, 25 de mayo de 2015
CÓDIGO EN C++ DE LAS REGLAS DE PRODUCCIÓN (Muestra de los símbolos terminales).
CENTRO UNIVERSITARIO UAEM
ATLACOMULCO
LICENCIATURA EN INGENIERÍA EN COMPUTACIÓN
NOMBRE DEL DOCENTE:
INGENIERO. HÉCTOR
CABALLERO HERNÁNDEZ
NOMBRE MATERIA:
AUTÓMATAS Y LENGUAJES FORMALES
NOMBRE
DE LA ALUMNA:
HEIVILINA PÉREZ
ARIAS
GRUPO:
ICO-19
TURNO:
TRABAJO A ENTREGAR:
CÓDIGO EN C++ DE LAS REGLAS DE PRODUCCIÓN (Muestra de los símbolos
terminales).
FECHA DE ENTREGA:
MAYO DE 2015.
CÓDIGO EN C++ DE LAS REGLAS DE PRODUCCIÓN (Muestra de los símbolos terminales).
#include <iostream>
#include <string>
#include <stdlib.h>
#include <iomanip>
#include <fstream>
FILE *doc;
using namespace std;
void introducirLetra (char *,char
*,char *, int);
void mostrarReglasDeProduccion();
void lecturaDeArchivo();
const int num=1000;
struct Gramaticas{
char regla[100];
char
produccion[100];
char
letras[100];
};
Gramaticas gram[num];
int main(int argc, char** argv) {
cout<<"\nCENTRO
UNIVERSITARIO UAEM ATLACOMULCO "<<endl;
cout<<"\nAUTOMATAS
Y LENGUAJES FORMALES"<<endl;
cout<<"\nPROGRAMA
DE REGLAS DE PRODUCCION"<<endl;
cout<<"\t(Salida
de simbolos terminales)"<<endl;
cout<<"\nELABORADO
POR:"<<endl;
cout<<"---->
HEIVILINA PEREZ ARIAS"<<endl;
cout<<"---->
MAYTE RICARDO CRUZ"<<endl;
lecturaDeArchivo();
mostrarReglasDeProduccion
();
system("pause");
return EXIT_SUCCESS;
}
void lecturaDeArchivo(){
ifstream
lecturaArchivo("produccion.txt", ios::in);
if(!lecturaArchivo){
cerr<<"No
se pudo abrir el archivo"<<endl;
exit(1);
}
char
reglas[100];
char
producciones[100];
char
variables[100];
int
i=0;
while(lecturaArchivo>>reglas>>producciones>>variables){
introducirLetra(reglas,producciones,variables,i);
i++;
}
}
void introducirLetra(char
*nx,char *ox,char *dx, int posicion){
if(posicion==-1){
cout<<"Ya
no hay lugar"<<endl;
return;
}
strcpy
(gram[posicion].regla, nx);
strcpy
(gram[posicion].produccion,ox);
strcpy
(gram[posicion].letras, dx);
}
void mostrarReglasDeProduccion(){
ofstream
salida("salida.txt");
doc=fopen("salida.txt","a+");
cout<<endl;
cout<<setw(10)<<"REGLAS
DE PRODUCCION(simbolos terminales)"<<' '<<endl;
cout<<endl;
for(int
i=0; i<num;i++){
if(strcmp(gram[i].letras,"")!=0){
cout<<setw(10)<<gram[i].letras<<' '<<endl;
doc=fopen("salida.txt",
"a+");
}
}
}
domingo, 24 de mayo de 2015
CODIGO EN C++ PARA REALIZAR UN ARBOL BINARIO Y SUS RECORRIDOS
CENTRO UNIVERSITARIO UAEM
ATLACOMULCO
LICENCIATURA EN
INGENIERÍA EN COMPUTACIÓN
NOMBRE DEL DOCENTE:
INGENIERO.
HÉCTOR CABALLERO HERNÁNDEZ
NOMBRE MATERIA:
AUTÓMATAS Y LENGUAJES FORMALES
NOMBRE DE LA ALUMNA:
HEIVILINA PÉREZ ARIAS
GRUPO:
ICO-19
TURNO:
MATÚTINO
TRABAJO A ENTREGAR:
CODIGO EN C++ PARA REALIZAR UN
ARBOL BINARIO Y SUS RECORRIDOS
FECHA DE ENTREGA:
MAYO DE 2015.
CODIGO EN C++ PARA REALIZAR UN ARBOL BINARIO Y SUS
RECORRIDOS
#include <iostream>
#include <string>
#include <ctype.h>
#include <stdlib.h>
#include <math.h>
#include <cstdlib>
using namespace std;
/* run this program using the console pauser or add your own
getch, system("pause") or input loop */
//PROGRAMA QUE DEBERA AGRAGAR NUMEROS EN UNA ESTRUCTURA DE
DATOS DE UN ARBOL BINARIO
struct nodo{
int numero;
struct nodo
*izquierdo, *derecho;
};
typedef struct nodo *ARB;
ARB empezarNodo(int z){
ARB nuevonodo =
new(struct nodo);
nuevonodo->numero = z;
nuevonodo->izquierdo = NULL;
nuevonodo->derecho = NULL;
return nuevonodo;
}
void insertar(ARB &arbol, int z){
if(arbol==NULL){
arbol=empezarNodo(z);
}
else
if(z<arbol->numero)
insertar(arbol->izquierdo, z);
else
if(z>arbol->numero)
insertar(arbol->derecho, z);
}
void checarArbol(ARB arbol, int n){
if(arbol==NULL)
return;
checarArbol(arbol->derecho, n+1);
for(int i=0;
i<n; i++)
cout<<"--->";
cout<<arbol->numero<<endl;
checarArbol(arbol->izquierdo, n+1);
}
void Pre_Orden(ARB arbol){
if(arbol!=NULL){
cout<<arbol->numero<<" ";
Pre_Orden(arbol->izquierdo);
Pre_Orden(arbol->derecho);
}
}
void In_Orden(ARB arbol){
if(arbol!=NULL){
In_Orden(arbol->izquierdo);
cout<<arbol->numero<<" ";
In_Orden(arbol->derecho);
}
}
void Post_Orden(ARB arbol){
if(arbol!=NULL){
Post_Orden(arbol->izquierdo);
Post_Orden(arbol->derecho);
cout<<arbol->numero<<" ";
}
}
int main(int argc, char** argv){
system("Color 3");
cout<<"\nCENTRO UNIVERSITARIO UAEM
ATLACOMULCO"<<endl;
cout<<"\nAUTOMATAS Y LENGUAJES
FORMALES"<<endl;
cout<<"\nINTEGRANTES:"<<endl;
cout<<"\n ->HEIVILINA PEREZ
ARIAS"<<endl;
cout<<"\nELABORACION DE UN ARBOL
BINARIO Y SUS RECORRIDOS "<<endl;
cout<<" "<<endl;
int i;
ARB arbol =
NULL;
int n;
int z;
cout<<"Introdruzca la cantidad de nodos del arbol: ";
cin>>n;
cout<<endl;
for(int
i=0;i<n; i++){
cout<<"Introducir nodo numero
"<<i+1<<": ";
cin>>z;
insertar(arbol, z);
}
cout<<"\n Representacion de
arbol"<<endl;
checarArbol(
arbol, 0);
cout<<"\n\n Recorrido que realiza el arbol"<<endl;
cout<<
"..."<<endl;
cout<<"\n
In-orden : "; In_Orden(arbol);
cout<<"\n Pre-Orden :
"; Pre_Orden(arbol);
cout<<"\n Post-Orden : "; Post_Orden(arbol);
return 0;
}
Suscribirse a:
Comentarios (Atom)










