MathCAD 2000 PL [SKRÓCONE]

background image

Opracował: Tomasz Sokół, OMK, styczeń 2001

MATHCAD 2000 – ściąga do ćwiczeń z podstaw informatyki


1. Wprowadzenie

Mathcad 2000 to profesjonalny program matematyczny służący do rozwiązywania różnego typu
zagadnień inżynierskich. Umożliwia prowadzenie zaawansowanych obliczeń numerycznych, jak
również przekształceń symbolicznych (m.in. symboliczne obliczenia pochodnych, całek i granic
funkcji), czyli operacji związanych z analizą matematyczną.
W porównaniu do konkurencyjnych produktów Mathcad zajmuje szczególną pozycję. Pomimo
faktu, że w obliczeniach numerycznych jest słabszy od Mathlaba a w obliczeniach symbolicznych
wyraźnie ustępuje Mathematice, to jednak wyróżnia się z pośród innych pakietów:

• łatwością obsługi,

• pracą zbliżoną do naturalnych rachunków prowadzonych na kartce papieru,

• symboliczną prezentacją tworzonych wzorów (zgodną z ogólnie panującymi zwyczajami),

• wygodnym tworzeniem wykresów,

• operowaniem i przeliczaniem jednostek miar,

• pełnym wykorzystaniem graficznego środowiska systemów Windows.

Obszar roboczy
Mathcad używa standardowego interfejsu Windows (zob. rysunek powyżej), dlatego w niniejszym
kursie pominiemy oczywiste elementy „klikologii i klawiszologii stosowanej”, a skupimy się na
charakterystycznych dla Mathcada operacjach edycyjnych. Naszym głównym celem jest zapoznanie
się z ogromnymi możliwościami pakietu i zrozumienie specyfiki obliczeń numerycznych (np.
źródeł powstawania błędów numerycznych).

background image

MATHCAD 2000 – ściąga do ćwiczeń z podstaw informatyki

2/8

Jak widać na przedstawionym rysunku, okno robocze Mathcada zawiera oprócz menu głównego
różne paski narzędzi, które podobnie jak w aplikacjach MS-Office można dowolnie rozmieszczać na
pulpicie. Korzystanie z tych narzędzi odbywa się w standardowy sposób, to jest poprzez kliknięcie
myszą lub zastosowanie odpowiedniego skrótu z klawiatury. Mathcad stosuje specyficzny sposób
edycji wyrażeń matematycznych, podobny do używanego w programie Word edytora równań – tu
również operujemy tzw. kursorem dwuwymiarowym, który oprócz punktu wstawiania pokazuje
zakres aktywnego argumentu (szczegóły podane zostaną w przykładach).

Regiony
Wszystkie dane (wzory, wyniki, wykresy) są przechowywane w prostokątnych polach zwanych
regionami. W odróżnieniu od komórek Excela mogą one zajmować dowolną pozycję na arkuszu
roboczym. Regiony przeznaczone są przede wszystkim do przechowywania wzorów matema-
tycznych ale mogą również zawierać zwykły tekst (komentarze itp.), grafikę (np. wykresy funkcji)
oraz obiekty osadzone – tworzone przez inne aplikacje Windows.
Należy wspomnieć, że sposób rozmieszczenia regionów ma wpływ na kolejność wykonywanych
operacji i widzialność definiowanych przez użytkownika zmiennych, powinien więc być
dopasowany do realizowanego algorytmu obliczeniowego. Mathcad przelicza kolejne regiony w
naturalny sposób, począwszy od lewego górnego rogu „idąc” w prawo i w dół. (Wyjątkiem od tej
zasady są tzw. zmienne globalne, o których dowiemy się z przykładów).

2. Uwagi dotyczące ćwiczeń w pracowniach OMK

Wszystkie przykłady prezentowane na ćwiczeniach oraz materiały pomocnicze są dostępne w
postaci elektronicznej – jako pliki Mathcada (*.mcd) w katalogu K:\bufor\mathcad. Dodatkowe
materiały pomocnicze (przygotowane przez Piotra Knyziaka) znajdują się w podkatalogu ...\pk.
Proszę pamiętać aby nie otwierać plików bezpośrednio z dysku K:, gdyż może to zablokować
dostęp innym użytkownikom. Przed otwarciem danego pliku proszę zrobić jego kopię na dysku I:
lub w C:\Temp i ewentualnie utworzyć odpowiedni skrót na pulpicie. (Jeżeli mamy dużo miejsca na
dysku I: to najwygodniej skopiować tam cały katalog ...\mathcad).

3. Informacje podstawowe – przegląd

Punkt niniejszy stanowi przegląd operatorów, klawiszy funkcyjnych i narzędzi stosowanych w
Mathcadzie. Pomyślany został jako mała ściąga pomocna przy realizacji przykładów prezento-
wanych na ćwiczeniach. Zanim zadasz pytanie prowadzącemu zajęcia zajrzyj tutaj i spróbuj
samodzielnie znaleźć odpowiedź. Pamiętaj, że podane tu informacje są wybiórcze, gdyż mają
jedynie ułatwić początki pracy z Mathcadem. Szczegółowe i pełniejsze informacje należy szukać w
systemie pomocy „Resource Center”. Zamiast żmudnego czytania tego punktu zacznij po prostu
pracę z Mathcadem i naucz się efektywnie posługiwać wbudowanym systemem pomocy.

Podstawowe operatory
Wykaz stosowanych w Mathcadzie operatorów i odpowiadających im klawiszy funkcyjnych
przedstawiono w załączniku 1. Większość podanych tam skrótów klawiaturowych nie trzeba
pamiętać gdyż można je zastąpić kliknięciem odpowiedniej ikonki z pasków narzędziowych lub z
menu głównego. Operowanie myszką jest jednak wolniejsze i często mniej wygodne, dlatego warto
chociaż pobieżnie zapoznać się z przedstawioną tabelą i zapamiętać kilka kluczowych skrótów
klawiaturowych. Przegląd pozostałych klawiszy funkcyjnych można znaleźć w systemie pomocy
Resource Center” (hasło: keyboard help).

background image

MATHCAD 2000 – ściąga do ćwiczeń z podstaw informatyki

3/8

Wybrane funkcje wbudowane
System Mathcad dysponuje ogromną liczbą wbudowanych funkcji matematycznych, takich jak:

• funkcje trygonometryczne,

sin, cos, tan, cot

• wykładnicze

exp, log, ln

• wektorowe,

max, min, matrix, diag, rows, cols

• statystyczne,

normal, gamma.

Istnieją ponadto funkcje-procedury dedykowane do rozwiązywania konkretnych zagadnień. Ich
używanie jest już trudniejsze i wymaga pewnej wiedzy z metod numerycznych, jednak im właśnie
należy poświęcić więcej czasu aby móc w pełni korzystać z potencjału obliczeniowego Mathcada.
Na początek podajemy tylko dwa przykłady:

lsolve(A, v) – rozwiązywanie układu równań liniowych,
find(x1, x2, ...) – poszukiwanie rozwiązania równań nieliniowych.

Predefiniowane zmienne globalne

π = 3.14159...
e = 2.71828...
ORIGIN = 0 – definiuje początkowy indeks pierwszego elementu wektorów i macierzy
TOL = 10

-3

– dopuszczalny błąd względny przy obliczaniu całek, rozwiązywaniu równań, itp.

Definiowanie własnych zmiennych i funkcji
Kluczową rolę w obliczeniach prowadzonych w Mathcadzie odgrywa możliwość definiowania
własnych zmiennych i funkcji. Raz zdefiniowaną zmienną lub funkcję można używać wielokrotnie
upraszczając i zwiększając przejrzystość obliczeń. Zmienne (lub funkcje) mogą mieć zasięg lokalny
lub globalny. Zmienne lokalne widziane są na prawo i poniżej definicji, natomiast zmienne
globalne widziane są w całym arkuszu niezależnie od miejsca ich definicji. Definicja zmiennej
lokalnej ma postać:

nazwa_zmiennej_lokalnej

:= wartość (lub ogólniej - wyrażenie),

a zmiennej globalnej:

nazwa_zmiennej_globalnej

≡≡≡≡ wartość.

Operatory ”

:=” i ”≡” uzyskujemy poprzez wpisanie z klawiatury odpowiednio dwukropka ”:” lub

tyldy ”~” – Mathcad automatycznie przekształca wpisane znaki do postaci wyświetlanej powyżej.
Wartości zmiennych lokalnych można zmieniać w trakcie obliczeń – zmienna może przechowywać
różne wartości w kolejnych etapach obliczeń – nowa definicja niszczy starą.
Uwaga: Mathcad rozróżnia wielkie i małe litery a nawet rodzaj zastosowanej czcionki. Na przykład
zmienne: abc, ABC oraz abc oznaczają trzy różne wielkości.

Obliczenia symboliczne kontra numeryczne
Mathcad dysponuje dwoma niezależnymi mechanizmami przetwarzania danych:

• obliczenia numeryczne – stosowane w typowych zagadnieniach inżynierskich, gdzie

głównym celem jest znalezienie rozwiązania w postaci konkretnych wartości liczbowych,

wyrażenie = wynik w postaci liczby

(klaw. =)

• obliczenia symboliczne – stosowane przede wszystkim w analizie matematycznej, w której (o

ile to możliwe) staramy się uzyskać rozwiązanie w postaci zwięzłego wzoru matematycznego

wyrażenie

wynik w postaci wzoru

(klaw. Ctrl+. lub Shift+Ctrl+.)

background image

MATHCAD 2000 – ściąga do ćwiczeń z podstaw informatyki

4/8

W wielu przypadkach możemy stosować obydwie metody zamiennie lub równolegle, jednak
istnieją klasy zagadnień do rozwiązania których prowadzi tylko jedna z nich. Na przykład pochodne
lub całki nieoznaczone obliczamy w sposób symboliczny, podczas gdy rozwiązanie równania
przestępnego możemy (w ogólnym przypadku) przeprowadzić jedynie na drodze numerycznej.
Warto zauważyć, że obliczenia symboliczne pozwalają na lepszą ocenę jakościową wyników, ale są
kosztowne i nie zawsze możliwe do przeprowadzenia.

Jednostki miar
Jedną z wyróżniających cech Mathcada jest automatyczne przeliczanie różnych jednostek miar.
Mathcad rozpoznaje systemy miar m.in.: SI (m, s, kg,...), CGI (cm, sec, gm,...), US (ft, sec, lb,...).
Jednostkę miary dodajemy bezpośrednio po liczbie (lub wyrażeniu) z użyciem lub bez operatora
mnożenia (szczegóły podane będą w przykładach). Możemy definiować własne jednostki miar –
jako pochodne od miar pierwotnych. Wykaz predefiniowanych miar i odpowiadających im skrótów
znaleźć można w Resource Center (hasło: units and dimensions).

Liczby zespolone

Mathcad stosuje powszechną notację liczb zespolonych: a + b

i, lub a + bj. Literę „i” lub „j”

należy podać podobnie jak jednostkę miary zaraz po liczbie (lub wyrażeniu), jednak nie można ich
stosować oddzielnie, tzn. litera i (lub j) musi być poprzedzona wyrażeniem, w szczególnym
przypadku liczbę urojoną i zapisujemy jako 1i. Mathcad automatycznie rozpoznaje zespolone
argumenty w operatorach i funkcjach oraz stosuje zespolone odpowiedniki tych funkcji.

Zmienne zakresowe – obliczenia iteracyjne
Szczególnym typem zmiennych w Mathcadzie są zmienne zakresowe „od..do”, służące przede
wszystkim do obliczeń cyklicznych lub iteracyjnych. Typowym ich zastosowaniem jest tablico-
wanie wartości funkcji lub obliczanie sum szeregów. Mają również zastosowanie w różnego
rodzaju operacjach macierzowych. Zmienne zakresowe definiujemy w postaci:

x

:= x1, x2 .. x3

(zamiast dwóch kropek .. używamy średnika ;)

gdzie x jest nazwą definiowanej zmiennej, x1 i x3 oznaczają początek i koniec zakresu, a x2
(opcjonalne) określa w sposób pośredni przyrost kolejnych elementów ciągu. Na przykład do
stablicowania funkcji f(x) w przedziale od 1 do 5 co 0.2 wygodnie jest zdefiniować następującą
zmienną zakresową:

x

:= 1, 1.2 .. 5.

Po wpisaniu formuły „f(x) =” Mathcad poda wszystkie wyniki (dla kolejnych x) w postaci tablicy.

Wektory i macierze
Wiele zagadnień matematycznych zapisać można w zwartej notacji macierzowej. Mathcad
umożliwia definiowanie wektorów i macierzy na wiele różnych sposobów. Typowe operacje
algebraiczne jak dodawanie czy mnożenie macierzy zapisujemy w naturalny sposób, korzystając ze
standardowych operatorów +, -, *, itd. Jednak istnieje wiele specyficznych operatorów mających
zastosowanie jedynie dla zmiennych wektorowych lub macierzowych. Najważniejsze z nich zostały
przedstawione w załączniku 1, w sekcji operacje macierzowe. Szczegółowe informacje dotyczące
problematyki notacji macierzowej w Mathcadzie zostaną pokazane w przykładach.
Uwaga: Domyślnie, początkowy indeks wektorów i macierzy w Mathcadzie zaczyna się od 0 a nie
od 1, można go zmienić poprzez przedefiniowanie wbudowanej zmiennej globalnej ORIGIN. Aby
początkowe indeksy wektorów i macierzy zaczynały się od 1 należy na początku dokumentu wpisać
następującą definicję: ORIGIN := 1 lub zmienić wartość tej zmiennej w menu Math/Options.

background image

MATHCAD 2000 – ściąga do ćwiczeń z podstaw informatyki

5/8

Wykresy funkcji
Wykresy w Mathcadzie tworzymy z menu
Insert/Graph lub z paska narzędziowego Graph.
Na jednym wykresie można przedstawić kilka
funkcji oraz dodawać punkty kontrolne lub
asymptoty (rys. obok). Kolejne funkcje dodajemy
poprzez wpisanie przecinka w polu opisu funkcji,
mogą być one zależne od jednej wspólnej zmiennej
lub każda z funkcji może mieć swój niezależny
argument. Formatowanie wykresu odbywa się po
jego podwójnym kliknięciu i wybraniu odpo-
wiednich opcji z okienka dialogowego.

Pola tekstowe
Pola tekstowe służą do dokumentowania prowadzonych obliczeń (komentarze, objaśnienia, itp.).
Domyślnie każdy nowo tworzony region zawiera równanie, jednak po wpisaniu pierwszego wyrazu
i spacji automatycznie zmienia się w region tekstowy. Pewniejszym sposobem jest zastosowanie
cudzysłowu [”] na początku wpisywanego tekstu – jest to sygnał dla Mathcada, że chcemy
wpisywać tekst a nie wzór. Teksty możemy formatować jak w zwykłych edytorach tekstu lub
pośrednio poprzez zastosowanie styli (podobnie jak w Wordzie).

Formatowanie danych i wyników
Formatowanie równań i wyników uzyskujemy z menu Format/Equation i Format/Result. Za
pomocą tych funkcji możemy ustawić rodzaj i wielkość czcionki lub ilość cyfr wyświetlanych w
wynikach.

Pozycjonowanie regionów
Przejrzystość tworzonej w Mathcadzie dokumentacji uzyskamy poprzez właściwe rozmieszczenie
regionów, tak aby nie zachodziły na siebie i były odpowiednio wyrównane. Pomocne w tym celu są
funkcje z menu Format/Separate_Regions i Format/Align_Regions.

Tematy pominięte w niniejszym opracowaniu
W niniejszym przeglądzie nie ma miejsca na prezentację innych funkcji Mathcada. Pominięte
zostały takie tematy jak osadzanie obiektów i dynamiczna wymiana danych czy współpraca z
pakietami pomocniczymi AxumLE i SmartSketch. Zainteresowanych odsyłamy jak zwykle do
Resource Center.

4. Przykłady demonstracyjne

W punkcie tym przedstawiamy kilka podstawowych przykładów pokazujących jak wykonać
konkretne zadanie w Mathcadzie. Część z nich opatrzona została komentarzem „krok po kroku”,
ułatwiającym zrozumienie jak wprowadzać dane z klawiatury (lub za pomocą myszki).

Inteligentny kalkulator
Mathcad można używać podobnie do zaawansowanego kalkulatora matematycznego (jak w poniż-
szym przykładzie). Warto zwrócić uwagę na różnice w numerycznym (

=) i symbolicznym (→)

2

0

2

4

2

2

4

4

4

tan x

( )

sin x

( )

cos x

( )

π

π

π

2

π

2

x

background image

MATHCAD 2000 – ściąga do ćwiczeń z podstaw informatyki

6/8

obliczaniu wyrażeń. Podczas edycji wzorów bardzo przydatnym klawiszem jest spacja, która
umożliwia łatwe grupowanie pól przed zastosowaniem kolejnego operatora – w razie potrzeby
Mathcad sam generuje odpowiednie nawiasy (zob. opis klawiszy we wzorze drugim).

wzór

klawiatura

1

2 3

+

7

=

1, +, 2, *, 3, =

1

2

+

(

) 3

9

=

1, +, 2, spacja, *, 3, =

1
6

1
4

+

1

12

+

0.5

=

1, /, 6, spacja, +, 1, /, 4, spacja, +, 1, /, 12, =

1
6

1
4

+

1

12

+

1
2

1, /, 6, spacja, +, 1, /, 4, spacja, +, 1, /, 12, Ctrl+.

sin

π

6





1
2

sin(, Ctrl+Shift+P, /, 6, ), Ctrl+.

Definiowanie zmiennych i funkcji, proste obliczenia

jak wyżej

x2

3

=

x2

b

+
2a

:=

x1, :, -, b, -, \, D, Ctrl+G, spacja, spacja, /, 2a, x1, =

x1

2

=

x1

b


2a

:=

D, Ctrl+G, :, b^2, spacja, -4a*c

1

=

b

2

4a c

:=

klawiatura

wzór

Rozwiązanie równania kwadratowego f(x) = 0

f(1)=

f 0

( )

6

=

f 1

( )

2

=

f(x), : dwukropek, a, *, x, ^, 2, spacja, +, b, *, x, +, c

f x

( )

a x

2

b x

+

c

+

:=

a, +, b, *, c, =

a

b c

+

29

=

a, +, b, =

a

b

+

4

=

a, : dwukropek, 1 (itd))

c

6

:=

b

5

:=

a

1

:=

klawiatura

wzór

Istnieją wygodniejsze i mniej pracochłonne sposoby rozwiązywania równań – zamiast liczyć
pierwiastki „na piechotę” można zlecić to zadanie Mathcadowi (w wielu przypadkach wykona je
lepiej od nas!). Tematyka ta omówiona zostanie bardziej szczegółowo na ćwiczeniach, a poniżej
przedstawiamy jeden z prostszych sposobów:

wzór

klawiatura

f x

( )

0 solve x

,

2

3

f(x), Ctrl+=, 0, Ctrl+Shift+., solve, przecinek, x, Enter

Kolejne znaki oddzielono

przecinkami – ich nie wpisujemy !!!

background image

MATHCAD 2000 – ściąga do ćwiczeń z podstaw informatyki

7/8

Tworzenie wykresu funkcji
Poniżej opisano sposób tworzenia i formatowania wykresu. Wykorzystano własną funkcję f(x)
zdefiniowaną w poprzednim przykładzie. Analogicznie tworzymy wykresy innych funkcji.

1

2

3

4

1

1

2

f x

( )

x

wykres

opis czynności

1. z klawiatury Shift+@ lub myszką menu

Insert/Graph/X-Y Plot

2. w pole opisu funkcji wpisać

f(x)

3. w pole argumentu wpisać

x

4. w polach zakresu argumentu podać

1 i 4

5. sformatować wykres przez podwójne kliknięcie

i wybranie odpowiednich opcji np.:
X-Y Axes / Axes Style / Crossed

Jednostki miar

stosowanie miar

klawiatura

1km 20m

+

34cm

+

1020.34 m

=

1, km, +, 20, m, +, 34, cm, =

1ft

30.48 cm

=

1, ft, =, cm (w polu jednostki wyniku)

przykład: Na ciało o pewnej masie działa siła F = 20kN. Oblicz
jego masę jeżeli wiadomo, że przyspieszenie wynosi a = 10m/s

2

.

kN

1000N

:=

definicja własnej jadnostki miar

F

20kN

:=

a

10

m

s

2

:=

m

F

a

:=

m

2000 kg

=

Zmienne zakresowe (przykład tablicowania funkcji)

wzór

klawiatura
f(x), :, (x-2), (x-3)

x

1 1.5

,

4

..

:=

x, :, 1, przecinek, 1.5, ;średnik, 4

f x

( )

2

0.75

0

-0.25

0

0.75

2

=

f(x), =, (plus myszka wyrównanie - Center)

f x

( )

x 2

(

) x 3

(

)

:=

Inne przykłady
Przykłady omówione powyżej znajdują się w pliku mcad_1.mcd. Pozostałe przykłady (dotyczące
operacji macierzowych, rozwiązywania równań i przekształceń symbolicznych) należy szukać w
kolejnych plikach ćwiczeniowych od mcad_2.mcd do mcad_5.mcd.

background image

MATHCAD 2000 – ściąga do ćwiczeń z podstaw informatyki

8/8

Załącznik 1:

Podstawowe operatory Mathcada

Klawisz

Operacja

:

dwukropek

:= definicja zmiennej lub funkcji lokalnej

~

tylda

definicja globalna

=

numeryczne obliczenie wyrażenia

Ctrl+.

kropka

symboliczne obliczenie wyrażenia

Defi

ni

cj

a i

oblicz

anie

Ctrl+Shift+.

symboliczne obliczanie z kluczem

+

dodawanie

-

odejmowanie lub negacja

*

mnożenie

/

dzielenie

Ctrl+/

dzielenie w wierszu

Ctrl+Enter

dodawanie z przeniesieniem do następnego wiersza

^

potęgowanie

(, ),

apostrof

nawiasy: (lewy, )prawy, ‘dwustronny-automatyczny

\

pierwiastek kwadratowy

Ctrl+\

pierwiastek dowolnego stopnia

|

wartość bezwzględna lub wyznacznik macierzy

"

liczba sprzężona zespolona

Operat

ory

ary

tm

et

ycz

ne

!

silnia (n!)

<

mniejszy

>

większy

Ctrl+9

mniejszy lub równy

Ctrl+0

większy lub równy

Ctrl+=

równy

Operat

ory

log

icz

ne

Ctrl+3

nie równy

?

pochodna pierwszego rzędu

Ctrl+?

pochodna dowolnego rzędu

&

całka oznaczona

Ctrl+I

całka nieoznaczona

Ctrl+L

granica dwustronna

Ctrl+A

granica prawostronna

Ctrl+B

granica lewostronna

$

suma po zmiennej iteracyjnej

Ctrl+4

suma elementów wektora

Ctrl+Shift+4

suma od..do

#

iloczyn po zmiennej iteracyjnej

Pochodne, całki, g

ranice

Ctrl+Shift+3

iloczyn od..do

,

przecinek

oddzielanie argumentów funkcji lub elementów wektora

;

średnik

definicja zakresu (zmiennej iteracyjnej)

.

kropka

separator liczb dziesiętnych lub indeks dolny ozdobny (zwykły)

[

indeks elementu wektora

Ctrl+8

iloczyn wektorowy

Ctrl+1

transpozycja wektora lub macierzy

Ctrl+6

kolumna macierzy

^-1

macierz odwrotna

Operat

ory

m

aci

erz

owe

Ctrl+-

minus

operator wektoryzacji obliczeń

Znak + Ctrl+G

litery greckie (alfa, beta, ...)

Ctrl+Shift+P

liczba pi

Ctrl+Shift+Z

znak nieskończoności

Insert

przełączenie punktu wstawiania (początek-koniec)

Spacja

poszerzenie aktywnego wyrażenia

Tab, Shift+Tab

aktywacja kolejnego lub poprzedniego pola

L

ite

ry

g

re

ck

ie

,

klaw. edy

cy

jne

Ctrl+D

usunięcie aktywnego regionu


Document Outline


Wyszukiwarka

Podobne podstrony:
MathCAD 2000 PL
AutoCad 2000 PL Ćwiczenia Praktyczne
22 NATURA 2000 PL i EU
ms excel 2000 pl kurs podstawowy 4WTQ3GZ5P7ESJOVFSJF7LGG5FUXF67HYHHOBWMY
ms powerpoint 2000 pl kurs podstawowy K7SRULLEW4ZYEHEJID466AXXMVOGXU33XWZJVDI
Makropolecenia w WORD 2000 PL
Po prostu Outlook 2000 PL Zarzadzanie czasem 2
Po prostu Outlook 2000 PL Zarządzanie czasem
AutoCad 2000 PL Cwiczenia Praktyczne AnTiLa [www osiolek com]
Po prostu Outlook 2000 PL Zarzadzanie czasem ppouza
Rozdzial 2 Outlook 2000 Pl

więcej podobnych podstron