Posts written by ßlues

  1. .
    dipende da che spedizione hai scelto nel pagamento: quella economica/gratuita sfrutta il servizio postale, il che vuol dire che ci metterà almeno un mese ad arrivare. Se hai scelto un corriere come DHL, ti arriva in 2 settimane, forse meno.
  2. .

    Il Linguaggio C - Funzione scanf() ed Esercizi

    c-programming-tutorial

    La funzione scanf()


    Ora che siete dotati di un IDE, possiamo realizzare i nostri primi programmi in linguaggio C. Introduciamo ora la funzione scanf() (scan function).
    La scanf() è una funzione utilizzata per prendere in ingresso dei dati da tastiera. Può prendere in ingresso solo predeterminati tipi di dato, stabiliti a prescindere dal programmatore, attraverso gli stessi operatori della printf(): con %d il programma si aspetterà che da tastiera venga inserito un dato di tipo int, con %c un char, ecc. L'unico problema rimane l'assegnazione del valore immesso a una variabile, così che non venga perso nella RAM. Per fare questo utilizziamo l'operatore "&" (and), che serve ad associare il valore inserito da tastiera ad una variabile; più precisamente questo operatore serve ad associare la cella della RAM dove risiede il valore della variabile.
    La sintassi della scanf() è simile a quella della printf(): scanf("operatore_di_tipo",&nome_variabile);
    Esempio:

    #include <stdio.h>


    int main (void){
    int x;
    printf("Quanti anni hai?\n");
    scanf("%d", &x);
    printf("\n Non pensavo avessi %d anni", x);
    getchar();
    return 0;
    }


    Osservazione: nell'utilizzo della scanf(), è possibile prendere in ingresso anche due, tre,..., n dati: l'importante è che vangano scritti come nella funzione. Es: se scanf("%d,%d,%d",&a,&b,&c) segue che da tastera i dati dovranno essere immessi così: 12,33,41 .



    Esercizi



    L'esercizio costante porta al successo. Soluzioni sotto spoiler.

    Esercizio 1: Si scriva un programma in C che calcoli la somma di due numeri dati da tastiera.
    Soluzione:

    #include <stdio.h>

    int main(void) {int addendo1, addendo2, add;
    printf("Benvenuto su Add Maker!\n");
    printf("Inserite ora le cifre da sommare algebricamente fra loro\n >");
    scanf("%d", &addendo1);
    printf("+");
    printf("\n >");
    scanf("%d", &addendo2);
    add = addendo1 + addendo2;
    printf("Grazie! Risulta: %d", add);
    getchar();
    return(0);
    }



    Esercizio 2: Si scriva un programma in C in grado di risolvere le equazioni lineari (ax+b=c) prendendo in ingresso i coefficienti delle eqazioni.
    Soluzione:

    #include <stdio.h>

    int main (void) { int a, b, x;
    printf("Welcome to E.S. (I Grade)!\n");
    printf("Inserite ora i termini richiesti (equazione in forma normale)\n");
    printf("Coefficente incognita_>");
    scanf("%d",&a);
    printf("\nTermine noto_>");
    scanf("%d", &b);
    x=-(b/a);
    printf("\nL'equazione ha come soluzione %d", x);


    getchar();
    return(0);
    }



    Esercizio 3: Si scriva un programma in C in grado di calcolare le percentuali di una votazione: vi sono favorevoli, contrari e astenuti. Ciascuna percentuale dovrà essere stampata a video.
    Soluzione:

    #include <stdio.h>


    int main(void) { int yes,no,boh,prcty,prctn,prctb,tot;
    printf("Benvenuto al software di calcolo delle percentuali in una votazione a 3 scelte\n");
    printf("Dovrai dichiarare ora quante persone alla votazione hanno scelto rispettivamente favorevoli, contrari e astenuti\n");
    printf("Inserisci ora il numero dei favorevoli\n >");
    scanf("%d", &yes);
    printf("Inserisci ora il numero dei contrari\n >");
    scanf("%d", &no);
    printf("Inserici ora il numero degli astenuti\n >");
    scanf("%d", &boh);

    tot=yes+no+boh;
    prcty=(yes*100)/tot;
    prctn=(no*100)/tot;
    prctb=(boh*100)/tot;

    printf("\n I favorevoli costituiscono il %d percento dei votanti", prcty);
    printf("\n I contrari costituiscono il %d percento dei votanti", prctn);
    printf("\n Gli astenuti costituiscono il %d percento dei votanti", prctb);

    getchar();
    return(0);
    }



    RIPRODUZIONE RISERVATA | COPYRIGHT ©Blues_Man, 2016



    Edited by Blues_Man - 30/8/2016, 00:52
  3. .
    CITAZIONE (Tommy933 @ 6/3/2016, 11:41) 
    ho acquistato ieri per la prima volta su aliexpress nulla di che un prodotto a 5€ si tratta di una shirt.
    attualmente mi dice The supplier is processing your order sapete dirmi cosa significa ? grazie

    Puoi usare anche google traduttore per queste cose... In pratica, l'ordine è in elaborazione.
  4. .
    Ritengo che tutto questo discorso ruoti attorno proprio agli obblighi sociali, la cui prograssiva caduta, assieme ad altri fattori (globalizzazione, ecc.), secondo me, ha portato alla situazione attuale. Condivido il tuo punto di vista sulla ideologia strumentale che regna oggigiorno, anzi, non ho nulla da obiettare.
    Ho dei dubbi riguardo al limite di cui parli, una "linea" che verrà oltrepassata e che spezzerà il turbinio infiito di questo sistema oramai corrotto: questa linea si sta spostando sempre più in là negli ultimi anni, e questo a causa delle nuove generazioni che stanno crescendo con dei valori molto diversi da quelle con cui siamo cresciuti noi che scriviamo in questo thread, e quelli venuti prima di noi. Speranza che la situazione migliori e cambi c'è, c'è sempre stata infondo una "inversione di tendenza" ogni qual volta si sono presentate delle condizioni simili a questa. Ma potrebbe anche accadere che una volta superato quel limite che la situazione non migliori, bensì peggiori.
    Anche preso coscienza che c'è necessità di cambiamento, serve la volontà di agire, di ribellarsi. E questa non si farà vedere per bel un pezzo.
  5. .
    Ho arrovellato il mio cervello innumerevoli volte su questi argomenti, sospingendomi in ricerche strane, esperimenti, nella raccolta di idee diverse da quelle che sentivo, in una ricerca spasmodica del sapere. Non mi identificavo con la società, e questo tutt'ora. In seguito ho seguito un mio percorso, leggendo libri di filosifi sia occidentali che orientali, sia antichi che nuovi, che mi hanno aiutato a defenire le mie idee riguardo determinati argomenti, secondo ciò che sentivo più giusto cercando di avere una visione d'insieme il più completa possibile.

    Anch'io, come song e ken, mi incazzo quando su internet vedo frasi del genere "Orgoglio Italiano" riferito a un giocatore di basket o calcio, quando in realtà so che a nessuno di loro è mai fregato un cavolo dell'Italia. Siamo nella fase di transizione dell' "Ognuno pensi a sè", prima di cadere diritti in catene. E cadremo. Ciò che abbiamo conquistato in 150 anni di lotte per avere ciò che abbiamo oggi, ciò per cui sono morte milioni di persone, ce lo stiamo lasciando portar via, e a nessuno sembra importare. Lo scandalo delle banche ne è l'esempio lampante. Sapevano già tutto prima, è stato tutto organizzato.
    L'uomo è un animale sociale, puro e semplice. Dal momento che un elemento esprime un parere diverso dalla coscienza collettiva, verrà sempre ostracizzato. I media hanno fatto il loro lavoro nel plagiare le menti dei giovani, nell'eliminare la dannosa lettura dei libri (bestia mitologica ormai), nel propagandare un certo modello di vita: il catalizzatore è stato ciò di cui hanno parlato prima gantz e black, il fatto di poter ottenere tutto quello che si vuole senza sforzo. Credo che queste due condizioni abbiano portato al proliferare di arroganza, isolenza, menefreghismo, indolenza e alla progressiva scomparsa di un sincero credo in ideali perduti come onore, lealtà, rispetto e giustizia. In italia specialmente, dato che non è mai esistita una cosa come identità nazionale o anche la coerenza politica (infatti il fenomeno del Trasformismo politico è nato in italia, verso la fine dell'Ottocento, inizi Novecento; 1897 forse, non ricordo esattamente).

    Il sistema ha svolto un ottimo lavoro, impeccabile quasi. Ma ogni cosa che ha inizio ha anche una fine, non importa quando o in che modo.
  6. .
    Per certiversi è meglio di altri ide. Gli eseguibili che creo con DEV C++ funzionano perfettamente anche su altri pc di default, mentre con Visual Studio no (tipico di Microsoft).
    Proverò Sublime text, dato che con il C/C++ Eclipse non mi include direttamente neanche la libreria di base come la stdio.h o la stdlib.h.
  7. .

    Il Linguaggio C - IDE, la funzione main e Hello World!

    c-programming-tutorial

    IDE, Ambiente di sviluppo integrato


    Ok, forse avrei dovuto istruirvi prima riguardo agli IDE, così da poter verificare con i vostri occhi che quello che sto dicendo qui non sono cavolate. E' anche vero tuttavia che non ne avreste avuto bisogno, poiché con ciò che ho spiegato, non siete in grado di costruire alcun programma funzionante. Cosa sono gli IDE? IDE significa Integrated Develpment Environment, tradotto letteramente in Ambiente di sviluppo integrato, che per i comuni mortali significa "Il programma per programmare". Certo, esistono numerosi programmi per programmare: non tanti però hanno tutto quello che serve ad un programmatore per costruire un programma da zero. Servono un codice sorgente, un compilatore, il linker, ed altre cose che sono alla base della programmazione, e che non vi ho spiegato dato che qui cercherò di spiegarvi il Linguaggio C e non i fondamenti di informatica.
    Tra questo consiglio, come opzione free, Bloodsheed DEV C++, Eclipse o Code::Blocks, che funziona bene anche se il linguaggio è C e non C++, sebbene sarebe opportuno indicare che il C++ è risultato delle aggiunte che si sono fatte al C nel corso degli anni e all'inizio di un tipo di programmazione ad oggetti, diversa da quella di carattere funzionale-sequenziale del C (comunque più rapida).
    Se invece siete gente warez, o volete pagare (il che dubito), potete usare Visual Studio (Microsoft). Se siete interessati in questa materia, non c'è bisogno che vi spieghi come procurarvi questi programmi.
    Link guida di DEV C++. Studiatevelo bene.

    La funzione main()


    La funzione main(), quando si scrive un programma in C, è la funzione pricipale, quella che viene sempre invocata per prima dal programma, che non può non esserci ed è unica: non possono esistere due funzioni main nello stesso programma.
    Canonicamente, la funzione main viene implementato in questo modo:
    int main (void){

    /* algoritmo del programma scritto in C */
    return 0;
    }

    Quell'int davanti a main potrebbe confondervi, è solo il tipo di valore che fornisce la funzione: questo è strettamente legato alla parola chiave return, che (tradotto = "ritorno") indica proprio il ritorno di un valore, e nulla vieta che possa essere anche il valore di una variabile. Tradizionalmente, 0 indica successo.
    Le parentesi graffe "{ }" fanno parte della sintassi del linguaggio, e serve per definire l'inizione della dichiarazione della funzione chiamata (in questo caso la funzione main, ma vale anche per altre funzioni che scriviamo nel codice). La parola chiave tra parentesi "void" indica letteralmente "nulla", "vuoto". Infatti, quando si scrive una funzione tra parentesi vanno inseriti i parametri che prende in ingresso: possono essere variabili definite in altre funzioni (nulla ci vieta di scrivere quante funzioni vogliamo e di utilizzarle o meno, con la stessa sintassi che abbiamo visto per il main, anche se vedremo tutto in dettaglio più avanti: per ora vi basti sapere che esiste la funzione main, che si implementa canonicamente in questo modo che si possono scrivere altre funzioni con questa scrittura).
    <p align="center">Hello World!



    Ora possiamo avere prova dei nostri sforzi e scrivere il nostro primo programma in C.
    In questo programma utilizzeremo la funzione printf(), ovvero la print function, usata per stampare a video del testo.
    Schema della printf() e parole chiave:
    1 - printf("Testo da visualizzare"); : la funzione stamperà a video il testo contenuto fra le virgolette.
    2 - printf("Testo.... %d", x);: la funzione stamperà a video il valore della variabile x, oltre al testo. %d è in questo caso l'operatore/parola chiave che permette questa operazione, e comunica alla funzione printf che la variabile assume un valore intero.
    I più comuni operatori sono %c, %d, %f, %­s, \n, \t, che indicano rispettivamente i tipi di dato char, int, float e stringa (che vedremo più avanti), mentre gli ultimi due hanno valenza di layout, ovvero /n indica testo a capo e /t indica tabella.
    Il programma viene scritto quindi così:


    //Dichiarazioni
    #include <stdio.h>
    //Fine dichiarazioni


    int main (void){ /*Inizio del main()*/
    printf("Hello World!\n");
    getchar(); /*funzione che serve per evitare che il programma, dopo aver stampato a video, si chiuda subito*/
    return 0;
    }





    RIPRODUZIONE RISERVATA | COPYRIGHT ©Blues_Man, 2016



    Edited by Blues_Man - 30/8/2016, 00:53
  8. .
    Benvenuto.
  9. .
    Freddura.
  10. .
    In più, un riassunto schematizzato impone per definizione della parola "riassunto" che l'argomento sia già stato studiato o quantomeno letto.
  11. .
    Lo staff ha già problemi a mantere aggiornati la mole enorme di contenuti presente sul forum, e c'è anche da considerare che le gare della formula 1 potrebbero essere soggette a copyright, il che creerebbe rogne a noi.

    Detto questo, la tua proposta penso cadrà nel vuoto, come un sasso buttato da un precipizio.
  12. .

    Il Linguaggio C - Dichiarazioni e commenti

    c-programming-tutorial

    Dichiarazioni


    Nel linguaggio C, le dichiarazioni sono delle istruzioni per il pre-processore, il quale sarebbe, detto in parole semplici, un componente del processo di costruzione del programma che precede la costruzione del file oggetto (la cui estensione è *.o o *.obj), scritto in linguaggio macchina, che altro non è che il codice sorgente del programma, tradotto dal linguaggio usato (C, C++, Java, C#, ecc.) al linguaggio macchina (0 e 1). Ora, sperando che questo riassunto sia stato abbastanza utile, vediamo le parole chiave che denotano una dichiarazione: #include, #define, struct e typedef.

    - #include:
    Questa particolare istruzione per il pre-processore serve a includere delle librerire (file header *.h che contengono determinate funzioni), utili per le funzioni che si chiameranno in seguito nel programma. Sono di particolare rilevanza le funzioni stdio.h, stdlib.h, conio.h, string.h e time.h.
    Per opreare una #include è sufficiente seguire questa struttura:
    #include <nome_libreria.h>
    In seguito vedremo (quando tratteremo la divisione su più file) come i simboli "<>" abbiano una loro funzione particolare.

    - #define:
    Questa parola chiave invece serve a definire una costante fissa in tutto il programma. Esempio:
    #define N 100
    Se implementassimo questo esempio in un programma, vorrebbe significare che dovunque scriveremo nel codice del programma "N", verrà tutto tradotto in "100" dal pre-processore (niente punto e virgola!). E' una scorciatoia intelligente, nel caso si debba modificare un valore dato all'inizio del programma in un altro: infatti, modificare il valore della #define è molto più rapido che cambiare tutti i valori nel codice!

    - typedef,struct
    Queste due parole chiave significano rispettivamente "definisci un nuovo tipo di dato" e "struttura", ma li vedremo più avanti.



    Commenti


    Nel linguaggio C, i commenti sono veri e propri commenti da parte dell'autore, rimangono nel codice sorgente, ma non vengono proprio trascritti in linguaggio macchina. Servono al programmatore o a chi deve dare uno sguardo al codice.
    Per iniziare un commento ci sono due modi:
    - /* .... */: Il commento è "chiuso" fra due operatori: /* significa "inizio commento": tutto quello che verrà dopo questo operatore è un commento. Pertanto, ricordatevi di mettere alla fine l'operatore di chiusura */, altrimenti rischiate che venga commentata parte del codice del programma!
    - //: Il commento è inizializzato dall'operatore //, e commenta tutta la riga dove è utilizzato. La riga successiva non sarà commentata.
    Il commento è anche un ottimo modo per rivedere il funzionamento del programma e fare esperimenti sullle parti di codice più adatte, senza doverle riscrivere.


    RIPRODUZIONE RISERVATA | COPYRIGHT ©Blues_Man, 2016



    Edited by Blues_Man - 30/8/2016, 00:55
  13. .
    a dire il vero le altezze le fanno uguali a 305 cm. Infatti il canestro lo mettono a 10 piedi da terra, ovvero circa 305 cm. Considerando che se le altezze fossero diverse, i giocatori europei farebbero una fatica colossale in NBA, perché 10 cm fanno molta differenza per quanto riguarda le percentuali d'entrata del tiro: questo è smentito dal fatto che ci sono giocatori europei che in NBA giocano ad alti livelli (vedi Belinelli, Gallinari o Porzingis).
  14. .

    Il Linguaggio C - Istruzioni e Variabili

    c-programming-tutorial



    Fino ad ora abbiamo visto la definizione di algoritmo e i più comuni tipi di dato coinvolti nella programmazione e proseguiamo quindi con l'introduzione del concetto di Istruzione.
    § Definizione:
    Un'istruzione è un comando scritto nel codice del programma che impartisce un ordine al computer..

    Come nella matematica, anche qui esistono le variabili. Come già sapete possono essere incognite o costanti; per poter essere introdotte ed implementate nel codice del programma, c'è bisogno che queste variabili vengano sempre inizializzate. Per inizializzazione intendiamo l'operazione di dichiarazione della variabile stessa. Ogni variabile deve essere di un tipo di di dato ben definito: può essere int, char, float,ecc. E' di fondamentale importanza ricordarsi di porre sempre un " ; " al termine di ogni inizializzazione di variabile, dichiarazione o istruzione.
    Esempio di dichiarazione di una variabile:
    int c;

    Prendiamo in considerazione ora, per esempio, il problema del calcolo dell'ipotenusa che ho citato nel post precedente:
    - Siano dati A e B i due cateti di un triangolo (rispettivamente A =3 e B=4). Si scriva un programma che trovi l'ipotenusa i.
    In questo caso, per dire al calcolatore cosa deve fare, è necessario introdurre i valori dei due cateti nel codice del programma. Per fare questo, dobbiamo innanzitutto eseguire le dichiarazioni di A e B:
    int a;
    int b;
    float i;

    Ora che abbiamo inizializzato tutte le variabili che ci servono, è possibile fornire una istruzione al calcolatore, in questo caso l'assegnamento del valore. E' possibile assegnare ad una variabile anche un valore che viene condizionato da altre variabili.
    a=3;
    b=4;
    i=sqrt(a*a+b*b);
    1

    Ora, unendo le parti del programma che abbiamo scritto otteniamo il seguente algoritmo:
    int a;
    int b;
    float i;
    a=3;
    b=4;
    i=sqrt(a*a+b*b);


    Osservazione 1: Quando dobbiamo inizializzare più variabili dello stesso tipo è possibile farlo in sequenza, separandole con una virgola. Esempio: int a , b;
    Osservazione 2: Quando inizializziamo delle variabili, è possibile assegnare loro un valore direttamente. Esempio: int a=3;
    Osservazione 3: Quando operiamo con i valori che dipendono da altre variabili, il tipo di dato scelto nella inizializzazione è determinante. Infatti, in questo caso io ho scelto il tipo float per l'ipotenusa i, poiché con questo tipo di dato si hanno dei numeri dopo la virgola, e non essendo un numero naturale, la perdita di dati è minima. Poniamo il caso di una divisione fra due interi: int a=3,b=5,c;
    c=b/a;

    In questo caso c è un dato di tipo int, segue che è un numero naturale. Quindi la divisione tra 5 e 3 ha come risultato 1 e non 1.6666667. Abbiamo quindi una perdita di dati, considerevole, visto che è più di mezza unità. Se c fosse stato un float, allora la divisione avrebbe dato come risultato 1.6666667.



    RIPRODUZIONE RISERVATA | COPYRIGHT ©Blues_Man, 2016


    ___________________________________________
    Note:
    1: sqrt() indica la radice quadrata del numero fra parentesi.

    Edited by Blues_Man - 30/8/2016, 00:55
  15. .
    Mi sfugge il senso di tutto ciò.
828 replies since 1/9/2013
.