Usare Python in Linux

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Usare Python in Linux"

Transcript

1 Usare in Linux Università di Bologna 27 Febbraio e 1 Marzo 2013 Usare in Linux

2 Outline 1 Struttura e programma delle lezioni 2 3 Usare in Linux

3 Outline Struttura e programma delle lezioni 1 Struttura e programma delle lezioni 2 3 Usare in Linux

4 Lezione tipo Struttura e programma delle lezioni Correzione degli esercizi svolti autonomamente e consegnati all indirizzo di posta elettronica: labinfo.mat.unibo@gmail.com Veloce rassegna di alcuni concetti spiegati a lezione Assegnazione di alcuni esercizi da svolgere in laboratorio/aula Assegnazione di esercizi da svolgere in autonomamente Usare in Linux

5 Progetto Struttura e programma delle lezioni Da svolgere singolarmente Consegna delle specifiche di progetto circa a metà aprile Valutazione: insufficiente si deve ripresentare il progetto a una data di consegna successiva sufficiente si assegna un valore compreso tra 0 e 5 da sommare al voto dello scritto Usare in Linux

6 Struttura e programma delle lezioni Programma delle lezioni di a Linux e ; esercizi sui comandi di assegnazione, print, import e definizione di funzione Comando di condizione, comando di input, iterazione incondizionata: concetti, esempi ed esercizi Sequenze immutabili e iterazione condizionata: concetti, esempi ed esercizi Ricorsione: concetto, esempi ed esercizi Confronto tra le diverse possibili soluzioni di uno stesso problema: esempi ed esercizi Liste: concetti, esempi ed esercizi Dizionari: concetti, esempi ed esercizi Code pile ed alberi: concetti, esempi ed esercizi Esercizi in preparazione all esame Usare in Linux

7 Outline 1 Struttura e programma delle lezioni 2 3 Usare in Linux

8 (SO) e interazioni con gli utenti Usare in Linux

9 di Un (SO) è: un programma che agisce come intermediario tra Utente, Software Applicativo e Hardware. Obiettivi e compiti: fornire un ambiente nel quale un utente possa eseguire programmi in modo conveniente ed efficiente su un determinato hardware. fornire un interfaccia utente (grafica e non) per poter eseguire applicazioni evitare che i programmi in esecuzione contemporanea entrino in conflitto fornisce sevizi ai programmi in esecuzione Usare in Linux

10 Il SO come Macchina Astratta Il SO consente di utilizzare l hardware e di gestire la comunicazione con l utente, in modo efficiente, corretto e sicuro, fornendo una visione astratta della macchina reale. Attraverso questa visione di macchina astratta si riesce a gestire un adeguato insieme di risorse tramite un linguaggio semplice, che è il linguaggio fornito dal SO. Usare in Linux

11 Il SO e il suo linguaggio Il linguaggio del SO è rappresentato da tutti i comandi che possono essere riconosciuti dall interprete del SO. Ogni comando ha: una sintassi (come devono essere scritti per essere riconosciuti) una semantica (quale operazione sarà effettuata) Usare in Linux

12 Comandi I comandi sono specifici dei vari S.O.: Usare in Linux

13 Cos è Linux? È un SO Open Source Ricordiamo che i SO moderni hanno tra le altre anche le seguenti funzionalità: presentano un interfaccia (grafica e a linea di comando) per gestire le richieste dell utente gestiscono i vari programmi in esecuzione gestiscono le richieste di I/O Usare in Linux

14 Outline 1 Struttura e programma delle lezioni 2 3 Usare in Linux

15 Come usare Linux da riga di comando shell La shell/terminale è l interfaccia dell interprete del SO dove un utente inserisce i comandi che vuole eseguire. comandi Possiamo suddividerli in: 1 Documentali 2 Gestionali: archivi file e directory processi stampa testo 3 Operazionali su file di dati 4 Informativi: di spazio su disco su di noi e sul sistema 5 Operazionali di ricerca 6 Vari Usare in Linux

16 Documentali MAN sintassi man [section] [option...] NAME. descrizione man formatta e visualizza le possibili pagine del manuale che riguardano NAME. NAME può essere: un comando, una funzione, un file di configurazione. Se section viene specificata, man cerca la documentazione soltanto in quella sezione. La sezione è la suddivisione in categorie dei comandi esempio man man entra nel manuale del comando man, per uscire dal manuale usare q APROPOS sintassi apropos NAME. descrizione apropos da informazioni riguardo la voce NAME esempio apropos man visualizza informazioni sui diversi manuali presenti Usare in Linux

17 Gestione file e directory LS sintassi ls [option...] [NAME_DIRECTORY...] [NAME_FILE...] descrizione ls lista il contenuto di ogni directory indicata in [NAME_DIRECTORY...] e i file individuati da [NAME_FILE...]. MKDIR esempi ls visualizza tutti i file e le directory presenti nella directory corrente sintassi mkdir [option...] NAME_DIRECTORY... descrizione mkdir crea le directory specificate con (NOME_DIRECTORY...). esempio mkdir /home/nome.cognome/python crea la directory python nella nostra home Usare in Linux

18 Gestione file e directory RM sintassi rm [option...] [NAME_FILE...] descrizione rm cancella i file specificati, ma non le directory. RMDIR esempio rm prova.txt rimuove se esiste il file prova.txt sintassi rmdir [option...] NAME_DIRECTORY... descrizione rkdir cancella le directory specificate con (NOME_DIRECTORY...). esempio rmdir prova rimuove se esiste la directory prova Usare in Linux

19 Gestione file e directory CD sintassi cd [DIRECTORY] descrizione cd entra nella directory specificata. NB. bisogna descrivere il percorso corretto. Se non è fornita alcuna directory allora entra nella home directory dell utente. CP esempi cd /usr/include entra nella directory /usr/include sintassi cp [option...] FILE_ORIGINE... DIRECTORY cp [option...] FILE_ORIGINE FILE_DESTINAZIONE descrizione Copia i file specificati con FILE_ORIGINE nella directory DIRECTORY. Copia il file FILE_ORIGINE nel file FILE_DESTINAZIONE. esempi cp x.* y.* /home/nome.cognome copia x,y nella nostra home cp prova.* prova2.* copia il file prova in prova2 Usare in Linux

20 Lanciare un programma da shell Per lanciare un programma da shell, indicare il nome del file eseguibile. NANO VIM Per esempio apriamo un editor di testo col comando nano nomefile.* si apre l editor sul file specificato da nomefile.* E indica la combinazione di tasti Ctrl E un altro esempio di editor è VIM VIM opera in due modalità: di comando: permette di interagire col programma, utilizzando specifiche combinazioni di tasti che corrispondono ai comandi riconosciuti da VIM; come ad esempio: aprire un file, salvare un file, uscire, ricercare e sostituire parole inserimento: permette di scrivere e modificare il testo salvato nel file. Usare in Linux

21 VIM Passaggio da una modalità all altra: VIM si apre in modalità comando, per cambiare contesto si edita il carattere i per tornare alla modalità comando si usa il tasto esc Comandi principali: :r nomefile per aprire un file :w per salvare un file senza uscire :w nomefile per salvare con nome :wq per salvare ed uscire :q per uscire (solo se non si sono apportate modifiche) q! per uscire senza salvare VIM nomefile.* si apre il file nomefile.* con l editor VIM Usare in Linux

22 Outline 1 Struttura e programma delle lezioni 2 3 Usare in Linux

23 Cos è? È un linguaggio di programmazione: interpretato multi-piattaformaq multi-paradigma. La versione Useremo 3.* (il libro di testo è riferito a 2.6 o 2.7). Usare in Linux

24 Per programmare useremo IDLE (Ambiente di sviluppo integrato di ) Per mandare in esecuzione il IDLE si devono eseguire le seguenti operazioni da terminale: accediamo alla directory corretta cd /usr/lib/python2.7/idlelib mandiamo in esecuzione il programma digitando python idle si apre un editor su cui scriveremo e salveremo i nostri (file) programmi Usare in Linux

25 Outline 1 Struttura e programma delle lezioni 2 3 Usare in Linux

26 di funzione import modulo Si importa il modulo specificato def nome_f(par 1,, par n ) : Si definiscono nome e parametri di f #la mia funzione calcola qualcosa Commento Codice Blocco della funzione return ris, ris2, ecc... Si definiscono i risultati di f Usare in Linux

27 Import Modulo Comando per richiamare funzioni implementate in un programma già salvato. Esempi di moduli sono: math: sono implementate funzioni matematiche ad esempio: sin(x), cos(x),sqrt(x) ecc sono definite le costanti e, pi rispettivamente il numero di Nepero e pigreco string: sono implementate alcune funzioni sulle stringhe come ad esempio: find(mela, a) Per usare in un programma una o più funzioni appartenenti a un modulo: importare il modulo prima del suo utilizzo es: import math richiamare la funzione coi valori di input in riferimento al modulo es. math.sin(90) Usare in Linux

28 Codice Si inseriscono i comandi che implementano l algoritmo risolutivo della nostra funzione. In particolare avremo una sequenza di passi ordinata che ci permette di assegnare il risultato atteso partendo da dei dati di input. Usare in Linux

29 Comandi Riprendiamo alcuni comandi: print ('Hello World!') (scrive Hello World!) x=2 (assegna il valore intero 2 a X) x=x+5 (assegna a x il valore di x a cui è sommato il valore 5) Ogni operazione definisce un comando specifico a seconda del tipo di dato che si sta usando per questo li riprendiamo brevemente. Usare in Linux

30 Tipo di dato Semplici: interi (int) operazioni tra interi numeri in virgola mobile (float) operazioni tra float numeri complessi (complex) operazioni tra complessi valori booleani (bool) operazioni tra booleani Composto: valori stringa (str) operazioni tra stringhe Usare in Linux

31 Operazioni su interi, virgola mobile, complessi Rappresentazioni: interi: M=3 float: M=3.0 complessi: M=(3+1j) Operazioni: M+M somma (interi, float, complessi) M*M prodotto (interi, float, complessi) M/M divisione con risultato intero, float, o complesso M%M modulo (solo tra interi) M**M elevamento a potenza (interi, float,complessi) Usare in Linux

32 Operazioni boolean Rappresentazioni: M=True N = False Operazioni: M and N prodotto tra boolean M or N somma tra boolean not M nega il valore di M X>Y confronto tra X e Y (possono essere di qualsiasi tipo non necessariamente omogeneo) restituisce True se X>Y; False altrimenti X==Y confronto tra X e Y (possono essere di qualsiasi tipo non necessariamente omogeneo) restituisce True se sono uguali (e hanno lo stesso tipo); False altrimenti X!=Y; X<>Y confronto tra X e Y (possono essere di qualsiasi tipo non necessariamente omogeneo) restituisce False se sono diversi (anche solo se differiscono del tipo); True altrimenti Usare in Linux

33 Operazioni stringhe Rappresentazioni: M = Prova ; N= casa Operazioni: M+N concatenazione tra la stringa M e N es. Provacasa M*3 concatena 3 volte la stringa contenuta in M es. ProvaProvaProva len(m) restituisce la lunghezza di M es. 5 M[0], M[len(M)-1] restituisce i singoli caratteri della stringa. es: M[0] P M[x:y] restituisce una sotto-striga di quella di partenza partendo dalla posizione x fino alla posizione y-1. es. M[:2] Pr Usare in Linux

34 Esempio Definire una funzione perimetro_quadrato che prende come argomento un lato e restituisce il valore del perimetro def perimetro_quadrato(lato) : definisco il nome della mia funzione #la mia funzione calcola il perimetro del quadrato che ha come valore del lato, il valore associato alla variabile di input lato p = lato 4 assegno a p il valore del perimetro del quadrato return p restituisco il valore della variabile p Usare in Linux

35 Salvare e interpretare il file salvare con nome il file nella directory python aprire il menù run e selezionare Run Module accedere a python_shell per poter richiamare la mia funzione: es. perimetro_quadrato(5) 20 provare a richiamare la mia funzione dopo l assegnazione di valori a variabili es: x=20 perimetro_quadrato(x) 80 provare ad assegnare a una variabile il valore di ritorno della mia funzione es: y=perimetro_quadrato(4) il sistema non visualizza il risultato perchè è stato assegnato alla variabile y print y 16 provare a fare entrambe le operazioni es: x=3 y=perimetro_quadrato(x) print y 12 Usare in Linux

36 Esempio Definire una funzione radice_quadrata_somma che prenda due valori come parametri, ne faccia la somma, la stampi a video e infine restituisca la radice quadrata della somma import math importo il modulo math def radice_quadrata_somma(a, b) : definisco il nome della funzione #la mia funzione la radice quadrata della somma di due valori p = a + b assegno a p il valore della somma di a e b print(p) stampo la somma a video r = math.sqrt(p) richiamo sqrt da math e assegno a r l output return r restituisco il valore di r Usare in Linux

37 Esercizio Verificare la funzione radice_quadrata_somma coi seguenti input. x=3 y=5; c=300, b=220 (20,30); (16,9); (x,y); (c,b) Usare in Linux

38 Esercizi Definire una funzione che prenda come parametri la lunghezza di due cateti e restituisca la lunghezza dell ipotenusa Definire una funzione che prenda come parametri due stringhe e restituisca la concatenazione delle due stringhe Definire una funzione che prenda come parametri due valori a, b ne stampi il valore a video infine restituisca il valore di b a cui è stato sommato il quadrato di a. Definire una funzione che prenda come parametri due valori qualsiasi e restituisca il valore True se sono uguali e False se sono diversi Definire una funzione che prenda come parametri due valori e restituisca i valori scambiati. Es. parametri: (3, 4); risultato: (4, 3) Definire una funzione che risolva l equazione di secondo grado ax 2 + bx + c = 0 Usare in Linux

39 Cosa abbiamo fatto? 1 Struttura e programma delle lezioni 2 3 Usare in Linux

Usare Python in Linux

Usare Python in Linux 26 Febbraio 2015 Outline 1 Struttura e programma delle lezioni 2 3 Outline Struttura e programma delle lezioni 1 Struttura e programma delle lezioni 2 3 Lezione tipo Struttura e programma delle lezioni

Dettagli

Laboratorio di Python

Laboratorio di Python , Input da tastiera, Iterazione incondizionata 7 marzo 2014 Sommario 1 2 3 Outline 1 2 3 Definizione di funzione import modulo Si importa il modulo specificato def nome_f(par 1,, par n ) : Si definiscono

Dettagli

Laboratorio di Python

Laboratorio di Python Istruzione di condizione, Input da tastiera, Università di Bologna 6 e 8 marzo 2013 Sommario 1 Tipi di errore e Debugging 2 3 4 Outline Tipi di errore e Debugging 1 Tipi di errore e Debugging 2 3 4 Esercizio

Dettagli

Programmare. Definire una sequenza di istruzioni che specificano come effettuare una elaborazione

Programmare. Definire una sequenza di istruzioni che specificano come effettuare una elaborazione Python Programmare Definire una sequenza di istruzioni che specificano come effettuare una elaborazione Le istruzioni devono essere date in un linguaggio comprensibile dal calcolatore. In generele questi

Dettagli

Programmare. Definire una sequenza di istruzioni che specificano come effettuare una elaborazione

Programmare. Definire una sequenza di istruzioni che specificano come effettuare una elaborazione Python Programmare Definire una sequenza di istruzioni che specificano come effettuare una elaborazione Le istruzioni devono essere date in un linguaggio comprensibile dal calcolatore. In generele questi

Dettagli

Laboratorio di Python

Laboratorio di Python , Istruzione di condizione 3 marzo 2015 Sommario 1 Outline 1 Scrivere uno script 1 Aprire IDLE di Python. 2 Dal menù del programma aprire un nuovo file. 3 Scrivere la funzione. 4 Salvare ed eseguire il

Dettagli

Linguistica Computazionale: esercitazioni

Linguistica Computazionale: esercitazioni Esercitazione 1 Felice Dell'Orletta ItaliaNLP Lab (www.italianlp.it) presso Istituto di Linguistica Computazionale A. Zampolli CNR felice.dellorletta@ilc.cnr.it 24 settembre 2014 Linguistica Computazionale:

Dettagli

Laboratorio di Python

Laboratorio di Python Laboratorio di Python Variabili e Funzioni Lab02 1 Marzo 2017 Outline Variabili modificabili Teoria Esempi ed esercizi Funzioni Teoria Esempi ed esercizi Esercizi per casa Outline Variabili modificabili

Dettagli

Laboratorio di Python

Laboratorio di Python Iterazione determinata, 12 marzo 2015 Sommario 1 2 3 Sintassi ed Esempi 4 Input da tastiera Sintassi = raw_input('stringa descrittiva') #versione 2.* = input('stringa descrittiva') #versione

Dettagli

Comandi principali di Linux (1)

Comandi principali di Linux (1) Laboratorio I Comandi principali di Linux (1) Sintassi: [comando] [opzioni] [argomenti] ls mostra il contenuto di una director l versione lunga a mostra anche i files nascosti che iniziano con. t presenta

Dettagli

Laboratorio di Python

Laboratorio di Python , sequenze immutabili 5 marzo 2015 Sommario 1 2 3 Input da tastiera Sintassi = raw_input('stringa descrittiva') #versione 2.* = input('stringa descrittiva') #versione 3.* si assegna a

Dettagli

Laboratorio di Calcolo Numerico Laboratorio 2: Primi programmi in Fortran 90

Laboratorio di Calcolo Numerico Laboratorio 2: Primi programmi in Fortran 90 Laboratorio di Calcolo Numerico Laboratorio 2: Primi programmi in Fortran 90 Andrea Franceschini E-mail: franceschini@dmsa.unipd.it Dispense: http://www.math.unipd.it/ putti/teaching/calcolo ambientale/index.html

Dettagli

laboratorio di python

laboratorio di python laboratorio di python definizioni di booleani, selezione ed uso degli input 13 Marzo 2019 1/32 Correzione esercizi per oggi esercizio 1 per casa Scrivere una funzione che non ha nessun parametro, non restituisce

Dettagli

Introduzione al sistema operativo Linux Un po di storia

Introduzione al sistema operativo Linux Un po di storia Introduzione al sistema operativo Linux Un po di storia Negli anni sessanta i computer, oltre ad essere grandi come frigoriferi, avevano il problema di avere un sistema operativo che variava, in genere,

Dettagli

Laboratorio di Python

Laboratorio di Python Laboratorio di Python Booleani, Selezione, Input Lab03 7 Marzo 2018 Outline Correzione esercizi per oggi Booleani e Selezione (if) Teoria Esercizi Input Teoria Esercizi Esercizi per casa Esercizio 1 per

Dettagli

VBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole.

VBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole. Excel VBA VBA Visual Basic for Application VBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole. 2 Prima di iniziare. Che cos è una variabile?

Dettagli

Elementi di Base. Introduzione a Python.

Elementi di Base. Introduzione a Python. Elementi di Base Introduzione a Python http://www.dia.uniroma3.it/~roselli/ roselli@dia.uniroma3.it Credits Materiale a cura del Prof. Franco Milicchio Panoramica Elementi di base della sintassi (struttura,

Dettagli

Laboratorio di Python

Laboratorio di Python Algoritmo, sulle liste Università di Bologna 3 e 5 aprile 2013 Sommario Correzione esercizi 1 Correzione esercizi 2 3 4 Correzione Correzione esercizi scrivere e documentare un programma con un menu dove:

Dettagli

Matematica con Python

Matematica con Python Matematica con Python e-mail: maurosaita@tiscalinet.it Versione provvisoria. Dicembre 2016. 1 Lezione n. 1 Calcolatrice Olivetti. Esegue le quattro operazioni elementari. Indice 1 Numeri e stringhe 2 1.1

Dettagli

Programma del corso. Elementi di Programmazione. Introduzione agli algoritmi. Rappresentazione delle Informazioni. Architettura del calcolatore

Programma del corso. Elementi di Programmazione. Introduzione agli algoritmi. Rappresentazione delle Informazioni. Architettura del calcolatore Programma del corso Introduzione agli algoritmi Rappresentazione delle Informazioni Architettura del calcolatore Reti di Calcolatori Elementi di Programmazione Algoritmi e programmi Algoritmo Sequenza

Dettagli

Lezione 6 Introduzione al C++ Mauro Piccolo

Lezione 6 Introduzione al C++ Mauro Piccolo Lezione 6 Introduzione al C++ Mauro Piccolo piccolo@di.unito.it Linguaggi di programmazione Un linguaggio formale disegnato per descrivere la computazione Linguaggi ad alto livello C, C++, Pascal, Java,

Dettagli

Introduzione alla. Alessandra Giordani Lunedì 11 marzo

Introduzione alla. Alessandra Giordani Lunedì 11 marzo Introduzione alla Shell di UNIX Alessandra Giordani agiordani@disi.unitn.it Lunedì 11 marzo 2013 http://disi.unitn.it/~agiordani/ 1 Composizione di un sistema informativo: Hardware (CPU, periferiche, rete

Dettagli

Laboratorio di Python

Laboratorio di Python Problem solving, Ricorsione, 14 marzo 2014 Sommario 1 2 3 4 Sintassi ed Esempi Esercizi Lunedì il numero di studenti che avevano consegnato gli esercizi era 13. Martedì il numero di esercizi ricevuti,

Dettagli

Laboratorio. Sistemi Operativi: Linux/Windows. Giovanni Da San Martino

Laboratorio. Sistemi Operativi: Linux/Windows. Giovanni Da San Martino Laboratorio Sistemi Operativi: Linux/Windows Giovanni Da San Martino dasan@math.unipd.it 1 Sistemi operativi Un sistema operativo è insieme di programmi che gestiscono la macchina fisica. Un sistema operativo

Dettagli

Laboratorio di Python

Laboratorio di Python Documentare il codice,, Comprendere cosa calcola una funzione 21 marzo 2014 Sommario 1 2 3 4 Lunedì il numero di studenti che avevano consegnato gli esercizi era 15. Martedì il numero di esercizi ricevuti

Dettagli

Scilab. Introduzione a Scilab - Vettori. Corso di Informatica CdL: Chimica. Claudia d'amato.

Scilab. Introduzione a Scilab - Vettori. Corso di Informatica CdL: Chimica. Claudia d'amato. Scilab Corso di Informatica CdL: Chimica Introduzione a Scilab - Vettori Claudia d'amato claudia.damato@di.uniba.it Scilab Introduzione Ambiente matematico e di simulazione numerica sviluppato per la realizzazione

Dettagli

Laboratorio di Python

Laboratorio di Python Problem solving, Ricorsione, Università di Bologna 13 e 15 marzo 2013 Sommario 1 2 3 4 Errore di semantica Esercizio def vocali(s): voc='' for c in s: if c in 'aeiou': voc=voc+c return voc Cerchiamo di

Dettagli

Lavoriamo ora in windows

Lavoriamo ora in windows Laboratorio 2: Lavoriamo ora in windows LOGIN UTENTE PASSWORD DOMINIO: studentimath - La vostra home è il disco Z. Avete permesso di scrittura solo in Z Interagire col file system Per interagire col file

Dettagli

Lab. di Sistemi Operativi - Esercitazione n 2- - comando di ricerca: grep -

Lab. di Sistemi Operativi - Esercitazione n 2- - comando di ricerca: grep - Lab. di Sistemi Operativi - Esercitazione n 2- - comando di ricerca: grep - 1 Ricordiamo che Le righe di /etc/passwd si presentano nella seguente forma: Username:Password:UserID:GroupID:Info:HomeDirectory:Shell

Dettagli

INTRODUZIONE ALLA PROGRAMMAZIONE

INTRODUZIONE ALLA PROGRAMMAZIONE INTRODUZIONE ALLA PROGRAMMAZIONE Prof. Enrico Terrone A. S: 2008/09 Definizioni Programmare significa risolvere problemi col computer, cioè far risolvere problemi al computer attraverso un insieme di informazioni

Dettagli

Laboratorio di Python

Laboratorio di Python Laboratorio di Python Matrici con Liste Lab09 10 Aprile 2018 Outline Correzione esercizi per oggi Matrici Teoria Esercizi Esercizi per casa Outline Correzione esercizi per oggi Matrici Teoria Esercizi

Dettagli

ciclo di vita della soluzione (informatica) di un problema

ciclo di vita della soluzione (informatica) di un problema Università di Roma Tor Vergata L2-1 ciclo di vita della soluzione (informatica) di un problema errori run-time errori sintattici codice editor codice C++ compilatore esegui eseguibile OK risultati scorretti

Dettagli

Lezione 1: Introduzione alla Shell di Unix

Lezione 1: Introduzione alla Shell di Unix Lezione 1: Introduzione alla Shell di Unix Laboratorio di Elementi di Architettura e Sistemi Operativi 5 Marzo 2013 Chi è UNIX? UNIX è il nome di una famiglia di sistemi operativi, con diverse implementazioni

Dettagli

Laboratorio di Python

Laboratorio di Python 25 marzo 2015 Sommario 1 2 Esercizi a casa Scrivere un unico programma, che attraverso un menù di selezione restituisca i risultati delle funzioni che seguono, senza uscire dal programma se non selezionando

Dettagli

Laboratorio 1: Usare Linux

Laboratorio 1: Usare Linux Laboratorio 1: Usare Linux File system Il file system è la componente del sistema operativo che si occupa della gestione di file e cartelle Con l account vi è stato assegnato uno spazio nel file system

Dettagli

Prof. Pagani Corrado INTRODUZIONE AL LINGUAGGIO C

Prof. Pagani Corrado INTRODUZIONE AL LINGUAGGIO C Prof. Pagani Corrado INTRODUZIONE AL LINGUAGGIO C IL LINGUAGGIO C Nel 1972 Dennis Ritchie nei Bell Laboratories progettò il linguaggio C Il linguaggio possiede tutti i costrutti di controllo dei linguaggi

Dettagli

Laboratorio di Informatica

Laboratorio di Informatica Laboratorio di Informatica Seconda lezione a Python Dottore Paolo Parisen Toldin - parisent@cs.unibo.it Dottoressa Sara Zuppiroli - sara.zuppiroli@unibo.it L'importanza di capire Perché non dobbiamo dichiarare

Dettagli

Risoluzione di un problema

Risoluzione di un problema Algoritmi Risoluzione di un problema Descrizione di un problema! Individuazione di un ALGORITMO! Metodo risolutivo (progetto) Introduzione 2 Algoritmo Sequenza finita di mosse che risolve in un tempo finito

Dettagli

Nozioni Base di Linux

Nozioni Base di Linux Nozioni Base di Linux Shahram Rahatlou http://www.roma1.infn.it/people/rahatlou/labcalc/ Laboratorio di Calcolo Lezione 2 Hardware Sistema Operativo Software Routine e programmi di base per interagire

Dettagli

Laboratorio Programmazione Anno Lezione 3

Laboratorio Programmazione Anno Lezione 3 Laboratorio Programmazione Anno 2012-2013 Lezione 3 Scripting Fino ad ora, per fare esercizi, abbiamo utilizzato l ambiente interattivo di python. È possibile creare dei file contenenti (lunghe) sequenze

Dettagli

Intro ad analisi. Alessandra Giordani Lunedì 5 marzo 2011

Intro ad analisi. Alessandra Giordani Lunedì 5 marzo 2011 Intro ad analisi e programmazione Alessandra Giordani agiordani@disi.unitn.it Lunedì 5 marzo 2011 http://disi.unitn.it/~agiordani/ Analisi e programmazione l insieme delle attività preliminari atte a risolvere

Dettagli

Lezione 3: Programmazione della Shell di Unix

Lezione 3: Programmazione della Shell di Unix Lezione 3: Programmazione della Shell di Unix Laboratorio di Elementi di Architettura e Sistemi Operativi 2 Marzo 202 Parte : Soluzione degli esercizi Statistiche Ho ricevuto 2 soluzioni Tutte le soluzioni

Dettagli

Esempi di programmi. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa E01. A. Miola Settembre 2007

Esempi di programmi. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa E01. A. Miola Settembre 2007 Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa E01 Esempi di programmi A. Miola Settembre 2007 http://www.dia.uniroma3.it/~java/fondinf1/ Esempi di programmi - 1 1 Contenuti

Dettagli

Laboratorio di Calcolo Numerico Laboratorio 3: Algoritmi stabili e instabili Programma gnuplot

Laboratorio di Calcolo Numerico Laboratorio 3: Algoritmi stabili e instabili Programma gnuplot Laboratorio di Calcolo Numerico Laboratorio 3: Algoritmi stabili e instabili Programma gnuplot Andrea Franceschini E-mail: franceschini@dmsa.unipd.it Dispense: http://www.math.unipd.it/ putti/teaching/calcolo

Dettagli

Tutorato di Fondamenti di Informatica TUTOR: DAVIDE GHIANI, GIULIA ORRU

Tutorato di Fondamenti di Informatica TUTOR: DAVIDE GHIANI, GIULIA ORRU Tutorato di Fondamenti di Informatica PROFESSORE: GIAN LUCA MARCIALIS TUTOR: DAVIDE GHIANI, GIULIA ORRU Organizzazione Informazioni di contatto: informatica.marcialis@gmail.com Davide Ghiani Giulia Orrù

Dettagli

Python. Loriano Storchi.

Python. Loriano Storchi. Python Loriano Storchi loriano@storchi.org http:://www.storchi.org/ I linguaggi di programmazione Abbiamo visto che i linguaggi di programmaione sono: Dichiarativi Logici Funzionali Imperativi Procedurali

Dettagli

Il Software programmabili programma algoritmo

Il Software programmabili programma algoritmo Il Software La proprietà fondamentale dei calcolatori e` quella di essere programmabili cioè in grado di svolgere compiti diversi a seconda delle istruzioni fornite dall utente mediante un programma, ossia

Dettagli

Laboratorio. Sistemi Operativi: Linux/Windows. Giovanni Da San Martino

Laboratorio. Sistemi Operativi: Linux/Windows. Giovanni Da San Martino Laboratorio Sistemi Operativi: Linux/Windows Giovanni Da San Martino dasan@math.unipd.it 1 Sistemi operativi Un sistema operativo è insieme di programmi che gestiscono la macchina fisica. Un sistema operativo

Dettagli

INTRODUZIONE A MATLAB

INTRODUZIONE A MATLAB INTRODUZIONE A MATLAB INTRODUZIONE A MATLAB MATLAB (MATrix LABoratory) è un linguaggio di programmazione per applicazioni scientifiche (elaborazione numerica dei segnali, progetto di simulatori, sintesi

Dettagli

Laboratorio di Python

Laboratorio di Python Documentare il codice,, Comprendere cosa calcola una funzione Università di Bologna 20 e 22 marzo 2013 Sommario 1 2 3 4 o Scrivere un programma che sia in grado di calcolare le seguenti serie: la somma

Dettagli

Calcolare il massimo di una lista

Calcolare il massimo di una lista Calcolare il massimo di una lista Lunedì abbiamo definito un algoritmo per calcolare il valore massimo fra gli elementi di una lista predefinita di interi. In particolare, abbiamo: deciso di rappresentare

Dettagli

Corso di Linguaggi di Programmazione

Corso di Linguaggi di Programmazione Corso di Linguaggi di Programmazione Lezione 6 Alberto Ceselli alberto.ceselli@unimi.it Università degli Studi di Milano 12 Marzo 2013 Funzioni che restituiscono tuple di valori Le funzioni Python possono

Dettagli

Fondamenti di Informatica T-1

Fondamenti di Informatica T-1 Fondamenti di Informatica T-1 Introduzione al linguaggio Java - Input/Output, Variabili, Tipi Tutor: Allegra De Filippo allegra.defilippo@unibo.it a.a. 2015/2016 Fondamenti di Informatica T-1 Allegra De

Dettagli

Programmazione Procedurale in Linguaggio C++

Programmazione Procedurale in Linguaggio C++ Programmazione Procedurale in Linguaggio C++ Elementi di Base Parte 3 Istruzioni di Assegnazione G. Mecca M. Samela Università della Basilicata Elementi di Base >> Sommario Sommario Introduzione Istruzioni

Dettagli

Esercitazione 2. Espressioni booleane Il comando if-else

Esercitazione 2. Espressioni booleane Il comando if-else Esercitazione 2 Espressioni booleane Il comando if- Espressioni booleane L espressione (i==100) è un espressione booleana. La sua valutazione può restituire solo uno dei due valori booleani true = 1 (in

Dettagli

Fondamenti di Informatica T-1. Introduzione al linguaggio Java Input/output, variabili, tipi

Fondamenti di Informatica T-1. Introduzione al linguaggio Java Input/output, variabili, tipi Introduzione al linguaggio Java Input/output, variabili, tipi 2 Programmi e linguaggi Algoritmo sequenza finita di passi per risolvere in un tempo finito un problema Linguaggio di programmazione notazione

Dettagli

Laboratorio di Python

Laboratorio di Python Laboratorio di Python Matrici con Liste Lab09 5 Aprile 2017 Outline Correzione esercizi per oggi Matrici Teoria Esercizi Esercizi per casa Esercizio 1 per casa Scrivere una funzione che verifica se una

Dettagli

BREVISSIMA GUIDA AL SISTEMA UNIX / LINUX

BREVISSIMA GUIDA AL SISTEMA UNIX / LINUX BREVISSIMA GUIDA AL SISTEMA UNIX / LINUX 1. DEFINIZIONI sistema operativo (SO): Software che gestisce le risorse del computer (filesystem e periferiche) filesystem: Insieme dei supporti di memorizzazione.

Dettagli

Laboratorio di Programmazione Lezione 2. Cristian Del Fabbro

Laboratorio di Programmazione Lezione 2. Cristian Del Fabbro Laboratorio di Programmazione Lezione 2 Cristian Del Fabbro Prossima lezione GIOVEDÌ 29 OTTOBRE 14:00 Input da tastiera package input; import java.io.*; public class Input { public static void main(string[]

Dettagli

Lab. di Sistemi Operativi

Lab. di Sistemi Operativi Lab. di Sistemi Operativi Esercitazioni proposte per la lezione del 9 marzo 2012 Utilizzando la shell di Linux e disponendosi in gruppi di due persone per ogni PC del laboratorio. 1. Elencare i file nella

Dettagli

LABORATORIO DI SISTEMI OPERATIVI

LABORATORIO DI SISTEMI OPERATIVI LABORATORIO DI SISTEMI OPERATIVI Corso di Laurea Triennale in Ingegneria Informatica A.A. 2018/2019 Guglielmo Cola Email: g.cola@iet.unipi.it Web: www.iet.unipi.it/g.cola Informazioni generali Ricevimento

Dettagli

Uso del terminale in ambiente UNIX

Uso del terminale in ambiente UNIX Uso del terminale in ambiente UNIX Non sempre è disponibile un interfaccia grafica sui computer su cui si lavora In questo caso l interazione con il calcolatore avviene attraverso l interfaccia a riga

Dettagli

Introduzione al C. InformaticaB. Daniele Loiacono

Introduzione al C. InformaticaB. Daniele Loiacono Introduzione al C InformaticaB Facciamo un passo indietro Compilare o Interpretare? q Come rendo comprensibili al calcolatore i programmi scritti in un linguaggio di programmazione (ad es. C, C++, Java)?

Dettagli

Laboratorio 01. Programmazione - CdS Matematica. Michele Donini 27 Ottobre 2015

Laboratorio 01. Programmazione - CdS Matematica. Michele Donini 27 Ottobre 2015 Laboratorio 01 Programmazione - CdS Matematica Michele Donini 27 Ottobre 2015 Prendiamo confidenza Apriamo la console di Python: python Python 2.7.3 (default, Sep 26 2013, 20:03:06) [GCC 4.6.3] on linux2

Dettagli

Laboratorio di Informatica Generale I UD Prima esercitazione

Laboratorio di Informatica Generale I UD Prima esercitazione Laboratorio di Informatica Generale I UD Prima esercitazione Danilo Severina 23 Febbraio 2006 Nomenclatura Hardware Viene definito hardware tutta la parte fisica di un computer: componenti elettrici, meccanici,

Dettagli

Introduzione al sistema Linux

Introduzione al sistema Linux Introduzione al sistema Linux Stazioni di lavoro: PC con sistema operativo Linux Connessione al sistema Username : cognome1 Password : FirstLogin (cambiate la password con yppasswd appena possibile) Linux:

Dettagli

Laboratorio di Programmazione 1. Docente: dr. Damiano Macedonio Lezione 4 24/10/2013

Laboratorio di Programmazione 1. Docente: dr. Damiano Macedonio Lezione 4 24/10/2013 Laboratorio di Programmazione 1 1 Docente: dr. Damiano Macedonio Lezione 4 24/10/2013 Original work Copyright Sara Migliorini, University of Verona Modifications Copyright Damiano Macedonio, University

Dettagli

Corso sul linguaggio C

Corso sul linguaggio C Corso sul linguaggio C Modulo 1 1.1 Istruzioni semplici 1 Prerequisiti Saper progettare algoritmi Saper descrivere algoritmi (NLS, ddf) Conoscere il concetto di espressione 2 1 Introduzione In questa lezione

Dettagli

Usare Python in Linux

Usare Python in Linux Università di Bologna 24 febbraio 2012 Outline 1 2 Outline 1 2 Cos è? Un sistema operativo Open Source; uno dei sistemi operativi dominanti in ambito server, ma utilizzabile su desktop, notebook, netbook,...

Dettagli

Laboratorio 01. Programmazione - CdS Matematica. Ivano Lauriola 31 Ottobre 2017

Laboratorio 01. Programmazione - CdS Matematica. Ivano Lauriola 31 Ottobre 2017 Laboratorio 01 Programmazione - CdS Matematica Ivano Lauriola 31 Ottobre 2017 Prendiamo confidenza Apriamo la console di Python: python Python 2.7.3 (default, Sep 26 2013, 20:03:06) [GCC 4.6.3] on linux2

Dettagli

Appunti di SISTEMI OPERATIVI

Appunti di SISTEMI OPERATIVI Appunti di SISTEMI OPERATIVI AVVERTENZE Questi appunti non vogliono essere degni sostituti di un buon libro di testo e hanno il solo scopo di aiutare gli studenti dei corsi di informatica che affrontano

Dettagli

Introduzione al C++ (continua)

Introduzione al C++ (continua) Introduzione al C++ (continua) I puntatori Un puntatore è una variabile che contiene un indirizzo di memoria pi_greco 3.141592 pi_greco_ptr indirizzo di 3.141592 & DEREFERENZIAZIONE RIFERIMENTO * se x

Dettagli

Lab. di Sistemi Operativi - Esercitazione n 1 - a.a. 2016/2017. Comandi Shell

Lab. di Sistemi Operativi - Esercitazione n 1 - a.a. 2016/2017. Comandi Shell Lab. di Sistemi Operativi - Esercitazione n 1 - a.a. 2016/2017 Comandi Shell 1 Sommario Comandi shell: ls, cd, pwd echo touch cat head tail cut sort 2 Esercizio n 0 0a) Creare una cartella EsercitazioneLSO-1

Dettagli

Introduzione agli Algoritmi

Introduzione agli Algoritmi Introduzione agli Algoritmi Informatica Sara Zuppiroli A.A. 2012-2013 Informatica () Introduzione agli Algoritmi A.A. 2012-2013 1 / 25 Risoluzione dei problemi Dalla descrizione del problema all individuazione

Dettagli

Informatica Generale --- Scritto del XX Settembre 2002

Informatica Generale --- Scritto del XX Settembre 2002 Informatica Generale --- Scritto del XX Settembre 2002 Nome: Cognome: Testo e Risposte Esercizio 1 (punti 2 in prima approssimazione) Consideriamo numeri naturali rappresentati in base 10 e in base 12

Dettagli

Esercizi in Laboratorio

Esercizi in Laboratorio Esercizi in Laboratorio Informatica@SEFA 2017/2018 - Laboratorio 2 Massimo Lauria http://massimolauria.net/courses/infosefa2017/ Lunedì, 9 Ottobre 2017 1 Errata corrige (tuple

Dettagli

Fondamenti di Informatica A. A. 2017/18

Fondamenti di Informatica A. A. 2017/18 Fondamenti di Informatica Prof. Marco Lombardi A. A. 2017/18 : OUTLINE Caratteristiche Come si presenta Primo diagramma di flusso ed utilizzo del blocco di output Esempio Utilizzo dei blocchi di input/output

Dettagli

A.A. 2018/2019. Fondamenti di Programmazione in MATLAB FONDAMENTI DI INFORMATICA E PROGRAMMAZIONE. Docente Prof. Raffaele Pizzolante

A.A. 2018/2019. Fondamenti di Programmazione in MATLAB FONDAMENTI DI INFORMATICA E PROGRAMMAZIONE. Docente Prof. Raffaele Pizzolante A.A. 2018/2019 Fondamenti di Programmazione in MATLAB Strutturazione del Codice Sorgente Docente Prof. Raffaele Pizzolante FONDAMENTI DI INFORMATICA E PROGRAMMAZIONE Fondamenti di Programmazione in MATLAB:

Dettagli

Corso di Laboratorio di Sistemi Operativi

Corso di Laboratorio di Sistemi Operativi Corso di Laboratorio di Sistemi Operativi Lezione 4 Alessandro Dal Palù email: alessandro.dalpalu@unipr.it web: www.unipr.it/~dalpalu Approfondimento su make http://http://capone.mtsu.edu/csdept/facilitiesandresources/make.htm

Dettagli

Indice. Prefazione. 3 Oggetti e Java 53

Indice. Prefazione. 3 Oggetti e Java 53 Prefazione xv 1 Architettura dei calcolatori 1 1.1 Calcolatori e applicazioni 1 1.1.1 Alcuni esempi di applicazioni 3 1.1.2 Applicazioni e interfacce 4 1.2 Architettura dei calcolatori 7 1.2.1 Hardware

Dettagli

Programmazione in Python. Moreno Marzolla

Programmazione in Python. Moreno Marzolla Programmazione in Python Moreno Marzolla http://www.moreno.marzolla.name/ Copyright 2011, Moreno Marzolla (http://www.moreno.marzolla.name/teaching/labinf2011/) This work is licensed under the Creative

Dettagli

Lezione 1. Programmazione. Lab di Programmazione. Linux e la sua shell: questi sconosciuti. Filippo Gaudenzi. Università degli Studi di Milano

Lezione 1. Programmazione. Lab di Programmazione. Linux e la sua shell: questi sconosciuti. Filippo Gaudenzi. Università degli Studi di Milano Lezione 1 Programmazione Lab di Programmazione Linux e la sua shell: questi sconosciuti Filippo Gaudenzi Università degli Studi di Milano Linux Linux is an Operating System (OS). Ambiente affidabile e

Dettagli

l Editor vi vi (visual editor) è stato scritto per essere utilizzabile con qualsiasi tipo di terminale.

l Editor vi vi (visual editor) è stato scritto per essere utilizzabile con qualsiasi tipo di terminale. l Editor vi Negli ambienti Unix esistono molti editor di testo diversi; tuttavia vi è l unico che siamo sicuri di trovare in qualsiasi variante di Unix. vi (visual editor) è stato scritto per essere utilizzabile

Dettagli

Linguaggio C: introduzione

Linguaggio C: introduzione Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Linguaggio C: introduzione La presente dispensa e da utilizzarsi

Dettagli

LEZIONE 1 LE BASI DEL LINGUAGGIO C

LEZIONE 1 LE BASI DEL LINGUAGGIO C LEZIONE 1 LE BASI DEL LINGUAGGIO C Simone Marchesini Roberto Pagliarini Dipartimento di Informatica Università di Verona COS È? Il C è un linguaggio di programmazione che permette di salvare i valori in

Dettagli

Unità F1. Obiettivi. Il linguaggio C. Il linguaggio C++ Linguaggio C. Pseudolinguaggio. Primi programmi

Unità F1. Obiettivi. Il linguaggio C. Il linguaggio C++ Linguaggio C. Pseudolinguaggio. Primi programmi Obiettivi Unità F1 Primi programmi Conoscere il significato di dichiarazione e definizione di variabili Conoscere i tipi di dato numerici Essere in grado di realizzare semplici algoritmi in pseudolinguaggio

Dettagli

Laboratorio di Programmazione

Laboratorio di Programmazione Laboratorio di Programmazione (Laurea triennale in matematica) Lezione 3 Analisi dettagliata di un programma /* commento */ Possono estendersi su più linee apparire in qualsiasi parte del programma. Alternativamente

Dettagli

Il linguaggio di programmazione Python

Il linguaggio di programmazione Python Università Roma Tre Dipartimento di Matematica e Fisica Percorso Abilitante Speciale Classe A048 Matematica Applicata Corso di Informatica Il linguaggio di programmazione Python Marco Liverani (liverani@mat.uniroma3.it)

Dettagli

Esercitazione n 2. Obiettivi

Esercitazione n 2. Obiettivi Esercitazione n 2 Obiettivi Progettazione di una applicazione Java Utilizzo di classi come schemi Utilizzo di costruttori Utilizzo di stringhe/array Uguaglianza tra oggetti Utilizzo di classi come componenti

Dettagli

Introduzione alla programmazione nella shell di Unix 10 Maggio 2005

Introduzione alla programmazione nella shell di Unix 10 Maggio 2005 Introduzione alla programmazione nella shell di Unix 10 Maggio 2005 1 Page 1 Shell e programmazione La shell di UNIX definisce un vero e proprio linguaggio di programmazione, le cui caratteristiche principali

Dettagli

Università degli studi di Bergamo. Informatica II. Programmazione Object Oriented Tutorato. Lezione 1. Dott. Marco Guarnieri Dott. Eros Magri

Università degli studi di Bergamo. Informatica II. Programmazione Object Oriented Tutorato. Lezione 1. Dott. Marco Guarnieri Dott. Eros Magri Università degli studi di Bergamo Informatica II Programmazione Object Oriented Tutorato Lezione 1 Dott. Marco Guarnieri Dott. Eros Magri 05.10.11 Informazioni Contatti 0guarnieri.marco0@gmail.com erosmagri@gmail.com

Dettagli

Linguaggio Testuale. E un formalismo che consente di rappresentare gli algoritmi mediante semplici istruzioni in linguaggio «parlato»

Linguaggio Testuale. E un formalismo che consente di rappresentare gli algoritmi mediante semplici istruzioni in linguaggio «parlato» Linguaggio Testuale E un formalismo che consente di rappresentare gli algoritmi mediante semplici istruzioni in linguaggio «parlato» Delle volte viene chiamato metalinguaggio, e l algoritmo scritto tramite

Dettagli

Laboratorio 04. Programmazione - CdS Matematica. Michele Donini 19 Novembre 2013

Laboratorio 04. Programmazione - CdS Matematica. Michele Donini 19 Novembre 2013 Laboratorio 04 Programmazione - CdS Matematica Michele Donini 19 Novembre 2013 Controllo del flusso Selezione: ci permette di modificare il normale flusso sequenziale di un programma a seconda della valutazione

Dettagli

Fondamenti di Informatica e Laboratorio T-AB T-15 Strutture dati

Fondamenti di Informatica e Laboratorio T-AB T-15 Strutture dati Fondamenti di Informatica e Laboratorio T-AB T-15 Strutture dati Paolo Torroni Dipartimento di Elettronica, Informatica e Sistemistica Università degli Studi di Bologna Anno Accademico 2008/2009 Sommario

Dettagli