Problème avec les procédures en Pascal
Résolu/Fermé
A voir également:
- Problème avec les procédures en Pascal
- Turbo pascal download - Télécharger - Édition & Programmation
- My pascal - Télécharger - Édition & Programmation
- Dev-pascal - Télécharger - Édition & Programmation
- Le protocole assure que la communication entre l'ordinateur de pascal et le serveur de visiodoct est car les informations seront avant d'être envoyées. ✓ - Forum Pascal
- Protocoles de communication - Forum Réseau
5 réponses
Utilisateur anonyme
31 juil. 2012 à 23:30
31 juil. 2012 à 23:30
Bonjour
Sans être spécialiste du pascal, il me semble normal qu'on ne puisse pas appeler B ni C depuis D. B et C sont déclarées à l'intérieur de A. Donc elles sont invisibles pour tout ce qui est à l'extérieur de A. D étant à l'extérieur de A, ne peut pas avoir directement accès à l'intérieur de A
Sans être spécialiste du pascal, il me semble normal qu'on ne puisse pas appeler B ni C depuis D. B et C sont déclarées à l'intérieur de A. Donc elles sont invisibles pour tout ce qui est à l'extérieur de A. D étant à l'extérieur de A, ne peut pas avoir directement accès à l'intérieur de A
Utilisateur anonyme
31 juil. 2012 à 23:36
31 juil. 2012 à 23:36
je crois que c'est ça!! je vous le dis, vous êtes spécialiste ^^
merci beaucoup.
merci beaucoup.
Utilisateur anonyme
1 août 2012 à 00:09
1 août 2012 à 00:09
re-salut,
je me demande si dans l'exemple ci-dessus, B et C qui sont déclarée dans A, donc si l'on cherche à appeler A dans B ou C ça renvoie à quoi?
je me demande si dans l'exemple ci-dessus, B et C qui sont déclarée dans A, donc si l'on cherche à appeler A dans B ou C ça renvoie à quoi?
heyquem
Messages postés
759
Date d'inscription
mercredi 17 juin 2009
Statut
Membre
Dernière intervention
29 décembre 2013
131
Modifié par heyquem le 1/08/2012 à 10:57
Modifié par heyquem le 1/08/2012 à 10:57
Je ne connais pas Pascal
Mais si B et C sont déclarées dans A,
faire appeler A dans B, cela veut dire qu'on appelle A dans A.
C'est ce qu'on appelle de la récursion.
Or j'ai regardé: Pascal est un langage avec récursion
Donc l'appel de A dans B définie dans A devrait marcher
Mais à condition que l'appel de A dans B soit capable de trouver A à partir de l'intérieur de B, ce que je ne sais pas concernant Pascal, ça dépend des règles de portée dans Pascal
Par exemple, en Python que je connais mieux,
- si Q est une fonction définie dans une fonction P, on peut faire appeler P de l'intérieur de Q
- mais si S est une fonction définie dans une classe R, on ne peut pas faire appeler R de l'intérieur de S parce que l'espace de noms de la classe R (dans lequel R est connu) n'est pas accessible de l'intérieur de la fonction S:
la portée de la classe R ne s'étend pas à l'intérieur des fonction définies dans la classe, il faut passer explicitement les objets extérieurs aux fonctions définies dans la classe pour que les objets extérieurs aux fonctions de la clase soient connus à l'intérieur de ces fonctions
Mais si B et C sont déclarées dans A,
faire appeler A dans B, cela veut dire qu'on appelle A dans A.
C'est ce qu'on appelle de la récursion.
Or j'ai regardé: Pascal est un langage avec récursion
Donc l'appel de A dans B définie dans A devrait marcher
Mais à condition que l'appel de A dans B soit capable de trouver A à partir de l'intérieur de B, ce que je ne sais pas concernant Pascal, ça dépend des règles de portée dans Pascal
Par exemple, en Python que je connais mieux,
- si Q est une fonction définie dans une fonction P, on peut faire appeler P de l'intérieur de Q
- mais si S est une fonction définie dans une classe R, on ne peut pas faire appeler R de l'intérieur de S parce que l'espace de noms de la classe R (dans lequel R est connu) n'est pas accessible de l'intérieur de la fonction S:
la portée de la classe R ne s'étend pas à l'intérieur des fonction définies dans la classe, il faut passer explicitement les objets extérieurs aux fonctions définies dans la classe pour que les objets extérieurs aux fonctions de la clase soient connus à l'intérieur de ces fonctions
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question