1 / 14

IL PRIMO PROGRAMMA IN PERL

Come in ogni corso di introduzione ad un linguaggio di programmazione, proviamo a scrivere l’ormai celebre primo programma di prova. Apriamo un editor (nano, emacs, kwrite) e scriviamo il seguente programma

odin
Download Presentation

IL PRIMO PROGRAMMA IN PERL

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Come in ogni corso di introduzione ad un linguaggio di programmazione, proviamo a scrivere l’ormai celebre primo programma di prova. Apriamo un editor (nano, emacs, kwrite) e scriviamo il seguente programma Salviamo il programma, ad esempio con il nome prova.pl, ricordiamoci di renderlo eseguibile ed eseguiamolo IL PRIMO PROGRAMMA IN PERL BIOINFO3 - Lezione 20

  2. ESECUZIONE DEL PROGRAMMA • L’esecuzione delle istruzioni avviene in sequenza, ovviamente nell’ordine in cui sono scritte nel file. Nell’esempio c’è una sola istruzione eseguibile, l’istruzione di print che stampa sullo standard output (sul video, o meglio sulla finestra di shell in cui è stato eseguito il comando) la stringa indicata tra “”. • Nel nostro caso viene stampato Ciao ed il carattere di “vai a capo” (\n). Senza questo carattere di a capo il prompt UNIX sarebbe stato scritto immediatamente di seguito al Ciao, sulla stessa riga. BIOINFO3 - Lezione 20

  3. COMMENTI • Abbiamo visto finora il significato dei simboli #! posti nella prima riga, che dicono all’interprete di comandi UNIX (la “shell”) con quale programma (/usr/bin/perl, cioè l’interprete PERL) interpretare il resto del file. • In ogni altra riga è possibile inserire dei commenti dopo il carattere #, cioè delle frasi che vengono ignorate dell’interprete e servono a chi scrive il programma o a chi dovrà magari leggerlo o modificarlo successivamente. I commenti vengono usati per descrivere il programma, la sua versione, il suo funzionamento, il suo input ed output, identificarne alcune parti importanti, spiegare il significato di alcune variabili o perché si siano usate certe istruzioni o anche solo per contenere la firma dell’autore e la data di realizzazione e di successive modifiche • Il consiglio è quello di imparare a commentare quanto più possibile i propri programmi, anche se per ragioni di tempo si finisce sempre per non mettere alcun commento. Ogni volta che l’interprete incontra il carattere # egli ignora il testo scritto da quel punto fino alla fine della riga BIOINFO3 - Lezione 20

  4. NOMI E TIPI DELLE VARIABILI • Esistono diversi tipi di variabili in Perl, identificate grazie al primo carattere del loro nome. I caratteri successivi potranno essere liberamente lettere o numeri o il carattere di sottolineatura _ • $ variabili “scalari” • Sono così chiamate le normali variabili, che possono contenere valori numerici o stringhe. Il loro nome inizia con $ ad esempio $a $questa_variabile $1 • @ array • Il nome di una variabile di tipo array inizia con il simbolo @ • Esempi: @a @nomi • % array associativi • Il nome di una variabile di tipo array associativo inizia con il simbolo % • Esempi: %a %prezzi • file handle • Sono delle variabili associate ai file aperti in lettura o scrittura. Normalmente si usano nomi formati da lettere maiuscole • Esempio: H FILE_INPUT STDIN STDOUT BIOINFO3 - Lezione 20

  5. ASSEGNAMENTO • Ha la classica forma variabile=espressione; (N.B. ricordarsi il ;) • Esempi: • $a=3; • $a=$a+1; • $ricavo=1000; • $spese=800; • $guadagno=$ricavo-$spese; 3 $a 3 $a $a=$a+1=3+1=4 4 $a 1000 $ricavo 800 $spese $guadagno=$ricavo-$spese= 1000-800=200 200 $guadagno BIOINFO3 - Lezione 20

  6. ASSEGNAMENTO • Se una variabile non è mai stata usata prima, essa è creata dall’assegnamento. E la stessa variabile potrà contenere in seguito indifferentemente numeri (interi o reali) o stringhe • $b=1; • $b=$b+0.33; • $b=“Mario”; • Il valore di una variabile non ancora usata viene assunto 0 oppure la stringa vuota a seconda del contesto in cui viene usato. Se, ad esempio, in una somma di numeri, sarà 0. 1 $b 1.33 $b Mario $b BIOINFO3 - Lezione 20

  7. USO DEGLI APICI • Abbiamo detto che le stringhe debbono essere racchiuse tra apici. Entrambi i tipi di apici (doppi o singoli) sono ammessi dal Perl, però con effetto diverso. • Gli apici doppi (“) provocano la sostituzione, con il loro valore, di eventuali variabili contenute all’interno della stringa, nonché l’interpretazione dei caratteri di controllo (es. /n). Gli apici singoli (‘) non effettuano invece nessuna sostituzione. • $a=10; • $b=‘Io ho $a anni’; • $c=“Io ho $a anni”; 10 $a Io ho $a anni $b Io ho 10 anni $c BIOINFO3 - Lezione 20

  8. CONCATENAMENTO DI STRINGHE • E’ possibile concatenare due stringhe usando il simbolo “.” • $n=“Mario”; • $c=‘Rossi’; • $a=$n.$c; • $b=$n.” “.$c; • $b=$b.”.”; • Esiste una forma implicita del comando che permette di accodare una stringa alla stringa data • $b.=“.”; $b=$b.”.”; Mario $n Rossi $c MarioRossi $a Mario Rossi $b Mario Rossi. $b BIOINFO3 - Lezione 20

  9. OPERATORI ARITMETICI • Gli operatori che si possono usare nelle espressioni sono i classici operatori aritmetici, logici o anche delle funzioni speciali • + addizione • - sottrazione • * prodotto • / divisione • % resto della divisione (5%2=1, 4%2=0) • ** elevamento a potenza (2**5=32, 5**2=25) • ++ incremento di 1 • -- decremento di 1 BIOINFO3 - Lezione 20

  10. OPERATORI DI ASSEGNAMENTO • Anche per gli operatori aritmetici, come per le stringhe (.=), esiste un operatore implicito di assegnamento. • $a+=1; $a=$a+1; • $a-=2; $a=$a-2; • $a*=3; $a=$a*3; • $a/=4; $a=$a/4; • $a%=5; $a=$a%5; 9 $a 10 $a 8 $a 24 $a 6 $a 1 $a BIOINFO3 - Lezione 20

  11. OPERATORE DI INCREMENTO • L’assegnamento $a=$a+1 può essere ottenuto anche attraverso i due operatori $a++ (forma postfissa) e ++$a (forma prefissa). Nei due casi cambia però il risultato restituito se l’operatore viene usato in una espressione. • Nella forma postfissa viene prima restituito il valore e poi effettuato l’incremento mentre in quella prefissa prima si effettua l’incremento e poi si restituisce il valore. Analogamente per l’operatore --. • $a=5; • $b=$a++; • $a=5; • $b=++$a; 5 $a 5 $b 6 $a 5 $a 6 $b 6 $a BIOINFO3 - Lezione 20

  12. ESERCIZIO • Scrivere un programma Perl per: • Assegnare alla variabile $a il valore 10, • assegnare alla variabile $b il valore 5, • assegnare alla variabile $c il prodotto di $a con la somma di 5 a $b, • assegnare alla variabile $d il resto della divisione di $c per 2, • Stampare “Risultato=“ seguito dal valore di $d e dal carattere di “a capo” \n. • Quanto vale $d alla fine del programma? BIOINFO3 - Lezione 20

  13. Notare gli apici ESERCIZIO • Scrivere un programma Perl per: • Assegnare alla variabile $s1 la stringa “Ciao”, • assegnare alla variabile $s2 la stringa ‘carissimi’, • aggiungere alla fine della stringa $s1 una virgola ed il carattere di “a capo” • Assegnare alla stringa $s3 la concatenazione delle variabili $s1 e $s2 • Stampare $s3 seguita dal carattere di “a capo” e da “->”. • Cosa vedremo a video alla fine del programma? BIOINFO3 - Lezione 20

  14. RIEPILOGO • L’istruzione print • I commenti • Nomi e tipi delle variabili • L’assegnamento • L’uso degli apici • Concatenamento di stringhe • Operatori: aritmetici, di assegnamento, di incremento BIOINFO3 - Lezione 20

More Related