Analiza tekstu opis programu


UWAGA!!! w schemacie blokowym nie uwzględniłem operacji GoTo.
program mógłby być napisany lepiej, np uwzględniać jako przerwy nie tylko spacje ale np też entery, ale
nie było to podkreślone w zadaniu że tak ma być, a także nie chciałem przeobrzyć (za dobry kod by mógł wzbudzić podejrzenia)
oczywiście jeżeli chcesz mogę jeszcze to usprawnić (patrz koniec tego pliku)

Zasada działania:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAnalizuj.Click
Dim tekst, slowo As String
Dim licz1, licz2, dlug, i, j, n, NrPliku As Integer
Dim blad As Boolean

tekst = "" 'wstępne wyczyszczenie zmiennej tekst
blad = False 'na początku nie mamy błędu

If chkZPliku.Checked Then 'czy zaznaczyliśmy pobranie tekstu z pliku
If txtSciezka.Text <> "" Then 'czy podano ścieżkę
NrPliku = FreeFile() 'przypisanie wolnego numeru pliku
On Error GoTo etyk 'instrukcja której nie ma w schemacie blokowym, służy nam do obsłużenia wyjątku gdy
plik nie zostanie znaleziony (błędna ścieżka)
FileOpen(NrPliku, txtSciezka.Text, OpenMode.Input) 'otwarcie pliku
Input(NrPliku, tekst) 'pobranie tekstu (do najbliższego entera lub końca pliku)
FileClose(NrPliku) 'zamknięcie pliku
Else
etyk: MsgBox("Błąd wczytywania danych z pliku.") 'błąd gdy ścieżka jest błędnie podana
blad = True
End If
Else
tekst = txtTekst.Text 'gdy nie pobieramy danych z pliku to pobieramy je z okienka
End If
n = Len(tekst) 'przypisujemy długość tekstu do zmiennej pomocniczej n
If (n < 100 Or n > 1000) And Not blad Then 'sprawdzenie czy tekst ma odpowiednią długość
MsgBox("Błędna długość tekstu.")
blad = True
End If
If Not blad Then 'jeśli nie było błędu to analizujemy tekst
dlug = 0 'czyszczenie pól wynikowych
licz1 = 0
licz2 = 0
lstSłowa.Items.Clear()
i = 1 'zaczynamy analizę od pierwszego znaku w tekście
Do
j = InStr(i, tekst, " ") 'szukamy najbliższej spacji
If j = 0 Then 'jeżeli nie znaleziono więcej spacji
j = n + 1 'j=n+1 żeby ostatnie słowo zostało poprawnie pobrane
End If
slowo = Mid(tekst, i, j - i) 'wycięcie słowa
If slowo <> " " Then 'jeżeli wyciętym słowem nie jest spacja
dlug = dlug + (j - i) 'zwiększamy długość tekstu bez spacji o długość słowa
If Len(slowo) = 1 Then 'jeżeli słowo ma długość 1 to zwiększamy ilość spójników (jak coś samotny przecinek
licz1 = licz1 + 1 'albo samotna cyfra też będzie traktowana jako spójnik)
ElseIf Len(slowo) = 2 Then 'jeżeli słowo ma długość 2 to zwiększamy ilość słów dwuliterowych
licz2 = licz2 + 1
End If
If chkWyswietlaj.Checked And Len(slowo) <> 0 Then 'jeżeli zaznaczyliśmy tablicowanie słów oraz dane słowo
lstSłowa.Items.Add(slowo) 'jest niepuste to dodajemy kolejny element do listy
End If
End If
i = j + 1 'ustawiamy początek analizy tekstu na znak po ostatniej spacji
Loop While j <= n And i <= n And j <> 0 'pętlę wykonujemy dopóki znajdujemy kolejne spacje i początek analizy tekstu
'nie jest ustawiony poza tekstem (warunek j<=n chyba można nawet wyciąć)
lblDług.Text = Str(dlug)'wypisujemy wyniki
lblLicz1.Text = Str(licz1)
lblLicz2.Text = Str(licz2)
End If
End Sub

'W przypadku prośby o zmianę któregoś elementu programu czekam na mail'a cowboy92@wp.pl
'Reklamacje przyjmuję przez 3 dni od czasu otrzymania programu. Nie daję gwarancji, że nie będzie dopytki więc radzę
'poznać strukturę programu (w tym celu podaję ten opis). Starałem się napisać ten program nie tyle najlepiej jak można, a raczej
'najbardziej zgodnie z waszymi standardami i książką (niestety nie mam już do niej dostępu).
'Schemat blokowy w zasadzie nie należał do umowy ale narysowałem go, pewnie da się go streścić trochę.

Wyszukiwarka

Podobne podstrony:
Platforma Stewarta opis programu
Znajdź i zamień opis programu
Opis programowania Pioneer 1430
Opis programu
opis programu czyste powietrze wokol nas
BazaFilmów Opis programu
analiza tekstu csproj FileListAbsolute
Polski opis programu Autoruns
Metody ankietowe i analiza tekstu w badaniach JOS
hjp analiza tekstu
Polski opis programu EST
Polski opis programu Chemistry Problems
Opis programu HEC RAS
Wyznacznik opis programu
Opis programu UTC GT
Polski opis programu fx Calc
KEB F5 opis programu

więcej podobnych podstron