opis algorytmu do l100 BT6YWRU2YMH3VC7JYF5ZRO452DOIDYTSOLA6JFI


Opis algorytmu do programu L100

by

Tomasz Kowalczyk DIX1012

function SprawdzL100(const liczba : string) : boolean;

Do napisania programu posłużyłem się kilkoma dodatkowymi funkcjami i procedurami, które ułatwiły mi napisanie programu. Pierwszą z nich jest funkcja SprawdzL100, która zwraca zmienną typu logicznego. Funkcja ma za zadanie sprawdzać, czy liczba jest poprawnie zapisana. Jeśli tak, funkcja zwraca wartość true, jeśli nie - false. Wykorzystałem ją dwukrotnie: raz przy pisaniu procedury CzytajL100, a drugi raz przy pisaniu procedury PrzypiszL100.

0x01 graphic

procedure ObetnijL100(var liczba : string);

Kolejną procedurą jest ObetnijL100. Procedura ta obcina wszystkie zbędne zera występujące na początkowych miejscach.

0x01 graphic

procedure CzytajL100(var liczba : string);

Procedura CzytajL100 wczytuje liczbę podaną przez użytkownika za pomocą klawiatury trakcie wykonywania programu i sprawdza poprawność zapisu. Liczba jest zapisywana według pewnego schematu: najpierw znak, potem liczba. Na koniec, przy pomocy ObetnijL100 obcinane są zbędne zera.

0x01 graphic

procedure PrzypiszL100(var liczba : string; const lancuch : string);

Procedura PrzypiszL100 jest bardzo podobna do poprzedniej procedury, tylko że ta przypisuje liczbie pewną wartość podaną przez użytkownika poprawność poziomu programu i sprawdza poprawność zapisu. Liczba jest zapisywana według pewnego schematu: najpierw znak, potem liczba. Na koniec, przy pomocy ObetnijL100 obcinane są zbędne zera.

0x01 graphic

procedure WypiszL100(const liczba : string);

Procedura po prostu wypisuje na ekranie liczbę podaną jako parametr.

0x01 graphic

procedure PorownajL100(const liczba1,liczba2 : string; var wynik : byte);

Procedura ta pomogła mi w znacznym stopniu przy pisaniu OdejmowanieL100 i . Procedura porównuje dwie liczby, i w parametrze wynik zwraca 0 gdy liczby są równe, 1 gdy liczba1 jest większa od liczba2 i 2 gdy liczba2 jest większa od liczba1.

0x01 graphic

procedure PrzeciwnaL100(var liczba : string);

Procedura zamienia liczbę podaną jako parametr na przeciwną,

0x01 graphic

procedure OdejmowanieL100(liczba1, liczba2 : string; var liczba3 : string);

Procedura, która wbrew pozorom jest najbardziej skomplikowana, ponieważ odejmowanie nie jest przemienne. W tej procedurze w zasadzie najważniejsze jest dobranie odpowiedniej metody wykonywania obliczeń, bo np. algorytm odejmowania liczb dodatnich, ale z tą różnicą, że najpierw pierwsza jest większa, a później pierwsza jest mniejsza, jest trochę inny. Do tego jest właśnie potrzebna procedura PorownajL100, która potrafi wskazać liczbę większą. Wiedząc to, łatwo można już dobrać sposób liczenia. Na koniec ponowne wykorzystanie procedury ObetnijL100, która pozbędzie się zbędnych początkowych zer.

Brak wydruku schematu blokowego jest spowodowany tym, że jest on zbyt duży, aby po wyskalowaniu był czytelny, więc odsyłam do pliku OdejmowanieL100.jpg (i do pozostałych).

procedure DodawanieL100(liczba1, liczba2 : string; var liczba3 : string);

Procedura na dodawanie również nie jest banalna, gdyż należy tu uwzględnić dodawanie liczb przeciwnych znaków (a w zasadzie odejmowanie). Ponieważ jest bardziej skomplikowane niż , dlatego postanowiłem wykorzystać odejmowanie w dodawaniu niż na odwrót. Również ,tak jak w przypadku odejmowania, pomocna okazała się procedura PorownajL100,pozwalająca dobranie odpowiedniej metody.

0x01 graphic

procedure MnozenieL100(liczba1, liczba2 : string; var liczba3 : string);

Procedura ta przy poprawnie działających poprzednich podprogramach, nie była już tak skomplikowania. Sprowadzała się tylko do dopisywania zer w zależności od mnożenia liczb na pozycji jedności, dziesiątek, setek itd.

0x01 graphic

- 1 -



Wyszukiwarka

Podobne podstrony:
opis zmiennych do eksportu
opis techniczny do rysunkow
opis zadania do tekst
Algorytmy do zabiegów dorektalnych, Podst pielegniarstwa
opis slajow do prezentacji poprawionej 2
OPIS TECHNICZNY do projektu budowlano
Opis tecniczny do p. w., Projekty mosty drogi itp, PRZEPUSTY, Blachy faliste, HelCor PA 215x145
algorytm do płyty
cw1, Algorytmika, Do przej
Opis techniczny do projektu, Politechnika Śląska
Opis techniczny do projektu, Politechnika Śląska
Algorytmy do interpretacji RKZ ppt
Opis techniczny do krytej pływalni
opis testow do badaniqa organiki, Psychologia UŚ, Semestr VIII, PZ Klniczna - Podstawy klinicznej di
PROJEKT BUDOWLANY DOMKU, OPIS TECHNICZNY DO PROJEKTU DOMKU JEDNORODZINNEGO
Załącznik nr 3a - SZCZEGÓŁOWY OPIS PRAC DO PRZETARGU, Studia, IV rok, IV rok, VII semestr, Pielęgnac
Opis techniczny do koncepcji1 - Kopia
Opis techniczny do projektu (2)

więcej podobnych podstron