none
Problem with / Problème avec ... http://smallbasic.com/program/?ZVT167 RRS feed

  • Question

  • Quand je choisi a = 1 b=2 et c=12

    J'obtient l'erreur suivante :

    "

     à System.Decimal..ctor(Double value)

       à Microsoft.SmallBasic.Library.Math.SquareRoot(Primitive number)

       à _SmallBasicProgram.solvedown()

       à Microsoft.SmallBasic.Library.Controls.OnButtonClicked(Object sender, RoutedEventArgs e)

       à System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)

       à System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)

       à System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)

       à System.Windows.UIElement.RaiseEvent(RoutedEventArgs e)

       à System.Windows.Controls.Primitives.ButtonBase.OnClick()

       à System.Windows.Controls.Button.OnClick()

       à System.Windows.Controls.Primitives.ButtonBase.OnMouseLeftButtonUp(MouseButtonEventArgs e)

       à System.Windows.UIElement.OnMouseLeftButtonUpThunk(Object sender, MouseButtonEventArgs e)

       à System.Windows.Input.MouseButtonEventArgs.InvokeEventHandler(Delegate genericHandler, Object genericTarget)

       à System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)

       à System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)

       à System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)

       à System.Windows.UIElement.ReRaiseEventAs(DependencyObject sender, RoutedEventArgs args, RoutedEvent newEvent)

       à System.Windows.UIElement.CrackMouseButtonEventAndReRaiseEvent(DependencyObject sender, MouseButtonEventArgs e)

       à System.Windows.UIElement.OnMouseUpThunk(Object sender, MouseButtonEventArgs e)

       à System.Windows.Input.MouseButtonEventArgs.InvokeEventHandler(Delegate genericHandler, Object genericTarget)

       à System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)

       à System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)

       à System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)

       à System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)

       à System.Windows.UIElement.RaiseEvent(RoutedEventArgs args, Boolean trusted)

       à System.Windows.Input.InputManager.ProcessStagingArea()

       à System.Windows.Input.InputManager.ProcessInput(InputEventArgs input)

       à System.Windows.Input.InputProviderSite.ReportInput(InputReport inputReport)

       à System.Windows.Interop.HwndMouseInputProvider.ReportInput(IntPtr hwnd, InputMode mode, Int32 timestamp, RawMouseActions actions, Int32 x, Int32 y, Int32 wheel)

       à System.Windows.Interop.HwndMouseInputProvider.FilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)

       à System.Windows.Interop.HwndSource.InputFilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)

       à MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)

       à MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)

       à System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Boolean isSingleParameter)

       à System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Boolean isSingleParameter, Delegate catchHandler)

       à System.Windows.Threading.Dispatcher.WrappedInvoke(Delegate callback, Object args, Boolean isSingleParameter, Delegate catchHandler)

       à System.Windows.Threading.Dispatcher.InvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Boolean isSingleParameter)

       à System.Windows.Threading.Dispatcher.Invoke(DispatcherPriority priority, Delegate method, Object arg)

       à MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam)

       à MS.Win32.UnsafeNativeMethods.DispatchMessage(MSG& msg)

       à System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame frame)

       à System.Windows.Threading.Dispatcher.PushFrame(DispatcherFrame frame)

       à System.Windows.Threading.Dispatcher.Run()

       à System.Windows.Application.RunDispatcher(Object ignore)

       à System.Windows.Application.RunInternal(Window window)

       à System.Windows.Application.Run(Window window)

       à System.Windows.Application.Run()

       à Microsoft.SmallBasic.Library.Internal.SmallBasicApplication.<>c__DisplayClass1.<.cctor>b__0()

       à System.Threading.ThreadHelper.ThreadStart_Context(Object state)

       à System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)

       à System.Threading.ThreadHelper.ThreadStart()   "

     

    Pouvez-vous m'aider ?

    mardi 8 février 2011 17:32

Réponses

Toutes les réponses

  • Bonjour,

    Pouvez vous spécifier l'endroit du code qui a généré l'erreur ?


    N'hésitez pas à poser des questions si un problème subsiste ou quelque chose n'est pas clair. Dans l'autre cas, veuillez indiquer que le problème est résolu. Cordialement.
    mercredi 9 février 2011 09:46
  • Bonjour,

     

    L’erreur vient du fait que le discriminant de l’équation

    D = b^2 – 4ac

     

    est inferieur a 0, donc l’équation n’a pas des solutions dans l’ensemble des réels.

    L’erreur vient du fait qu’une vérification n’est pas faite, et essayer d’obtenir la racine carré d’une valeur négative, à l’aide de la méthode Microsoft.SmallBasic.Library.Math.SquareRoot(Primitive number) lance une exception.

     

    Essayez avec des valeurs valides, qui donnent des solutions réelles : a=1, b=9, c=3, par exemple.

     

    Cordialement,

    Alex

    ________________

    Publiez un article sur MSDN !

    Windows Phone 7

    Astuces pour Visual Studio 2010

    XNA – Développement jeux vidéo

    Didacticiels et astuces : VB.NET, C#, ASP.NET, .NET Framework, Silverlight, Workflow Foundation, SharePoint, WPF

    Microsoft propose ce service gratuitement, dans le but d'aider les utilisateurs et d'élargir les connaissances générales liées aux produits et technologies Microsoft. Ce contenu est fourni "tel quel" et il n'implique aucune responsabilité de la part de Microsoft.

     

     


    Suivez MSDN sur Twitter 

    • Marqué comme réponse azertyjojo jeudi 10 février 2011 18:16
    • Non marqué comme réponse azertyjojo jeudi 10 février 2011 18:19
    mercredi 9 février 2011 14:25
  • Bonjour,

    Pouvez vous spécifier l'endroit du code qui a généré l'erreur ?


    N'hésitez pas à poser des questions si un problème subsiste ou quelque chose n'est pas clair. Dans l'autre cas, veuillez indiquer que le problème est résolu. Cordialement.
    Excusez-moi je suis débutant que voulez-vous dire par "l'endroit du code" ?
    jeudi 10 février 2011 18:18
  • D'accord y a-t-il un moyen de contrer le problème ?

    Je suis débutant dans la programmation logiciel. Pourriez-vous me dire ce que vous entendez par vérification. Comment en faire une ?

    jeudi 10 février 2011 18:27
  • Bonjour,

     

    Regardez les vérifications qu’on fait dans le code du programme. Vous devez ajouter une vérification similaire, après le calcul de la valeur « delt ». Apres la ligne

    delt = Math.Power(b,2)-4*a*c
    

     

     

    Ajoutez ce code :

     

    If delt < 0 Then
    GraphicsWindow.ShowMessage(“delta est < 0”)
    Exit Sub
    EndIf
    

     

     

    Cordialement,

    Alex

    ________________

    Publiez un article sur MSDN !

    Windows Phone 7

    Astuces pour Visual Studio 2010

    XNA – Développement jeux vidéo

    Didacticiels et astuces : VB.NET, C#, ASP.NET, .NET Framework, Silverlight, Workflow Foundation, SharePoint, WPF

    Microsoft propose ce service gratuitement, dans le but d'aider les utilisateurs et d'élargir les connaissances générales liées aux produits et technologies Microsoft. Ce contenu est fourni "tel quel" et il n'implique aucune responsabilité de la part de Microsoft.

     

     

     
     
    Suivez MSDN sur Twitter 

    • Marqué comme réponse azertyjojo samedi 12 février 2011 16:54
    vendredi 11 février 2011 14:12