Problem A - Pułapka na myszy
Problem B - Drzewo rozpinające
Problem C - Manipulowanie tablicą
Problem D - Figury wpisane
Problem E - Słownik danych
Problem F - Domki z pni
Problem G - Binarne drzewa gry
Problem H - Mnożenie wielomianów

 

 


 

1983

Problem E - Słownik danych


Opis

Jednym z ważnych składników wielu współczesnych systemów informacyjnych jest słownik danych (ang. data dictionary), który definiuje własności elementów danych w rekordach danych.  Problem ten wymaga użycia prostego słownika danych (listy elementów danych oraz ich postaci) w celu sprawdzenia poprawności zawartości transakcji wejściowych i do utworzenia raportu błędów.

 

Specyfikacja wejścia

Plik wejściowy o nazwie in.txt zawiera dwa zbiory danych zbudowane z wierszy. Pierwszy zbiór zawiera nie więcej niż 15 wierszy i kończy się wierszem, który w pierwszych dwóch znakach posiada 00. Wiersze te będą ułożone w porządku rosnącym względem pozycji startowej (patrz niżej). Każdy wiersz w tym zbiorze będzie się składał z 80 znaków i będzie opisywał jeden element danych w sposób następujący (pierwszy znak w wierszu jest w kolumnie 1):

 

Kolumny Zawartość
1-2 Pozycja startowa p w wierszu operacji (0 < p ≤ 80), liczba całkowita
4-5 Długość pola f (1 ≤ f ≤ 80), liczba całkowita
7 Rodzaj pola:
    = 1 liczbowe (zawiera cyfry, znaki +/-, kropki dziesiętne lub spacje)
    = 2 alfanumeryczne (zawiera dowolne znaki)
    = 3 data w postaci MMDDYY (to pole musi zawierać dokładnie 6 cyfr, lecz może posiadać spacje w dowolnym miejscu.
          Również: 1 ≤ MM ≤ 12 i 1 ≤ DD ≤ 31)
.
9 Obecność:
    = 1 pole wymagane (nie może być puste)
    = 2 pole opcjonalne
11-30 Nazwa elementu danych (używana tylko do wydruku)
31-80 Nieużywane

 

Możesz założyć poprawność i spójność wszystkich danych słownikowych. Twój program nie jest odpowiedzialny za sprawdzanie znaków w polach nie określonych w słowniku danych.

Drugi zbiór danych zawiera transakcje do sprawdzenia za pomocą reguł słownika dostarczonych w pierwszym zbiorze. Format wierszy zależy  od definicji w słowniku. Jednakże wiadomo, że każdy wiersz będzie posiadał długość 80 znaków. Koniec pliku zasygnalizuje koniec drugiego zbioru danych.

 

Specyfikacja wyjścia

Raport na temat nieprawidłowych wierszy z danymi powinien być utworzony w następującym formacie:

 

ERRONEOUS TRANSACTIONS         (BŁĘDNE TRANSAKCJE)
XXX................XXX
    message 1
    message 2
    ...
    ...
    ...
XXX................XXX
    message 1
    message 2
    ...
    ...
    ...
 

Gdzie XXX...XXX oznacza błędną transakcję ze zbioru wejściowego, a message i składa się z nazwy składnika danych ze słownika, za którą następuje krótkie wyjaśnienie natury błędu w języku angielskim. Typowe wiadomości błędów są następujące:

 

SSNO      IS MISSING                    (BRAKUJE)
SALARY    IS NOT NUMERIC                (NIE JEST LICZBĄ)
BIRTHDAY  HAS MONTH > 12                (MA MONTH > 12)
NETPAY    CONTAINS AN EMBEDDED BLANK    (ZAWIERA OSADZONĄ SPACJĘ)

 

Uwaga: dla pól liczbowych liczby muszą być poprawnie zapisane, lecz nie muszą być wyrównane do prawej krawędzi pola. Dla dat przyjmij, że wszystkie miesiące mają po 31 dni.

 



List do administratora Serwisu Edukacyjnego Nauczycieli I LO

Twój email: (jeśli chcesz otrzymać odpowiedź)
Temat:
Uwaga: ← tutaj wpisz wyraz  ilo , inaczej list zostanie zignorowany

Poniżej wpisz swoje uwagi lub pytania dotyczące tego rozdziału (max. 2048 znaków).

Liczba znaków do wykorzystania: 2048

 

W związku z dużą liczbą listów do naszego serwisu edukacyjnego nie będziemy udzielać odpowiedzi na prośby rozwiązywania zadań, pisania programów zaliczeniowych, przesyłania materiałów czy też tłumaczenia zagadnień szeroko opisywanych w podręcznikach.



   I Liceum Ogólnokształcące   
im. Kazimierza Brodzińskiego
w Tarnowie

©2017 mgr Jerzy Wałaszek

Dokument ten rozpowszechniany jest zgodnie z zasadami licencji
GNU Free Documentation License.