Noi dell'Informatica..

Forum Studenti Informatica Del Primo Anno di Firenze


    verification exercise with small programm in C

    Condividi
    avatar
    stink.floyd

    Numero di messaggi : 3
    Età : 31
    Data d'iscrizione : 27.11.08

    verification exercise with small programm in C

    Messaggio Da stink.floyd il Gio Nov 27, 2008 11:26 pm

    per chi volesse controllare i propri esercizi.
    questo primo e semplice programma verifica l correttezza delle equazioni diofantee!

    questa è solo la rima parte dove calcola il MCD rscrivendo l'equazione:

    # include
    # include

    main(){

    //dichiarazione delle variabili
    int num1,num2,num3,q,r;
    int i,num_1,num_2,num_3,j=-100;
    int MCD,temp;

    //inserimento dei termini dell'equazione e visualizzazione della stessa
    printf("insert two numbers\n");
    scanf("%d%d",&num1,&num2);
    num_1=num1;
    num_2=num2;
    printf("the equation is : α*%d+ß*%d\n",num1,num2);

    //calcolo del quoziente e del resto
    q=num1/num2;
    r=num1%num2;

    /*controlla se nella prima divisione il resto risulti = 0
    in tal caso il programma risponderà che l'equazione nn ha soluzioni
    in caso contrario passerà all'istruzione successiva cioè l'else*/
    if(r==0)
    {
    printf("\n");
    printf("THE EQUATION HAS HOT SOLUTION!\n\n");
    }
    else
    {
    /*inizializzazione del ciclo for per le divisioni
    successive(algoritmo di eulero) per il calcolo del MCD*/
    for(i=0;r!=0;i++)
    {
    printf("the numb_divident is composed of %d*%d+%d\n",num2,q,r);
    num1=num2;
    num2=r;
    q=num1/num2;
    temp=r;
    r=num1%num2;
    }

    MCD=temp;
    //stampa a video il MCD e l'equazione completa
    printf("the MCD(%d,%d) is : %d\n",num_1,num_2,MCD);
    printf("the equation complet is : α*%d+ß*%d=%d",num_1,num_2,MCD);

    }

    }

    N.B. nella dichiarazione delle librerie dovete mettere al fianco di #include una volta stdlib.h e una volta stdio.h tra parentsi acute.
    non ho capito perchè non me le visualizza!

    P.S questo è scritto in C quindi per farlo girare bisogna avere un compilatore C.se siete in anbiente windows vi consigio il "Dev C+" o il "codeBlocks" . se invece lavorate in ambiene linux basta installare il copilatore c dal gestore pacchetti e compilarlo da console.ma se volete ce anche il pacchetto di "codeBlocks" per linux che è un ottimo IDE.

    BUON DIVERTIMENTO!
    avatar
    Eux1988
    Admin

    Numero di messaggi : 163
    Età : 30
    Località : Impruneta Firenze
    Data d'iscrizione : 03.11.08

    Re: verification exercise with small programm in C

    Messaggio Da Eux1988 il Dom Nov 30, 2008 11:15 pm

    Buon divertimento??Help mee!!
    Cmq io come compilatore c++ uso Il Borland ed è molto buono...è a pagamento cmq ne trovate senza problemi versioni "gratuite"!


    _________________
    "La vita è quello che ti succede mentre sei impegnato a fare altri progetti" John Lennon
    avatar
    stink.floyd

    Numero di messaggi : 3
    Età : 31
    Data d'iscrizione : 27.11.08

    Re: verification exercise with small programm in C

    Messaggio Da stink.floyd il Lun Dic 01, 2008 5:15 pm

    infatti sia il Dev che il codeBlocks sono gratuiti! cmq sto per mettere la seconda parte con delle varianti se hai qlk problema io sto qua!ciao.


    ecco questa è la modifica con l'equazione completa!

    # include"stdlib.h"
    # include"stdio.h"

    main(){

    //dichiarazione delle variabili
    int num1,num2,num3,q,r;
    int i,num_1,num_2,num_3,j=-100;
    int MCD,temp,temp2;

    //inserimento dei termini dell'equazione e visualizzazione della stessa
    printf("insert three numbers\n");
    scanf("%d%d%d",&num1,&num2,&num3);
    num_1=num1;
    num_2=num2;
    num_3=num3;
    printf("the equation is : %dx+%dy=%d\n",num1,num2,num3);

    //calcolo del quoziente e del resto
    q=num1/num2;
    r=num1%num2;

    /*controlla se nella prima divisione il resto risulti = 0
    in tal caso il programma risponderà che l'equazione nn ha soluzioni
    in caso contrario passerà all'istruzione successiva cioè l'else*/
    if(r==0)
    {
    printf("\n");
    printf("THE EQUATION HAS HOT SOLUTION!\n\n");
    }
    else
    {
    /*inizializzazione del ciclo for per le divisioni
    successive(algoritmo di eulero) per il calcolo del MCD*/
    for(i=0;r!=0;i++)
    {
    printf("the numb %d = %d*%d+%d\n",num1,num2,q,r);

    num1=num2;
    num2=r;
    q=num1/num2;
    temp=r;
    r=num1%num2;
    }

    MCD=temp;
    //stampa a video il MCD e l'equazione completa
    printf("the MCD(%d,%d) is : %d\n",num_1,num_2,MCD);
    printf("the equation with MCD is : α*%d+ß*%d=%d\n",num_1,num_2,MCD);

    if(num3%MCD==0)
    {
    temp2=num3/MCD;
    printf("x = %dα\ny = %dβ\n",temp2,temp2);
    printf("the equation complete is: %d(%dα)+%d(%dβ)=%d",num_1,temp2,num_2,temp2,num_3);
    }

    else
    printf("THE EQUATION IS NOT SOLUTIONS BECOSE THE NUMBER c IS NOT A MULTIPLE OF THE MCD\n");








    }

    }


    N.B nelle librerie naturalmente al posto dei doppi apici ci voglionole parentesi acute!

    ciao!buon divertimento!
    avatar
    stink.floyd

    Numero di messaggi : 3
    Età : 31
    Data d'iscrizione : 27.11.08

    Re: verification exercise with small programm in C

    Messaggio Da stink.floyd il Mar Dic 02, 2008 9:53 pm

    Questo programmino, demente, invece, data una grammatica verifica se il linguaggio scritto e trovato da noi e quello giusto!

    grammatica contex-free dell'esame 2002

    # include"stdlib.h"
    # include<"stdio.h"

    main()
    {
    int m,j,i;

    printf("Questo programmino visualizza il linguaggio"
    " generato dalla grammatica:\n\n G=(T,N,P,S)\n\n T={a,b}\n\n L={b^m a^j b^m | j>=0,m>0} \n\n"
    " P={B::= bb|bAb|bBb, A::= a|aA} \n\n"
    " N={B,A} e S=B\n\n");

    printf("INSERISCI I VALORI DI m E j RISPETANDO LE CONDIZIONI\n");
    scanf("%d%d",&m,&j);


    printf("la stringa risultante è : ");

    if(j>=0)
    {
    if(m>0)
    {

    for(int i=0;i minore m;i++)
    {
    printf("b");
    }
    for(int i=0;i minore j;i++)
    {
    printf("a");
    }

    for(int i=0;i minore m;i++)
    {
    printf("b");
    }
    }

    else {printf("ERRORE!");}
    }
    else {printf("ERRORE!");}






    }

    Contenuto sponsorizzato

    Re: verification exercise with small programm in C

    Messaggio Da Contenuto sponsorizzato


      La data/ora di oggi è Lun Nov 19, 2018 2:07 am