Laboratorio di programmazione 1 a matematica

mklplo751
Salve, oggi ho iniziato il corso di laboratorio di programmazione 1 del corso di laurea triennale di matematica. Il professore ha consigliato come testo il "Laboratorio di Programmazione 1" (Murli, Giunta, Laccetti, Rizzardi), tuttavia è un testo che nessuno del mio corso è riuscito a trovare, e anch'io cercando su Amazon non l'ho trovato. Se non vi dispiace, se conoscete il testo, sapreste suggerirmene uno equivalente?

Risposte
gugo82
Dove studi?

Ad ogni modo, servirebbe conoscere il programma ed il linguaggio (o i linguaggi) che usate.

gugo82
Dove studi?

Ad ogni modo, servirebbe conoscere il programma ed il linguaggio (o i linguaggi) che usate.

mklplo751
Alla Federico II di Napoli.
Comunque, il programma ufficiale (ovvero quello che sta sul sito ) è il seguente, tuttavia il professore ha detto che come linguaggio faremo C e C++, inoltre voleva soffermarsi un po' di più su sistema binario:
Introduzione al Calcolatore ed al suo uso. Definizione e proprieta di un algoritmo. Tipi di dati, variabili, istruzioni, costrutti di controllo. Il linguaggio Pascal-like per la descrizione degli algoritmi. Tipi di dati strutturati. Metodologia di progettazione di un algoritmo per raffinamenti successivi. la progettazione modulare. Caratteristiche di un calcolatore. Architettura di tipo Von Neumann. Rappresentazione dei dati e delle istruzioni in un calcolatore. La complessita' computazionale degli algoritmi.

Strumenti software per il calcolo scientifico.
I sistemi operativi: funzioni e struttura. Il sistema operativo Unix: struttura e principali comandi per la gestione del file system . Linguaggi di programmazione ad alto livello. Compilatori e Interpreti. Il linguaggio di programmazione Fortran 95: tipi di dati, espressioni aritmetiche, strutture di controllo, array e loro memorizzazione, subroutine. Il linguaggio di programmazione C: tipi di dati, espressioni aritmetiche, strutture di controllo, array e loro memorizzazione, function, cenni ai puntatori

Approccio computazionale alla risoluzione di un problema.
Fasi di risoluzione di un problema: modelli, metodi numerici, algoritmi, software. Fonti di errore. Errore assoluto ed errore relativo. Sistemi aritmetici floating-point a precisione finita. Errore di round-off e sua propagazione. Massima accuratezza relativa e epsilon macchina. l'aritmetica IEEE. Criterio di arresto naturale per algoritmi iterativi. La stabilita' degli algoritmi. Complessita` computazionale di un algoritmo.

Algoritmi studiati

Algoritmi di base: somma di N numeri, massimo di N numeri, metodo delle divisioni successive per il MCD, inversione delle cifre di un numero intero. Algoritmi con array: compattamento di un array, merging di due array ordinati. Algoritmi di ricerca: ricerca sequenziale, ricerca binaria. Algoritmi di ordinamento: ordinamento per selezione, ordinamento per scambi, ordinamento per inserzione. Algoritmi di base per l'algebra lineare: trasposta di una matrice, prodotto matrice-vettore, prodotto matrice-matrice, verifica di una matrice a diagonale dominante, risoluzione di un sistema triangolare di ordine N. Algoritmi sull'aritmetica floating point: calcolo dell'epsilon macchina, calcolo della radice quadrata di un numero reale. Algoritmo di Horner per la valutazione di un polinomio.

marco2132k
Dubito che ti serva un libro di “laboratorio di programmazione 1 a matematica”.

Se non hai la possibilità di seguire le lezioni è un altro discorso (ma se il prof. usa le slides potresti studiare da lì; e comunque è la pratica ciò che conta).

mklplo751
@marco21132k:forse è vero, ma comunque avere un testo di riferimento può essere abbastanza comodo considerando i vari problemi tecnici che capitano.

gugo82
"mklplo":
Alla Federico II di Napoli.

Aè...

Consiglio: ricordati di prendere solo corsi di Analisi.

"mklplo":
Comunque, il programma ufficiale (ovvero quello che sta sul sito ) è il seguente, tuttavia il professore ha detto che come linguaggio faremo C e C++, inoltre voleva soffermarsi un po' di più su sistema binario:
Introduzione al Calcolatore ed al suo uso. Definizione e proprieta di un algoritmo. Tipi di dati, variabili, istruzioni, costrutti di controllo. Il linguaggio Pascal-like per la descrizione degli algoritmi. Tipi di dati strutturati. Metodologia di progettazione di un algoritmo per raffinamenti successivi. la progettazione modulare. Caratteristiche di un calcolatore. Architettura di tipo Von Neumann. Rappresentazione dei dati e delle istruzioni in un calcolatore. La complessita' computazionale degli algoritmi.

Strumenti software per il calcolo scientifico.
I sistemi operativi: funzioni e struttura. Il sistema operativo Unix: struttura e principali comandi per la gestione del file system . Linguaggi di programmazione ad alto livello. Compilatori e Interpreti. Il linguaggio di programmazione Fortran 95: tipi di dati, espressioni aritmetiche, strutture di controllo, array e loro memorizzazione, subroutine. Il linguaggio di programmazione C: tipi di dati, espressioni aritmetiche, strutture di controllo, array e loro memorizzazione, function, cenni ai puntatori

Approccio computazionale alla risoluzione di un problema.
Fasi di risoluzione di un problema: modelli, metodi numerici, algoritmi, software. Fonti di errore. Errore assoluto ed errore relativo. Sistemi aritmetici floating-point a precisione finita. Errore di round-off e sua propagazione. Massima accuratezza relativa e epsilon macchina. l'aritmetica IEEE. Criterio di arresto naturale per algoritmi iterativi. La stabilita' degli algoritmi. Complessita` computazionale di un algoritmo.

Beh, stesse cose che ho studiato io 20 anni fa.
Il testo consigliato non l'ho mai avuto tra le mani, ma considerato il fatto che mediamente ciò che porta il nome di Murli l'hanno scritto in gran parte altri e che Giunta e Rizzardi insegnano agli informatici della Parthenope, non mi ci appoggerei troppo. Hai provato a chiedere in biblioteca?
Se ti piacciono la programmazione ed il calcolo scientifico, prendi un buon manuale di C (e.g. il Kernighan & Ritchie) ed un testo mediamente decente di calcolo e studiati quelli.
Altrimenti, bastano gli appunti del corso.

"mklplo":
Algoritmi studiati

Algoritmi di base: somma di N numeri, massimo di N numeri, metodo delle divisioni successive per il MCD, inversione delle cifre di un numero intero. Algoritmi con array: compattamento di un array, merging di due array ordinati. Algoritmi di ricerca: ricerca sequenziale, ricerca binaria. Algoritmi di ordinamento: ordinamento per selezione, ordinamento per scambi, ordinamento per inserzione. Algoritmi di base per l'algebra lineare: trasposta di una matrice, prodotto matrice-vettore, prodotto matrice-matrice, verifica di una matrice a diagonale dominante, risoluzione di un sistema triangolare di ordine N. Algoritmi sull'aritmetica floating point: calcolo dell'epsilon macchina, calcolo della radice quadrata di un numero reale. Algoritmo di Horner per la valutazione di un polinomio.

Tutta roba che si programma in 5 minuti.
Basta controllare che i punti-e-virgola siano tutti al loro posto.

mklplo751
@gugo82:ok, grazie per la risposta e per il testo consigliato. Posso chiederti il perché della prima frase? Almeno per ora mi sembra che i corsi sono abbastanza buoni (poi non penso di avere le competenze per giudicare) anche se in geometria 1 stiamo seguendo un'ordine un po' sparso (per esempio stiamo per introdurre il determinante dopo Gauss-Jordan senza aver fatto prima il concetto di base), algebra 1, invece con teoria degli insiemi (che in realtà ora si sta concentrando particolarmente sugli insiemi ordinati) stiamo facendo una versione che la prof ha definito semiingenua dal libro Franciosi, De Giovanni (che è una tortura per quanto riguarda le dimostrazioni). Per quanto riguarda fisica non l'abbiamo ancora iniziata e quindi non so che fine faremo.

gugo82
Se vuoi, continuiamo in privato.

mklplo751
Buongiorno.
Se per te non è di troppo disturbo ne sarei felice.

feddy
Per il C++ il riferimento per un novizio, che non ha mai programmato, ma anche per chi ha già qualche rudimento è "Programming: Principles and Practice Using C++" di Bjarne Stroustrup (il padre del C++). Non c'è bisogno di comprarlo, il PDF lo trovi facilmente sul web

mklplo751
Grazie per la risposta. Per curiosità, in questi libri c'è anche una parte di teoria: Von Neumann, bus,...?

feddy
No, è più focalizzato sul linguaggio C++.

mklplo751
Ah, ok, grazie per aver risposto.

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.