Author Archives: admin

Documentazione ActivePython

python

ActivePython Documentation rappresenta una nutrita collezione di documentazione che viene fornita a corredo della IDE già dettagliatamente descritta nelle pagine precedenti.

Si tratta di una raccolta davvero completa che ci fornirà tutti gli argomenti necessari per apprendere le caratteristiche di base del linguaggio di programmazione Python se siamo dei principianti, mentre ci permetterà di arricchire le nostre competenze se siamo già pratici della sintassi di questo potente ma snello strumento per la programmazione ad oggetti.

Documentazione Python

Documentazione Python

Il sommario che si apre quando richiamiamo la documentazione Python ci offre i seguenti argomenti:

  • Active Python User Guide
  • What’s New
  • Python Documentation
  • Helpful Resources
  • PyWin 32 Documentation

 Come è possibile verificare, la documentazione a corredo del pacchetto ci permette di accedere ad una Guida all’uso di Active Python, alle novità introdotte dalla nuova versione, ad una raccolta di documenti su Python, alle risorse di aiuto ed infine alla documentazione su PyWin 32.

LINK DI APPROFONDIMENTO PER L’ARGOMENTO:

Editor Pythonwin

python

L’editor Pythonwin è la versione Windows di Scintilla. Scintilla offre tutto ciò che ci si aspetta da un editor di Python, come un sistema di identazione intelligente, code-folding (che permette di nascondere delle porzioni di un file di codice mentre si lavora ad altre parti dello stesso file), e l’evidenziazione della sintassi.

Inoltre, la finestra di editor può essere divisa in due, fornendo uno strumento utile per un confronto efficace tra codici sorgente, mentre a sinistra della finestra dell’editor può essere aperto un pannello di servizio del browser che ci permette di navigare nel file system del computer.

Il layout compatto di questi pannelli, combinato con una interfaccia MDI, rende facile lavorare su un numero elevato di file nello stesso momento.

python

L’editor è facilmente personalizzabile attraverso delle comode finestre di dialogo. Pythonwin è stato uno dei primi Python IDE a sostenere il completamento automatico, l’avviso di rientro incoerente, e suggerimenti per le chiamate di funzioni, e lo fa abbastanza bene considerando che è estremamente difficile da attuare a causa della natura debolmente tipizzata di Python. È inoltre possibile controllare la correttezza sintattica del codice senza eseguirlo.

Pythonwin rappresenta una risorsa open source, scritto da Mark Hammond, e ora parte del pacchetto ActiveState Active Python, anche se può essere scaricato separatamente. Cosicchè Active Python nasce dal’accorpamento di una IDE completa, di un interprete Python e di una piccola selezione di librerie standard, cosa questa che sembra essere una tendenza nel mondo Windows.

 LINK DI APPROFONDIMENTO PER L’ARGOMENTO:

La Guida in linea di Python

python

Per consultare la guida in linea di Python dobbiamo digitare il comando help() per ricevere informazioni sull’uso dell’interprete python. Dopo aver impartito il comando si riceve un messaggio di benvenuto dalla funzione di Guida in linea che ci invita nel caso fossimo dei principianti a consultare il tutorial disponibile su Internet al seguente url:

http://docs.python.org/tutorial/:

>>> help()
Welcome to Python 3.1!  This is the online help utility.

If this is your first time using Python, you should definitely check out the tutorial on the Internet at http://docs.python.org/tutorial/.

Enter the name of any module, keyword, or topic to get help on writing Python programs and using Python modules.  To quit this help utility and return to the interpreter, just type "quit".

To get a list of available modules, keywords, or topics, type "modules", "keywords", or "topics".  Each module also comes with a one-line summary of what it does; to list the modules whose summaries contain a given word such as "spam", type "modules spam".

help>

 Nella guida in linea, come già detto attivabile con il comando help(), basterà inserire il nome di qualsiasi modulo, parola chiave o un argomento per ottenere aiuto nella redazione di programmi Python. Per uscire poi dalla guida in linea per fare ritorno all’interprete, sarà sufficiente digitare “quit”. Per ottenere invece un elenco dei moduli disponibili, delle parole chiave previste o degli argomenti utilizzabili, sarà necessario digitare “modules”,”keywords”, oppure “topics”.

Ogni modulo poi ha un sommario contenuto nella guida in linea in cui vengono elencate tutte le sue caratteristiche, mentre per elencare i moduli la cui sintesi contiene una parola data dovremo aggiungerla alla parola modules. Ad esempio per avere informazioni sul modulo array inseriremo tale nome nella shell della guida in linea per ottenere le informazioni riportate nella figura.

python

É allora consigliabile consultare la guida in linea dell’interprete Python ogni qualvolta ci si trova a dover utilizzare una risorsa Python che non si conosce in modo adeguato; abbiamo visto che attraverso l’help della Python Interactive Shell sarà semplice ed immediato ottenerne una sufficiente documentazione.

LINK DI APPROFONDIMENTO PER L’ARGOMENTO:

Operatori aritmetici in Ruby

Guida alla programmazione con Ruby

Passiamo allora ad analizzare gli operatori aritmetici in Ruby; iniziamo con il considerare l’operatore di assegnazione che è rappresentato dal segno uguale (=). È opportuno ricordare che il suo utilizzo nella programmazione è diverso dal suo uso consueto in matematica, così se scriviamo:

 a = b

non vogliamo intendere “a è uguale a b”, mentre invece vogliamo significare “assegna il valore di b alla variabile a”. Allora in un’istruzione di assegnazione, la parte a destra del segno di uguale può essere una qualsiasi espressione, mentre la parte a sinistra deve essere necessariamente il nome di una variabile. Per tale motivo scriveremo:

 variabile = espressione

cosicchè durante l’esecuzione dell’istruzione viene valutata l’espressione ed il risultato viene assegnato alla variabile. Il tipo del dato rappresentato dalla variabile viene stabilito nella fase di inizializzazione, ne consegue che per avere una variabile che memorizzi numeri decimali dovremo scrivere:

 a = 1.0

sottolineando il fatto che nell’ipotesi di valore unitario per conservare il tipo numero decimale dovremo necessariamente aggiungere lo zero l’operatore decimale cioè il punto.

LINK DI APPROFONDIMENTO PER L’ARGOMENTO:

I nomi in Ruby

Guida alla programmazione con Ruby

Per assegnare i nomi a variabili, costanti, etc. in ambiente Ruby è necessario seguire delle regole specifiche. In questo post appunto impareremo ad assegnare in modo corretto i nomi in Ruby.

Con il primo carattere Ruby individua il tipo di elemento che intende rappresentare; un nome allora può essere costituito da una lettera maiuscola, minuscola o dal simbolo underscore seguito da altri caratteri, che a loro volta possono essere una qualsiasi combinazione di lettere maiuscole e minuscole, underscore e cifre.

I caratteri minuscoli corrispondono alle lettere minuscole dell’alfabeto, dalla a alla z, compreso il simbolo underscore, mentre i caratteri maiuscoli corrispondono alle lettere maiuscole dell’alfabeto dalla A alla Z e le cifre da 0 al 9.

Vediamo allora degli esempi di nomi impostati correttamente in ambiente Ruby:

  • Contatore – corretto
  • luigi_2003 -corretto
  • simone_ciaburro – corretto
  • _2008 – Consentito ma sconsigliato
  • Luigi+ciaburro – Errato in quanto contiene il carattere +
  • when – Errato in quanto rappresenta una parola riservata
  • 2005_simone – Errato in quanto il primo carattere è una cifra

LINK DI APPROFONDIMENTO PER L’ARGOMENTO:

Guida alla programmazione con Ruby

Guida alla programmazione con Ruby

Ruby rappresenta un linguaggio di scripting interpretato, per la programmazione orientata agli oggetti, dove il termine interpretato sta a significare che un’applicazione Ruby sarà eseguita senza che la stessa necessiti preventivamente di essere compilata. In questa guida vengono affrontati tutti gli argomenti necessari per iniziare a programmare in Ruby, in maniera semplice ed immediata partendo da zero. Ricca di esempi ed esercizi la guida ci aiuta nel percorso di apprendimento di un nuovo linguaggio di programmazione senza la necessità di competenze preventive sull’argomento.

Sommario
1. Introduzione
Le origini
Ruby Feature
Strumenti per programmare con Ruby
2. Per iniziare
Il software
Installazione
Installazione su Windows
Installazione su Linux
Installazione su Mac OS X
Primi passi con Ruby
Documentazione Ruby
Interactive Ruby
3. Nozioni di base di Ruby
I nomi in Ruby
Costanti e Variabili
Pseudovariabili
Variabili predefinite
Simboli
Gli operatori
Operatori aritmetici
Operatori relazionali
Operatori logici
Commenti
Numeri
4. Stringe ed espressioni regolari
Stringhe
Tempo e date
Espressioni regolari
5. Array ed Hash
Array
Manipolazione di un array
Operazioni sugli array
Metodi per gli array
Ranges
Hash
Hash multidimensionali
Metodi per gli hash
6. Strutture per il controllo del flusso
Il flusso delle informazioni
La struttura IF
Operatore condizionale
La struttura SELECT  CASE
Ciclo while
Ciclo until e unless
Ciclo FOR
Blocchi e iteratori
7. Classi, metodi, oggetti e moduli
La programmazione ad oggetti
Ereditarietà
Polimorfismo
Incapsulamento
Classi
Metodi
Gli oggetti
I Moduli
8. Operazioni di ingresso/uscita
Organizzazione dei dati in record
Metodi di accesso ai files
Directory e files
Proprietà di file e directory
Permessi su file e directory
Manipolare file e directory
Operazioni di lettura
Operazioni di scrittura
9. Gestione delle eccezioni
Le eccezioni
La gestione delle eccezioni
Debugging del codice
10. Database
Il database manager SQlite3
Costruzione di un database
Recupero dei dati
Le transazioni SQLite in Ruby
11. Creare delle GUI con Ruby
Pacchetti per la creazione di GUI
Introduzione a Tk
I Widget in Tk
Il widget TKFrame
Il widget TKButton
Il widget TKLabel
Il widget TKEntry
Il widget TkCheckButton
Il widget TkRadiobutton
Il widget TkListbox
Il widget TkComboBox
Il widget TkMenu
Il widget TkMenubutton
Il widget Tk.messageBox
Il widget TKScrollbar
Posizionamento dei widget
Gestione degli eventi
Il metodo configure

Scritto da un esperto professionista, questo manuale è contraddistinto da un approccio didattico semplice, accurato ed efficace per imparare a programmare in Ruby.

 

Array allocabili nel Fortran


FORTRANLe funzionalità di elaborazione degli Array nel Fortran 90 rappresentano i più significativi miglioramenti del linguaggio offerti dal nuovo standard. Tra queste assumono particolare importanza gli Array allocabili nel Fortran, cioè la possibilità di dichiarare un array con l’attributo ALLOCATABLE. Tale attributo indica che lo spazio per quell’array non viene riservato all’inizio dell’esecuzione del programma ma solo dopo l’esecuzione dell’istruzione ALLOCATE(), in cui si determina anche la dimensione dell’array.

Gli array possono essere molto grandi, in tal caso, richiedono molta memoria; pertanto, è spesso utile riservare questo spazio solo durante i tempi in cui è richiesto l’utilizzo dell’array. Questo non può essere fatto quando la dimensione dell’array è dichiarato durante la compilazione. Per questo motivo è conveniente utilizzare, per tali risorse, la cosiddetta “free store” una memoria di run time per allocare così tale memoria solo durante l’esecuzione del programma. Questa memoria può essere utilizzata e ripristinata utilizzando i seguenti comandi.

Per dichiarare un array come allocabile utilizzeremo la seguente sintassi:

type, DIMENSION(:), ALLOCATABLE ::nome_array

Ad esempio scriveremo:

INTEGER, DIMENSION(:), ALLOCATABLE :: VETTORE

che crea un array intero di nome  VETTORE  a cui sarà allocata della memoria solo durante l’esecuzione ed in misura della sua grandezza.

Una volta che l’array non risulta più necessario, è importante deallocare la memoria in modo che possa essere utilizzata per altre risorse. Per fare questo utilizzeremo il comando DEALLOCATE. Quindi sarà importante utilizzare l’opzione STAT onde verificare che la deallocazione abbia avuto successo.

 DEALLOCATE (VETTORE)

LINK DI APPROFONDIMENTO PER L’ARGOMENTO:

Come formattare i numeri nel formato esponenziale nel Fortran


FORTRANPer formattare i numeri nel formato esponenziale nel Fortran si utilizza il descrittore E che ci consente di controllare la rappresentazione dei numeri nel formato esponenziale. La forma generale di tale descrittore è:

rEw.d

dove r,w e d assumono il seguente significato:

  • d = Numero di cifre da visualizzare a destra del punto decimale
  • r = Fattore di ripetizione: specifica il numero di volte che un descrittore deve essere utilizzato
  • w = Larghezza di campo: numero di caratteri da utilizzare

Per meglio comprendere il concetto appena esposto analizziamo allora il seguente esempio di istruzione di uscita formattata:

E15.5

che indica di rapresentare il numero in notazione esponenziale con 15 caratteri di cui 5 a destra del punto.

Quindi se dovessimo rappresentare il numero 5.37939E6 con il formato precedente avremmo:

       0.53794E+07
   ____|____|____|
       5   10    15

infatti occorrono:

  • 1 carattere per il segno della mantissa;
  • 2 caratteri per lo zero ed il punto decimale;
  • 5 caratteri per la mantissa;
  • 1 carattere per la lettera E;
  • 1 carattere per il segno dell’esponente;
  • 2caratteri per l’esponente;

per un totale di 12 caratteri, avendo utilizzato 15 caratteri rendiamo il tutto più leggibile.

In generale deve valere la seguente espressione:

w >= d+7

LINK DI APPROFONDIMENTO PER L’ARGOMENTO:

Come formattare i numeri reali nel Fortran

FORTRANPer formattare i numeri reali nel Fortran si utilizza il descrittore F che ci consente di controllare la rappresentazione dei numeri reali. La forma generale di tale descrittore è:

rFw.d

dove r,w e d assumono il seguente significato:

  • d = Numero di cifre da visualizzare a destra del punto decimale
  • r = Fattore di ripetizione: specifica il numero di volte che un descrittore deve essere utilizzato
  • w = Larghezza di campo: numero di caratteri da utilizzare

Per meglio comprendere il concetto appena esposto analizziamo allora il seguente esempio di istruzione di uscita formattata:

2F8.3

che indica di ripetere per due variabili il formato di numero reale con l’utilizzo di 8 caratteri di cui 3 a destra del punto.

Quando viene stampato un numero reale, la sua parte intera viene stampato come se si utilizzasse il descrittre Im-(d+1). Pertanto, se il numero di posizioni non è sufficiente per stampare completamente la parte intera, tutte le posizioni w saranno riempite con asterischi. Si noti che la parte intera contiene un segno e di conseguenza w deve essere maggiore o uguale a d + 2.
La parte frazionaria può avere più di d cifre. In questo caso, la (D+1)-esima cifra sarà arrotondata alla desima cifra.

Come formattare i numeri reali nel Fortran

Ad esempio, se il numero 1,73 è stampato con il formato F3.1 (usando cioè 3 posizioni per stampare un numero reale con la posizione più a destra utilizzata per la parte frazionaria), poiché la seconda cifra della parte frazionaria è 3, il risultato sarà 1.7 in quanto l’ultima cifra è arrotondata per difetto. Tuttavia, se si stampa il numero 1,76 con lo stesso formato F3.1, il risultato diventa 1.8 perché l’ultima cifra è arrotondata per eccesso.

La parte frazionaria può avere meno di d cifre. In questo caso, verranno aggiunti degli zeri finali.
Si noti che d può essere zero. In questo caso, nessuna parte frazionaria verrà stampata. Più precisamente, la posizione più a destra è il punto decimale.

LINK DI APPROFONDIMENTO PER L’ARGOMENTO:

Come formattare i numeri interi nel Fortran


FORTRANPer formattare i numeri interi nel Fortran si utilizza ildescrittore I che ci consente di controllare la rappresentazione dei numeri interi. La forma generale di tale descrittore è:

rIw oppure rIw.m

dove r,w e m assumono il seguente significato:

  • m = Numero minimo di cifre da stampare
  • r = Fattore di ripetizione: specifica il numero di volte che un descrittore deve essere utilizzato
  • w = Larghezza di campo: numero di caratteri da utilizzare

Per meglio comprendere il concetto appena esposto analizziamo allora il seguente esempio di istruzione di uscita formattata:

INTEGER :: a = 1, b = -2  
WRITE(*,"(2I5.2)") a, b

Il descrittore di formato utilizzato è 2I5.2 che del tutto uguale a (I5.2,I5.2,) grazie all’utilizzo del contatore di ripetizione 2. Così, ognuna delledue variabili intere sarà restituita secondo quanto stabilito dallo specificatore I5.2 ottenendo così il risultato seguente:

___01__-02

Analizziamo nel dettaglio quanto appena scritto: abbiamo deciso di rappresentare le due varibili intere mediante lo stesso descrittore che ci impone di utilizzare almeno due cifre e cinque spazi. Allora per la varibile a che contiene il numero 1 abbiamo utilizzato le cifre 01 in quanto il descrittore ci imponeva l’utilizzo di almeno due cifre (ecco il significato della presenza dello zero), mentre abbiamo inserito tre spazi bianchi a sinistra del numero ( tre caratteri underscore _), in quanto occorrevano cinque spazi per rappresentare il numero così come indicato dal ddescrittore.

Come formattare i numeri interi nel FortranNelle operazioni di input i due descrittori Iw.m e Iw si comportano allo stesso modo in quanto gli eventuali spazi bianchi posizionati in testa al numero, inseriti per garantire la lunghezza del campo, vengono completamente ignorati.

Nelle operazioni di output invece il dato intero viene rappresentato in un campo di w caratteri con almeno m cifre, di cui le prime uguali a zero se il numero da rappresentare è composto da meno di m cifre. In tal caso, come specificato nell’esempio appena mostrato, la lunghezza del campo wviene garantita dall’inserimento di spazi bianchi. Nel caso invece il campo non fosse sufficiente per contenere tutte le cifre del valore intero da produrre, il campo sarà riempito con un numero di asterischi pari a w.

LINK DI APPROFONDIMENTO PER L’ARGOMENTO:

La funzione size di Matlab

MATLAB

La funzione size di Matlab rappresenta un modo per ricavare le dimensioni di un array multidimensionale, infatti ci consente di ricavare i valori di ogni dimensioni dell’array.

La sintassi della funzione size è la seguente:

d = size (X)
 [m, n] = size (X)
 size = m (X, dim)
 [D1, D2, D3 ,…, dn] = size (X),

Allora la seguente linea di codice:

d = size (X)

restituisce i valori di ogni dimensione della matrice X restituendola in un vettore con d (X) elementi. Se X è uno scalare, restituisce il vettore [1 1]. Mentre:

[m, n] = size (X)

restituisce la dimensione della matrice X in due variabili separate m e n. Così:

size = m (X, dim)

restituisce il valore della dimensione di X specificata dallo scalare dim. Infine:

[D1, D2, D3 ,…, dn] = size (X)

per n> 1, restituisce i valori delle dimensioni della matrice X nella variabili D1, D2, D3 ,…, dn, a condizione che il numero di n argomenti di uscita sia uguale a nDims (X).

La funzione size di Matlab

Esempio 1
Il valore della seconda dimensione di rand (2,3,4) è 3.

size = m (rand (2,3,4), 2)
m =
 3

La dimensione è fornita come un singolo vettore.

d = size (rand (2,3,4))
d =
 2 3 4

I valori di ciascuna dimensione vengono assegnati a una variabile separata.

[m, n, p] = size (rand (2,3,4))
 m =
 2
n =
 3
p =
 4

LINK DI APPROFONDIMENTO PER L’ARGOMENTO: