Pagina 1 di 5 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 45
  1. #1

    [OT] programmazione - marzo 2013

    ... è arrivato marzo senza che me ne accorgessi!

    (maledizione, credevo di avere altri tre giorni prima della fine del mese, tocca ritoccare il programma di preparazione degli esami )

    A tal proposito: universitari e non che frequentate questo forum, cosa studiate? Siete soddisfatti/insoddisfatti/indifferenti?
    Amaro C++, il gusto pieno dell'undefined behavior.

  2. #2
    Utente di HTML.it L'avatar di Scara95
    Registrato dal
    Jul 2009
    residenza
    Zimella (VR)
    Messaggi
    2,590

    Re: [OT] programmazione - marzo 2013

    Originariamente inviato da MItaly

    (maledizione, credevo di avere altri tre giorni prima della fine del mese, tocca ritoccare il programma di preparazione degli esami )
    Febbraio troll
    "Quid enim est, quod contra vim sine vi fieri possit?" - Cicerone, Ad Familiares

  3. #3
    Tutta la questione delle misure di tempo irregolari (mesi e anni) mi è sempre stata sulle scatole, anche in software fare i conti con le date è sempre un pasticcio.
    Amaro C++, il gusto pieno dell'undefined behavior.

  4. #4
    Utente di HTML.it L'avatar di Scara95
    Registrato dal
    Jul 2009
    residenza
    Zimella (VR)
    Messaggi
    2,590
    Beh, un anno è 365.25 giorni, manteniamo pure la tradizione, ogni 4 anni aggiungiamo un giorno, e ogni 400 (e un qualcos'altro che non mi ricordo ) quindi ci restano i 365 giorni, la vedo un po' dura dividerli in mesi: puoi fare solo 5 mesi da 73 giorni o 73 mesi da 5 giorni xD
    "Quid enim est, quod contra vim sine vi fieri possit?" - Cicerone, Ad Familiares

  5. #5
    È peggio di così, ci sono anche i "leap seconds", e ogni timestamp ha un'idea diversa di come trattarli. E poi c'è il fatto che la terra man mano rallenta, per cui il "tempo ufficiale" (=orologi atomici+tempo fissato per un anno terrestre) si discosta ogni anno di un qualcosina rispetto al "tempo terrestre". Te l'ho detto, è un pasticcio.

    Comunque, l'idea dei mesi se non sbaglio viene dai cicli lunari, per cui volendoli legare a qualcosa si potrebbero fare 13 mesi da 28 giorni e attaccarci un giorno in più l'ultimo mese (due nei bisestili) - vagamente più regolare e più semplice gestire il "caso speciale".

    Sono particolarmente sensibile alla questione perché sono rimasto scottato una volta. In uno dei primi programmi fatti per soldi (era una roba di reportistica da dati CSV, fine 2006) da qualche parte il codice doveva sapere quanti giorni c'erano in ogni mese; quindi, all'inizio di una funzione c'era questa roba:
    codice:
    	//Nomi dei mesi
    	char months[12][4]={"JAN", "FEB", "MAR", "APR", "MAY", "JUN", "JUL", "AUG", "SEP", "OCT", "NOV", "DEC"};
    	//Numero di giorni/mese
    	unsigned int dpm[12]={31,29,31,30,31,30,31,31,30,31,30,31};
    Ora, questa è la versione corretta (tra l'altro, a sette anni di distanza vedo che months poteva essere tranquillamente un const char * [12], ma vabbé), ma nella versione originale mi ero perso per strada giugno, forse perché, prima dell'inizio dell'università, era essenzialmente una zona di non-tempo.

    Ho scovato l'errore completamente per caso poco prima che il programma, ormai in versione definitiva, andasse in produzione: mi serviva riciclare quel codice in un altro programma, e mi sono accorto che sfalsava tutti i mesi dopo giugno. Nel programma originale questo dava, tra le altre cose, risultati leggermente sballati per tutte le medie mensili di emissioni per i mesi in questione, ma sballate in modo sufficientemente sottile da non accorgersene a colpo.

    La storia insegna tre cose:
    - usare librerie già fatte per queste cose in genere è una buona idea;
    - chiedere sempre una copertura il più ampio possibile sui dati di test;
    - se i mesi mi stanno antipatici c'è un motivo.
    Amaro C++, il gusto pieno dell'undefined behavior.

  6. #6
    Un'altra questione odiosa relativa ai mesi che mi è capitata di recente era incrementare una data (oggetto datetime) in Python di un mese, indipendentemente dal mese in cui ci si trova. Ovviamente qualche metodo brutale si trova sempre, ma speravo ci fosse qualche sistema relativamente elegante.
    Un timedelta normale ovviamente non va bene, dato che questo misura un intervallo di tempo "vero" (tot secondi), mentre se io voglio passare dal 2 gennaio al 2 febbraio sono 31 giorni, ma dal 2 febbraio al 2 marzo sono 28 o 29. Ho trovato la soluzione in questa ottima libreria, che implementa un sacco di buone idee su problematiche di data e ora (in particolare, la classe relativedelta e/o la rrule risolvono in maniera egregia il problema in questione).
    Amaro C++, il gusto pieno dell'undefined behavior.

  7. #7
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    613

    Re: [OT] programmazione - marzo 2013

    Originariamente inviato da MItaly
    ... è arrivato marzo senza che me ne accorgessi!

    (maledizione, credevo di avere altri tre giorni prima della fine del mese, tocca ritoccare il programma di preparazione degli esami )

    A tal proposito: universitari e non che frequentate questo forum, cosa studiate? Siete soddisfatti/insoddisfatti/indifferenti?
    Io studio Informatica a Genova, II anno (ma li faccio tutti e 5, da me è comunque un 3+2 ma se si vuol far la magistrale bisogna deciderlo già dopo il I anno... è un po' intricata la cosa), ed è stata la scelta migliore che abbia fatto fin'ora, mi trovo bene. M'interessavo già, ma con l'università ho decisamente trovato la mia strada. E pensare che mi sono iscritto all'ultimo minuto giusto per non avere futuri rimpianti (le superiori mi avevano tolto tutta la voglia di studiare), e invece ora mi ritrovo anche relativamente secchione.

    P.S.: c'è qualcun altro che si diletta con www.projecteuler.net ?

  8. #8
    Utente di HTML.it L'avatar di goatboy
    Registrato dal
    Mar 2011
    residenza
    Salerno
    Messaggi
    408
    Io frequento l'Università di Salerno, Ingegneria Informatica (II Anno). Mi trovo bene, le materie mi interessano molto (anche se non proprio tutte ). Mi avvio verso 3 mesi a ferro e fuoco, sto preparando 5 esami: Programmazione ad Oggetti, Calcolatori Elettronici, Matematica I e II e Basi di Dati. Tornerò a sorridere ad Ottobre , spero
    Io vorrei sapere se tra di voi c'è qualche sviluppatore di software. Se sì, vorreste dare qualche consiglio, o semplici informazioni, su come si svolge questo lavoro (lavoro in team, o singolo, paga, consigli utili, tempi medi per lo sviluppo, testing, software che avete sviluppato, ecc..) ?

  9. #9
    Utente di HTML.it
    Registrato dal
    Jun 2010
    Messaggi
    250
    P.S.: c'è qualcun altro che si diletta con www.projecteuler.net ?
    Io...ma molto spesso mi si pianta il programma per la complessità dei calcoli :/

  10. #10
    Utente di HTML.it L'avatar di Scara95
    Registrato dal
    Jul 2009
    residenza
    Zimella (VR)
    Messaggi
    2,590
    Originariamente inviato da Marco1995
    Io...ma molto spesso mi si pianta il programma per la complessità dei calcoli :/
    Tutti i problemi sono fatti in modo che il calcolo possa avvenire in un breve periodo...
    Forse dovresti soffermarti di più sull'analisi del problema prima di passare alla risoluzione
    "Quid enim est, quod contra vim sine vi fieri possit?" - Cicerone, Ad Familiares

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.