TP 7 VARI 1
1 Commandes Linux : systèmes et réseaux
Démarrer une console/terminal grâce à la combinaison de touches : CTRL gauche⊕ ALT gauche ⊕ t. Si
cela ne fonctionne pas, essayez une des cinq solutions proposées au site ci-dessous :
[Link]/ porumbed/vari1/term/
~
En fonction du terminal choisi, certaines commandes peuvent ne pas toujours fonctionner.
Exercice 1 Taper dans ce terminal commande
echo "Salut toto" et observez ce que cette com- Exercice 3 Lancer ifconfig et noter votre adresse
mande affiche. IP et l’adresse de diffusion (broadcast) de la première
interface. Si cette commande n’est pas connue, vous
Exercice 2 Taper les commandes suivantes une pouvez essayer de taper ip addr.
par une. On observe que la première commande
indique l’OS plus précisément. Dérouler le résultat Exercice 4 Taper la commande route -n. Quelle
de la deuxième commande pour trouver combien de est votre passerelle (par défaut) qui permet de vous
coeurs possède le processeur (CPU). relier à l’Internet ? Exécuter un ping sur la passe-
relle, c.à.d., taper ping IP PASSERELLE (à arrêter avec
cat /proc/version CTRL-C).
cat /proc/cpuinfo
Exercice 5 Exécuter un ping [Link] et observez qu’on vous affiche l’adresse IP du site [Link].
En fonction du terminal que vous avez installé, google peut répondre ou pas...
Exercice 6 Chercher dans le manuel l’objectif de la commande traceroute (taper “man traceroute”,
q pour sortir). Peut-on utiliser traceroute pour nous aider à localiser les serveurs traversés pour joindre
[Link] ? On peut toujours consulter un “IP Locator” sur internet, voir [Link]. Si vous
êtes sous windows, vous pouvez taper tracert à la place de traceroute dans l’invité de commande Windows.
Exercice 7 Quel est le résultat de la commande ci-dessous.
for((i=0;i<7;i++)) do echo toto; done
Modifiez cette commande pour la faire afficher toto 15 fois.
Exercice 8 Taper netcat -v [Link] 80 pour se connecter par TCP au port 80 (web) du site web
[Link]. Taper un mot au hasard lorsque la connexion est établie. Remarquer la réponse envoyée par
le site web [Link].
Rappel : pour rechercher dans le manuel une option d’une commande (ex., l’option -v de la commande
netcat), taper “man NOM COMMANDE” (ex., man netcat) et taper “/”, suivi de la chaine de caractères recherchée
(ex., -v ) et d’Entrée. Ensuite, taper “n” pour rechercher l’apparition suivante du mot. Pour quitter le manuel,
utiliser “q”.
Exercice 9 Chercher le manuel de la commande pwd . Observez qu’une des options de cette commande permets
d’afficher la version. Taper une commande qui affiche en conséquence la version de votre commande pwd .
2 Processing
Exercice 1 Soit le code ci-dessous. Ajouter la deuxième diagonale composée de petits carrés jaunes pour faire
CNAM – Notions de base systèmes, réseaux, processing
le dessin en bas à droite. Pour obtenir la couleur jaune, on utilise une combinaison de rouge et vert !
1 size (250 ,250) ;
2 f i l l ( 1 9 0 , 1 9 0 , 1 9 0 ) ; // mélange rouge , v e r t , b l e u=>g r i s
3 rect ( 0 , 0 , 2 5 0 , 2 5 0 ) ;
4 f i l l (0 ,0 ,120) ; //un peu de b l e u 120
5 rect ( 0 , 0 , 5 0 , 5 0 ) ;
6 rect ( 5 0 , 5 0 , 5 0 , 5 0 ) ;
7 rect ( 1 0 0 , 1 0 0 , 5 0 , 5 0 ) ;
8 rect ( 1 5 0 , 1 5 0 , 5 0 , 5 0 ) ;
9 rect ( 2 0 0 , 2 0 0 , 5 0 , 5 0 ) ;
Exercice 2 L’objectif de cet exercice est de réaliser un diagramme camem-
bert comme dans l’image à droite, qui pourrait par exemple correspondre aux
résultats d’un référendum. Le pourcentages de votes Oui et non sont
initialisés au hasard à l’aide du code ci-après. Note : utiliser arc(...).
f l o a t o u i = random ( 1 0 0 ) ;
f l o a t non = 100− o u i ;
Exercice 3 Déclarer une variable réelle x et affecter la valeur 28 à x, à l’aide de la fonction pow(...). Par
exemple, pow(3,4) renvoie 81. Afficher la valeur de x. Par la suite, initialiser une variable entière y à une valeur
entière aléatoire entre 1 et 20, comme à la première ligne du programme de l’exercice suivant. Afficher la valeur
de y et le résultat du calcul 2y . Exécuter le programme plusieurs fois pour voir plusieurs puissances de 2.
Exercice 4 Corriger les erreurs de compilation du
int exam = ( int ) random ( 2 0 ) ; // n o t e exam
programme à droite et exécuter ce programme.
int tp = ( int ) random ( 2 0 ) ; // n o t e TP
i f (exam<7) ; {
Exercice 5 Déclarer une variable x de type
String (chaı̂ne de caractères) et une variable p r i n t l n ( ” Échec à l ’ examen” ) ;
entière y. Initialiser x="salut" et y = 9. Quel est }
le type de la variable z qui permet d’exécuter l’af- i f (exam=20){
fectation suivante ? p r i n t l n ( ”Vous ê t e s un g é n i e ” ) ;
} else {
z=x+y p r i n t l n ( ” Note < 20 ” )
Déclarer la variable z, faire l’affectation ci-dessus }
et afficher z. Par la suite appeler la fonc- int n o t e f i n a l e = exam+tp / 2 ;
tion println(z+z+z);. Vous pouvez deviner son p r i n t l n ( ” n o t e f i n a l e=+” n o t e F i n a l e ) ;
résultat avant de l’exécuter ?
Exercice 6 Soit les variables exam, tp1, et tp2 initialisées au début du programme pour indiquer une note
d’examen et 2 notes de TP. Une note d’examen inférieure à 7 est éliminatoire. La note finale est la moyenne
entre l’examen et la note de TP la plus grande. Exemple : si exam = 10, tp1 = 5, tp2 = 12, on ignore tp1 et on
obtient exam+tp2
2 = 11. Si la note finale est supérieure à 10, afficher “réussi”, sinon afficher “échoué”.
CNAM – Notions de base systèmes, réseaux, processing