Pseudocode: une définition claire?

voix
5

Le code suivant est un exemple de ce que je pense serait considéré comme pseudo-code, car il n'exécute pas dans toutes les langues, mais la logique est correcte.

string checkRubric(gpa, major)
    bool brake = false
    num lastRange
    num rangeCounter
    string assignment = unassigned
    array bus['business']= array('person a'=>array(0, 2.9), 'person b'=>array(3, 4))
    array cis['computer science']= array('person c'=>array(0, 2.9), 'person d'=>array(3, 4))
    array lib['english']= array('person e'=>array(0, 4))
    array rubric = array(bus, cis, lib)

foreach (rubric as fieldAr)
    foreach (fieldAr as field => advisorAr)
        if (major == field)
            foreach (advisorAr as advisor => gpaRangeAr)
                    rangeCounter = 0
                foreach (gpaRangeAr as gpaValue)
                    if (rangeCounter < 1)
                        lastRange = gpaValue
                    else if (gpa >= lastRange && gpa <= gpaValue)
                        assignment = advisor
                        brake = true
                        break
                    endif
                    rangeCounter++
                endforeach
                if (brake == true)
                    break
                endif
            endforeach
            if (brake == true)
                break
            endif
        endif
    endforeach
    if (brake == true)
        break
    endif
endforeach
return assignment

Pour les deux dernières semaines, j'ai essayé de créer une définition claire de ce pseudo-code est en réalité. Est-ce par rapport au programmeur ou est-il une syntaxe réelle clearcut? Je dis pseudocode est un code qui n'exécute pas, et vous? Merci (liens à cet accueil sujet)

Créé 22/03/2010 à 03:43
source utilisateur
Dans d'autres langues...                            


8 réponses

voix
3

Sans vergogne arraché de Wikipédia :

Pseudocode est une description de haut niveau compact et informel d'un algorithme de programmation informatique qui utilise les conventions structurelles d'un langage de programmation, mais est destiné à la lecture humaine plutôt que la lecture de la machine. Pseudocode omet généralement des détails qui ne sont pas essentiels à la compréhension humaine de l'algorithme, comme les déclarations variables, le code spécifique au système et sous-routines.

Il y a beaucoup de code qui n'exécute pas. Cela ne veut pas dire qu'il est pseudocode. Votre « psuedocode » a beaucoup de choses supplémentaires que les non-programmeurs ne comprendront pas. Au lieu d'être pseudo-code, votre langage « psuedocode » est très, très proche d'une langue réelle.

Créé 22/03/2010 à 03:51
source utilisateur

voix
0

Mes deux cents à ce sujet:

Je dis pseudocode est un code qui n'exécute pas, et vous? Merci (liens à cet accueil sujet)

Ce n'est pas ce que je pense en pensant à sa définition. Un pseudo-code sont les étapes de votre programme prendra pour accomplir une tâche plus en détail que de décrire l'algorithme serait.

Une chose en particulier que je trouve extrêmement important sur la façon d'écrire un pseudo-code est que, il doit être compris par tout le monde pour que chaque individu à « port » à sa langue désirée. En d'autres termes, il ne doit être la langue agnostique.

Tout comme une critique constructive, je ne considère pas votre exemple comme pseudo-code pour diverses raisons, mais, surtout parce que, vous utilisez la syntaxe et les conventions qui ressemble à un langage de programmation. Je dis pseudocodes devrait être la langue de programmation agnostique pour être port à plusieurs langages de programmation actuels par des personnes différentes.

EDIT: Probablement une règle plus que je voudrais ajouter à ma définition est que, il doit ressembler le langage humain qu'un langage de programmation. Comme dans, égal à égal au lieu de ==, assigner au lieu de =. La raison derrière cela est que, par exemple, les opérateurs d'affectation et l' égalité sont différentes dans différentes langues.

Créé 22/03/2010 à 03:51
source utilisateur

voix
7

Il n'y a pas de définition fixe de pseudocode. Il est une notation que vous attendez votre auditoire à comprendre pour obtenir votre point de vue. L'idée importante est qu'il est destiné à lire aux humains, pas des ordinateurs, donc il ne doit pas être précis. Vous pouvez inclure les détails qui sont importants pour votre exposé, et omettre ceux qui ne sont pas.

Créé 22/03/2010 à 03:52
source utilisateur

voix
1

Pseudocode devrait, en théorie, être indépendante de mise en œuvre. Il présente les étapes logiques dans un langage simple de ce qu'il faut faire. Il est destiné à l'interprétation humaine, pas l'exécution de la machine.

L'exemple de l' OP est un peu plus proche de code réel que pseudocode. Par exemple, ++on ne trouve pas dans toutes les langues. Il pourrait aussi avoir un sens très différent dans d' autres.

Créé 22/03/2010 à 03:52
source utilisateur

voix
1

Eh bien, si je ne suis pas compiler / lier mon code C ++, il ne sera pas exécuté, donc je ne pense pas « Code qui n'exécute pas » est une définition acceptable.

De même langages de script ne sont pas exécutées, ils sont souvent interprétés.

Ma définition du code pseudo serait:

« [Concise] Le code qui est la syntaxe agnostique, écrit pour transmettre une fonction, le comportement ou l'algorithme. » »

Créé 22/03/2010 à 03:53
source utilisateur

voix
1

pseudo-code est une explication lisible par l'homme compact, d'un algorithme ou un programme. Étant donné que votre programme n'est pas lisible pour moi, je dirais que c'est pas tout à fait pseudo-code. Voici un exemple de pseudo-code:

somme def (x):
    result = 0
    pour chaque entrée de x:
        ajouter l'entrée en cours pour résultat
    résultat du rapport

Ou, dans un style légèrement différent:

somme (x):
   Soit x un tableau
   Que résultat soit un nombre entier représentant le résultat, initialement 0

   pour objet x:
       résultat + = item

   return result

Vous pouvez utiliser des éléments d'une syntaxe particulière (et, en fait, mon pseudo-code a tendance à regarder un peu comme Python), mais il doit être compréhensible par un large public et ne doit pas être obstruée par la syntaxe. Par exemple, utiliser « + = », mais c'est parce qu'il est très compact et pratique, non pas parce qu'il est nécessaire. Si vous avez trouvé « endforeach » utile et pratique dans votre exposé, il aurait été ok; cependant, je dirais qu'une telle chose ne fait pas partie de pseudo-code comme il semble plus utile que lésinaient ou explicatif.

Créé 22/03/2010 à 04:01
source utilisateur

voix
0

Pseudocode est ce que vous écrivez sur le tableau blanc si vous voulez obtenir vos idées rapidement et clairement. Dans la pratique, pour moi, il est beaucoup plus comme un langage de script typées, mais avec des exigences beaucoup plus souple syntaxiques. Pour moi, il ressemble beaucoup à C parce que, franchement, la plupart des programmeurs digèrent une langue qui est une variante sur la syntaxe C et si l'intuition est plus facile pour plus de gens (il sert à ressembler à Pascal, mais c'est parce que c'était l'une des premières langues I appris à l'école).

Créé 22/03/2010 à 04:03
source utilisateur

voix
1

Un aperçu d'un programme écrit sous une forme qui peut facilement être converti en instructions de programmation réelles.

Pseudocode ne peut pas être compilé ni exécuté, et il n'y a pas de vraies règles de formatage ou de syntaxe. Il est tout simplement une étape - une importante - dans la production du code final. L'avantage de pseudocode est qu'il permet au programmeur de se concentrer sur les algorithmes sans se soucier de tous les détails syntaxiques d'un langage de programmation.

Créé 29/05/2012 à 06:42
source utilisateur

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more