Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 18/08/2018, à 22:43

ludo77

[RESOLU] probleme avec bwbasic (erreur segmentation)

bonsoir,

j'ai recopié un programme en basic:

multiplication.bas

#! /usr/bin/env bwbasic

10 rem *Apprenons les multiplications *
20 rem auteur Jean Pierre Brunerie
30 rem Copyright ordi individuel et auteur
40 rem ************************************
100 gosub 1000
110 if A=1 then 140
120 gosub 2000
130 goto 110
140 gosub 3000
150 end
1000 rem ***********************************
1010 rem initialisation
1020 print "BONJOUR"
1030 print
1040 gosub 4000
1050 print
1060 print "ETES-VOUS FORT-F,MOYEN-M,NUL-N"
1070 input R$
1080 if R$="" then 1060
1090 if R$="F" then B=3: goto 1130
1100 if R$="M" then B=2: goto 1130
1110 if R$="N" then B=1: goto 1130
1120 goto 1060
1130 print "ETES-VOUS RAPIDE-R,MOYEN-M,LENT-L"
1140 input R$
1150 if R$="" then 1130
1160 if R$="R" then TI=300: goto 1200
1170 if R$="M" then TI=600: goto 1200
1180 if R$="L" then TI=900: goto 1200
1190 goto 1130
1200 input "UN NOMBRE,SVP";C
1210 rem -------
1220 for I=1 to C
1230 X=RND(X+C)
1240 NEXT I
1250 rem ------
1260 rem ------
1265 dim D(9,9):restore 10000
1270 for I=1 to 9
1280 rem -----
1290 for J=1 to 9
1300 READ D(I,J)
1310 NEXT J
1320 rem -----
1330 next I
1340 rem -----
1350 RETURN
2000 rem -----------------------------------------
2010 rem EXECUTION DE LA MULTIPLICATION
2020 rem ----------
2025 dim E(3)
2030 for I=1 to 3
2040 E(I)=0
2050 NEXT I
2060 rem ----
2070 P=0
2080 rem ------
2090 for i=1 to 3
2100 X=RND(X+C)
2110 Y=INT(X*10)
2120 if Y=0 then 2100
2130 X=RND(X+C)
2140 Z=INT(X*10)
2150 if Z=0 then 2130
2160 if D(Y,Z)=B then 2190
2170 PRINT "PATIENCE"
2180 goto 2100
2190 E(I)=Y*Z
2200 if I=1 then 2240
2210 if I=2 then 2230
2220 if E(I)=E(I-2) then 2100
2230 if E(I)=E(I-1) then 2100
2240 PRINT Y;" MULTIPLIE PAR ";Z;" EGAL "
2250 Q=0
2260 U=TI
2270 input W
2280 V=TI
2290 if V-U>TI then print "QUE C'EST LENT":Q=1
2300 if E(I)=W then P=P+1:print "EXACT": goto 2320
2310 print "FAUX.";Y;" FOIS ";Z;" EGAL "; E(I)
2320 if Q=1 and E(I)=W then P=P-1
2330 NEXT I
2340 rem ------
2350 if P=3 then B=B+1
2360 if B=4 then A=1: goto 2440
2370 if P=0 or P=1 then B=B-1
2380 if B=0 then B=1
2390 print
2400 if B=3 then print "VOUS ETES FORT"
2410 if B=2 then print "VOUS ETES MOYEN"
2420 if B=1 then print "VOUS ETES NUL"
2430 print 
2440 return
3000 rem ----------------------------
3010 rem FIN DU CALVAIRE
3020 print
3030 print "BRAVO, VOUS ETES TRES FORT"
3040 RETURN
4000 rem -------------------------------
4010 rem PRESENTATION
4020 print "APPRENONS DONC LES MULTIPLICATIONS"
4030 print
4040 print "VOUS ETES SUPPOSE ETRE :"
4050 print "- FORT - LETTRE F"
4060 print "- MOYEN - LETTRE M"
4070 print "- NUL -LETTRE N"
4080 print "CECI AU DEBUT DU JEU"
4090 print
4100 print "PUIS VOUS ETES SUPPOSE ETRE :"
4110 print "- RAPIDE - LETTRE R"
4120 print "- MOYEN - LETTRE M"
4130 print "- LENT -LETTRE L"
4140 print
4150 print "A CHAQUE FOIS, ON VOUS POSE"
4160 print "TROIS MULTIPLICATIONS"
4170 print
4180 print "TROIS BONNES REPONSES:VOUS PROGRESSEZ"
4190 print "DEUX: VOUS RESTEZ AU MEME NIVEAU"
4200 print "ZERO OU UNE: VOUS REGRESSEZ"
4210 print 
4220 print "AVEZ-VOUS BIEN COMPRIS"
4230 gosub 9000
4240 if R$="O" then 4290
4250 print
4260 print "ALORS RELISEZ ATTENTIVEMENT"
4270 print
4280 goto 4000
4290 print ""
4300 return
9000 rem ---------------------
9010 rem TEST DE LA REPONSE
9020 input R$
9030 if R$<>"O" and R$<>"N" then 9020
9040 return
9050 rem ----------------------
10000 data 1,1,1,1,1,1,1,1,1
10010 data 1,1,1,1,1,1,2,2,2
10020 data 1,1,1,2,1,2,3,2,3
10030 data 1,1,2,2,1,2,3,2,3
10040 data 1,1,1,1,1,1,2,2,2
10050 data 1,1,2,2,1,2,3,3,3
10060 data 1,2,3,3,2,3,3,3,3
10070 data 1,2,2,2,2,3,3,3,3
10080 data 1,2,3,3,2,3,3,3,3

Quand je lance le programme, j'ai une Erreur de segmentation (core dumped)

Merci pour votre aide

Dernière modification par ludo77 (Le 18/08/2018, à 23:02)

Hors ligne

#2 Le 18/08/2018, à 23:04

ludo77

Re : [RESOLU] probleme avec bwbasic (erreur segmentation)

j'ai résolu le problème

ligne 2090 for I=1 to 3

Hors ligne