Laboratorio Informatica 1

Documenti analoghi
Il calcolatore. Architettura di un calcolatore (Hardware)

Laboratorio di Programmazione Lezione 1. Cristian Del Fabbro

4 GLI ARRAY E LE STRINGHE

WINDOWS Avviare Windows95. Avviare Windows95 non è un problema: parte. automaticamente all accensione del computer. 2. Barra delle applicazioni

Grafici e Pagina web

Risoluzione di problemi ingegneristici con Excel

Gestione risorse (Windows)

ACCESS. Database: archivio elettronico, dotato di un programma di interfaccia che facilita la registrazione e la ricerca dei dati.

testo Saveris Web Access Software Istruzioni per l'uso

Ca ra tteristiche dei sistem i GN U/L inux. Struttura di un sistema GNU/Linux Il filesystem La shell

Ingegneria del Software 1: Eclipse

NOTE PER UTILIZZO COMPILATORE FORTRAN CON LINUX

Manuale Sito Videotrend

Il software del PC. Il BIOS

Reti Informatiche. Corso di Laurea Triennale in Ingegneria Informatica. Ing. Domenico De Guglielmo Vanessa Gardellin & Sara Lioba Volpi

GLUG Govonis. Corso Avanzato GNU / Linux. Lezione del Shell

per immagini guida avanzata Modificare il contenuto del foglio di lavoro Geometra Luigi Amato Guida Avanzata per immagini Excel

(1) (2) (3) (4) 11 nessuno/a (1) (2) (3) (4) X è il minore tra A e B nessuno/a X è sempre uguale ad A X è il maggiore tra A e B

Modulo 1 Information Communication Technology. ICT e computer... Pag. 6 Classificazione dei computer...» 8

Esercitazione 4. Comandi iterativi for, while, do-while

Le frazioni algebriche

La disposizione estetica della lettera commerciale

Indicazioni per lo svolgimento dell esercitazione di laboratorio

Procedura operativa per la gestione della funzione di formazione classi prime

Strumento di conversione DWG/DXF

Lab. di Sistemi Operativi - Esercitazione n 2 - a.a. 2012/2013

Layout Editor e Stampa

Importazione dati. e/fiscali Spesometro - Rel con gestionale e/satto. Gestionale e/satto

Come avviare P-touch Editor

File System I parte. File System

Navigare in Internet Laboratorio di approfondimento la creazione di siti web e/o blog. Marco Torciani. (Seconda lezione) Unitre Pavia a.a.

Quick Print. Quick Print. Guida Utente. Copyright 2013 Hyperbolic Software.

Home Page. Title Page. Contents. Laboratorio di LATEX. Page 1 of 16. Go Back. maggio Full Screen. Close. Quit

L INTERFACCIA GRAFICA DI EXCEL

COSTRUZIONE DI UN APPLICAZIONE

Matematica con il foglio di calcolo

Sorgenti, Binari e Pacchetti (Compilazione e pacchettizzazione per GNU/Linux)

Video Scrittura (MS Word) Lezione 1 Funzioni di base

Funzioni condizionali

TS-CNS Manuale Installazione Linux 2013

Comandi Linux. e altro su Linux ;)

DESCRIZIONE CREAZIONE APP Si suddivide in 4 fasi di lavoro: 1. PIANIFICAZIONE; 2. PROGETTAZIONE; 3. SVILUPPO; 4. DISTRIBUZIONE.

Esercizi sulla conversione tra unità di misura

Corso di Informatica

Terza lezione: Directory e File system di Linux

Capitolo 18 - Progetto DWG Creazione del layout di stampa

Rete Sicura Plus. Guida d installazione ed attivazione del servizio

PowerDIP Software gestione presenze del personale aziendale. - Guida all inserimento e gestione dei turni di lavoro -

Laboratorio di Elementi di Bioinformatica

Come utilizzare i riferimenti assoluti e relativi in Microsoft Excel

EXCEL. Alfabetizzazione Informatica Prof. GIUSEPPE PATTI

Rifiuti LA GESTIONE DEI RIFIUTI. Rifiuti LA GESTIONE DEI RIFIUTI

Corso base di Microsoft Excel

Guida rapida all utilizzo del software e-stant

Questa è la finestra dei dettagli, è possibile selezionare anche da qui un modello o un pezzo per essere aperto.

Lavoro & Previdenza La circolare su temi previdenziali e giuslavoristici

Introduzione alla. Alessandra Giordani Lunedì 27 febbraio

INTRODUZIONE ALLE BASI DATI RELAZIONALI

M n a u n a u l a e l e o p o e p r e a r t a i t v i o v o Ver /12/2014

Gestione Audit di Certificazione

Le distribuzioni GNU/Linux

Istruzioni per l uso di Presenze 2009

Integrazione al Manuale Utente 1

Introduzione alle macchine a stati (non definitivo)

NOZIONI BASE PER ESERCITAZIONI

Artemisia MANUALE d USO

GUIDA AL SERVIZIO ON LINE DEPOSITO ATTESTATO PRESTAZIONE ENERGETICA

Metodo alternativo per il calcolo delle divisioni.

OpenDataLazio Formia 9 aprile 2015 Laboratorio. Roberto Angeletti

SCHEDA DI VALUTAZIONE DELLE COMPETENZE. Tecnico Professionali Specifiche

n. 4 SPECIALE: 5 per COME PREPARARE LA DOMANDA COME INVIARLA LE DATE DA TENERE A MENTE Aprile 2016

Utilizzo della SAPGUI ed accesso al sistema SAPLight

Manuale del software Supplemento. Comunicazione tra sensore per rilevamento oggetti O2D2xx e Siemens Simatic S / / 2011

Il file system. Le caratteristiche di file, direttorio e partizione sono del tutto indipendenti dalla natura e dal tipo di dispositivo utilizzato.

PSICOMETRIA. Esercitazione n.1. C.d.L. Comunicazione e Psicologia a.a. 2012/13

PG5 Starter Training Applicazione File System Daniel Ernst EN Stefano Peracchi IT

ECDL CORE 5.0. Modulo 1 Concetti di base dell ICT 1.6 Aspetti giuridici. Docente: Stefania De Martino Liceo G. Leopardi Recanati a.s.

Zeroshell su APU1D. By Paolo Iapilone Febbraio Zeroshell su APU1D By Paolo Iapilone

PROTOCOLLO ITACA PUGLIA RESIDENZIALE Istruzioni d'uso del software Versione 1.0

MANUALE UTENTE PROCEDURA PLANET WEB INTERPRISE (II edizione)

Le sue caratteristiche:

I comandi del DOS. Come si fornisce un comando al DOS

Corso UNIX avanzato. Utente avanzato. Amministratore. Gestione proprio account Gestione dei propri processi Ricerca e manipolazione file

Manuale utente. Versione 6.9

Javascript e CSS nelle pagine WEB

Guida rapida. Versione 9.0. Moving expertise - not people

Il File System di Linux

Guida introduttiva su Eclipse. Ing. Marco Dell'Unto

Sommario. Oggetto: Istruzioni configurazione client VPN SSL per piattaforma Mac OSX Data: 25/01/2016 Versione: 1.0

ACCESSO ALLA POSTA ELETTRONICA TRAMITE OUTLOOK WEB ACCESS

Laurea triennale - Comunicazione&DAMS - UNICAL. Dr. Marco Manna 1

Laboratorio di Progettazione di Sistemi Software Progetto: modellazione di un dominio e sue attività

WINDOWS TERMINAL SERVER PER L ACCESSO REMOTO AL SISTEMA DI PROTOCOLLO INFORMATICO

EQUAZIONI CON VALORE ASSOLUTO DISEQUAZIONI CON VALORE ASSOLUTO

Esercitazioni di statistica

ISTITUTO COMPRENSIVO ANAGNI 2 A.S. 2015/2016

PSC Doc Manuale d uso

ARCHITETTURA FISICA DEL SISTEMA

LA PREDISPOSIZIONE DEL BILANCIO IN FORMATO XBRL

Compilatori GNU in Linux: gcc e g++

Transcript:

Gruppo 2 Laboratorio 1 e 2 edoardo.vannutelli@cremona.polimi.it

Mappa dell'incontro Introduzione alle finalità del laboratorio Introduzione al software utilizzati Linux (Knoppix) kate GCC (GNU Compiler Collection) Ripasso delle procedure di compilazione RAGIONARE E PROGRAMMARE!!!!! 2

Finalità del laboratorio Lo scopo del laboratorio è acquistare pratica nella programmazione. Al termine del laboratorio si devono possedere: Capacità di tradurre un algoritmo dalla mente al sistema operativo. Padronanza degli strumenti base quali il compilatore. Ovviamente per acquisire tutto ciò è richiesta la conoscenza del linguaggio C. :-) 3

Introduzione a linux Linux (o GNU/Linux) è un sistema operativo libero di tipo Unix (o unix-like) costituito dall'integrazione del kernel Linux con elementi del sistema GNU e di altro software sviluppato e distribuito con licenza GNU GPL o con altre licenze libere. http://it.wikipedia.org/wiki/linux 4

Introduzione a linux Osserviamo gli elementi base: Come avvio la shell di linux Siamo in un ambiente grafico: KDE utilizziamo quindi il programma Konsole che riproduce in ambiente grafico la classica console Linux Osserviamo la console più da vicino 5

file:///media/lexar/da knoppix/screenshoot/snapshot1.png Konsole: 6

Cerchiamo di capire: All'avvio si presenta la seguente scritta: knoppix@knoppix:~$ Il primo elemento è l'utente che è attualmente loggato nel sistema, per default Knoppix si avvia loggando questo utente Il secondo elemento (dopo il simbolo @) è il nome della macchina Controllate i vostri pc: ciascuno di voi ha sulla propria macchina in laboratorio un nome differente 7

Cerchiamo di capire: All'avvio si presenta la seguente scritta: knoppix@knoppix:~$ Il terzo elemento (dopo il simbolo : ) è la cartella in cui ci si trova in questo momento. => ~ N.B. Il simbolo ~ rappresenta la HOME dell'utente, in questo caso Knoppix. N.B.B. La home di un utente è la cartella principale dell'utente nella quale risiedono tutti i propri settaggi e file. 8

Struttura del file system La struttura dei file e delle cartelle è vista in linux come albero: In informatica, un albero o struttura ad albero (tree in inglese) è la struttura dati [...].... saltiamo la definizione formale che riprenderemo e passiamo ad una visiva... 9

File system Si legge nella direzione della freccia 10

Facciamo un po' di chiarezza sui termini In una struttura ad albero: Tutti i punti del mio albero sono detti Nodi. Tutte le linee sono dette Archi I nodi da cui non partono ulteriori rami sono detti nodi Foglia Il nodo a cui non arriva nessun arco ma da cui partono solamente è detto ROOT (letteralmente radice ) 11

Con qualche approssimazione... Al concetto di arco, propriamente in astratto indica una relazione che lega due nodi, in questo contesto associamo l'idea del contenimento: possiamo quindi leggere il nodo root come la cartella che contiene la cartella home, che contiene la cartella associata ad ogni singolo utente (nel nostro caso la cartella Knoppix dell'utente Knoppix). 12

File System Nel file sistem linux molte cartelle svolgono una precisa funzione, vediamo brevemente queste cartelle e cosa contengono... 13

File System /sbin contiene tutti gli strumenti essenziali per la gestione del sistema. /tmp contiene tutti i file temporanei. /usr contiene gli strumenti e le applicazioni dell'utente. 14

File System /usr/ doc la documentazione del sistema, molti dei programmi installati dall'utente salvano qui la loro documentazione. /usr/games giochi e rompicapi vari, installati dall'utente. /usr/lib le librerie usate dai programmi in /usr/bin 15

File System /usr/local sono i file dei singoli sistemi presenti, essi hanno la loro sotto directory per la documentazione./share e quella per i loro binari./bin /usr/man le man-pages, i file letti quando si digita il comando man (visto in laboratorio) /usr/share i dati per le applicazioni indipendenti dalla macchina che quindi possono essere condivise con altri sistemi 16

File System /usr/local sono i file dei singoli sistemi presenti, essi hanno la loro sotto directory per la documentazione./share e quella per i loro binari./bin /usr/man le man-pages, i file letti quando si digita il comando man (visto in laboratorio) /usr/share i dati per le applicazioni indipendenti dalla macchina che quindi possono essere condivise con altri sistemi 17

Comandi utili Osserviamo un po' di comandi utili per iniziare a lavorare: Come capisco in che directory sono? Il comando utile in questo caso è pwd Stampa a video il percorso completo della directory corrente Ma sappiamo leggere ciò che vediamo?? 18

Comandi utili Osserviamo un po' di comandi utili per iniziare a lavorare: Come capisco che file sono presenti nella directory corrente??? Il comando utile in questo caso è ls <nome della directory da osservare> Stampa a video il contenuto directory passata come parametro. N.B. Se non specifico nessuna directory mostra a video il contenuto della directory in cui sono. 19

Comandi utili Giusto per allargare un po' le nostre conoscenze: Ma se specifico qualche opzione : Proviamo a scrivere ls -la Cosa ho ottenuto di nuovo??? Cosa è cambiato rispetto al comando precedente??? 20

Nel concreto Cosa ho ottenuto in più???? 21

Giusto per non sembrare marziani.. Ora è un po' più comprensibile. Come posso scoprire l'opzione -h del comando ls?? 22

Comadi Utili Come mi posso spostare da una directory all'altra?? Il comando è cd: Acronimo di change directory Senza parametri mi riporta alla mia home Altrimenti cd <nome_cartella> mi porta alla cartella desiderata 23

Facciamo qualche prova 24

Comandi utili Come creo una cartella?? : mkdir <directory_da_creare> crea la directory passata come parametro 25

Comandi utili Come posso rimuovere una cartella??: rmdir <nome_directory_da_eliminare> rimuove la directory indicata E per rimuovere un file??: rm <nome_file_eliminare> 26

Altri comandi utili mv <nome_file> <destinazione> sposta il file cp <origine> <destinazione> copia l'origine nella destinazione 27

Un comando su tutti : MAN In linux ogni programma ha una propria manualistica on line che può essere richiamata e utilizzata in modo immediato : man <comando_da_scoprire> Proviamo a scrivere man ls cosa possiamo dedurre??? 28

Introduzione a Kate Come avviare kate?? Due opzioni comode: Syntax highlight Righe numerate (F11) Altre avvertenze... 29

Come compilare La compilazione in linux avviene tramite riga di comando: Il compilatore è gcc Gnu Compiler Collection 30

Iniziamo a compilare Il comando effettivo : gcc <file_sorgente.c> -o <nome_da_dare_all'eseguile> Proviamo dal vivo... 31

Vediamo in realtà 32

Vediamo in realtà 33

Osservando un po' oltre Supponiamo di voler scrivere questo esercizio: Dati due cateti in ingresso calcolare l'ipotenusa del triangolo rettangolo costruito sui cateti dati. 34

Per compialare Per compilare devo avvertire il copilareo che intedo usare la libreria math, nella quale è presente del codice già scritto che intendo utilizzare per fare ciò gcc -lm triangolo.c -o triangolo in questo modo il linker aggiunge al codice oggetto del mio codice anche quello della libreria prima di creare effettivamente l'eseguibile 35

Per scoprire math.h Una volta nota la libreria dalla quale si vuole attingere è sufficiente il comando man <nome_headerfile> per visionare quanto è disponibile in esso. Proviamo: man stdio.h man math.h elenco delle maggiori librerie ANSI C disponibili: http://it.wikipedia.org/wiki/libreria_standard_del_c#librer ia_degli_header_file_del_c_ansi 36

Gli esercizi del 7/10/2008 Esercizio 1 : Hello world Per non anglofoni questo è il mio primo programma in c Esercizio 2: Somma e differenza tra due numeri Esercizio 3: A. Calcolare il massimo ed il minimo tra 2 numeri B. Calcolare il massimo ed il minimo tra 5 numeri C. e se fossero 10 i numeri????? 37

Gli esercizi del 7/10/2008 Esercizio 4 : Dati i numeratori e i denominatori di due frazioni calcolarne somma, prodotto e divisione. Esercizio 5: Volendo si potrebbero anche effettuare le semplificazioni. Dato in input minuti, ore e secondi dare in output il totale dei secondi Esercizio 6: Dati due numeri calcolare il MCD ed il mcm. 38

Esercizi facoltativi del 7/10/2008 Quali migliorie possiamo apportare ai programmi visti ad esercitazione??? Implementare la variante all'esercizio 3 visto ad esercitazione. 39

Richiamo Utilizzo array La sintassi è: <tipo_singlo_dato> <identificatore>[<num_max_elementi>]; int pippo[100]; n.b. La prima cella sarà pippo[0]; L'ultima cella sarà pippo[99]; 40

Esercizi del 14/10/2008 Esercizio 0: data una sequenza di caratteri stampare a video il minore. n.b. Non occorrono gli array ma lo facciamo in entrambi i modi ;-) Esercizio 1: data una sequenza di caratteri stampare a video il minore ed il maggiore. n.b. Non occorrono gli array ma lo facciamo in entrambi i modi ;-) 41

Esercizi del 14/10/2008 Esercizio 3: Inseriti alcuni numeri interi il programma calcola la somma. La quantità di numeri deve essere precisata dall'utilizzatore del programma (NON IL PROGRAMMATORE) entro un limite ragionevole (deciso dal programmatore). Il programmatore deve controllare che il numero immesso dall'utente sia accettabile. 42

Esercizi del 14/10/2008 Esercizio 4: Inserita una stringa di caratteri calcolarne la lunghezza. Esercizio 5: Prese in input due stringhe verificare che siano uguali, e stampare a video un opportuno messaggio. Il messaggio deve contenere se sono perfettamente uguali o fino a che carattere sono uguali. 43

Esercizi facoltativi del 14/10/2008 Con riferimento all'esercizio presentato ad esercitazione (cfr slide 40/44 Esercitazione_3 2008-2009.pdf) ampliare la soluzione proposta evitando l'inserimento di doppioni all'interno dell'insieme intersezione. 44

Esercizi facoltativi del 14/10/2008 Con riferimento all'esercizio presentato ad esercitazione (cfr slide 47/50 Esercitazione_3 2008-2009.pdf) ampliare la soluzione proposta scrivendo la parte di codice che consente l'inserimento da parte dell'utente delle proprie navi. 45

Utili risorse per lo studio personale Linux http://www.cremona.polimi.it/todeschini/?q=node/35 http://a2.pluto.it/a226.htm#almltitle66 Sezione 19 in particolare Linguaggio C http://homepage.mac.com/marco_coisson/tutorial/intr oallinguaggioc/versione_html/indice.html 46