tp compilation automate

نرمين*

  • Global Moderator
  • Hero Member
  • *****
    • مشاركة: 3989
    • مشاهدة الملف الشخصي
    • البريد الالكتروني
في: كانون الثاني 10, 2010, 03:38:54 مسائاً
السلام عليكم  
من يحتاج  tp compilation
الخاص ب automate
سأضعه له  
في انتظار الردود


soumia inf

  • Jr. Member
  • **
    • مشاركة: 60
    • مشاهدة الملف الشخصي
    • http://etudiantdz.com/vb/
    • البريد الالكتروني
رد #1 في: كانون الثاني 11, 2010, 06:47:21 مسائاً
نرمين انا اريدها .
و اذا عندك اي حاجة لطلبة الاعلام الالي السنة الثالثة lmd ارجوا منك افادة ؟
تمارين محلول لان الاختبارات في 24/01/2010
واليكي مني اجمل تحية


نرمين*

  • Global Moderator
  • Hero Member
  • *****
    • مشاركة: 3989
    • مشاهدة الملف الشخصي
    • البريد الالكتروني
رد #2 في: كانون الثاني 11, 2010, 07:40:08 مسائاً
تفضلي  سأحاول وضع كل ما عندي في الكمبيوتر


#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
int menup(void);
int menup11(void);
int smenup11(void);
int smenup2(void);
void menup1(void);
void smenup1(void);
void taille(char*);
int exist(char*);
void saisie(void);
void afficher(void);
void successeur(void);
void verifier(char*);
void sauvegarder(void);
//*********************************
struct listesucc { char  noeud[2];
         char trans[10];
           listesucc*suivant;

};
//*****************************************
struct liste{
      char noeud[2];
      int etat;         //INIT OU FINALE OU NON LES DEUX
      liste*suivant;
      listesucc*courant,*debut;
};
liste*dernier=NULL,*tete=NULL,*elem,*lis;
////////////le fichier/////////////////////////////
typedef struct matrice{
      char etat[2];
      char alph[10];
      int taille,nbr1;};
           ////////////////////
typedef struct fichier{ matrice mat[20][20];
            int numero,nbr2;};
 FILE *a;
 fichier F;
///////LES VARIABLE GLOBALE///////////////
int nb,aa,p,taa,ta,d,in,ab,i,choix,ch,schoix,j,nb1;
char rep;
/////////////////////////L'EDITION DE L'AUTOMATE //////////////////////
void saisie(void)
{
 clrscr();
 aa:cout<<"\n\n\n   DONNER LE NOMBRE DE NOEUDS ";
 cin>>nb;
 if (nb==0) afficher();
 for(i=1;i<=nb;++i )
 { elem=new liste;
   ab:cout<<"\n\n\n  entrer le noeud "<   cin>>elem->noeud;
   elem->suivant=NULL;

   in=exist(elem->noeud);

   if(in==1) goto ab;

   taille(elem->noeud);

   if(taa==0)  {goto ab;}

cout<<"\n\n\n EST ELLE INITIALE OU FINALE OU NON LES DEUX (I /F/ N)";
//cin>>rep;
rep=getche();

     if (rep=='i'||  rep=='I')  {   elem->etat=0;  }
     else    {    if (rep=='f'|| rep=='F') {elem->etat=1;}
         else                     {elem->etat=2; }}
         //////////////////////////////
if (dernier==NULL)
   {tete=elem;dernier=elem;}
 else
   {dernier->suivant = elem;dernier = elem;}
}elem = tete ;
while (elem!=NULL)
{
clrscr();
successeur();
elem=elem->suivant;}
}

////////////////////////test sur la taille du noeud //////////
void taille(char*f){
ta=strlen(f);
if (ta>2)
{
cout<<"\n   ATTENTION...LA TAILLE DOIT ETRE<=2\n";
taa=0;}
else taa=1;
}
/////////////////////////////////////////
int exist(char*f){

liste*lis;
lis = tete;
d=1;
while (lis!=NULL&&d==1){
if (strcmp(lis->noeud,f)==0)
{in=1;
d=2;
/*gotoxy(25,5); cprintf("ÉÍ[ ]ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»");
gotoxy(25,6); cprintf("º                                 º");
gotoxy(25,7); cprintf("º                                 º");
gotoxy(25,8); cprintf("º ATTENTION:CE NOEUD EXISTE DEJA     º");
gotoxy(25,9); cprintf("º                                 º");
gotoxy(25,10);cprintf("º                                 º");
gotoxy(25,11);cprintf("º                                 º");
gotoxy(25,12);cprintf("ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ"); */
cout<<"\n\n\n     ATTENTION:CE NOEUD EXISTE DEJA "  ;    }
else in=0;
lis=lis->suivant;
}
return in; }
//////////////////successeurs des etats ///////////////
void successeur(void)
 { int j,nb1;
  elem->debut=new listesucc;
  elem->courant=elem->debut;
  cout<<"\n\n  donner le nombre de transition sort de{"<noeud<<" }:";
  cin>>nb1;
  if(nb1==0) elem->debut=NULL;
  else
  { for(j=1;j<=nb1;j++){
 c:cout<<"\n\n  donner la transition "<< j <<"  ";
    cin>>elem->courant->trans;
    p:cout<<"\n\n  donner le noeud par cette transition:"<<"  " ;
    cin>>elem->courant->noeud;
verifier(elem->courant->noeud);
    if(in==0) goto p;
    if(j==nb1) {elem->courant->suivant=NULL; }
    { elem->courant->suivant=new listesucc;
      elem->courant=elem->courant->suivant;}
    }}}
 ////////////////////verifier si la transition exist////////////
 void verifier(char *g)
 {  liste *V;
  V=tete;
  d=1;
  while(V!=NULL&&d==1)
   { if(strcmp(V->noeud,g)==0)
   {in=1;d=2;
   lis=V;}
   else{ in=0;
   V=V->suivant;}}
   if(in==0)
   { cout<<"  attention ce noeud n''exist pas";
   }
 }

  //////////////////////affichage de l''automate //////////////////////
void afficher(void){
clrscr();
liste*t;
t=tete;
if(t==NULL) cout<<"            VOTRE AUTOMATE EST VIDE... ";
else{clrscr();       cout<<"\n        VOTRE AUTOMATE EST : \n";
///////////////////////////
cout<<"\n\n\n      LES ETATS DE L'AUTOMATE : { ";
while (t!=NULL){ cout<< t->noeud<<" , ";
        t=t->suivant;}
              cout<<"} ";
///////////
t=tete;
///////
cout<<"\n\n\n ETATS INITIALES : { ";
while (t!=NULL){
if (t->etat==0){ cout<< t->noeud<<" , "; }
              t=t->suivant;}
cout<<"} ";
//////////
t=tete;
cout<<"\n\n\n  ETATS FINALES : {";
while (t!=NULL){ if (t->etat==1 )
{cout<noeud<<" , "; }
      t=t->suivant;}
 cout<<"}";
/////////////////////
t=tete;
while (t!=NULL){
cout<<"\nÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ";
cout<<" \n\n\n  "<< t->noeud ;
          t->courant=t->debut;
while (t->courant!=NULL){
cout<<" ÍÍÍÍÍÍÍ> " <courant->trans<< " ÍÍÍÍÍÍÍ> "<courant->noeud;
cout<<" \n\n ";
t->courant=t->courant->suivant;}
t=t->suivant;
}}
getch();}

//////////////////////// pgm de sauvegarde ////////////////////
void sauvegarder(void){
int i,j;
elem=tete;
a=fopen("xxx.aut","A");
i=0;
while(elem->suivant!=NULL)
{j=0;   strcpy(F.mat[j].etat,elem->noeud);
  j=j+1;
  elem->courant=elem->debut;
  while(elem->courant->suivant!=NULL)
  { strcpy(F.mat[j].etat,elem->courant->noeud);
    strcpy(F.mat[j].alph,elem->courant->trans);
    elem->courant=elem->courant->suivant;
    j=j+1; }
    F.mat[0].nbr1=j;
    elem=elem->suivant;
    i=i+1; }
    F.nbr2=i;
    fwrite(&F,sizeof(F),1,a);
    fclose(a);}






/////////////////////////////////////////////////////////////////////////////////////////////////////
void main(void)
{ //textbackground (13)  ;
do{clrscr();choix=menup();
switch(choix)
{case 1:menup1();break;
case 2:cout<<"elle est vide";break;}
}while(choix!=3);}
 /////////////////menu principale///////////////
int menup(void)
{clrscr();
 cout<<"\n\t            UNIVERSITE DE INGDZ    ";
 cout<<"\n\t            ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ    ";
 cout<<"\n\t   TP:         COMPILATUION  ";
 cout<<"\n\t  ÍÍÍÍ ";
 cout<<"\n\t ETUDIANT CHARGER TP: NERMINE";
  cout<<"\n\tÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ";
cout<<"\n\tPROFESSEUR MODULE:    ;
cout<<"\n\tÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ";
cout<<"\n\t ANNEE UNIVERSITAIRE:    ";
cout<<"\n\t  ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ";
cout<<"\n\t   1:PARTIE1                   2:PARTIE2 ";
cout<<"\n\t               3:QUITTER      ";
cout<<"\n\n\n\n\n\n\n\n\nÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ  votre choix: ";cin>>choix;
return choix;}
/////////////////les menu principale///////////////

int menup11(void)
{clrscr();cout<<"\n\n\t 1:MIS A JOUR ";
 cout<<"\n\t  ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ";
 cout<<"\n\n\t 2:DETERMINISATION ";
 cout<<"\n\t  ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ";
 cout<<"\n\n\t 3:MINIMISATION ";
 cout<<"\n\t  ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ";
 cout<<"\n\n\t 4:GENERATION DU PGM";
 cout<<"\n\t  ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ";
 cout<<"\n\n\t 5:ANALYSE ";
 cout<<"\n\t ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ";
 cout<<"\n\n\t    6:QUITTER ";
cout<<"\n\tÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ votre choix: ";cin>>schoix;
return schoix;}
/////////////////menu principale1///////////////
 void menup1(void){//textbackground (5)  ;
do{clrscr();schoix=menup11();
switch(schoix)
{case 1:smenup1();              break;
case 2:cout<<"elle est vide";break;
case 3:cout<<"elle est vide";break;
case 4:cout<<"elle est vide";break;
case 5:cout<<"elle est vide";break;}
}while (schoix!=6);}
///////////////////////////////////////////////‚
int smenup11(void)
{clrscr();//int ch;
 cout<<"\n\n\t 1:SAISIE L''AUTOMATE ";
 cout<<"\n\t  ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ ";
 cout<<"\n\n\t 2:MODIFIER L''AUTOMATE ";
 cout<<"\n\t  ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ ";
 cout<<"\n\n\t 3:SAUVEGARDER L''AUTOMATE ";
  cout<<"\n\t  ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ ";
 cout<<"\n\n\t    4:QUITTER ";
 cout<<"\n\t  ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ";
cout<<"votre choix: ";cin>>ch;return ch;}
 //////////////////////////////////////////
 void smenup1(void){
do{clrscr();ch=smenup11();
switch(ch)
{case 1:saisie();afficher();break;
case 2:cout<<"elle est vide";break;
case 3:cout<<"elle est vide";break;}
}while(ch!=4);}
 ///////////////////////////////////////////////////

 ////////////////// sous menu de modification ///////////////////
/* int smenup2()
{clrscr();textbackground (8)  ;int sch;
 cout<<"\n\n\t 1:AJOUT UN NOEUD A L''AUTOMATE ";
 cout<<"\n\t  ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ";
 cout<<"\n\n\t 2:SUPPRIMER UN NOEUD DE L''AUTOMATE ";
 cout<<"\n\t  ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ ";
cout<<"\n\n\t   3:QUITTER ";
cout<<"\n\t  ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ";cout<<"votre choix: ";cin>>sch;
return sch;} */





نجمة الجزائر

  • Newbie
  • *
    • مشاركة: 13
    • مشاهدة الملف الشخصي
    • البريد الالكتروني
رد #3 في: كانون الثاني 21, 2010, 06:30:53 مسائاً
mrc pou c pgram mais ou est le reste et le plus important  la determinisation et la minimisation  de l'automate  
[/U][/I][/COLOR]


نورالنهار

  • Sr. Member
  • ****
    • مشاركة: 347
    • مشاهدة الملف الشخصي
    • البريد الالكتروني
رد #4 في: كانون الثاني 25, 2010, 07:37:28 مسائاً
شكرا نرمين بارك الله فيك

ننتظر التكملة  




koukou1987

  • Newbie
  • *
    • مشاركة: 6
    • مشاهدة الملف الشخصي
    • البريد الالكتروني
رد #5 في: كانون الثاني 26, 2010, 05:53:49 مسائاً
merci nermine et si vous avez ce programme mais en java ça serai sympa de votre part de le partagez avec nous:bigsmile:


نرمين*

  • Global Moderator
  • Hero Member
  • *****
    • مشاركة: 3989
    • مشاهدة الملف الشخصي
    • البريد الالكتروني
رد #6 في: شباط 01, 2010, 02:48:35 مسائاً
لا اسفة لا املكه بالجافا


كتبته ب سي فقط




hichmagic

  • Newbie
  • *
    • مشاركة: 5
    • مشاهدة الملف الشخصي
    • البريد الالكتروني
رد #7 في: آذار 05, 2010, 11:08:28 صباحاً
slt nermine ce  tp et de quelle université
merci


نرمين*

  • Global Moderator
  • Hero Member
  • *****
    • مشاركة: 3989
    • مشاهدة الملف الشخصي
    • البريد الالكتروني
رد #8 في: كانون الأول 02, 2010, 04:31:10 مسائاً
univ de jijel  pourquoi cette question


احلى بسمة

  • Newbie
  • *
    • مشاركة: 38
    • مشاهدة الملف الشخصي
    • البريد الالكتروني
رد #9 في: كانون الأول 04, 2010, 09:14:01 صباحاً
stp moi je veu un tp d'anayse lexical
:)


نرمين*

  • Global Moderator
  • Hero Member
  • *****
    • مشاركة: 3989
    • مشاهدة الملف الشخصي
    • البريد الالكتروني
رد #10 في: كانون الأول 10, 2010, 10:15:38 صباحاً
هو موجود في هذا القسم من المنتدى




omeyma

  • Newbie
  • *
    • مشاركة: 17
    • مشاهدة الملف الشخصي
    • البريد الالكتروني
رد #11 في: كانون الأول 25, 2010, 07:11:53 مسائاً
سلام
اختي هل يمكنني ارسال tp de compilation لتساعديني فيه ان شاء الله
انتظر جوابك
سلام


mimik

  • Hero Member
  • *****
    • مشاركة: 1607
    • مشاهدة الملف الشخصي
    • البريد الالكتروني
رد #12 في: كانون الثاني 02, 2011, 02:53:37 مسائاً
شكرا نرمين بارك الله فيكي


lauriana

  • Newbie
  • *
    • مشاركة: 2
    • مشاهدة الملف الشخصي
    • البريد الالكتروني
رد #13 في: تشرين الثاني 05, 2013, 04:44:45 مسائاً
أريد مساعدة فيما يخص tp compilation :bye1: