mercredi 28 novembre 2012

Exercice Visual Basic : Fiche Client


Ecrire le code VB qui permet de réaliser les Interfaces suivantes:




Solution

Exercice 14 en C++ (les tableaux)


EXERCICE 14

Ecrire un programme qui demande à l'utilisateur de taper 10 entiers compris entre 0 et 20 qui seront stockés dans un tableau et qui affiche le nombre de fois qu'on a tapé un 0, le nombre de 1, le nombre de 2, ..., le nombre de 20.

Exercice 13 en C++ (les tableaux)


EXERCICE 13

Ecrire un programme qui demande à l'utilisateur de taper un entier N<=20 et qui affiche la N-ième ligne du triangle de pascal.
ligne 1 : 1 1
ligne 2 : 1 2 1
ligne 3 : 1 3 3 1
ligne 4 : 1 4 6 4 1
et ainsi de suite ...

Exercice 12 en C++ (les tableaux)


EXERCICE 12

Ecrire un programme qui gère une liste d'entiers grâce au menu suivant :
1. Ajouter un entier
2. Afficher la liste des entiers
3. Supprimer le premier entier ayant une valeur donnée.
4. Supprimer tous les entiers ayant une valeur donnée
5. Quitter
Il y aura au maximum 10 entiers. La liste devra être en permanence triée : lorqu'on rajoute un entier, il sera inséré au bon endroit dans la liste pour que celle-ci reste triée.

Exercice 11 en C++ (les tableaux)


EXERCICE 11

Ecrire un programme qui gère une liste d'entiers grâce au menu suivant :
1. Ajouter un entier
2. Afficher la liste des entiers
3. Supprimer dernier entier de la liste.
4. Afficher la dernière note tapée
5. Quitter
Il y aura au maximum 10 entiers. Lorsqu'on rajoute un entier, il sera rajouté à la fin de la liste.

Exercice 10 en C++ (les tableaux)


EXERCICE 10

Ecrire un programme qui saisit 2 tableaux de 10 entiers a et b qui doivent être triés dans l'ordre croissant. Le programme devra tout d'abord vérifier que les deux tableaux sont triés. Le tableau c est un tableau de 20 entiers. Le programme doit mettre dans c la fusion des tableaux a et b. Le tableau c devra contenir les éléments de a et ceux de b et devra être trié. Le programme affiche ensuite le tableau c.

Exercice 9 en C++ (les tableaux)


EXERCICE 9

Ecrire un programme qui saisit 2 tableaux de 10 entiers a et b. c est un tableau de 20 entiers. Le programme doit mettre dans c la fusion des tableaux a et b. On copiera dans les 10 premières cases de c le tableau a, dans les dix dernières le tableau b. Le programme affiche ensuite le tableau c.

Exercice 8 en C++ (les tableaux)


EXERCICE 8

Ecrire un programme qui demande à l’utilisateur de taper 10 entiers qui seront stockés dans un tableau. Le programme doit trier le tableau par ordre croissant et doit afficher le tableau.
Algorithme suggéré (tri bulle) :
On parcourt le tableau en comparant t[0] et t[1] et en échangeant ces éléments s'ils ne sont pas dans le bon ordre.
on recommence le processus en comparant t[1] et t[2],... et ainsi de suite jusqu'à t[8] et t[9].
On compte lors de ce parcours le nombre d'échanges effectués.
On fait autant de parcours que nécessaire jusqu'à ce que le nombre d'échanges soit nul : le tableau sera alors trié.

Exercice 7 en C++ (les tableaux)


EXERCICE 7

Ecrire un programme qui demande à l’utilisateur de taper 10 entiers qui seront stockés dans un tableau. Le programme doit trier le tableau par ordre croissant et doit afficher le tableau.
Algorithme suggéré :
On cherche l'indice du plus petit élément parmi les indices de 0 à 9 et on échange cet élément avec t[0].
On cherche l'indice du plus petit élément parmi les indices de 1 à 9 et on échange cet élément avec t[1].
On cherche l'indice du plus petit élément parmi les indices de 2 à 9 et on échange cet élément avec t[2].
... On cherche l'indice du plus petit élément parmi les indices de 8 à 9 et on échange cet élément avec t[8].

Exercice 6 en C++ (les tableaux)


EXERCICE 6

Ecrire un programme qui demande à l’utilisateur de taper 10 entiers qui seront stockés dans un tableau. Le programme doit ensuite afficher soit "le tableau est croissant", soit "le tableau est décroissant", soit "le tableau est constant", soit "le tableau est quelconque".

Exercice 5 en C++ (les tableaux)


EXERCICE 5

Ecrire un programme qui demande à l'utilisateur de saisir 10 entiers stockés dans un tableau ainsi qu'un entier V et un entier i compris entre 0 et 9. Le programme doit décaler d'une case vers la droite tous les élements à partir de l'indice i (en supprimant le dernier élément du tableau) et doit mettre la valeur V dans le tableau à l'indice i. Le programme doit ensuite afficher le tableau final.

Exercice 4 en C++ (les tableaux)


EXERCICE 4

Ecrire un programme qui demande à l'utilisateur de saisir 10 entiers stockés dans un tableau ainsi qu'un entier V.
 Le programme doit rechercher si V se trouve dans le tableau et doit supprimer la première occurrence de V en décalant d'une case vers la gauche les éléments suivants et en rajoutant un 0 à la fin du tableau. Le programme doit ensuite afficher le tableau final.

Exercice 3 en C++ (les tableaux)


EXERCICE 3

Ecrire un programme qui demande à l'utilisateur de saisir 10 entiers stockés dans un tableau. Le programme doit ensuite afficher l'indice du plus grand élément.

Exercice 2 en C++ (les tableaux)


EXERCICE 2

Ecrire un programme qui demande à l'utilisateur de saisir 10 entiers stockés dans un tableau ainsi qu'un entier V. Le programme doit rechercher si V se trouve dans le tableau et afficher "V se trouve dans le tableau" ou "V ne se trouve pas dans le tableau".



Exercice 1 en C++ (Les tableaux)


EXERCICE 1

Ecrire un programme qui demande à l'utilisateur de saisir 10 entiers stockés dans un tableau. Le programme doit afficher le nombre d'entiers supérieurs ou égaux à 10.

Solution

dimanche 25 novembre 2012

Conclusion sur les meta tags


Je répète simplement une fois de plus que ceux qui pensent encore que le référencement se joue au niveau de l'optimisation des balises meta ont plusieurs métros de retard... Il y a plein d'autres choses à travailler sur son site avant les balises meta, notamment le netlinking et la création de contenu original !
On retiendra que Google ignore effectivement les balises meta keywords et revisit-after, et que la meta description n'a effectivement pas d'impact sur le positionnement.


Ce ne sont pas des balises meta mais ça y ressemble fortement. En voici une liste non exhaustive (cliquez sur les liens pour en savoir plus) :

  • link canonical : elle permet de définir l'URL officielle d'une page, pour réduire les problèmes liés aux contenus dupliqués
  • link standout : elle permet de définir les meilleurs articles de la semaine, pour Google News aux Etats-Unis.

Balise meta http-equiv refresh


A l'origine, cette balise permet de recharger la page au bout d'un temps indiqué en secondes. Des sites d'actualité l'utilisent par exemple pour forcer une mise à jour de l'affichage dans le navigateur. Cela dit tous les navigateurs ne la gèrent pas forcément de la même façon, et le W3C recommande de ne plus l'utiliser.
Dans le domaine du référencement, cette balise est parfois utilisée par certains webmasters pour rediriger l'internaute vers une autre page au bout d'un certain délai (par exemple 10 secondes). Il y a eu pas mal d'abus avec des meta refresh configurées avec un délai de 0 seconde, ce qui permettait de cacher le contenu de pages satellite aux internautes.
Si vous devez faire une redirection permanente, faites une redirection serveur avec un code 301 plutôt qu'une redirection par meta refresh avec 0 seconde de délai (qui n'est pas considérée par Google comme une vraie redirection 301).

Balise meta http-equiv charset

Cette balise sert à préciser le jeu de caractères utilisé pour le codage de la page.

Balise meta verify-v1

Cette balise sert uniquement pour les webmasters qui utilisent les outils de Google Webmaster Central, elle n'est pas indispensable pour un bon référencement. Elle est utilisée pour prouver que l'on est bien le webmaster du site pour lequel le compte Webmasters Tools est paramétré.

Balise meta google notranslate


Cette balise permet d'indiquer à Google que l'on ne souhaite pas qu'un lien Traduire soit affiché à côté du résultat de recherche. Google affiche parfois ce lien donnant accès à une traduction automatique de la page. Google précise dans son article que cette balise meta n'a généralementpas d'impact sur le positionnement.
A propos des langues, John Mueller précise (dans les commentaires du blog) que Google n'utilise pas les balises meta pour déterminer en quelle langue est écrite la page (il se débrouille avec des analyses statistiques des mots présents dans le contenu).

Balise meta geo.position et geo.region


Google n'utilise aucune des balises meta de géolocalisation, elles n'ont donc aucun impact dans le référencement local sur Google (voir la vidéo et la source). Pour information, voici malgré tout leur signification :
  • geo.position : indique la latitude et la longitude  de l'emplacement du site
  • geo.placename : indique le nom du lieu associé au site (par exemple une ville)
  • geo.region : indique l'identifiant du pays et du département (ou l'Etat pour les USA)
  • ICBM : indique la latitude et la longitude  de l'emplacement du site, avec une syntaxe différente de la meta geo.position
Certains pensent que Bing tient compte de ces balises geo mais je ne l'ai pas encore vérifié.


Les explications proviennent initialement de l'article de Google (rédigé par John Mueller, ingénieur Google à Zurich). 

Balise meta original-source

Dans le cas où un article a été rédigé à partir de plusieurs sources (notamment les sources ayant révélé un scoop), elle sert à indiquer la ou les URL des articles originaux. Exemple :


<meta name="original-source" content="http://www.example.com/article-original-scoop.html">


Balise meta syndication-source

Dans le cas de la syndication de contenus, elle sert à indiquer l'URL de l'article original. Exemple :


<meta name="syndication-source" content="http://www.example.com/article-original-pouvant-etre-publie-ailleurs.html">




Balise meta robots



Cette balise est prise en compte par Google (et les autres moteurs). Elle sert à définir des restrictions au robot qui vient crawler la page. Les principaux moteurs de recherche proposent également aux webmasters d'utiliser une balise spécifique (googlebot pour Google, slurp pour Yahoo, etc.) ; dans ces cas, les restrictions concernées ne s'appliquent qu'au moteur spécifié.
Voici les différentes valeurs possibles pour la balise meta robots, et leurs significations :
  • noindex : indique au robot qu'il ne faut pas indexer la page. Cela ne signifie pas que le robot ne va pas la crawler : pour cela il faut utiliser le fichier robots.txt
  • nofollow : indique au robot qu'il ne faut pas suivre les liens dans la page. Cela signifie que Google n'ira pas crawler les pages liées par la page contenant cette balise meta robots. Même si Google ne le précise pas dans son article, les moteurs ne tiendront pas non plus compte des liens présents sur la page dans leur algorithme (par exemple celui du PageRank).
  • index : indique au robot qu'il peut indexer la page. Cette valeur étant celle par défaut, il est totalement inutile de l'indiquer.
  • follow : indique au robot qu'il peut suivre les liens dans la page. Cette valeur étant celle par défaut, il est totalement inutile de l'indiquer.
  • all : cette valeur est l'équivalent de index,follow. Cette valeur étant celle par défaut, il est totalement inutile de l'indiquer.
  • none : cette valeur est l'équivalent de noindex,nofollow.
  • nosnippet : indique au robot qu'il ne faut pas afficher de descriptif (snippet) dans la page de résultats. J'ai du mal à voir l'intérêt pour un webmaster d'utiliser cette possibilité puisque ce descriptif permet d'inciter l'internaute à cliquer sur le résultat (peut-être qu'il existe des cas où le descriptif créé par le moteur n'est pas assez pertinent aux yeux du webmaster).
  • noarchive : indique au robot qu'il ne faut pas laisser l'accès à la version en cache. Le lien "En cache" dans la page de résultats ne sera donc pas affiché. Ceci peut servir à ceux qui passent leurs contenu d'une version publique accessible à une version archivée payante (sites de journaux par exemple).
  • noodp : indique au robot qu'il ne faut pas utiliser les données associées au site par les éditeurs de l'annuaire DMOZ (Open Directory Project, ODP). Ceci est utile si la description ou le titre du site dans DMOZ ne correspondent pas assez bien à la réalité. 
  • unavailable_after:[date] : indique au robot que la page ne doit pas ressortir dans les résultats après la date indiquée. 

Yahoo gère également la valeur noydir qui permet comme noodp d'indiquer au moteur qu'on ne souhaite pas que les données de l'annuaire Yahoo (Yahoo Directory) soient utilisées. 
Il est possible de combiner plusieurs valeurs au sein d'une seule balise meta robots : il suffit pour cela de séparer les valeurs par des virgules, comme par exemple :

<meta name="robots" content="noodp,noydir">

Balise meta revisit-after

Même s'il exite encore de nombreux webmasters qui y croient, la balise meta revisit-after n'est pas prise en compte par Google (ainsi que par les autres principaux moteurs d'après Google). Vous pouvez donc la supprimer de vos pages... Pour information, elle est censée indiquer aux robots au bout de combien de temps ils doivent revenir crawler la page. Google sait vraiment très bien paramétrer son robot pour qu'il adapte sa fréquence de visites en fonction de la fréquence des mises à jour ; si vraiment ça vous obsède, vous pouvez toujours définir ce type d'information dans lefichier sitemap.

Balise meta news_keywords


Introduite en septembre 2012, elle ne sert qu'au référencement dans Google Actualités. On peut se demander pourquoi Google réintroduit une balise meta keywords alors qu'il ignore la meta keywords classique !

Balise meta keywords


Elle n'est plus utilisée par Google, qui d'ailleurs ne la cite même pas dans son article... Si vous avez pris la peine de la remplir soigneusement, laissez-la, elle peut servir pour d'autres moteurs ou annuaires (c'est à peu près ce que dit John Mueller dans les commentaires).
En 2009, Google l'a confirmé : "Nous n'utilisons pas la balise meta keywords pour le classement du web" (source). Vous pouvez visionner cette vidéo pour en avoir le coeur net.

Balise meta description


La balise meta description est prise en compte par Google mais uniquement pour l'affichage des résultats. D'après mes tests (confirmés officiellement par Google dans l'article), cette balise n'a en effet aucun impact en termes de positionnement. Par contre, Google la reprend parfois en guise de descriptif de résultat (ce qu'on appelle le snippet) mais cela dépend des requêtes (la meta description n'est affichée que si Google considère qu'elle correspond bien à la requête).
Les explications officielles de Matt Cutts : Even though we sometimes use the description meta tag for the snippets we show, we still don't use the description meta tag in our ranking
Conclusion : ça vaut le coup de rédiger un bon message qui donne envie à l'internaute de cliquer. Intégrez des arguments marketing, commerciaux et adressez-vous directement à lui.

Ordre des balises meta

Juste une petite précision : l'ordre des balises meta n'a pas d'impact, tant qu'elles sont correctement remplies et situées dans l'entête (entre les balises <head> et </head>). Par habitude on met souvent la meta charset en haut, parfois avant la balise title, car c'est important de définir le jeu de caractères utilisé.

Balise title


Est-ce que Google tient compte de toutes les balises meta ? C'est sans doute un classique mais cette fois la réponse vient de Google directement... L'occasion de revenir sur chaque balise pour préciser son intérêt pour le référencement. Voici donc un tuto balises meta sous forme de liste complète de ces "meta tags" et de leur impact sur le référencement.


Balise title

Même si ce n'est pas une balise meta, Google confirme que la balise <title> est utilisée par Google dans son algorithme de classement. En bref, il faut choisir très soigneusement ce qu'on y met afin que cela décrive le mieux possible la page, les mots les plus importants au début.
A ma connaissance, la balise meta title n'existe pas et n'est donc pas prise en compte par les moteurs :

<meta name="title" content="Un titre">




Les explications proviennent initialement de l'article de Google (rédigé par John Mueller, ingénieur Google à Zurich). 

jeudi 22 novembre 2012

Exercice1 (bouteille) XML



XML permet de structurer une information. Il est donc nécessaire, avant d'envisager d'utiliser ce format, de se familiariser avec cette structuration.
Le paragraphe suivant contient de l'information "en vrac". Réorganisez-la de manière à mettre en évidence sa structure logique, sans forcément passer par une mise en forme XML.

Une bouteille d'eau Cristaline de 150 cl contient par litre 71 mg d'ions positifs calcium, et 5,5 mg d'ions positifs magnésium. On y trouve également des ions négatifs comme des chlorures à 20 mg par litre et des nitrates avec 1 mg par litre. Elle est recueillie à St-Cyr la Source, dans le département du Loiret. Son code barre est 3274080005003 et son pH est de 7,45. Comme la bouteille est sale, quelques autres matériaux comme du fer s'y trouvent en suspension.
Une seconde bouteille d'eau Cristaline a été, elle, recueillie à la source d'Aurèle dans les Alpes Maritimes. La concentration en ions calcium est de 98 mg/l, et en ions magnésium de 4 mg/l. Il y a 3,6 mg/l d'ions chlorure et 2 mg/l de nitrates, pour un pH de 7,4. Le code barre de cette bouteille de 50 cl est 3268840001008.
Une bouteille de même contenance est de marque Volvic, et a été puisée à... Volvic, bien connu pour ses sources donnant un pH neutre de 7. Elle comprend 11,5 mg/l d'ions calcium, 8,0 mg/l d'ions magnésium, 13,5 mg/l d'ions chlorures et 6,3 mg/l d'ions nitrates. Elle contient également des particules de silice. Son code barre est 3057640117008.

PS : Volvic est dans le Puy-de-Dôme...


Corrigé


<cave>
<bouteille>
<marque>Cristaline</marque>
<composition>
<ion type="positif">calcium 71mg/l</ion>
<ion type="positif">magnésium 5,5mg/l</ion>
<ion type="negatif">chlorure 20mg/l</ion>
<ion type="negatif">nitrate 1mg/l</ion>
<autre type="metal">fer</autre>
</composition>
<source>
<ville>St-Cyr la Source</ville>
<departement>Loiret</departement>
</source>
<code_barre>3274080005003</code_barre>
<contenance unit="cl">150</contenance>
<ph>7,45</ph>
</bouteille>
<bouteille>
<marque>Cristaline</marque>
<composition>
<ion type="positif">calcium 98mg/l</ion>
<ion type="positif">magnésium 4mg/l</ion>
<ion type="negatif">chlorure 3,6mg/l</ion>
<ion type="negatif">nitrate 2mg/l</ion>
</composition>
<source>
<ville>Aurèle</ville>
<departement>Alpes Maritimes</departement>
</source>
<code_barre>3268840001008</code_barre>
<contenance unit="cl">50</contenance>
<ph>7,4</ph>
</bouteille>
<bouteille>
<marque>Volvic</marque>
<composition>
<ion type="positif">calcium 11,5mg/l</ion>
<ion type="positif">magnésium 8mg/l</ion>
<ion type="negatif">chlorure 13,5mg/l</ion>
<ion type="negatif">nitrate 6,3mg/l</ion>
</composition>
<source>
<ville>Volvic</ville>
<departement>Puy-de-Dôme</departement>
</source>
<code_barre>3057640117008</code_barre>
<contenance unit="cl">50</contenance>
<ph>7</ph>
</bouteille>
</cave>

Commencer la numérotation sur une autre page Word 2007

Pour commencer la numérotation sur une autre page que la première page du document, vous devez ajouter un saut de section avant la page dans laquelle vous souhaitez commencer la numérotation.
  • Cliquez au début de la page où vous souhaitez commencer la numérotation.

Vous pouvez appuyer sur Origine pour vous assurer que vous êtes bien au début de la page.
  • Sous l'onglet Mise en page, dans le groupe Mise en page, cliquez sur Sauts de page.



Un TCP/IP comment vos infos se partagent sur un réseau?



 Dans un environnement ou en veut partager les informations, les possibilités sont ouvertes selon les besoins de chacun, c'est une raison qui exige une bonne vision sur les objectifs avant de choisir l'équipement et surtout avant de choisir la technologie nécessaire. Car dans certaines cas la création d'un noeud maillé peut ouvrir de nouvelles perspectives pour votre connexion et pour le nombre de personnes qui peuvent se partager l'information.

     Un réseau logique:

    Biensur la communication ne peut être possible que lorsque les participations parlent la même langue, alors su la forme de communication devient de plus en plus complexe le protocole devient ainsi plus
important que le langage. Donc pour que le partage d'information soit régulier vu le nombre énorme des internautes on a besoin d'un ensemble commun de protocoles de transmission pour réguler le temps et manière de partage d'information entre ordinateur.
     Le TCP/IP est désormais une suite de protocoles qui rendent l'inter-activité possible entre internautes.
Ce qui fait que si en parvient à comprendre le TCP/IP on peut construire des réseaux informatique de n’importe quelle taille.

     La démarche du TCP/IP

La circulation de l'inforamtion dans un réseau informatique passe par des couches, pour le modéle TCP/IP il comprend quatre couches comme il est claire dans le diagramme suivant:
chaque couche joue un rôle dans la circulation de l'information :

Accès réseau: c'est le milieu physique ou la communication a lieu, cette couche fonctionne au niveau des câbles CAT5 ou les fibres optiques.
Internet: Pour TCP/IP , ceci est le protocole IP , au niveau de cette couche les paquets peuvent quitter le réseau de la liaison locale et être transmit dans l'autres réseaux.
Transport: une fois le routage est établie le TCP et UDP assurent le transport de l'information pour s'ssurer que les donnés arrivent à la bonne destination.
Application: c'est la couche qu'utilise les usagers de réseau et c'est le niveau ou l'action humaine est établie. HTTP, FTP et SMTP sont les protocoles de cette couche.

Les protocoles

Un protocole est une méthode standard qui permet la communication entre deux machines:
     Ensemble de règles et de procédures à respecter pour émettre et recevoir des données sur le réseau.
TCP/IP : Transmission Control Protocol / Internet Protocol
     Défini la norme de communication, (en fait un ensemble de protocoles) des ordinateurs reliés à Internet.
Va contenir les protocoles HTTP, FTP, SMTP, …
     Adresse IP : utilise des numéros de 32 bits que l'on écrit sous la forme de 4 numéros
allant de 0 à 255 (4 fois 8 bits)
xxx.xxx.xxx.xxx

Donc environ 4 milliards d'adresses différentes


• DNS permet de retrouver une adresse IP en fonction d'un nom d'ordinateur (un peu comme un annuaire).
• FTP sert à transporter des fichiers d'un ordinateur à l'autre.
• IRC permet de créer des «salons» de discussion en direct.
• ICQ permet de savoir si quelqu'un est en ligne et de dialoguer avec lui.
• NTP permet de mettre les ordinateurs à l'heure par internet à 500 millisecondes près.
• P2P permettent de partager des fichiers à grande échelle.
• NNTP permet d'accéder à des forums de discussion sur des milliers de sujets différents.
• SSH permet d'avoir un accès sécurisé à des ordinateurs distants.
• SMTP permet d'envoyer des emails, et le protocole POP3 de les recevoir.



DNS : Domain Name Server : système de nom de domaine ou système d'affectation de nom.
Système distribué de bases de données et de serveurs qui assure la traduction des noms de domaine utilisés par les internautes en numéros IP utilisables par les ordinateurs.
Mis au point pour permettre aux internautes d'utiliser des noms dans la rédaction des adresses (beaucoup plus facile à manipuler que des suites de chiffres).
Exemples :
nom : www.unice.fr
-> IP : 134.59.1.71
nom : bach.ebgm.jussieu.fr
-> IP : 134.157.50.1
FTP: protocole définissant les règles de transfert des fichiers par Internet. Lorsqu'un utilisateur télécharge un fichier par ftp, il le recopie de l'ordinateur distant sur le sien (ou l'inverse).

TELNET : protocole standard permettant l'interfaçage de terminaux et d'applications à travers Internet.
Ce protocole fournit les règles de bases pour permettre de relier un client (système composé d'un affichage et d'un clavier) à un ordinateur distant (coté serveur)
Attention: Protocoles de transfert non sûrs, c'est-à-dire que les données circulent en clair
sur le réseau.

mardi 20 novembre 2012

Classe abstraite pour un animal (java)

Cet exercice est est un exercice de base pour entrevoir l'intérêt des classes abstraites. Avec un peu d'imagination, on doit se rendre compte que le procédé qui y est utile peut servir dans un cadre plus réel. On définit quatre classes.
  • La classe Animal est abstraite et déclare uniquement une méthode abstraite nommée action, sans paramètre et qui ne retourne rien.
  • La classe Chien hérite de Animal et définit la méthode action qui écrit à l'écran "J'aboie".
  • La classe Chat hérite de Animal et définit la méthode action qui écrit à l'écran "Je miaule".
  • La classe EssaiChat contient trois champs statiques :
    • un champ statique pour un attribut de type java.util.Random qui est initialisé dès sa définition
    • une méthode statique nommée tirage sans paramètre qui retourne un Animal qui a une chance sur deux d'être un Chat et une chance sur deux d'être un Chien.
    • une méthode main qui utilise la méthode tirage et invoque la méthode action sur l'animal obtenu par cette méthode.

Corrigé :

Trier un tableau d'entiers en java


Il s'agit d'écrire une méthode statique d'en-tête :
    public static void trier(int[] tableau)
qui prend en paramètre un tableau tri d'entiers et trie ce tableau, par un algorithme de tri de votre choix. Cette méthode sera mise dans une classe nommée Tri.
Notre corrigé utilise un tri par insertion.
Vous ajouterez aussi à la classe Tri une méthode d'en-tête : 
    public static void afficher(int[] tableau)  qui écrit le contenu d'un tableau sur la sortie standard.
La méthode main de la classe EssaiTri.java vous permettra de tester votre travail.


Corrigé :

EssaiTri.java


public class EssaiTri { 
    public static void main(String[] arg) {
 int[] tableau = new int[10];
 tableau[0] = 20;
 tableau[1] = 5;
 tableau[2] = 3;
 tableau[3] = -7;
 tableau[4] = 0;
 tableau[5] = 14;
 tableau[6] = 56;
 tableau[7] = 8;
 tableau[8] = 19;
 tableau[9] = 15;
 
 Tri.afficher(tableau);
 Tri.trier(tableau);
 Tri.afficher(tableau);
    }
}

Tri.java

public class Tri {
 public static void trier(int[] tableau) {
  int i, j, cle;
  
  for (i = 1; i < tableau.length; i++) {
   cle = tableau[i];
   j = i;
   while ((j >= 1) && (tableau[j - 1] > cle)) {
    tableau[j]  = tableau[j - 1] ;
    j = j - 1;
   }
   tableau[j] = cle;
  }
 }
 
 public static void afficher(int[] tableau) {
  for (int valeur : tableau) System.out.print(valeur + " ");
  System.out.println();
 }
}

dimanche 18 novembre 2012

Pour que mon PC ne s’éteint plus en pleine utilisation


La surchauffe

Un PC qui s’éteint seul a souvent comme cause une surchauffe. Souvent aussi, celui-ci refusera de redémarrer parce qu’il se sera mis en sécurité. Face à une surchauffe, la première chose à faire est de se débarrasser des poussières accumulées au cours du temps. Vous allez donc devoir ouvrir votre unité centrale (le boitier où sont connectés les câbles) pour accéder aux parties où s’accumulent les poussières, notamment sur le microprocesseur.

Comment reconnaitre le microprocesseur ?

De manière générale, le microprocesseur est associé avec deux autres composants que sont un radiateur, et 
un ventilateur. Le microprocesseur est placé sous le radiateur qui, lui-même, est placé sous le ventilateur.


Comment se débarrasser des poussières ?

Comme vous pouvez le voir sur la photo ci-dessous, les poussières s’accumulent dans les interstices du radiateur mais aussi sur le ventilateur. Il résulte de cette accumulation une mauvaise circulation de l’air qui réduit l’efficacité du couple ventilateur – radiateur.


Pour éliminer les poussières, surtout n’utilisez pas un pinceau qui peut être source d’électricité statique et donc endommager un composant Utiliser un aspirateur de préférence avec un embout fin en plastique généralement fourni dans les accessoires, comme ci-dessous :

- Eteignez votre PC ;
- Ouvrez votre PC pour pouvoir accéder au microprocesseur ;
- Placez l’embout sur votre aspirateur ;
- Aspirez



Lorsque vous aspirez :
- ne collez pas l’embout sur le ventilateur mais faites en sorte que l’aspiration entraine le ventilateur ;
- ensuite placez l’embout entre deux pales sans forcer, juste posé, puis faites tourner les pales manuellement avec votre embout de façon à aspirer correctement le radiateur.