mercoledì 15 aprile 2009

programma numerico: urto elastico in una dimensione

Al link elastico1 trovate un programma per lo studio dell'urto elastico in una dimensione tra due corpi di massa e velocità diversa. Il programma è in C++, ma in pratica è un "quasi C". E' stato spezzettato in una miriade di "microcofunzioni", ognuna corrispondente ad un punto fisico differente nel calcolo. Consiglio vivamente di darci un'occhiata, dato che una discreta fetta degli argomenti trattati fino a qui si trova lì dentro.

5 commenti:

  1. un altro esercizio:
    un corpo viene lanciato con un angolo di 45° dall'orizzontale, con v=14.1 m/s. Se atterra a 50 m dal punto di lancio,quanto vale l'accelerazione di gravità?

    Svolgo:
    Lungo l'orizzontale: s=v*t allora t=5 sec.
    Sulla verticale a=v/(t/2)=4
    Ma in realtà il risultato sarebbe circa 5.6 m/s^2.

    Cosa sbaglio?grazie.

    RispondiElimina
  2. Mi pare corretto. Se quel 5.6 viene dai miei vecchi esercizi (quelli della serie lup mann) ci sono una decina di risultati sbagliati, probabilmente quello è uno. AB

    RispondiElimina
  3. alcune note:
    1-nel programma di fondamenti di informatica e di programmazione del primo anno di gestionale NON abbiamo trattato non solo le classi, ma nemmeno le funzioni, e nemmeno i puntatori...si chiederà quindi cosa diavolo abbiamo fatto in sei mesi...in realtà un cavolo...solo fino ai cicli...

    Per quanto riguarda il programma:
    1-nelle prime righe...io vedo P muoversi con velocità v se IO sono fermo?
    2-dove c'è transform, significa che mi dà V=-V e v=-v ? e antitransform?

    RispondiElimina
  4. v_transform e v_antitransform prendono un sistema di riferimento in cui io sono fermo ed un altro che ai miei occhi si muove con velocità V. Prendono un punto che in uno dei due riferimenti si muove con velocità v e mi danno la sua velocità nell'altro. Quindi non gestiscono urti tra due particelle, ma trasformazioni della velocità di una sola particella nel passaggio tra due sistemmi di riferimento.
    L'operazione di rovesciamento di due velocitò è presente in un'altra funzione (urto_in_cm), che gestisce l'urto tra due particelle nel riferimento del centro di massa.

    RispondiElimina
  5. post scriptum: c'è del realismo in questa storia di metterci sei mesi per arrivare fino ai cicli. Se il programma di quel corso fosse una roba per cui consequenzialmente l'esame è del tipo: scrivi un programma in C per calcolare etc etc (un programma facile, ma non è ammesso sbagliare: o funziona o non funziona) passerebbe in un anno il 30 percento degli iscritti al corso. I programmi in C non perdonano. Come certi esercizi in fisica del resto. E siccome nessun docente (a partire da me) può più permettersi il lusso di segare il 70 percento dei suoi iscritti, preferiamo tutti quanti buttarla sulle chiacchiere approssimative, specialità nella quale lo studente italiano rimane ragionevolmente imbattibile a livello planetario.

    RispondiElimina