A voir également:
- Écrire un programme qui teste si un carré est magique
- Algorithme euromillion excel gratuit - Forum Excel
- Ecrire un algorithme qui permet de resoudre ax²+bx+c=0 - Forum Algorithmes / Méthodes
- Logiciel algorithme gratuit - Télécharger - Édition & Programmation
- Un algorithme sur excel ou un logiciel à programmer - Forum Logiciels
- Logiciel algorithme euromillion - Télécharger - Loisirs créatifs
3 réponses
SVP, est ce que l'algorithme suivant est correcte :
Procédure carré(n : Entier; Var T: Tableau[1..n,1..n] de Entier)
Var
i, j, L, C : Entier
Début
C <-- (n + 1) Div 2
T[1,C] <-- 1
i<-- 1
L<-- 1
TantQue (i <= n^2) Faire
Si(i Mod n = 0) Alors
L <-- L + 1
Sinon
Si(L = 1) Alors
L <-- n
Sinon
L<-- L – 1
FinSi
Si(C = 1) Alors (* débordement de colonne *)
C <-- n
Sinon
C<-- C – 1
FinSi
FinSi
i <-- i + 1
T[L,C] <-- i
FinTQ
Fin
Modifié par yg_be le 11/12/2016 à 20:17
Et indente tes lignes, pour rendre plus lisible tes if, tantque. Plus c'est clair, plus les erreurs sont visibles.
Quelques remarques :
(1) tu ne vérifies pas que n est impair
(2) tu as choisi de ne pas respecter la consigne "Si on tombe sur une case déjà occupée", et, au contraire, de vérifier "Si(i Mod n = 0) Alors", au lieu de vérifier que la cellule de destination est déjà occupée
(3) tu fais "L <-- L + 1" sans vérifier que L n'est pas la dernière ligne du tableau
11 déc. 2016 à 20:30
11 déc. 2016 à 20:33
Et indente tes lignes, pour rendre plus lisible tes if, tantque. Plus c'est clair, plus les erreurs sont visibles.
Quelques remarques :
(1) tu ne vérifies pas que n est impair
(2) tu as choisi de ne pas respecter la consigne "Si on tombe sur une case déjà occupée", et, au contraire, de vérifier "Si(i Mod n = 0) Alors", au lieu de vérifier que la cellule de destination est déjà occupée
(3) tu fais "L <-- L + 1" sans vérifier que L n'est pas la dernière ligne du tableau
(4) à quoi sert j?
11 déc. 2016 à 20:41