Votre question

type caractère (ADA)

Tags :
  • Programmation
Dernière réponse : dans Programmation
30 Octobre 2005 19:03:23

Il faut que j'écrive un programme qui affiche le nombre de lettres majuscules, de lettres minuscules et de chiffres contenus dans une ligne de texte sachant que ces trois groupes de caractères forment des intervalles distincts dans le code LATIN-1.

Je n'arrive pas à cerner le problème, je ne trouve aucun point de départ pour écrire mon algorithme.
Pouvez vous m'aider en me donnant des indications pour éclaircir le problème svp?

Merci

Autres pages sur : type caractere ada

30 Octobre 2005 20:53:11

utilise la fonction character'pos('x')

cela te donnera la valeur ASCII de ta lettre.

tu n'a alors plus qu'a comparer les valeurs ASCII des caractères contenu dans ton texte avec les intervales des caracters 'a'..'z' , 'A'..'Z' , '0'..'9' et tu verra a quel interval le caracter appartiendra !
31 Octobre 2005 14:47:31

Mais comment puis je lire les caractères?
Y a til une fonction déjà prévu?
Je ne vois pas comment commencer
Contenus similaires
Pas de réponse à votre question ? Demandez !
31 Octobre 2005 17:13:37

tu dois d'abord ouvrir un fichier (celui contenant ton texte) la fonction a utiliser est : open() (cherche la documentation sur internet)
ensuite pour récupérer une ligne de ton fichier texte tu devra utiliser la fonction : Get_Line() (pareil, cherche la doc sur le net) ou Get() pour un seul caractère.
et à la fin, utilise la fonction : Close()

voila tu devrai pouvoir terminer ton programme avec ce que je t'ai dis.

question : c'est un TP pour l'école ca ?
31 Octobre 2005 17:13:43

*Double Post*
1 Novembre 2005 20:08:44

J'ai essayer un programme mais il n'est pas encore correct, il ne donne pas le bon résultat mais je ne vois pas pourquoi

Avez vous une idée?

with ada.text_io, ada.integer_text_io;
procedure caractere is
A,B,C: Integer;
ligne : character;
begin
ada.text_io.put("saisir une ligne de texte :");
ada.text_io.get(ligne);
A:=0;
B:=0;
C:=0;
for X in Character'First..Character'Last loop
if Character'Pos('A')<=Character'Pos(X)
and Character'Pos(X)<=Character'Pos('Z') then
A:=A+1;
end if;
if Character'Pos('a')<=Character'Pos(X)
and Character'Pos(X)<=Character'Pos('z') then
B:=B+1;
end if;
if Character'Pos('0')<=Character'Pos(X)
and Character'Pos(X)<=Character'Pos('9') then
C:=C+1;
end if;
end loop;
Ada.Text_Io.Put("nombre de lettres majuscules :"); Ada.integer_Text_Io.Put(A);
Ada.Text_Io.new_line;
Ada.Text_Io.Put("nombre de lettres minuscules :"); Ada.integer_Text_Io.Put(B);
Ada.Text_Io.new_line;
Ada.Text_Io.Put("nombre de chiffres :"); Ada.integer_Text_Io.Put(C);
Ada.Text_Io.new_line;
end;

pour répondre à ta question, c'est bien un TP pour la fac que j'ai à faire.
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS