PDA

View Full Version : Un consiglio se potete


gtv
22-07-2010, 15:17
edit per i mod: non ho taggato il tipo di linguaggio perché non so quale usare e nel thread chiedo proprio questo e, anche se ho letto la guida "QUALE LINGUAGGIO USARE?", non sono stato in grado di scegliere poiché non mi è tutto chiaro.

Premetto che non sono iscritto a ing. informatica e che non si tratta di un elaborato da presentare alla fine di qualche corso universitario.
Sono un semplice appassionato di informatica (che studia ing. aerospaziale) e ha voglia di perfezionare un programmino creato con Excel.
Tale programmino permette di trovare la distanza fra 2 caselli autostradali appartenenti alla stessa autostrada, una volta inseriti i caselli.

L'ho fatto con Excel perché è l'unico programma che conosco oltre a Matlab... volevo chiedervi un consiglio su quale linguaggio dovrei usare per migliorarlo (se Java o altri...non vorrei imparare il Java e poi scoprire che andava bene un altro linguaggio). Le migliorie consisterebbero in:

1) ridurre la lentezza dell'applicazione (che gira su un cellulare) e quando cerca un casello fa lo string matching secondo l'algoritmo "Forza Bruta" (da quello che ne ho capito documentandomi sugli algoritmi di ricerca) perché io ho usato il comando di Excel "confronta" (qualcuno sa quale algoritmo usa questo comando?)

2) inserire un sistema che faccia comparire tutti i possibili nomi dei caselli quando si scrive la prima parte della stringa (un po' come fa google quando cerchiamo qualcosa, giusto per avere un'idea). Ad esempio voglio trovare Fiumicino, scrivo "Fiu" e mi compaiono sotto tutti i termini presenti nel mio database che iniziano per Fiu, in modo che io possa selezionarli direttamente dalla lista senza scrivere il nome per intero.

3) eliminare la dipendenza dal "case sensitive" di excel. Cioè Excel, con il suo comando "confronta" considera esatta solo una stringa strettamente uguale a quella ricercata (scritta tutta in minuscolo se nel database è inserita tutta in minuscolo). Quindi l'obiettivo sarebbe ricercare un sistema "case insensitive".

Nel consigliarmi un linguaggio vi chiedo di tenere presente che dovrà girare su un cellulare Nokia, più precisamente su Symbian serie 60 3rd edition...

Vi posto il programmino fatto con Excel che dovrei migliorare e di seguito inserisco alcune considerazioni sul suo funzionamento (non prendete questa versione, ma direttamente quella presente fra 2 post)

gtv
22-07-2010, 15:41
Il funzionamento risulta essere il seguente.

Nella cella B2 si inseriscono i nomi dei 2 caselli da ricercare, separati dalla virgola.
Nella cella D2 vengono contati i caratteri prima della virgola e di conseguenza il file separa i nomi delle due località nelle celle B6 e C6.
Poi bisogna confrontare queste due località con tutte quelle presenti sui caselli delle autostrade italiane per fare la differenza delle distanze dei due caselli scelti da un punto comune (l'inizio o la fine dell'autostrada) per trovare la loro distanza relativa.
Però a questo punto sorge un problema di natura pratica: alcune località si trovano su più autostrade (per es. Roma è sia sull'A1 che sull'A24 oppure Bologna è sia sull'A14 che sull'A1), quindi il processo logico è quello di trovare quell'autostrada (che vorrebbe dire quella lista, fra tutte le liste scritte a destra) che contiene entrambi i caselli, poiché non c'è nessuna autostrada, in linea di massima, che condivida due caselli con un'altra autostrada.
Per questo nelle colonne E ed F ho inserito un "confronta" che cerca entrambe le località nella stessa lista (nella stessa autostrada); poi nella colonna A i "VERO" o "FALSO" sanciscono se sono state trovate entrambe le località su quell'autostrada (VERO) oppure se ne è stata trovata solo una o nessuna (FALSO).
A quel punto la casella D3 dice quale sia l'autostrada con il valore VERO, valore che viene letto dalle celle C3 e C4 che riferiscono il nome e il soprannome dell'autostrada su cui si trovano entrambe le località.
Per calcolare la distanza nelle colonne E ed F vado a leggere a quale casella dell'elenco di quell'autostrada corrisponde la località cercata. Cosicché nella colonna D si possa calcolare la differenza fra i due valori corrispondenti a quelle località.
Infine la cella B3 ci indica la distanza cercata andandosi a fare la somma dei valori della colonna D (tutti uguali a zero, tranne che nella riga corrispondente a VERO) e quindi andando a leggere la distanza richiesta.

Ora vi chiedo: quale linguaggio devo imparare per migliorarlo secondo le specifiche fatte nel post precedente?

Grazie

gtv
22-07-2010, 15:59
Per i limiti di dimensioni sui file allegati ho dovuto inserire una versione "tagliata" del programma, ma comunque è solo una questione di CONTENUTI ridotti, per il resto è perfettamente FUNZIONANTE come l'originale.
Ne inserisco una versione "meno tagliata" per rendere più chiaro il funzionamento del foglio di lavoro.

banryu79
23-07-2010, 15:55
Non conosco l'ambito mobile, ma se ti interessa programmare su Nokia credo che NokiaQT sia una buona scommessa (link al sito):
http://developer.nokia.com/

ndakota
23-07-2010, 15:58
Non conosco l'ambito mobile, ma se ti interessa programmare su Nokia credo che NokiaQT sia una buona scommessa (link al sito):
http://developer.nokia.com/

Se è a digiuno di programmazione potrebbe essere un'impresa titanica.

banryu79
23-07-2010, 16:02
Se è a digiuno di programmazione potrebbe essere un'impresa titanica.
Bon, mi pareva di avere sparato la cazzata del venerdì :D

khelidan1980
23-07-2010, 20:23
va bhe da qualche parte bisogna pur iniziare

gtv
23-07-2010, 20:29
beh sì, sono quasi a digiuno di programmazione! Ho programmato solo in C++ per l'esame di Elementi di Informatica...ma se avete visto quello che dovrei fare (cioè il programmino), vi sarete accorti che non si tratta di una cosa impossibile. Saranno al massimo 3-4 funzioni da inserire.... Mi confermate?