Problème devoir algorithme - procédure

Résolu/Fermé
Bonjour,
voilà j'ai un exercice à faire relativement simple je pense mais voilà j'aimerais comprendre tous les détails est ce que quelqu'un peut m'expliquer ? voici mon exo :
On considère la procédure AB(A,B,C)
Donnée chaïne de caractère A
Donnée Résultat chaine de caractères B
Résultat chaine de caractères C
A<--A+'NON'
B<--B+'ON'
C<--'RA'+A
Retour

Quels sont les affichages réalisés par le morceau de programme suivant :
A<--'ST' ; B<--'M' ; C<--'DA- ; AB(A,B,C) ; Afficher A,B,C ;

A<--'T' ; B<--'ST' ; C<--'CA' ; AB(C,A,B) ; Afficher A+B+C ;
Remarque l'affichage n'a pas nécessairement de signification.

Merci de votre je désire bien comprendre comment cela fonctionne.
Configuration: Windows XP
Firefox 1.5.0.11

35 réponses

  1. Contributeur
    Salut
    La somme de deux chaines de caractères signifie leur concaténation.
    Ainsi "toto"+"titi"="tototiti"
    Du coup, ton exercice :
    A<--'ST' ; B<--'M' ; C<--'DA- ; AB(A,B,C) ; Afficher A,B,C ;
    A sera égal à 'STNON'
    B sera égal à 'MON'
    C sera égal à 'RASTNON'

    A<--'T' ; B<--'ST' ; C<--'CA' ; AB(C,A,B) ; Afficher A+B+C ;
    Attention ici on appelle AB(C,A,B) du coup C vaudra A dans la procédure, etc.
    A sera égal à 'CANON'
    B sera égal à 'TON'
    C sera égal à 'RACANON'

    Si tu veux plus d'explications, n'hésite pas à me demander.
    3
    1. Merci beaucoup c'est à ça que ressemblait ma solution sauf évidemment pour le deuxième morceau de programme, je ne savais pas qu'il fallait inverser A et C.
      Puis je te demander de regarder à deux autres exercices ?
      Merci à toi
      0
    2. Contributeur
      Il ne fallait pas inverser que le A et le C. Mais faire attention à l'ordre.
      fonction sstr(A, B)
      retourner A - B

      si A=5 B=4

      si tu appelles sstr(A,B) tu obtiens 1 et sstr(B,A) tu obtiens -1.
      Les variables dans la fonction n'ont rien à voir avec celles du code.
      Voilà pour les précisions.
      Oui, il n'y a pas de problèmes. Je t'écoute pour la suite.

      Bonne soirée
      0
    3. @fiddyRecoucou,

      Je suis désolée mais je débute et c'est pas facile pour moi mais je veux tout comprendre.

      Peux tu me dire si cet exercice est bon ?

      Étant donné un tableau d’entiers T de N éléments :
      1) Écrire une procédure qui permet d’afficher le contenu de T
      2) Écrire une procédure récursive qui permet d’afficher le contenu de T (commentez votre solution)

      1) Procédure afficher T[ ]
      Lire T[ ]
      Pour I <-- 1 jusqu’à N
      Faire afficher T[ ]
      Fin pour que

      2) Procédure afficher T[ ]
      Lire T[ ]
      I <-- 1
      Tant que I <= N Faire
      I <-- I+1
      Fintq
      Afficher T [ ]

      et dernière question :

      Pour les besoins d’un dessin en noir et blanc, on veut représenter une forme composée de pixels. Pour cela la tache est dans un premier temps visualisée dans une grille comme indiquée ci-dessous. Ensuite on a décidé de coder la tache en indiquant les alternances de points blancs et de points noirs. Ainsi pour la tache prise en exemple on trouverait : (ligne1) 1 Blanc 5 Noirs 2 Blancs

      (ligne 2) 6 Noirs 2 Blancs
      (ligne 3) 6 Noirs 2 Blancs
      (ligne 4) 8 Noirs
      (ligne5) 1 Blanc 5 Noirs 2 Blancs
      (ligne6) 2 Blancs 4 Noirs 2 Blancs
      (ligne7) 2 Blancs 1 Noir 1 Blanc 1 Noir 3 Blancs
      (ligne8) 2 Blancs 1 Noir 5 Blancs

      Pour coder la tache, il suffit alors de vouloir stocker des informations du type :
      1B 5N 2B 6N 2B 6N 2B 8N 1B 5N 2B 2B 4N 2B 2B 1N 1B 1N 3B 2B 1N 5B
      (Mais également la largeur de l’image (ici 8)).
      On veut encore améliorer le codage et pour éviter de stocker les informations ‘couleurs’, on décide que toutes les lignes commenceront par des points blancs (et si le premier point est noir on indiquera qu’il y a zéro point Blanc). Ainsi en reprenant la tache de l’exemple l’alternance correspondra à :
      (1B 5N 2B) (0B 6N 2B) (0B 6N 2B) (0B 8N) (1B 5N 2B) (2B 4N 2B) (2B 1N 1B 1N 3B) (2B 1N 5B) on peut donc se contenter de représenter les nombres (sans les indications B N) et aussi la largeur 8.
      Ainsi le tableau suivant pourra représenter la tache.
      8 1 5 2 0 6 2 0 6 2 0 8 1 5 2 2 4 2 2 1 1 1 3 2 1 5 0 0
      On supposera que l’information largeur (ici 8) se trouve dans la case de N° 0.
      Nota : dans ce codage, on ajoute deux valeurs à 0 pour indiquer qu’il n’y a plus de lignes.
      On considère maintenant le tableau suivant (qui représente une tache)
      14 3 1 2 1 3 1 3 3 4 2 2 3 5 8 1 5 8 1 4 5 5 3 6 5 3 11 3 8 3 5 2 7 5 2 7 0 0

      1) dessinez la tache associée à ce codage.

      pour ça pas de problème j'ai réussi mais après je comprends plus ce que je dois faire peux tu m'expliquer ?

      2) en considérant qu’un tableau TACH contient les informations d’une tache, on veut remplir un tableau LIG avec les informations de la ligne N° I et la variable NB_ALT contenant le nombre d’éléments qui décrivent la ligne (exemple sur la tache prise en exemple en considérant I=5 on aura NB_ALT = 3 et LIG = 1 5 2 dans la représentation sous forme de grille, on suppose que le point en haut à gauche a pour coordonnées (1,1))
      a) Donner en langage naturel (en Français) un algorithme qui permet de remplir le tableau LIG (et initialiser NB_ALT)

      b) Ecrire en langage algorithmique une procédure qui permet de traduire cet algorithme.

      3) On suppose qu’une procédure REMP_LIG(…) est écrite. On veut savoir si un point de
      coordonnées (I,J) (Ligne, Colonne) appartient ou non à la tache (point en noir).
      a) Donner en langage naturel (en Français) un algorithme qui permet de savoir si le point est noir ou non

      b) Ecrire en langage algorithmique une fonction booléenne INT_TACHE qui renvoie
      VRAI si le point de coordonnées (I,J) est dans la tache et FAUX sinon.

      Merci pour tout

      A bientôt
      0
    4. Contributeur
      @fiddySalut
      Euh, tu pourrais pas me donner ton adresse msn en privé plutôt, qu'on voit ça en direct. Trop de truc à lire lol.
      Néanmoins pour le premier exercice :

      1)
      afficher_T (T : tableau, nbElement : entier)
      debut
         pour i de 0 à nbElement faire
              ecrire T[i]
         finPour
      fin
      
      2) version récursive
      afficher_T(T : tableau, nbElement : entier)
      debut
         Si nbElement>0 faire
             ecrire T[nbElement-1]
             afficher_T(T,nbElement-1)
         finSi
      fin
      
      


      Attention dans la version récursive que je t'ai donnée, le tableau s'affiche à l'envers. Mais bon tu peux inverser facilement.
      Sinon je te donne la définition de la récursivité, puisque ta solution n'était pas récursive. Une fonction récursive est une fonction qui se rappelle elle-même, avec des arguments plus simples.

      Voilou.
      0
    5. @fiddySalut Fiddy,

      Ok merci pour les procédures mais il faudra que tu m'expliques si tu as un peu de temps à venir.

      Merci encore à toi
      0
  2. Voici trois exercices simple sur la programmation(pascal) et les algorithmes :
    *facile **moyen ***difficile

    1**)On désire un programme(pascal) qui puisse résoudre des équations du second degrès tout en affichant les étapes de la résolution.

    2***)On désire un programme(pascal) qui convertisse les nombres binaires en décimals et vis-versa.

    3*)On désire un programme(pascal) qui puisse définir les nombres pairs et impairs.
    1
    1. Bonjour, je voudrai b1 avoir des exo resolu sur les algorithme merci et bon courage
      0
    2. Le programme 3 est tres facil et tu le considère comme diffficile
      0
  3. Ma prof ma filer un problème mais les Boolèens je maîtrise pas trops,
    si on pouvait m'expliquer au moins

    5+2>4 ET NON VRAI OU 5-3=2
    5+2>4 ET NON (VRAI OU (5-3=8)
    0
    1. je commence à étudier ça aussi c'est vrai que c'est tendu au début ;

      en tout cas il faut commencé par le NON qui est prioritaire

      le NON VRAI devient FAUX

      5-3=2 est donc VRAI

      5+2>4 est vrai aussi

      apres la aussi je coince un peu pour le ET et OU

      si toutes les valeurs sont VRAI avec un ET ça reste donc VRAI sinon avec un OU il te faudra au moins une valeur ;)

      J'espère tu saura te débrouiller avec ceux que je t'ai donner bon courage.
      0
      1. Bonjour,
        je suis en bts informatique de gestion option developpeur d'application qui peut m'aider a comprendre les parametres des fonction c'est à dire comme utilsé un parametre en entre , en sortie et en entré et sortie et jai pa compris comment les valeur sont ecrasé si vous pouvez m'aider surs ces point ca me fera palsir je vous remercie d'avance
        0
        1. Bonjour,
          Je cherche un programme pascal faisant un tri par insertion. Je suis nul en programation pascal
          1
          1. le programme pascal est trés facile ilfaut le connaitre c'est tous ?
            si tu as besoin du tri di le moi ok
            a+
            0
            1. svp j'ai besoin d'une fonction pour langage C
              c une fonction recursive qui permet d'afficher l'image miroir d'un arbre c a direen inversant les fils de chaque noeud de l'arbre
              merci à tous
              0
              1. Bonjour, C'est quoi le role de selon dans l'algorithme
                1
                1. c'est la structure algorithmique qui utilise plusieurs traitement , le sélecteur doit étre scalaire direct ( entier , caractére).
                  ou bien :
                  selon ... faire .... est applicable que si la variable est de type scalaire (entier , caractére) et elle n'est pas applicable pour le type reel .
                  variable =
                  selon variable faire
                  choix1:trait1
                  ........
                  .......
                  .........
                  .......
                  ..........
                  ..........
                  fin selon
                  0
              2. Contributeur
                Salut,

                Je ne comprends pas ta phrase. Le rôle de quoi ?
                0
                1. salut
                  je suis qu'un amateur en matière d'algorithme
                  mais selon moi un selon permet essentiellement de faire des menus
                  0
                  1. Bonjour !
                    En fait un simple tableau de vérité peut aider à mieux comprendre tout ça :

                    Logique VRAI FAUX:
                    Note : "V" veut dire VRAI et "F" veut dire FAUX.
                    Soient p et q deux assertions.
                    a|b| p ou q | p et q |
                    V|V| V | V |
                    V|F| V | F |
                    F|V| V | F |
                    F|F| F | F |

                    Logique binaire :
                    Note : "+" veut dire OU, et le point "." veut dire ET.
                    a|b| a+b | a.b |
                    0|0| 0 | 0 |
                    0|1| 1 | 0 |
                    1|0| 1 | 0 |
                    1|1| 1 | 1 |
                    0
                    1. Bonjour, je veux des exercices sur les algorithme d'un ficher et d'un texte
                      0
                      1. sslt
                        rejoin moi sur msn et tu vas avoir des exercices , si tu comprend turbo pascal raison de plus .
                        a+
                        0
                    2. etablir un module recurcive qui permet d'inverser un tableau T de n entier ?????????????
                      AIDEZ MOI PLAESE
                      0
                      1. Merci j'ai un petit problème ue vous pouver m'aider

                        Ecrire un programme permettant d'exécuter les calculs salarials des agans d'une entreprise.Chaque agens set repeésenterpar:
                        .son N°matricul, son nom , son service, sa fonction, le taux-horaire, le nombre de jours présté, le prime spécial , le salaire de base ,le salaire net à payé.Nous supposerons que le taux-horaire pour tous les agens est fixé à 6.30$ et le nombre maximal d' heures passer par jours enservice est de 8heures.Veuilllez calculer également l'envéloppe salariale qui la somme de taous le salaire net àpayé.
                        1
                        1. jai un devoir à faire dans l'algorithme mais je trouve une diffuculté à comprendre bien cette leçon
                          voila l'exercice
                          proposer une variable pour stocker l'information dans le cas suivants
                          l'age d'un elève
                          le taux de tva
                          le nom d'un ouvrier
                          la situation familiale d'une personne
                          dans chaque cas donner un identificateur de la variable et préciser son type
                          voila l'exercice j'espère recevoir votre réponse
                          2
                          • 1
                          • 2