Programmation sous Java(Scool) (niveau lycée, ISN),
Répondre à la discussion
Affichage des résultats 1 à 17 sur 17

Programmation sous Java(Scool) (niveau lycée, ISN),



  1. #1
    catherine1s1

    Unhappy Programmation sous Java(Scool) (niveau lycée, ISN),


    ------

    Bonjour,
    Alors je suis en Terminale S et j'ai choisi la spécialitée informatique dans mon lycée.
    Cependant j'ai énormément de difficulté dans la programmation sur Java Scool(Java en plus simplifié?).. Je comprend seulement une fois le que le professeur explique..
    Les démarches ne viennent pas de moi-même et ça me perturbe! !
    J'ai une activité à faire pour demain mais vu que j'ai des points qui ne sont pas clairs je viens ici pour voir si vous pouvez m'éclairer un peu plus.. et voir si je peut résoudre le problème de l'activité !

    Alors je vous donnes déjà ce que j'ai pu retenir de fondamentale .. :
    Pour la variable d'un entier on utilise int, j'ai vu les boucles for (pour),while (tant que) et if (si), le println, le morceau indispensable du début (void main et les accollades) bref.. les bases quoi qui peuvent m'échapper par moment!

    Sinon alors nous avons commencer un nouveau proglet la semaine dernière celui appelé TxtCode.
    Pour commencer nous avions eu un texte à ouvrir dans le programme et nous avions comme consigne :
    "Tranformer les minuscules en MAJUSCULES. Précisions : Tous les caractères autres que des caractères alphabétiques sont remplacés par des espaces. On conserve les sauts de lignes..

    Je l'avais fait en classe mais j'aimerais le refaire pour mieux comprendre,je n'y arrive plus..
    Avancement : Je sais qu'à la fin d'un texte le dernier caractère vaut -1, pour lire chaque lettre il faut utiliser la fonction ReadNextCode.. et les espaces valent 32 en hexadecimale?

    Mais du coup je bloque à partir d'ici je ne sais pas mettre en forme ce dont j'ai besoin! Je n'arrive pas à me retrouver dans la table ascii mais je sais qu'il faut trouver la plage de valeur où les caractères sont en minuscules et les mettre en lien avec les majuscules..
    Mon fichier s'apelle : "balzac.txt"

    Auriez-vous des pistes pour me diriger ?
    J'attend avec impatience votre réponse, j'espère avoir été assez claire (J'aurais aussi besoin d'un petite explication pour me retrouver dans la table ascii si possible)


    J'ai ensuite après 3 mini-activités : Compte le nombre de caractères, le nombre de mots (prenant compte des espaces donc?), et compter le nombre de phrases (le plus dure jusqu'ici pour moi..)
    Je sent que je suis complètement noyée lol!!

    Merci à bientôt (ah oui j'attend vos questions s'il y a des problème si je n'ai pas été assez claire ^^)

    -----

  2. #2
    Arzhur

    Re : Programmation sous Java(Scool) (niveau lycée, ISN),

    Bonjour,

    Mais du coup je bloque à partir d'ici je ne sais pas mettre en forme ce dont j'ai besoin!
    Souvent une bonne marche à suivre pour se débloquer est d'analyser comment on procède "à-la-main" puis de le faire faire par le programme


    Je n'arrive pas à me retrouver dans la table ascii mais je sais qu'il faut trouver la plage de valeur où les caractères sont en minuscules et les mettre en lien avec les majuscules..
    Là tu essaye de te souvenir de la correction....qu'est-ce qui te dérange dans la table ascii ?

  3. #3
    vilveq

    Re : Programmation sous Java(Scool) (niveau lycée, ISN),

    Sinon, en Java, pour transformer un String de minuscule en majuscule tu as (public String toUpperCase()).
    Et pour remplacer des caractères par d'autres tu as (public String replaceAll(String regex, String replacement))

  4. #4
    catherine1s1

    Re : Programmation sous Java(Scool) (niveau lycée, ISN),

    Bonjour, effectivement je devrais appliquer cette méthode.
    Alors j'ai repris les cours j'ai relis depuis les bases je comprend un peu mieux les bases.

    Maintenant dans mon programmes j'ai pris la base du programme source pour lire le texte avec le proglet texte et j'ai ouvert mon fichier en remplaçant le nom du fichier.
    Ensuite j'ai revu la table ascii sur le net et il y en a une avec chaque caractère qui correspondent avec une valeur, c'est table que je cherchais et que je n'avais pas dans le cours pour comprendre facilement.
    (Une petite question on trouve des tables ascii en héxadeximale mais la plus simple c'est celle avec les combinaisons d'un nombre et d'un caractère, ce nombre correspond à quoi? c'est la valeur décimale?)

    Ok, maintenant je me rapelle qu'on a créer une variable :
    une boucle tant que c (le caractère) n'est pas égale à -1 (!= -1) on lis les caractères à la suite (readNexCode).. Les virgules etc.. compte comme un espace

    J'ai vu que les majuscules sont dans l'intervalle [65;90] et les minuscules [97;122] et de là je ne sais plus comment procéder pour les convertir en Majuscules?
    Littéralement ça donnerai Tant que c>97&&c<122 cela donne ..?

    Oula je suis perdu ^^'
    Merci d'avoir répondu
    Voici le début de mon programme :


    Code:
    void main() {
        int c;
        openFileReader("balzac.txt");
        c = readNextCode();
        while (c != -1) {
            afficheCodeAuFormatCar(c);
            c = readNextCode();
            println(
        } // End While
        closeFileReader();
    }
    Dernière modification par JPL ; 08/10/2014 à 16h35. Motif: Ajout de la balise Code (#) pour garder l'indentation

  5. A voir en vidéo sur Futura
  6. #5
    Arzhur

    Re : Programmation sous Java(Scool) (niveau lycée, ISN),

    Sinon, en Java, pour transformer un String de minuscule en majuscule tu as (public String toUpperCase()).
    Et pour remplacer des caractères par d'autres tu as (public String replaceAll(String regex, String replacement))
    Sauf que y'a pas de String ici...que des int (ou alors tu sors considérablement de l'usage "normal" de la proglet)

  7. #6
    catherine1s1

    Re : Programmation sous Java(Scool) (niveau lycée, ISN),

    Bonjour vilveq, j'ai bien compris que c'est une fonction mais je n'avais pas utilisé cette méthode là en cours donc je pense que ce n'est pas de notre niveau pour l'instant
    Quoique votre méthode doit être beaucoup plus simple

    Bonne journée

  8. #7
    Arzhur

    Re : Programmation sous Java(Scool) (niveau lycée, ISN),

    Littéralement ça donnerai Tant que c>97&&c<122
    Nope, ou alors tu as mal écris l'intervalle.


    je ne sais plus comment procéder pour les convertir en Majuscules?
    Comment ferais-tu si tu devais le faire "à-la-main" ?


    Ok, maintenant je me rapelle qu'on a créer une variable :
    Oula je suis perdu ^^'
    J'ai l'impression que tu fais plus appel à ta mémoire que tes neurones...essaye de décrire ton algo avec des mots simples puis ensuite tu attaqueras la traduction en java

  9. #8
    catherine1s1

    Re : Programmation sous Java(Scool) (niveau lycée, ISN),

    Bon recommençons donc les minuscules se trouvent dans l'intervalle [97;122] et les majuscules dans [65;90].

    A la main si j'ai "a" cela me donne "A"? c'est bien cela que vous demandez ^^'? Ou vous dire ma démarche à proprement parler? Je suis trop confuse désolé..

    Oui haha j'ai souvent recours à ma mémoire ce n'est pas bien! Mais j'arrive pas à me le sortir cette algorithme ..


    Ce que je peut ajouter :

    Si les caractères sont compris dans l'intervalle [97;122] alors affecter à ces caractères les valeurs dans [65;90].. ? Bonne voie?

  10. #9
    Arzhur

    Re : Programmation sous Java(Scool) (niveau lycée, ISN),

    A la main si j'ai "a" cela me donne "A"? c'est bien cela que vous demandez ^^'?
    Voilà, maintenant il faut se mettre "à la place du programme"....il ne sait pas ce que c'est 'a' ou 'A'...il n'a que des chiffres (le fameux c = readNextCode()



    Si les caractères sont compris dans l'intervalle [97;122] alors affecter à ces caractères les valeurs dans [65;90].. ? Bonne voie?
    Oui, mais c'est encore trop compliqué : que veut dire "affecter à ces caractères les valeurs dans [65;90]"

  11. #10
    catherine1s1

    Re : Programmation sous Java(Scool) (niveau lycée, ISN),

    a donnerai A donc 97 donnera 65 et à chaque fois que la valeur d'un caractère augmente de telle on augmente de telle pour obtenir la majuscule..
    Il y a donc 2 variables??

    C'est bien ça que je cherche dans mon programme : affecter une valeur..
    Pensez-vous que je si je comprend la solution de ce programme je puisse réussir le programme pour compter le nombre caractères, de mots et de phrases d'ici ce soir x)))!
    Dans le pire des cas je préfère approfondir avec le professeur s'il le veut bien :/.. je reviendrais vous embêter une fois que j'aurais tout compris ..
    Autre piste ^_^?

    Merci encore!

  12. #11
    catherine1s1

    Re : Programmation sous Java(Scool) (niveau lycée, ISN),

    Je sais que il y a du if là-dedans.. Si la lettre est une minuscule alors lui donner la valeur.. pour qu'elle soit en majuscule

  13. #12
    Arzhur

    Re : Programmation sous Java(Scool) (niveau lycée, ISN),

    a donnerai A donc 97 donnera 65 et à chaque fois que la valeur d'un caractère augmente de telle on augmente de telle pour obtenir la majuscule..
    diminue..mais oui tu peux le voir comme ça. Tu peux aussi faire : SI j'ai 97 ALORS je retourne 65 (et ainsi de suite....c'est vachement plus long à écrire mais ça marche )

    Il y a donc 2 variables??
    Tu peux en utiliser deux si tu veux. Je suis sûr que ton prof en a utilisé qu'une, mais l'important (a mon sens) n'est pas d'obtenir exactement la même chose que la correction...mais que l’algorithme soit bon


    Pensez-vous que je si je comprend la solution de ce programme je puisse réussir le programme pour compter le nombre caractères, de mots et de phrases d'ici ce soir x)))!
    Je pense que la conversion minuscule/majuscule alors vachement plus compliqué que de compter les mots/phrase...donc oui (mais ça dépend pas vraiment de moi)

    Dans le pire des cas je préfère approfondir avec le professeur s'il le veut bien :/.. je reviendrais vous embêter une fois que j'aurais tout compris
    C'est pas idiot de demander de l'aide a son prof : c'est son métier !

    Autre piste ^_^?
    Pour quel problème ? De ce que je vois tu as tout pour la conversion minuscule/majuscule ( ou alors tu n'as pas compris la première phrase de ta réponse)
    Ensuite il faudra traiter la deuxième partie du problème (le remplacement des caractères non-alphabétique).
    Dernière modification par Arzhur ; 08/10/2014 à 16h07.

  14. #13
    Arzhur

    Re : Programmation sous Java(Scool) (niveau lycée, ISN),

    Je sais que il y a du if là-dedans.. Si la lettre est une minuscule alors lui donner la valeur.. pour qu'elle soit en majuscule
    Oui...maintenant il faut trouver un lien entre la valeur en minuscule et la valeur en majuscule. Pour justement pouvoir passer de l'une à l'autre.

  15. #14
    catherine1s1

    Re : Programmation sous Java(Scool) (niveau lycée, ISN),

    Voici le début :

    Code:
    void main() {
        int c;
        openFileReader("balzac.txt");
        c = readNextCode();
        while (c != -1) {
            afficheCodeAuFormatCar(c);
            c = readNextCode();
        } // End While
        if (c>=97||c<=122)
        {
        println(nb de carac);
        closeFileReader();
    }
    Je bloque à cette endroit.. je n'arrive pas à voir comment intégrer les valeurs 65;90 de façon à donner l'ordre de changer en majuscules.
    Dernière modification par JPL ; 08/10/2014 à 16h36. Motif: Ajout de la balise Code (#) pour garder l'indentation

  16. #15
    Arzhur

    Re : Programmation sous Java(Scool) (niveau lycée, ISN),

    Je bloque à cette endroit.. je n'arrive pas à voir comment intégrer les valeurs 65;90 de façon à donner l'ordre de changer en majuscules.
    Là y'a pas de secret, c'est le côté artistique de la programmation : soit tu vois une manière élégante de le faire, soit non et tu bourines !


    Je te cite : "a donnerai A donc 97 donnera 65 et à chaque fois que la valeur d'un caractère augmente de telle on augmente de telle pour obtenir la majuscule..
    Il y a donc 2 variables??"

    tu peux écrire sur un papier la valeur d'une lettre puis à côté la valeur de sa majuscule...et voir si tu trouves un moyen simple de passer de l'un à l'autre.

  17. #16
    catherine1s1

    Re : Programmation sous Java(Scool) (niveau lycée, ISN),

    Je vous remercie d'avoir pris le temps de m'expliquer ça m'a quand même permis d'approfondir certaines recherches, et de connaître + de chose malgré que je n'ai toujours pas résolu ce problème.
    Moi et l'info ça fait 2.. ça me confirme qu'il ne faut absolument pas que j'aille dans cette voie (à reconfirmer dans les prochains moi)
    Bien le bonsoir, et merci encore!

  18. #17
    fred1599

    Re : Programmation sous Java(Scool) (niveau lycée, ISN),

    En un autre langage (ça se ressemble)

    Code:
    >>> s = 0
    >>> marqueur = -1
    >>> depense = int(input("Entrer une dépense: ")) # demande d'un entier
    Entrer une dépense: 50
    >>> while depense > marqueur:
    ...     s = s + depense
    ...     depense = int(input("Entrer une dépense: ")) # demande d'un entier
    ... 
    Entrer une dépense: 50
    Entrer une dépense: -1
    >>> print(s) # Affichage de s
    100

Discussions similaires

  1. Programmation sous Android (JAVA) avec Eclipse
    Par invite5c98d667 dans le forum Programmation et langages, Algorithmique
    Réponses: 0
    Dernier message: 13/03/2013, 10h12
  2. Programmation Java
    Par flolarajasse dans le forum Programmation et langages, Algorithmique
    Réponses: 2
    Dernier message: 03/10/2012, 11h33
  3. Java Programmation
    Par livre dans le forum Logiciel - Software - Open Source
    Réponses: 9
    Dernier message: 27/01/2006, 21h58
  4. Java programmation
    Par invite56460777 dans le forum Logiciel - Software - Open Source
    Réponses: 4
    Dernier message: 21/04/2005, 21h17
  5. programmation java
    Par invite49182f81 dans le forum Internet - Réseau - Sécurité générale
    Réponses: 2
    Dernier message: 24/04/2003, 21h24