You are on page 1of 9

Języki i paradygmaty programowania

Laboratorium
Zasadniczym elementem praktycznym laboratorium jest zadanie indywidualne o charakterze
projektu. Zadanie jest wykonywane na komputerach PC za pomocą systemu programowania
Borland C++ Builder.
Dane i operacje powinny być prezentowane klasami.

Plan pracy.
1) Oprogramować i sprawdzić wprowadzenie danych wejściowych i wyprowadzenie wyników.
2) Określić klasy, pola i metody klas, które są potrzebne do realizacji zadania i przygotować dane
testowe.
3) Oprogramować i sprawdzić wykonanie operacje.
4) Napisać sprawozdanie do projektu.

Uwaga. Wzór strony tytułowej sprawozdania patrz w końcu wskazówek.

Sprawozdanie do projektu musi zawierać:


a) tekst zadania,
b) diagram klas w języku UML,
c) opis klas,
d) dane testowe wykorzystane do sprawdzania i prezentacji programu,
e) wyniki testowania programu,
f) tekst programu jako Załącznik.

Plan zajęć:
1. Klasy a obiekty programowe (struktura klasy, obiekty programowe, tworzenie obiektów na
stosie i na stercie, usuwanie obiektów, dostęp do komponentów obiektu, klasy zaprzyjaźnione,
informacja o klasie, mechanizm RTTI). Oprogramowywanie głównego formularza (klawiszy
itp.). Oprogramowywanie zdarzeń (naciśnięcie klawisz itp.).
2. Zadanie sprawdzające na definicję klasy.
Wewnętrzny wskaźnik na obiekt. Konstruktory (konstruktor z argumentami, konstruktor
kopiujący, konstruktor z listą inicjacyjną). Oprogramowywanie zdarzeń (naciśnięcie klawisz
itp.).
3. Zadanie sprawdzające na konstruktory.
Dziedziczenie klas (klasa pochodna a klasa bazowa, hierarchia klas, diagram klas,
dziedziczenie komponentów i dziedziczenie wielodzietnie).
4. Zadanie sprawdzające na dziedziczenie klas.
Dziedziczenie klas (dziedziczenie uprawnień dostępu, przeciążenie i przesłonięcie metod oraz
polimorfizm nazw).
5. Zadanie sprawdzające na dziedziczenie klas.
Dziedziczenie klas (metody wirtualne, klasa abstrakcyjna, lokalna konwersja typów).
6. Zadanie sprawdzające na dziedziczenie klas.
Metody operatorowe (przeciążenie operatorów, metoda operatorowa klasy, zaprzyjaźniona
metoda operatorowa, przeciążony operator= (operator przypisania), przeciążony operator+
(operator sumowania)).
7. Zadanie sprawdzające na przeciążenie operatorów.
Wzorce klas i metod.
8. Zadanie sprawdzające na wzorce klas i metod.
Dziedziczenie od wielu rodziców.
9. Zadanie sprawdzające na dziedziczenie od wielu rodziców.
Obsługa wyjątków.
10. Zadanie sprawdzające na obsługę wyjątków.
Podanie zadania na projekt.

1
Opracowywanie diagram klas w języku UML potrzebnych do realizacji projektu.
11. Oprogramowywanie konstruktorów i destruktorów klas projektu. Oprogramowywanie metod
klas projektu.
12. Oprogramowywanie głównego formularza (menu, klawiszy itp.).
13. Oprogramowywanie i sprawdzanie operacji projektu. Oprogramowywanie obiektów
potrzebnych do sprawdzania projektu.
14. Napisanie sprawozdania do projektu.
15. Prezentacja projektu i zaliczanie.

Zaliczenie laboratorium
Wszystkie zajęcia laboratoryjne (za wyjątkiem pierwszego) są oceniane. Zaliczenie zajęć
laboratoryjnych następuje na podstawie ocen cząstkowych uzyskanych za poszczególne zajęcia
oraz obronionego indywidualnego projektu.
Tematy poszczególnych zajęć są określone w sylabusie, a zakres zadań i wytyczne do ich
realizacji dla studentów są podawane przez prowadzącego najpóźniej na zajęciach
poprzedzających.
Przygotowanie do zajęć oraz realizacja zadań każdego ćwiczenia są oceniane w skali od 0
do 5 pkt. Łącznie student za 9 zajęć może uzyskać od 0 do 45 pkt.
Temat i zakres projektu indywidualnego student otrzymuje na 10-ym zajęciu.
Za projekt można otrzymać ocenę punktową mieszczącą się w zakresie 0 - 55 pkt. Ocena
projektu jest dokonywana na podstawie wielkości sumy punktów za rozwiązanie zadania i za
postać zewnętrzną projektu (wygląd, komentarzy itp.):
a) rozwiązanie zadania: maks. liczba punktów 35,
b) postać zewnętrzna projektu: maks. liczba punktów 20,
Zaliczenie projektu następuje po uzyskaniu najmniej 28 pkt. i jest możliwe najpóźniej na
ostatnim zajęciu. Jest ono także warunkiem koniecznym do uzyskania zaliczenia ćwiczeń
laboratoryjnych.
Łączna ocena punktowa zajęć laboratoryjnych jest sumą punktów uzyskanych za
poszczególne zajęcia oraz za indywidualny projekt i zawiera się w granicach
0-100 pkt. Ocena końcowa zajęć zależy od sumy uzyskanych punktów i wynosi (w nawiasach
ocena wg skali ECTS):

Zakres Ocena Zakres Ocena


0-50 pkt. ndst (F) 71-80 pkt. db (C)
51-60 pkt. dst (E) 81-90 pkt. db+ (B)
61-70 pkt. dst+(D) 91-100 pkt. bdb (A)

Literatura
Kisilewicz J., Język C w środowisku Borland C++. Oficyna Wydawnicza Politechniki Wrocławskiej. Wrocław, 2000
Kisilewicz J., 2002: Język C++: programowanie obiektowe. Wrocław: Oficyna Wydawnicza Politechniki Wrocławskej.
2001: C++ Builder 5. Vademecum profesjonalisty. Wydawnictwo HELION. Tom 1,2.
Coad P., Nicola J., Programowanie obiektowe, Warszawa 1993.
Booch G., 2001: UML- przewodnik użytkownika, WNT.
Grębosz J., 1999: Symfonia C++. Programowanie w języku C++ orientowane obiektowo. Kraków.
Kliszewski M., 1994: Inżynieria oprogramowania obiektowego. Tomaszów Maz..
Ledgard H.F., 1998: Mała księga programowania obiektowego. Warszawa.
Liberty J., 1998: C++ w 24 godziny. Warszawa.

2
Zadania Indywidualne
Istotą zadania jest opracowanie hierarchii klas „Tekst”, „Slowo”, „Wiersz”, „Akapit”,
„Dokument” do operacji z danymi tekstowymi.

Główna klasa „Tekst” musi zawierać prywatne pole - wskaźnik na dynamiczną tablicę
tekstowa (typ AnsiString) oraz publiczne metody dla wykonania operacji nad danymi tekstowymi.

Klasa „Tekst” musi być klasą abstrakcyjną. Specjalizacja operacji musi nastąpić w
potomnych klasach „Slowo”, „Wiersz”, „Akapit”, „Dokument” z metodami do operacji nad słowem,
wierszem, akapitem i dokumentem.

Argumenty przekazywać do metod przez referencji. Wykorzystywać kwalifikator const dla nie
zmieniających się argumentów.

Operacje dodawania, usunięcia i łączenia opisać odpowiednimi metodami operatorowymi.

Muszą być opracowane konstruktory klas: bez argumentów, z argumentami, kopiujący.

Przeciążenie operatorów jest obowiązkowe.

Dane i wyniki operacji powinny być pokazane na formularzu środowiska.

Warianty są przedstawione w następującej tabelę:

3
Np. Grupa operacji Np. Grupa operacji

01 D1,S1, Ł1, O1, R1, Ws1 81 D1,S2, Ł2, O1, R1, Ws1

02 D2,S1, Ł1, O1, R1, Ws1 82 D2,S2, Ł2, O1, R1, Ws1

03 D2,S1, Ł1, O2, R1, Ws1 83 D2,S2, Ł2, O2, R1, Ws1

04 D1,S1, Ł1, O2, R1, Ws1 84 D1,S2, Ł2, O2, R1, Ws1

05 D1,S1, Ł1, O2, R2, Ws1 85 D1,S2, Ł2, O2, R2, Ws1

06 D2,S1, Ł1, O2, R2, Ws1 86 D2,S2, Ł2, O2, R2, Ws1

07 D2,S1, Ł1, O1, R2, Ws1 87 D2,S2, Ł2, O1, R2, Ws1

08 D1,S1, Ł1, O1, R2, Ws1 88 D1,S2, Ł2, O1, R2, Ws1

09 D1,S1, Ł1, O1, R2, Ws2 89 D1,S2, Ł2, O1, R2, Ws2

0A D2,S1, Ł1, O1, R2, Ws2 8A D2,S2, Ł2, O1, R2, Ws2

0B D2,S1, Ł1, O2, R2, Ws2 8B D2,S2, Ł2, O2, R2, Ws2

0C D1,S1, Ł1, O2, R2, Ws2 8C D1,S2, Ł2, O2, R2, Ws2

0D D1,S1, Ł1, O2, R1, Ws2 8D D1,S2, Ł2, O2, R1, Ws2

0E D2,S1, Ł1, O2, R1, Ws2 8E D2,S2, Ł2, O2, R1, Ws2

0F D2,S1, Ł1, O1, R1, Ws2 8F D2,S2, Ł2, O1, R1, Ws2

10 D1,S1, Ł1, O1, R1, Ws2 90 D1,S2, Ł2, O1, R1, Ws2

11 D1,S2, Ł1, O1, R1, Ws2 91 D1,S1, Ł2, O1, R1, Ws2

12 D2,S2, Ł1, O1, R1, Ws2 92 D2,S1, Ł2, O1, R1, Ws2

13 D2,S2, Ł1, O2, R1, Ws2 93 D2,S1, Ł2, O2, R1, Ws2

14 D1,S2, Ł1, O2, R1, Ws2 94 D1,S1, Ł2, O2, R1, Ws2

15 D1,S2, Ł1, O2, R2, Ws2 95 D1,S1, Ł2, O2, R2, Ws2

16 D2,S2, Ł1, O2, R2, Ws2 96 D2,S1, Ł2, O2, R2, Ws2

17 D2,S2, Ł1, O1, R2, Ws2 97 D2,S1, Ł2, O1, R2, Ws2

18 D1,S2, Ł1, O1, R2, Ws2 98 D1,S1, Ł2, O1, R2, Ws2

19 D1,S2, Ł1, O1, R2, Ws1 99 D1,S1, Ł2, O1, R2, Ws1

1A D2,S2, Ł1, O1, R2, Ws1 9A D2,S1, Ł2, O1, R2, Ws1

1B D2,S2, Ł1, O2, R2, Ws1 9B D2,S1, Ł2, O2, R2, Ws1

1C D1,S2, Ł1, O2, R2, Ws1 9C D1,S1, Ł2, O2, R2, Ws1

1D D1,S2, Ł1, O2, R1, Ws1 9D D1,S1, Ł2, O2, R1, Ws1

1E D2,S2, Ł1, O2, R1, Ws1 9E D2,S1, Ł2, O2, R1, Ws1

1F D2,S2, Ł1, O1, R1, Ws1 9F D2,S1, Ł2, O1, R1, Ws1

20 D1,S2, Ł1, O1, R1, Ws1 A0 D1,S1, Ł2, O1, R1, Ws1

4
Np. Grupa operacji Np. Grupa operacji

21 U1,S1, Ł1, O1, R1, Ws1 A1 U1,S2, Ł2, O1, R1, Ws1

22 U2,S1, Ł1, O1, R1, Ws1 A2 U2,S2, Ł2, O1, R1, Ws1

23 U2,S1, Ł1, O2, R1, Ws1 A3 U2,S2, Ł2, O2, R1, Ws1

24 U1,S1, Ł1, O2, R1, Ws1 A4 U1,S2, Ł2, O2, R1, Ws1

25 U1,S1, Ł1, O2, R2, Ws1 A5 U1,S2, Ł2, O2, R2, Ws1

26 U2,S1, Ł1, O2, R2, Ws1 A6 U2,S2, Ł2, O2, R2, Ws1

27 U2,S1, Ł1, O1, R2, Ws1 A7 U2,S2, Ł2, O1, R2, Ws1

28 U1,S1, Ł1, O1, R2, Ws1 A8 U1,S2, Ł2, O1, R2, Ws1

29 U1,S1, Ł1, O1, R2, Ws2 A9 U1,S2, Ł2, O1, R2, Ws2

2A U2,S1, Ł1, O1, R2, Ws2 AA U2,S2, Ł2, O1, R2, Ws2

2B U2,S1, Ł1, O2, R2, Ws2 AB U2,S2, Ł2, O2, R2, Ws2

2C U1,S1, Ł1, O2, R2, Ws2 AC U1,S2, Ł2, O2, R2, Ws2

2D U1,S1, Ł1, O2, R1, Ws2 AD U1,S2, Ł2, O2, R1, Ws2

2E U2,S1, Ł1, O2, R1, Ws2 AE U2,S2, Ł2, O2, R1, Ws2

2F U2,S1, Ł1, O1, R1, Ws2 AF U2,S2, Ł2, O1, R1, Ws2

30 U1,S1, Ł1, O1, R1, Ws2 B0 U1,S2, Ł2, O1, R1, Ws2

31 U1,S2, Ł1, O1, R1, Ws2 B1 U1,S1, Ł2, O1, R1, Ws2

32 U2,S2, Ł1, O1, R1, Ws2 B2 U2,S1, Ł2, O1, R1, Ws2

33 U2,S2, Ł1, O2, R1, Ws2 B3 U2,S1, Ł2, O2, R1, Ws2

34 U1,S2, Ł1, O2, R1, Ws2 B4 U1,S1, Ł2, O2, R1, Ws2

35 U1,S2, Ł1, O2, R2, Ws2 B5 U1,S1, Ł2, O2, R2, Ws2

36 U2,S2, Ł1, O2, R2, Ws2 B6 U2,S1, Ł2, O2, R2, Ws2

37 U2,S2, Ł1, O1, R2, Ws2 B7 U2,S1, Ł2, O1, R2, Ws2

38 U1,S2, Ł1, O1, R2, Ws2 B8 U1,S1, Ł2, O1, R2, Ws2

39 U1,S2, Ł1, O1, R2, Ws1 B9 U1,S1, Ł2, O1, R2, Ws1

3A U2,S2, Ł1, O1, R2, Ws1 BA U2,S1, Ł2, O1, R2, Ws1

3B U2,S2, Ł1, O2, R2, Ws1 BB U2,S1, Ł2, O2, R2, Ws1

3C U1,S2, Ł1, O2, R2, Ws1 BC U1,S1, Ł2, O2, R2, Ws1

3D U1,S2, Ł1, O2, R1, Ws1 BD U1,S1, Ł2, O2, R1, Ws1

3E U2,S2, Ł1, O2, R1, Ws1 BE U2,S1, Ł2, O2, R1, Ws1

3F U2,S2, Ł1, O1, R1, Ws1 BF U2,S1, Ł2, O1, R1, Ws1

40 U1,S2, Ł1, O1, R1, Ws1 C0 U1,S1, Ł2, O1, R1, Ws1

5
Np. Grupa operacji Np. Grupa operacji

41 Wy1,S1, Ł1, O1, R1, Ws1 C1 Wy1,S2, Ł2, O1, R1, Ws1

42 Wy2,S1, Ł1, O1, R1, Ws1 C2 Wy2,S2, Ł2, O1, R1, Ws1

43 Wy2,S1, Ł1, O2, R1, Ws1 C3 Wy2,S2, Ł2, O2, R1, Ws1

44 Wy1,S1, Ł1, O2, R1, Ws1 C4 Wy1,S2, Ł2, O2, R1, Ws1

45 Wy1,S1, Ł1, O2, R2, Ws1 C5 Wy1,S2, Ł2, O2, R2, Ws1

46 Wy2,S1, Ł1, O2, R2, Ws1 C6 Wy2,S2, Ł2, O2, R2, Ws1

47 Wy2,S1, Ł1, O1, R2, Ws1 C7 Wy2,S2, Ł2, O1, R2, Ws1

48 Wy1,S1, Ł1, O1, R2, Ws1 C8 Wy1,S2, Ł2, O1, R2, Ws1

49 Wy1,S1, Ł1, O1, R2, Ws2 C9 Wy1,S2, Ł2, O1, R2, Ws2

4A Wy2,S1, Ł1, O1, R2, Ws2 CA Wy2,S2, Ł2, O1, R2, Ws2

4B Wy2,S1, Ł1, O2, R2, Ws2 CB Wy2,S2, Ł2, O2, R2, Ws2

4C Wy1,S1, Ł1, O2, R2, Ws2 CC Wy1,S2, Ł2, O2, R2, Ws2

4D Wy1,S1, Ł1, O2, R1, Ws2 CD Wy1,S2, Ł2, O2, R1, Ws2

4E Wy2,S1, Ł1, O2, R1, Ws2 CE Wy2,S2, Ł2, O2, R1, Ws2

4F Wy2,S1, Ł1, O1, R1, Ws2 CF Wy2,S2, Ł2, O1, R1, Ws2

50 Wy1,S1, Ł1, O1, R1, Ws2 D0 Wy1,S2, Ł2, O1, R1, Ws2

51 Wy1,S2, Ł1, O1, R1, Ws2 D1 Wy1,S1, Ł2, O1, R1, Ws2

52 Wy2,S2, Ł1, O1, R1, Ws2 D2 Wy2,S1, Ł2, O1, R1, Ws2

53 Wy2,S2, Ł1, O2, R1, Ws2 D3 Wy2,S1, Ł2, O2, R1, Ws2

54 Wy1,S2, Ł1, O2, R1, Ws2 D4 Wy1,S1, Ł2, O2, R1, Ws2

55 Wy1,S2, Ł1, O2, R2, Ws2 D5 Wy1,S1, Ł2, O2, R2, Ws2

56 Wy2,S2, Ł1, O2, R2, Ws2 D6 Wy2,S1, Ł2, O2, R2, Ws2

57 Wy2,S2, Ł1, O1, R2, Ws2 D7 Wy2,S1, Ł2, O1, R2, Ws2

58 Wy1,S2, Ł1, O1, R2, Ws2 D8 Wy1,S1, Ł2, O1, R2, Ws2

59 Wy1,S2, Ł1, O1, R2, Ws1 D9 Wy1,S1, Ł2, O1, R2, Ws1

5A Wy2,S2, Ł1, O1, R2, Ws1 DA Wy2,S1, Ł2, O1, R2, Ws1

5B Wy2,S2, Ł1, O2, R2, Ws1 DB Wy2,S1, Ł2, O2, R2, Ws1

5C Wy1,S2, Ł1, O2, R2, Ws1 DC Wy1,S1, Ł2, O2, R2, Ws1

5D Wy1,S2, Ł1, O2, R1, Ws1 DD Wy1,S1, Ł2, O2, R1, Ws1

5E Wy2,S2, Ł1, O2, R1, Ws1 DE Wy2,S1, Ł2, O2, R1, Ws1

5F Wy2,S2, Ł1, O1, R1, Ws1 DF Wy2,S1, Ł2, O1, R1, Ws1

60 Wy1,S2, Ł1, O1, R1, Ws1 E0 Wy1,S1, Ł2, O1, R1, Ws1

6
Np. Grupa operacji Np. Grupa operacji

61 Li1, S1, Ł1, O1, R1, Ws1 E1 Li1, S2, Ł2, O1, R1, Ws1

62 Li2, S1, Ł1, O1, R1, Ws1 E2 Li2, S2, Ł2, O1, R1, Ws1

63 Li2, S1, Ł1, O2, R1, Ws1 E3 Li2, S2, Ł2, O2, R1, Ws1

64 Li1, S1, Ł1, O2, R1, Ws1 E4 Li1, S2, Ł2, O2, R1, Ws1

65 Li1, S1, Ł1, O2, R2, Ws1 E5 Li1, S2, Ł2, O2, R2, Ws1

66 Li2, S1, Ł1, O2, R2, Ws1 E6 Li2, S2, Ł2, O2, R2, Ws1

67 Li2, S1, Ł1, O1, R2, Ws1 E7 Li2, S2, Ł2, O1, R2, Ws1

68 Li1, S1, Ł1, O1, R2, Ws1 E8 Li1, S2, Ł2, O1, R2, Ws1

69 Li1, S1, Ł1, O1, R2, Ws2 E9 Li1, S2, Ł2, O1, R2, Ws2

6A Li2, S1, Ł1, O1, R2, Ws2 EA Li2, S2, Ł2, O1, R2, Ws2

6B Li2, S1, Ł1, O2, R2, Ws2 EB Li2, S2, Ł2, O2, R2, Ws2

6C Li1, S1, Ł1, O2, R2, Ws2 EC Li1, S2, Ł2, O2, R2, Ws2

6D Li1, S1, Ł1, O2, R1, Ws2 ED Li1, S2, Ł2, O2, R1, Ws2

6E Li2, S1, Ł1, O2, R1, Ws2 EE Li2, S2, Ł2, O2, R1, Ws2

6F Li2, S1, Ł1, O1, R1, Ws2 EF Li2, S2, Ł2, O1, R1, Ws2

70 Li1, S1, Ł1, O1, R1, Ws2 F0 Li1, S2, Ł2, O1, R1, Ws2

71 Li1, S2, Ł1, O1, R1, Ws2 F1 Li1, S1, Ł2, O1, R1, Ws2

72 Li2, S2, Ł1, O1, R1, Ws2 F2 Li2, S1, Ł2, O1, R1, Ws2

73 Li2, S2, Ł1, O2, R1, Ws2 F3 Li2, S1, Ł2, O2, R1, Ws2

74 Li1, S2, Ł1, O2, R1, Ws2 F4 Li1, S1, Ł2, O2, R1, Ws2

75 Li1, S2, Ł1, O2, R2, Ws2 F5 Li1, S1, Ł2, O2, R2, Ws2

76 Li2, S2, Ł1, O2, R2, Ws2 F6 Li2, S1, Ł2, O2, R2, Ws2

77 Li2, S2, Ł1, O1, R2, Ws2 F7 Li2, S1, Ł2, O1, R2, Ws2

78 Li1, S2, Ł1, O1, R2, Ws2 F8 Li1, S1, Ł2, O1, R2, Ws2

79 Li1, S2, Ł1, O1, R2, Ws1 F9 Li1, S1, Ł2, O1, R2, Ws1

7A Li2, S2, Ł1, O1, R2, Ws1 FA Li2, S1, Ł2, O1, R2, Ws1

7B Li2, S2, Ł1, O2, R2, Ws1 FB Li2, S1, Ł2, O2, R2, Ws1

7C Li1, S2, Ł1, O2, R2, Ws1 FC Li1, S1, Ł2, O2, R2, Ws1

7D Li1, S2, Ł1, O2, R1, Ws1 FD Li1, S1, Ł2, O2, R1, Ws1

7E Li2, S2, Ł1, O2, R1, Ws1 FE Li2, S1, Ł2, O2, R1, Ws1

7F Li2, S2, Ł1, O1, R1, Ws1 FF Li2, S1, Ł2, O1, R1, Ws1

80 Li1, S2, Ł1, O1, R1, Ws1 100 Li1, S1, Ł2, O1, R1, Ws1

7
W tabelę wariantów są wykorzystane skróty następujących operacji:

Grupa Oznaczenie Treść operacji


operacji operacji
D1 w+s Dodawanie słowa do wiersza
a+s Dodawanie słowa do akapitu
d+s Dodawanie słowa do dokumentu
D2 a+w Dodawanie wiersza do akapitu
d+w Dodawanie wiersza do dokumentu
d+a Dodawanie akapitu do dokumentu
U1 w-s Usunięcie słowa z wiersza
a-s Usunięcie słowa z akapitu
d-s Usunięcie słowa z dokumentu
U2 a-w Usunięcie wiersza z akapitu
d-w Usunięcie wiersza z dokumentu
d-a Usunięcie akapitu z dokumentu
Wy1 w(s) Wyszukiwanie słowa w wierszu (odpowiedź „tak/nie”)
a(s) Wyszukiwanie słowa w akapicie (odpowiedź „tak/nie”)
d(s) Wyszukiwanie słowa w dokumencie (odpowiedź „tak/nie”)
Wy2 a(w) Wyszukiwanie wiersza w akapicie (odpowiedź „tak/nie”)
d(w) Wyszukiwanie wiersza w dokumencie (odpowiedź „tak/nie”)
d(a) Wyszukiwanie akapitu w dokumencie (odpowiedź „tak/nie”)
Li1 Ms(w) Liczenie słów w wierszu
Ms(a) Liczenie słów w akapicie
Ms(d) Liczenie słów w dokumencie
Li2 Mw(a) Liczenie wierszy w akapicie
Mw(d) Liczenie wierszy w dokumencie
Ma(d) Liczenie akapitów w dokumencie
S1 s==0? Sprawdzanie słowa na pustość
w==0? Sprawdzanie wiersza na pustość
S2 a==0? Sprawdzanie akapitu na pustość
d==0? Sprawdzanie dokumentu na pustość
Ł1 s1+s2 Łączenie słów
w1+w2 Łączenie wierszy
Ł2 a1+a2 Łączenie akapitów
d1+d2 Łączenie dokumentów
O1 N(s, l) Obliczenie indeksu zadanej litery słowa
N(w, s) Obliczenie indeksu zadanego słowa wierszu
O2 N(a, w) Obliczenie indeksu zadanego wierszu akapitu
N(d, a) Obliczenie indeksu zadanego akapitu dokumentu
R1 s/l Rozdzielenie słowa na literze zadanej indeksem
w/s Rozdzielenie wiersza na słowie zadanym indeksem
R2 a/w Rozdzielenie akapitu na wierszu zadanym indeksem
d/a Rozdzielenie dokumentu na akapicie zadanym indeksem
Ws1 s(l, N) Wstawianie w słowo litery według indeksu
w(s, N) Wstawianie w wiersz słowa według indeksu
Ws2 a(w, N) Wstawianie w akapit wierszu według indeksu
d(a, N) Wstawianie w dokument akapitu według indeksu

8
WYŻSZA SZKOLA TECHNOLOGII
INFORMATYCZNYCH

WYDZIAŁ INFORMATYKI

Projekt z przedmiotu
„Języki i paradygmaty programowania”

Wariant **

Opracował
************

Grupa ***

Pod kierownictwem
prof. dr hab. inż. Aleksandra Timofiejewa

Warszawa 2006

You might also like