21
13/11/2018 1 © 2018 Angelo Genovese ANGELO GENOVESE – INTRODUZIONE A LINUX – LEZIONE 7 – PROGRAMMARE IN LINUX © 2015 Angelo Genovese Introduzione a Linux Lezione 7 Programmare in Linux Corso di Sistemi Operativi I/II Prof. V. Piuri Università degli Studi di Milano Dipartimento di Informatica A.A. 2018/2019 Angelo Genovese © 2018 Angelo Genovese ANGELO GENOVESE – INTRODUZIONE A LINUX – LEZIONE 7 – PROGRAMMARE IN LINUX o Verrà introdotta la programmazione di script bash per automatizzare i comandi Linux o Saranno introdotti gli ambienti di sviluppo principali o Non verranno spiegati i linguaggi di programmazione Panoramica della lezione ANGELO GENOVESE – INTRODUZIONE A LINUX – LEZIONE 7 – PROGRAMMARE IN LINUX © 2015 Angelo Genovese

Lezione 7 - Programmare in Linuxhomes.di.unimi.it/genovese/slides_linux/Lezione 7... · 2019. 4. 8. · ANGELO GENOVESE –INTRODUZIONE A LINUX –LEZIONE 7 –PROGRAMMARE IN LINUX

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Lezione 7 - Programmare in Linuxhomes.di.unimi.it/genovese/slides_linux/Lezione 7... · 2019. 4. 8. · ANGELO GENOVESE –INTRODUZIONE A LINUX –LEZIONE 7 –PROGRAMMARE IN LINUX

13/11/2018

1

© 2018 Angelo Genovese

ANGELO GENOVESE – INTRODUZIONE A LINUX – LEZIONE 7 – PROGRAMMARE IN LINUX

© 2015 Angelo Genovese

Introduzione a LinuxLezione 7

Programmare in Linux

Corso di Sistemi Operativi I/II

Prof. V. PiuriUniversità degli Studi di Milano

Dipartimento di Informatica

A.A. 2018/2019

Angelo Genovese

© 2018 Angelo Genovese

ANGELO GENOVESE – INTRODUZIONE A LINUX – LEZIONE 7 – PROGRAMMARE IN LINUX

o Verrà introdotta la programmazione di script bash per automatizzare i comandi Linux

o Saranno introdotti gli ambienti di sviluppo principali

o Non verranno spiegati i linguaggi di programmazione

Panoramica della lezione

ANGELO GENOVESE – INTRODUZIONE A LINUX – LEZIONE 7 – PROGRAMMARE IN LINUX

© 2015 Angelo Genovese

Page 2: Lezione 7 - Programmare in Linuxhomes.di.unimi.it/genovese/slides_linux/Lezione 7... · 2019. 4. 8. · ANGELO GENOVESE –INTRODUZIONE A LINUX –LEZIONE 7 –PROGRAMMARE IN LINUX

13/11/2018

2

© 2018 Angelo Genovese

ANGELO GENOVESE – INTRODUZIONE A LINUX – LEZIONE 7 – PROGRAMMARE IN LINUX

1. Programmazione di script bash

Variabili

Condizioni, Cicli, Funzioni

Input da tastiera

2. Programmare in C/C++

Linea di comando

Make e makefile

Ambienti di sviluppo integrato (IDE)

Sommario (1/2)

© 2018 Angelo Genovese

ANGELO GENOVESE – INTRODUZIONE A LINUX – LEZIONE 7 – PROGRAMMARE IN LINUX

3. Programmare in Java

Installazione framework

Ambienti di sviluppo integrato (IDE)

4. Programmare in PHP

5. Software di elaborazione numerica

Matlab

Octave

6. Esercizi

Sommario (2/2)

Page 3: Lezione 7 - Programmare in Linuxhomes.di.unimi.it/genovese/slides_linux/Lezione 7... · 2019. 4. 8. · ANGELO GENOVESE –INTRODUZIONE A LINUX –LEZIONE 7 –PROGRAMMARE IN LINUX

13/11/2018

3

© 2018 Angelo Genovese

ANGELO GENOVESE – INTRODUZIONE A LINUX – LEZIONE 7 – PROGRAMMARE IN LINUX

1. Introduzione

2. Variabili

3. Condizioni

4. Cicli

5. Funzioni

6. Input da tastiera

7. Operazioni aritmetiche

8. Esecuzione del programma

1. Programmazione di script bash

© 2018 Angelo Genovese

ANGELO GENOVESE – INTRODUZIONE A LINUX – LEZIONE 7 – PROGRAMMARE IN LINUX

o Uno script bash è un file di testo

o Contiene i comandi da eseguire

Interpretati in sequenza senza compilazione

o Permette l’uso di comandi tipici dei linguaggi di programmazione

Condizioni

Cicli

Funzioni

Introduzione agli script bash (1/2)

1. PROGRAMMAZIONE DI SCRIPT BASH – INTRODUZIONE AGLI SCRIPT BASH

Page 4: Lezione 7 - Programmare in Linuxhomes.di.unimi.it/genovese/slides_linux/Lezione 7... · 2019. 4. 8. · ANGELO GENOVESE –INTRODUZIONE A LINUX –LEZIONE 7 –PROGRAMMARE IN LINUX

13/11/2018

4

© 2018 Angelo Genovese

ANGELO GENOVESE – INTRODUZIONE A LINUX – LEZIONE 7 – PROGRAMMARE IN LINUX

o Lo script inizia sempre con il percorso dell’interprete

Es. #!/bin/sh

o Lo script più semplice prevede una sequenza di comandi

<Comando_1>

<Comando_2>

Ecc.

Introduzione agli script bash (2/2)

1. PROGRAMMAZIONE DI SCRIPT BASH – INTRODUZIONE AGLI SCRIPT BASH

© 2018 Angelo Genovese

ANGELO GENOVESE – INTRODUZIONE A LINUX – LEZIONE 7 – PROGRAMMARE IN LINUX

o Per assegnare un valore ad una variabile si usa il carattere = (senza spazi)

<nome_variabile>=<valore>

o Se si vuole fare in modo che la variabile venga esportata anche ai processi figli bisogna precedere l’assegnamento con la parola chiave export

o Per accedere al contenuto di una variabile si deve precedere il nome con il carattere $

Es: echo $ <nome_variabile>

Variabili

1. PROGRAMMAZIONE DI SCRIPT BASH – VARIABILI

Page 5: Lezione 7 - Programmare in Linuxhomes.di.unimi.it/genovese/slides_linux/Lezione 7... · 2019. 4. 8. · ANGELO GENOVESE –INTRODUZIONE A LINUX –LEZIONE 7 –PROGRAMMARE IN LINUX

13/11/2018

5

© 2018 Angelo Genovese

ANGELO GENOVESE – INTRODUZIONE A LINUX – LEZIONE 7 – PROGRAMMARE IN LINUX

o Condizione if

if [ <espressione_da_valutare ]

then

<comando>

else

<comando_2>

fi

Condizioni (1/3)

1. PROGRAMMAZIONE DI SCRIPT BASH – CONDIZIONI

© 2018 Angelo Genovese

ANGELO GENOVESE – INTRODUZIONE A LINUX – LEZIONE 7 – PROGRAMMARE IN LINUX

o Sono possibili diversi operatori per la costruzionedi espressioni

-z <var_1>

La variabile <var_1> è di lunghezza 0

<var_1> -eq <var_2>

La variabile <var_1> è uguale a <var_2>

<var_1> -lt <var_2>

La variabile <var_1> è minore di <var_2>

-f <nome_file>

Vero se <nome_file> esiste ed è un file regolare

-x <nome_file>

Vero se <nome_file> esiste ed è eseguibile

Condizioni (2/3)

1. PROGRAMMAZIONE DI SCRIPT BASH – CONDIZIONI

Page 6: Lezione 7 - Programmare in Linuxhomes.di.unimi.it/genovese/slides_linux/Lezione 7... · 2019. 4. 8. · ANGELO GENOVESE –INTRODUZIONE A LINUX –LEZIONE 7 –PROGRAMMARE IN LINUX

13/11/2018

6

© 2018 Angelo Genovese

ANGELO GENOVESE – INTRODUZIONE A LINUX – LEZIONE 7 – PROGRAMMARE IN LINUX

o Esempio

echo INDOVINA IL NUMERO

read NUM

if [ $NUM -eq 42 ]

then

echo Hai indovinato

elif [ $NUM -lt 42 ]

then

echo Troppo basso

else

echo Troppo alto

fi

Condizioni (3/3)

1. PROGRAMMAZIONE DI SCRIPT BASH – CONDIZIONI

© 2018 Angelo Genovese

ANGELO GENOVESE – INTRODUZIONE A LINUX – LEZIONE 7 – PROGRAMMARE IN LINUX

1. While

2. Until

3. Case

4. For

Cicli

1. PROGRAMMAZIONE DI SCRIPT BASH – CICLI

Page 7: Lezione 7 - Programmare in Linuxhomes.di.unimi.it/genovese/slides_linux/Lezione 7... · 2019. 4. 8. · ANGELO GENOVESE –INTRODUZIONE A LINUX –LEZIONE 7 –PROGRAMMARE IN LINUX

13/11/2018

7

© 2018 Angelo Genovese

ANGELO GENOVESE – INTRODUZIONE A LINUX – LEZIONE 7 – PROGRAMMARE IN LINUX

o while [ <espressione_da_valutare_vera> ]

do

<comando_1>

<comando_2>

done

Ciclo while (1/2)

1. PROGRAMMAZIONE DI SCRIPT BASH – CICLI

© 2018 Angelo Genovese

ANGELO GENOVESE – INTRODUZIONE A LINUX – LEZIONE 7 – PROGRAMMARE IN LINUX

o Esempio

while [ $NUM -lt 10 ]

do

NUM=$(( $NUM + 1 ))

done

Ciclo while (2/2)

1. PROGRAMMAZIONE DI SCRIPT BASH – CICLI

Page 8: Lezione 7 - Programmare in Linuxhomes.di.unimi.it/genovese/slides_linux/Lezione 7... · 2019. 4. 8. · ANGELO GENOVESE –INTRODUZIONE A LINUX –LEZIONE 7 –PROGRAMMARE IN LINUX

13/11/2018

8

© 2018 Angelo Genovese

ANGELO GENOVESE – INTRODUZIONE A LINUX – LEZIONE 7 – PROGRAMMARE IN LINUX

o Simile a while

o until [ <espressione_da_valutare_false> ]

do

<comando_1>

<comando_2>

done

Ciclo until

1. PROGRAMMAZIONE DI SCRIPT BASH – CICLI

© 2018 Angelo Genovese

ANGELO GENOVESE – INTRODUZIONE A LINUX – LEZIONE 7 – PROGRAMMARE IN LINUX

o Simile al costrutto switch

o case <var> in

<pattern_1> ) <comando_1> ;;

<pattern_2> ) <comando_2> ;;

* ) <comando_default>;;

esac

Case (1/2)

1. PROGRAMMAZIONE DI SCRIPT BASH – CICLI

Page 9: Lezione 7 - Programmare in Linuxhomes.di.unimi.it/genovese/slides_linux/Lezione 7... · 2019. 4. 8. · ANGELO GENOVESE –INTRODUZIONE A LINUX –LEZIONE 7 –PROGRAMMARE IN LINUX

13/11/2018

9

© 2018 Angelo Genovese

ANGELO GENOVESE – INTRODUZIONE A LINUX – LEZIONE 7 – PROGRAMMARE IN LINUX

o Esempio

case $a in

1) echo sono un 1;;

2) echo sono un 2;;

3) echo sono un 3;;

*) echo Non sono né un 1 né un 2 né un 3;;

esac

Case (2/2)

1. PROGRAMMAZIONE DI SCRIPT BASH – CICLI

© 2018 Angelo Genovese

ANGELO GENOVESE – INTRODUZIONE A LINUX – LEZIONE 7 – PROGRAMMARE IN LINUX

o for <var> in <lista_valori>

do

<comando_1>

<comando_2>

done

Ciclo for (1/2)

1. PROGRAMMAZIONE DI SCRIPT BASH – CICLI

Page 10: Lezione 7 - Programmare in Linuxhomes.di.unimi.it/genovese/slides_linux/Lezione 7... · 2019. 4. 8. · ANGELO GENOVESE –INTRODUZIONE A LINUX –LEZIONE 7 –PROGRAMMARE IN LINUX

13/11/2018

10

© 2018 Angelo Genovese

ANGELO GENOVESE – INTRODUZIONE A LINUX – LEZIONE 7 – PROGRAMMARE IN LINUX

o Esempio

for i in 1 2 3 4 5

do

echo sono $i

done

Ciclo for (2/2)

1. PROGRAMMAZIONE DI SCRIPT BASH – CICLI

© 2018 Angelo Genovese

ANGELO GENOVESE – INTRODUZIONE A LINUX – LEZIONE 7 – PROGRAMMARE IN LINUX

o È possibile dare un nome a un gruppo di liste di comandi, in modo da poterlo richiamare come si fa per un comando interno normale.

[function] <nome_funzione> () {

<comando_1>

<comando_2>

}

o Il valore restituito dalla funzione è quello dell’ultimo comando a essere eseguito all’interno

Funzioni (1/3)

1. PROGRAMMAZIONE DI SCRIPT BASH – FUNZIONI

Page 11: Lezione 7 - Programmare in Linuxhomes.di.unimi.it/genovese/slides_linux/Lezione 7... · 2019. 4. 8. · ANGELO GENOVESE –INTRODUZIONE A LINUX –LEZIONE 7 –PROGRAMMARE IN LINUX

13/11/2018

11

© 2018 Angelo Genovese

ANGELO GENOVESE – INTRODUZIONE A LINUX – LEZIONE 7 – PROGRAMMARE IN LINUX

o All’interno della funzione possono essere dichiarate delle variabili locali

comando local

o È possibile utilizzare il comando return per concludere anticipatamente l’esecuzione della funzione.

Funzioni (2/3)

1. PROGRAMMAZIONE DI SCRIPT BASH – FUNZIONI

© 2018 Angelo Genovese

ANGELO GENOVESE – INTRODUZIONE A LINUX – LEZIONE 7 – PROGRAMMARE IN LINUX

o Esempio

#!/bin/bash

messaggio () {

echo "ciao,"

echo "bella giornata vero?"

}

messaggio

Funzioni (3/3)

1. PROGRAMMAZIONE DI SCRIPT BASH – FUNZIONI

Page 12: Lezione 7 - Programmare in Linuxhomes.di.unimi.it/genovese/slides_linux/Lezione 7... · 2019. 4. 8. · ANGELO GENOVESE –INTRODUZIONE A LINUX –LEZIONE 7 –PROGRAMMARE IN LINUX

13/11/2018

12

© 2018 Angelo Genovese

ANGELO GENOVESE – INTRODUZIONE A LINUX – LEZIONE 7 – PROGRAMMARE IN LINUX

o Il comando read serve per ottenere l’input da tastiera

read [-p invito] [variabile...]

o Senza argomenti attende solo la pressione del tasto invio

Input da tastiera (1/2)

1. PROGRAMMAZIONE DI SCRIPT BASH – INPUT DA TASTIERA

© 2018 Angelo Genovese

ANGELO GENOVESE – INTRODUZIONE A LINUX – LEZIONE 7 – PROGRAMMARE IN LINUX

o Esempio

#!/bin/bash

echo -n "Inserisci una frase: "

read UNO DUE TRE

echo "La prima parola inserita è --$UNO--"

echo "La seconda parola inserita è --$DUE--"

echo "Il resto della frase è --$TRE--"

Input da tastiera (2/2)

1. PROGRAMMAZIONE DI SCRIPT BASH – INPUT DA TASTIERA

Page 13: Lezione 7 - Programmare in Linuxhomes.di.unimi.it/genovese/slides_linux/Lezione 7... · 2019. 4. 8. · ANGELO GENOVESE –INTRODUZIONE A LINUX –LEZIONE 7 –PROGRAMMARE IN LINUX

13/11/2018

13

© 2018 Angelo Genovese

ANGELO GENOVESE – INTRODUZIONE A LINUX – LEZIONE 7 – PROGRAMMARE IN LINUX

Operazioni aritmetiche

1. PROGRAMMAZIONE DI SCRIPT BASH – OPERAZIONI ARITMETICHE

o È possibile utilizzare operatori aritmetici

+, -, *, /

o Esempio

#!/bin/bash

echo "Inserisci un numero"

read a

echo " un altro"

read b

c = $(($a+$b))

echo "Il risultato è $c"

© 2018 Angelo Genovese

ANGELO GENOVESE – INTRODUZIONE A LINUX – LEZIONE 7 – PROGRAMMARE IN LINUX

o Sintassi per l’esecuzione di programmi e script

./<nome_programma_o_script>

Esecuzione del programma

1. PROGRAMMAZIONE DI SCRIPT BASH – ESECUZIONE DEL PROGRAMMA

Page 14: Lezione 7 - Programmare in Linuxhomes.di.unimi.it/genovese/slides_linux/Lezione 7... · 2019. 4. 8. · ANGELO GENOVESE –INTRODUZIONE A LINUX –LEZIONE 7 –PROGRAMMARE IN LINUX

13/11/2018

14

© 2018 Angelo Genovese

ANGELO GENOVESE – INTRODUZIONE A LINUX – LEZIONE 7 – PROGRAMMARE IN LINUX

1. Compilazione a linea di comando

Esecuzione

2. Make e makefile

3. Ambienti di sviluppo integrato (IDE)

2. Programmare in C/C++

© 2018 Angelo Genovese

ANGELO GENOVESE – INTRODUZIONE A LINUX – LEZIONE 7 – PROGRAMMARE IN LINUX

o Il C è un linguaggio compilato

I sorgenti sono file di testo .c

o Due step dal sorgente all’eseguibile

Compilazione

Tramite compilazione si ottengono file oggetto .o

Linking

Durante il link si uniscono gli oggetti alle librerie .a e si produce l’eseguibile a.out

Compilazione a linea di comando (1/4)

2. PROGRAMMARE IN C/C++ - COMPILAZIONE A LINEA DI COMANDO

Page 15: Lezione 7 - Programmare in Linuxhomes.di.unimi.it/genovese/slides_linux/Lezione 7... · 2019. 4. 8. · ANGELO GENOVESE –INTRODUZIONE A LINUX –LEZIONE 7 –PROGRAMMARE IN LINUX

13/11/2018

15

© 2018 Angelo Genovese

ANGELO GENOVESE – INTRODUZIONE A LINUX – LEZIONE 7 – PROGRAMMARE IN LINUX

Compilazione a linea di comando (2/4)

o Il compilatore C standard di Linux è gcc

o Il compilatore C++ standard di Linux è g++

o La sintassi è simile

Compilazione C

gcc -c sorgente.c

Compilazione C++

g++ -c sorgente.c++

Linking C

gcc oggetto1.o oggetto2.o libreria.a -o eseguibile

Linking C++

G++ oggetto1.o oggetto2.o libreria.a -o eseguibile

2. PROGRAMMARE IN C/C++ - COMPILAZIONE A LINEA DI COMANDO

© 2018 Angelo Genovese

ANGELO GENOVESE – INTRODUZIONE A LINUX – LEZIONE 7 – PROGRAMMARE IN LINUX

Compilazione a linea di comando (3/4)

o Alcune opzioni del compilatore

-L <dir>

Permette di specificare una directory dove cercare le librerie (/lib, /usr/lib, /usr/local/lib)

-I <dir> (i maiuscola)

Permette di specificare una directory dove cercare i file .h (/usr/include, /usr/local/include)

-l <libreria> (elle minuscola)

Specifica quale libreria dinamica linkare

2. PROGRAMMARE IN C/C++ - COMPILAZIONE A LINEA DI COMANDO

Page 16: Lezione 7 - Programmare in Linuxhomes.di.unimi.it/genovese/slides_linux/Lezione 7... · 2019. 4. 8. · ANGELO GENOVESE –INTRODUZIONE A LINUX –LEZIONE 7 –PROGRAMMARE IN LINUX

13/11/2018

16

© 2018 Angelo Genovese

ANGELO GENOVESE – INTRODUZIONE A LINUX – LEZIONE 7 – PROGRAMMARE IN LINUX

Compilazione a linea di comando (4/4)

o Esecuzione del programma

./<nome_programma>

2. PROGRAMMARE IN C/C++ - COMPILAZIONE A LINEA DI COMANDO

© 2018 Angelo Genovese

ANGELO GENOVESE – INTRODUZIONE A LINUX – LEZIONE 7 – PROGRAMMARE IN LINUX

Make e makefile (1/2)

o Strumento che permette di compilare solo i sorgenti modificati tenendo conto delle dipendenze

Comando make

o Utilizza per default il file Makefile

Contiene i comandi per compilare il progetto e installare l’eseguibile nel sistema

2. PROGRAMMARE IN C/C++ - MAKE E MAKEFILE

Page 17: Lezione 7 - Programmare in Linuxhomes.di.unimi.it/genovese/slides_linux/Lezione 7... · 2019. 4. 8. · ANGELO GENOVESE –INTRODUZIONE A LINUX –LEZIONE 7 –PROGRAMMARE IN LINUX

13/11/2018

17

© 2018 Angelo Genovese

ANGELO GENOVESE – INTRODUZIONE A LINUX – LEZIONE 7 – PROGRAMMARE IN LINUX

Make e makefile (2/2)

o Vengono specificati gli obiettivi seguiti da “:” e dai file dipendenti

Es: cec++.1 : cec++.1.c

o Sulla riga successiva, dopo un carattere di tabulazione, si elencano i comandi utili al raggiungimento dell’obiettivo

Es: CC = gcc$(CC) cec++.1.c

2. PROGRAMMARE IN C/C++ - MAKE E MAKEFILE

© 2018 Angelo Genovese

ANGELO GENOVESE – INTRODUZIONE A LINUX – LEZIONE 7 – PROGRAMMARE IN LINUX

Ambienti di sviluppo integrato (IDE) C/C++

o Netbeans

o Eclipse

o CodeBlocks

o KDevelop

2. PROGRAMMARE IN C/C++ - AMBIENTI DI SVILUPPO INTEGRATO (IDE) C/C++

Page 18: Lezione 7 - Programmare in Linuxhomes.di.unimi.it/genovese/slides_linux/Lezione 7... · 2019. 4. 8. · ANGELO GENOVESE –INTRODUZIONE A LINUX –LEZIONE 7 –PROGRAMMARE IN LINUX

13/11/2018

18

© 2018 Angelo Genovese

ANGELO GENOVESE – INTRODUZIONE A LINUX – LEZIONE 7 – PROGRAMMARE IN LINUX

3. Programmare in Java

1. Installazione framework

2. Ambienti di sviluppo integrato (IDE)

© 2018 Angelo Genovese

ANGELO GENOVESE – INTRODUZIONE A LINUX – LEZIONE 7 – PROGRAMMARE IN LINUX

Installazione del framework

o Come in windows, anche in Linux è necessario installare il framework di sviluppo per Java

o Facilmente eseguibile tramite terminale

sudo add-apt-repository ppa:webupd8team/java

sudo apt-get update

sudo apt-get install oracle-java7-installer

o Controllo dell’installazione

java -version

3. PROGRAMMARE IN JAVA – INSTALLAZIONE DEL FRAMEWORK

Page 19: Lezione 7 - Programmare in Linuxhomes.di.unimi.it/genovese/slides_linux/Lezione 7... · 2019. 4. 8. · ANGELO GENOVESE –INTRODUZIONE A LINUX –LEZIONE 7 –PROGRAMMARE IN LINUX

13/11/2018

19

© 2018 Angelo Genovese

ANGELO GENOVESE – INTRODUZIONE A LINUX – LEZIONE 7 – PROGRAMMARE IN LINUX

Ambienti di sviluppo integrato (IDE) Java

o Netbeans

o Eclipse

o jEdit

3. PROGRAMMARE IN JAVA – AMBIENTI DI SVILUPPO INTEGRATO (IDE) JAVA

© 2018 Angelo Genovese

ANGELO GENOVESE – INTRODUZIONE A LINUX – LEZIONE 7 – PROGRAMMARE IN LINUX

4. Programmare in PHP

o Approccio minimalistico

Editor di testo

Eventualmente con highlight della sintassi

Client FTP

o Ambiente di sviluppo integrato (IDE)

Eclipse

Netbeans

Page 20: Lezione 7 - Programmare in Linuxhomes.di.unimi.it/genovese/slides_linux/Lezione 7... · 2019. 4. 8. · ANGELO GENOVESE –INTRODUZIONE A LINUX –LEZIONE 7 –PROGRAMMARE IN LINUX

13/11/2018

20

© 2018 Angelo Genovese

ANGELO GENOVESE – INTRODUZIONE A LINUX – LEZIONE 7 – PROGRAMMARE IN LINUX

5. Software di elaborazione numerica

o Matlab

Più conosciuto

A pagamento

o GNU Octave

Quasi completamente compatibile con Matlab

Gratis

Licenza GPL

Installazione tramite terminale

sudo apt-add-repository ppa:octave/stable

sudo apt-get update

sudo apt-get install octave

© 2018 Angelo Genovese

ANGELO GENOVESE – INTRODUZIONE A LINUX – LEZIONE 7 – PROGRAMMARE IN LINUX

In sintesi

1. Programmazione di script bash

2. Programmare in C/C++

3. Programmare in Java

4. Programmare in PHP

5. Software di elaborazione numerica

Page 21: Lezione 7 - Programmare in Linuxhomes.di.unimi.it/genovese/slides_linux/Lezione 7... · 2019. 4. 8. · ANGELO GENOVESE –INTRODUZIONE A LINUX –LEZIONE 7 –PROGRAMMARE IN LINUX

13/11/2018

21

© 2018 Angelo Genovese

ANGELO GENOVESE – INTRODUZIONE A LINUX – LEZIONE 7 – PROGRAMMARE IN LINUX

6. Esercizi (1/2)

o Create uno script bash che stampa a video «hello world»

È necessario anche impostare i privilegi di esecuzione

o Create uno script che somma due numeri inseriti dall’utente

È possibile usare un ciclo per ripetere l’operazione

6. ESERCIZI

© 2018 Angelo Genovese

ANGELO GENOVESE – INTRODUZIONE A LINUX – LEZIONE 7 – PROGRAMMARE IN LINUX

6. Esercizi (2/2)

o Create un programma C che stampa a video «hello world» ed eseguitelo tramite terminale

o Utilizzate un IDE per compilare il programma

o (Per chi conosce già Java) ripetete le operazioni utilizzando il linguaggio Java

6. ESERCIZI