DOMANDA Matematica nel C

AITUS95

Nuovo Utente
109
11
Salve a a tutti e buon anno nuovo, studiando il linguaggio di programmazione c e andando avanti con gli argomenti, mi sono accorto che bisogna conoscere alcuni argomenti importanti della matematica per risolvere la maggior parte dei problemi, avendo frequentato un istituto alberghiero quando andavo a scuola e lavorando attualmente in un campo al di fuori dell'informatica, conoscendo quindi solo argomenti basilari della matematica, vorrei avere qualche consiglio da voi per orientarmi su un testo o un corso online che riesca a darmi un buon approccio iniziale con la matematica orientata alla programmazione.


Inviato da iPhone tramite App ufficiale di Tom\\\'s Hardware Italia Forum
 

BAT

Moderatore
Staff Forum
Utente Èlite
22,675
11,454
CPU
1-Neurone
Dissipatore
Ventaglio
RAM
Scarsa
Net
Segnali di fumo
OS
Windows 10000 BUG
Non esiste "matematica orientata alla programmazione", esiste LA matematica;
per quanto riguarda ciò che dovresti sapere di matematica direi che è sufficiente quella insegnata alle superiori.
Molto dipende dai problemi che devi risolvere: se devi scrivere un programma per risolvere equazioni di secondo grado è ovvio che devi saperlo fare a mano e conoscere la formula, e così per ogni problema.
Altrimenti, in generale, devi studiare almeno il calcolo proposizionale (tabelle di verità), i sistemi di numerazione binario, ottale, esadecimale, la rappresentazione al computer degli interi e dei numeri in virgola mobile, gli errori che si possono generare nei calcoli, gli accorgimenti da adottare.
E poi avere dimestichezza con le proporzioni, le percentuali, le frazioni, le potenze ed i logaritmi, possibilmente i radicali, almeno equazioni di primo e secondo grado, sistemi di primo grado (ti risparmio le disequazioni...).

In prima battuta direi che può andar bene un testo che parli di architettura degli elaboratori (a livello universitario) ed un libro di matematica del biennio del liceo scientifico.
Altrimenti devi precisare meglio le tue esigenze, non è chiaro né quello che sai né quello che si fa all'alberghiero
 

AITUS95

Nuovo Utente
109
11
Non esiste "matematica orientata alla programmazione", esiste LA matematica;
per quanto riguarda ciò che dovresti sapere di matematica direi che è sufficiente quella insegnata alle superiori.
Molto dipende dai problemi che devi risolvere: se devi scrivere un programma per risolvere equazioni di secondo grado è ovvio che devi saperlo fare a mano e conoscere la formula, e così per ogni problema.
Altrimenti, in generale, devi studiare almeno il calcolo proposizionale (tabelle di verità), i sistemi di numerazione binario, ottale, esadecimale, la rappresentazione al computer degli interi e dei numeri in virgola mobile, gli errori che si possono generare nei calcoli, gli accorgimenti da adottare.
E poi avere dimestichezza con le proporzioni, le percentuali, le frazioni, le potenze ed i logaritmi, possibilmente i radicali, almeno equazioni di primo e secondo grado, sistemi di primo grado (ti risparmio le disequazioni...).

In prima battuta direi che può andar bene un testo che parli di architettura degli elaboratori (a livello universitario) ed un libro di matematica del biennio del liceo scientifico.
Altrimenti devi precisare meglio le tue esigenze, non è chiaro né quello che sai né quello che si fa all'alberghiero

Giusto un infarinatura sulle potenze e le frazioni, per quanto riguarda il resto ne so qualcosa ma non molto, adesso analizzando un problema che riguardava i numeri fattoriali ho iniziato a fare anche quelli


Inviato da iPhone tramite App ufficiale di Tom\\\'s Hardware Italia Forum
 
Ultima modifica:

pabloski

Utente Èlite
2,868
916
Salve a a tutti e buon anno nuovo, studiando il linguaggio di programmazione c e andando avanti con gli argomenti, mi sono accorto che bisogna conoscere alcuni argomenti importanti della matematica per risolvere la maggior parte dei problemi

Onestamente questo nesso non l'ho mai visto. L'informatica ha un collegamento diretto con la logica algoritmica, che può essere considerata una branca della matematica, ma non riguarda certo limiti, derivati ed integrali. Ci sono tanti problemi che si risolvono senza dover usare questi meccanismi.

Quello che è vero è che l'ossatura dell'informatica moderna è basata su formalismi, cosa che è ereditata dalla matematica ( i matematici e i fisici hanno inventato l'informatica, quindi nessuna meraviglia ).

Unica eccezione a quanto ho scritto sono i vari problemi di programmazione postati sui vari siti di "esercizi" di programmazione, tipo projecteuler. Ma queste sono scelte loro, non è che tutti i problemi informatici implichino l'utilizzo di metodi matematici.

Ovviamente l'artimetica di base è un'eccezione, quella davvero la trovi dappertutto. E trovi l'aritmetica booleana in particolare, visto che i calcolatori sono costruiti su di essa. L'algeba lineare pure è utile per risolvere svariate classi di problemi. Ma la matematica tradizionale da liceo e università è presente in pochi casi e anche in quelli è già "implementata" negli algoritmi che servono a risolvere i vari problemi.

Per cui ti consiglio di puntare sullo studio degli algoritmi ( e da lì magari apporofondire la matematica che c'è sotto ). Un libro come "Algoritmi e strutture dati" della McGraw-Hill è un ottimo punto di partenza. E' un libro di livello universitario ma abbastanza lineare e di facile comprensione. E ci sono ovviamente sulla rete tutorial sulle tematiche trattate dal libro. I tutorial chiaramente sono più pratici e risultano più semplici al lettore non proprio scafato.
 

Andretti60

Utente Èlite
6,440
5,091
In aggiunta agli altri ottimi interventi in questa discussione, direi che sia quasi impossibile dire "quali" concetti matematici siano importanti. A volte si studia un problema è se ne trova la soluzione usando tecniche che appaiono completamente scorrelate. Non avremmo la crittografia senza avere avuto conoscenza dei numeri primi, per esempio. Io stesso brevettai un algoritmo per un classificatore automatico usando proprietà dei logaritmi
Come in tutti i casi, più si studia e meglio è.
 
  • Mi piace
Reazioni: AITUS95

AITUS95

Nuovo Utente
109
11
Vi ringrazio per i consigli, la mia domanda era nata anche dal fatto che a lungo andare, sarei propenso a focalizzarmi sulla programmazione per videogame e li comunque da come ho capito, oltre alla matematica, subentra anche la fisica, quindi ho iniziato a preoccuparmi un per il mio bagaglio culturale


Inviato dal mio iPhone utilizzando Toms Hardware Italia Forum
 

Marcus Aseth

Utente Attivo
404
138
OS
Windows 10
Ultima modifica:
  • Mi piace
Reazioni: AITUS95
U

Utente 16812

Ospite
Vi ringrazio per i consigli, la mia domanda era nata anche dal fatto che a lungo andare, sarei propenso a focalizzarmi sulla programmazione per videogame e li comunque da come ho capito, oltre alla matematica, subentra anche la fisica, quindi ho iniziato a preoccuparmi un per il mio bagaglio culturale


Inviato dal mio iPhone utilizzando Toms Hardware Italia Forum

Buongiorno AITUS95 e buon anno,
a mio avviso @BAT00cent ha fornito un buon "incipit" su come approcciare la matematica rivolta alla programmazione: i sistemi di numerazione e le regole di conversione, la rappresentazione dei numeri interi e dei numeri reali, l'algebra proposizionale e i connettivi logici (facendo ricorso a semplici analogie coi circuiti elettrici), le equivalenze logiche e le proprietà dell'algebra booleana, le tabelle di verità, le funzioni, ecc., sono tutte nozioni matematiche, per così dire, di base che occorre conoscere :sisi:
Per quanto riguarda specificamente la programmazione in linguaggio C, suggerirei di studiare le funzioni (in particolare ricorsive) e il passaggio dei parametri, gli array (i vettori) e le matrici, un po' di calcolo combinatorio e di statistica (media, mediana e moda), la ricerca (sequenziale e binaria) e l'ordinamento (sorting), le stringhe e relative funzioni, le strutture dati (liste, pile e code con puntatori, alberi (in particolare binari), grafi con matrici di adiacenza e liste di adiacenza, "visite" sia ricorsive che iterative), i file (ad accesso sia sequenziale che casuale) e gli streams :asd:
Non guasterebbero alcune nozioni sui linguaggi formali, sugli automi a stati finiti (sia deterministici che non deterministici) e sulla risoluzione di problemi di programmazione matematica :sisi:
Infine se lavorerai con i database e l'SQL ti consiglio di studiare la teoria degli insiemi e l'algebra in generale, la conoscenza dell'analisi è importante per il problema dell'approssimazione delle funzioni e quindi per gli algoritmi numerici, per la modellazione 2D e 3D sono importanti la geometria analitica nello spazio e l'algebra matriciale, le funzioni a più variabili e il calcolo delle derivate parziali :asd:
Ciao, a presto ;)
 
U

Utente 16812

Ospite
Ah, dimenticavo, per la robotica è necessario conoscere le trasformazioni geometriche e il calcolo delle matrici di trasformazione ah ah ah :D
 
  • Mi piace
Reazioni: AITUS95

Ci sono discussioni simili a riguardo, dai un'occhiata!

Entra

oppure Accedi utilizzando
Discord Ufficiale Entra ora!

Discussioni Simili