Skip to main content

Find the bug in the following code.

This code opens / creates / reads and writes / appends to text files as specified by the user. Assuming that the user has entered numeric, comma-separated data, the GetRange module calculates the range and the range coefficient (lookup Statistics - Measures of Dispersion Std XI). Somewhere in this last bit the program does a few mistakes.

Public Class FileOps
    Public Response As Integer
    Private Sub ReadFile_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ReadFile.Click
        If CreateFile() > -1 Then MyFileData.Text = File.ReadAllText(MyFilePath.Text)
    End Sub

    Private Sub SaveToFile_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles SaveToFile.Click
        If CreateFile() = -1 Then Exit Sub
        If File.ReadAllText(MyFilePath.Text).Length >= 0 Then
            Response = MsgBox("The file contains something already. Do you want to overwrite? (Clicking on 'No' will append to the file)", MsgBoxStyle.YesNoCancel)
            If Response = vbYes Then File.WriteAllText(MyFilePath.Text, MyFileData.Text)
            If Response = vbNo Then File.AppendAllText(MyFilePath.Text, vbCrLf & MyFileData.Text)
        End If
    End Sub
    Function CreateFile()
        CreateFile = -1
        If Not File.Exists(MyFilePath.Text) Then
            Response = MsgBox("File not found at the given path. Shall I create it?", MsgBoxStyle.YesNo)
            If Response = vbYes Then
                CreateFile = 1
                Exit Function
            End If
            CreateFile = 0
        End If
    End Function

    Private Sub GetRange_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles GetRange.Click
        Dim c As String, s As String, i As Integer, t As String, k As Integer, max As Single, min As Single, R As Single, RC As Single
        Dim N(100) As Single
        t = MyFileData.Text
        s = ""
        k = 0
        For i = 1 To t.Length
            If c <> "," And Mid(t, i, 2) <> vbCrLf Then
                s = s & c
                N(k) = CSng(s)
                s = ""
                k = k + 1
                If k = 100 Then
                    MsgBox("Array is full and there is still some data in the textbox / file. Truncating the data to get range")
                    Exit For
                End If
            End If
        max = N(0) : min = N(0)
        For i = 1 To N.GetUpperBound(0) - 1
            If N(i) > max Then max = N(i)
            If N(i) < min Then min = N(i)
        R = max - min
        RC = R / (max + min)
        MsgBox("The range of the data in the file is " & R & vbCrLf & "The Range coefficient is " & RC)
    End Sub
End Class


All Time Popular Posts

Annual Day 2023

 After a long hiatus due to covid we finally got most activities on track. The Annual Day function is always a big deal for everyone at Abhinav. It has been a tradition my mother started that the Annual Day will be not a Teacher-managed event, but a Student Initiative. Since when I was a teenager, I was part of this and today 10 years after she passed, I still strive to make it work as she would have. After some hesitation, we began working in early January. I wanted to use an outside choreographer just so that teachers will not be burdened. (They are already struggling with post-covid learning difficulties) But then, an outside guy could never do justice to the Abhinav style of doing things. We always keep in mind that the cultural program should be enjoyable to everyone in the audience and at the same time should display as many of the diverse talents that our students have, as possible.  It was a great relief that my G3 students came to the rescue. Almost all of std 9 and many of st

Are Self-Driving Cars Taking Over Humans?

- Arya Dharmadhikari(Std X, Abhinav Vidyalay) The 21st century has played an important role in the advancement of technologies. This development has even revolutionized the Automobile industry. We have developed from fuel-efficient vehicles to Hybrids and EVs and now we are enhancing self-driving vehicles. Tesla, Waymo, Volvo, GM, BMW, Mercedes are among the few companies that have started testing self-driving cars. The leading among them is Waymo, which has developed level 4 autonomy which we will discuss in the next section. So before reaching levels of autonomy we should understand what self-driving cars are and why we require them. What is a self-driving car? A self-driving car (also called an autonomous vehicle) is a car that is competent in driving itself without any human intervention. The car has sensors, cameras, lasers, radars, GPS, LIDAR through which the Artificial Intelligence senses the surrounding environment, this helps the car to navigate on its path and to detect sig

Dark Matter

  ~Anvi Patil(X th A Abhinav Vidyalay) In the universe, there is about 25% of dark matter and 70% of dark energy but only 5% of it is visible. What is Dark Matter? It is a non-luminous material, which holds two galaxies. This cannot be called a black hole because it does not bend light. Then the question arrives, as it is non-luminous, how did we detect it? As it is not visible, scientists have found indirect methods to find more about it. One such method is by using the Fermi Gamma-Ray Space Telescope . Gamma rays are released when two particles of dark matter collide, Fermi telescope can be used to detect this collision. This topic was discovered by Fritz Zwicky in the 1930s, he discovered that galaxies were rotating at a faster rate than usual. A dark region seen in the foreground of a star field. This dark region could be a dark cloud of gases like hydrogen, left over from the formation of our galaxy Dark matter is called ‘dark’ not because it is ‘black’ but because it does not