martedì 26 gennaio 2016

A.S. 2015/16 - Esercitazioni di laboratorio per la materia SISTEMI E RETI/1

ESERCITAZIONE 4_2 (16.05.16) - Check Internet Connection
Realizzare uno script che verifichi la connettività ad Internet

OBIETTIVI DISCIPLINARI / ARGOMENTI TRATTATI
- trovare un algoritmo che risolva il problema proposto
- realizzare diagrammi di flusso corretti
- imparare i seguenti costrutti/istruzioni bash:
  . while
  . exit status
  . ping
  . ridirezione
  . funzioni
- Evitare all'interno dello scripti i "magic numbers"
- rispettare le convenzioni per la scrittura di codice nel linguaggio di scripting Bash definite

PROCEDIMENTO / SPECIFICHE INIZIALI
- consegna esercizio entro il 23/05/16
- creare all'interno della propria home directory la cartella es4_2_CheckInternetConn, e caricare all'interno relazione (in pdf),  flow chart e script;

GRIGLIA DI VALUTAZIONE [max 100 punti]:
[5 punti] - Rispetto delle convenzioni di scrittura: relazione in formato pdf, Flow chart in png
[5 punti] - relazione: premesse teoriche/specifiche
[30 punti] - relazione: diagrammi di flusso  (utilizzo delle congiunzioni)
[30 punti] - script (corrispondenza con il D.F.)
[5 punti] - uso corretto della ridirezione
[5 punti] - uso dei magic numbers
[5 punti] - convenzioni di scrittura codice (intestazione, commenti, indent.)
[5 punti] - relazione: collaudo
[10 punti] - OPZIONALE - Uso delle funzioni

RIFERIMENTI / LINK
http://fb-labs.blogspot.it/2016/04/convenzioni-per-la-scrittura-di-codice.html
http://fb-labs.blogspot.it/2015/02/i-diagrammi-di-flusso.html
https://www.draw.io/
https://www.netacad.com/
http://www.dsi.unive.it/~lso/Slides/bash-02-scripting.pdf
http://www.pluto.it/files/ildp/guide/abs/index.html

-------------------------------------------------------------------------------------------------------------
ESERCITAZIONE 3_2 (11.04.16)
Realizzare uno script che letti come parametri operatore operando1 e operando2, Esegua e visualizzi l'operazione richiesta.

OBIETTIVI DISCIPLINARI / ARGOMENTI TRATTATI
- trovare un algoritmo che risolva il problema proposto
- realizzare diagrammi di flusso corretti
- imparare i seguenti costrutti/istruzioni bash:
  . espansione aritmetica
- rispettare le convenzioni per la scrittura di codice nel linguaggio di scripting Bash definite

PROCEDIMENTO / SPECIFICHE INIZIALI
- consegna esercizio entro il 25/04/16
- creare all'interno della propria home directory la cartella es3_2_calc, e caricare all'interno relazione, flow chart e script
- il primo parametro operatore può assumere i valori: piu, meno, per, diviso
- disegnare un diagramma di flusso ed esportarlo come immagine, usando il comando export as.. image

GRIGLIA DI VALUTAZIONE [max 100 punti]:
[5 punti] - Rispetto delle convenzioni di scrittura: relazione in formato pdf, Flow chart in png+xml
[5 punti] - relazione: premesse teoriche/specifiche
[30 punti] - relazione: diagrammi di flusso  (utilizzo delle congiunzioni)
[35 punti] - script (corrispondenza con il D.F.)
[5 punti] - parametri inseriti da shell
[5 punti] - Controllo della validità dei parametri inseriti da shell
[5 punti] - convenzioni di scrittura codice (intestazione, commenti, indent.)
[10 punti] - relazione: collaudo

RIFERIMENTI / LINK
http://fb-labs.blogspot.it/2016/04/convenzioni-per-la-scrittura-di-codice.html
http://fb-labs.blogspot.it/2015/02/i-diagrammi-di-flusso.html
https://www.draw.io/
https://www.netacad.com/
http://www.dsi.unive.it/~lso/Slides/bash-02-scripting.pdf
http://www.pluto.it/files/ildp/guide/abs/index.html

-------------------------------------------------------------------------------------------------------------
ESERCITAZIONE 2_2 (04.04.16)
Realizzare uno script che letti come parametri il nome e l'orario, visualizzi un messaggio coerente. Es. buongiorno Mario, buona notte Mario, ecc.


OBIETTIVI DISCIPLINARI / ARGOMENTI TRATTATI
- trovare un algoritmo che risolva il problema proposto
- realizzare diagrammi di flusso corretti
- imparare i seguenti costrutti/istruzioni bash:
  . assegnazione e utilizzo variabili
  . istruzione test
  . costrutto if
  . echo
  . introduzione ai parametri
- rispettare le convenzioni per la scrittura di codice nel linguaggio di scripting Bash definite
- perfetta corrispondenza tra flowchart e script
- saper manipolare le stringhe
- conoscere il comando bc

PROCEDIMENTO / SPECIFICHE INIZIALI
- progetto da consegnare entro l'11/04/16
- scaricare il programma MobaxTerm per la connessione alla RaspberrPI della scuola (IP 217.171.47.186, porta 22)
- altri programmi utilizzabili per la connessione con la RaspberryPI sono JuiceSSH e ServerAuditor
- creare all'interno della propria home directory la cartella es2_2_saluti, e caricare all'interno relazione immagine flow chart e script
- definire almeno quattro fasce orarie (es. mattina, giorno pomeriggio sera e notte)
- la notte è definita per gli orari compresi tra le 22.00 e le 04.00
- disegnare un diagramma di flusso ed esportarlo come immagine, usando il comando export as.. image
- con MobaXterm usare il pulsante "upload to current folder" per caricare i file precedentemente creati nella cartella dell'esercizio

GRIGLIA DI VALUTAZIONE [max 100 punti]:
[5 punti] - Rispetto delle convenzioni di scrittura: relazione in formato pdf, Flow chart in png+xml
[5 punti] - relazione: premesse teoriche/specifiche
[30 punti] - relazione: diagrammi di flusso  (utilizzo delle congiunzioni)
[30 punti] - script (corrispondenza con il D.F.)
[5 punti] - parametri inseriti da shell
[5 punti] - Controllo della validità dei parametri inseriti da shell
[5 punti] - Accettare l'orario nel formato hh.mm
[5 punti] - convenzioni di scrittura codice (intestazione, commenti, indent.)
[10 punti] - relazione: collaudo
[BONUS 20 punti] - Accettare l'orario nel formato hh.mm AM/PM

RIFERIMENTI / LINK
http://fb-labs.blogspot.it/2016/04/convenzioni-per-la-scrittura-di-codice.html
http://fb-labs.blogspot.it/2015/02/i-diagrammi-di-flusso.html
http://linux.about.com/library/cmd/blcmdl1_test.htm
https://www.draw.io/
https://www.netacad.com/
http://www.dsi.unive.it/~lso/Slides/bash-02-scripting.pdf
http://www.pluto.it/files/ildp/guide/abs/index.html
http://tldp.org/LDP/abs/html/string-manipulation.html


ESEMPIO



#==========================================================================================
#
# Project: saluti
# Date:    04/04/216
# Author:  Filippo Bilardo
#
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
#  Realizzare uno script che letti come parametri il nome e l'orario, visualizzi un 
#  messaggio coerente. Es. buongiorno Mario, buona notte Mario, ecc.
#
#  sono definite 3 fasce orarie:
#  mattina 04.00 - 11.59
#  giorno  12.00 - 21.59
#  notte 22.00 - 03.59
#
#  Testato lo script con vari orari: 0,1,3,4,9,12,13,14,17,18,21,22,23 e lo script 
#  funziona sempre correttamente
#
# Ver  Date  Comment
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# 1.0.0 14.11.15 Versione iniziale
# 
#
#==========================================================================================

# Controllo che i parametri inseriti siano validi, altrimenti visualizzo
# un messaggio di errore e termino lo script
#
# TODO: scrivere il codice

# utilizzo dei nomi più comprensivi per i parametri inseriti 
ora=$2
nome=$1

if [ $ora -ge 4 ]; then
  if [ $ora -lt 12 ]; then
    echo "Buona mattina $nome"
  else
    if [ $ora -lt 14 ]; then
      echo "Buon giorno $nome"
    else
      if [ $ora -lt 22 ]; then
        echo "Buona sera $nome"
      else
        echo "Buona notte $nome"
      fi
    fi
  fi
else
  echo "Buona notte $nome"
fi

exit 0
IP=010.010.001.100
echo "IP=$IP, len IP=${#IP}"
IP_OTT1=${IP:0:3}
echo "Il primo ottetto è =$IP_OTT1"

-------------------------------------------------------------------------------------------------------------
ESERCITAZIONE 1_2
home directory -> /home/3G_2015_16/cognome.nome
login --> cognome.nome
forzare la creazione della homedirectory
commento -> Cognome Nome

------
# 0. elminare l'utente se esiste già
# 1. creazione utente
useradd -d /home/3G_2015_16/verdi.giuseppe -m -c "Verdi Giuseppe" verdi.giuseppe

# 2. verifica
cat /etc/passwd

# 3. impostiamo la password
sudo passwd verdi.giuseppe

-------------------------------------------------------------------------------------------------------------
versione iniziale del 04.04.16

Nessun commento:

Posta un commento