Sprawdzian z programu Mathcad Prime…

Będzie to niesłychanie nudny i długi wpis o charakterze ściśle merytorycznym. Motywacją do jego utworzenie były kolejne tragiczne wyniki ze sprawdzianu z programu Mathcad Prime. Zajęcia trwały pięć tygodni czyli dziesięć godzin. Uczenie się ułatwiają portal i książka. Zadania są dokładnie takie same od trzech lat zarówno jeśli chodzi o polecenia jak i dane liczbowe. Stawiam brutalnie otwarte pytanie. Czy ktoś, kto nie potrafi ogarnąć tego programu może i powinien zostać inżynierem? Nie będę ukrywał, że oczekuję na ożywioną dyskusję na ten temat. Poniżej są zadania ze sprawdzianu. Pierwszych dziesięć za jeden punkt, dwa ostatnie za dwa. Czas wykonania sprawdzianu 70 minut… Przepraszam za literówki i błędy językowe w tekście poniżej. Moje problemy okulistyczne pogłębiają się, a coraz więcej osób pisze do mnie w sprawie sprawdzianu z Mathcada. Zdecydowałem się więc wypuścić tekst z błędami, aby wyjaśnić wszystkie watpliwości dotyczące ocen ze sprawdzianu.

To pierwsze z trzech zadań typu kalkulator. Wymaga (z)rozumienia tego, że obliczenia numeryczne (na cyferkach) realizuje znaczek =. Haczyk jest w obliczeniu pochodnej funkcji w punkcie… No tak, trzeba najpierw zdefiniować x a potem na wszelki wypadek wyczyścić…
p01
To drugie zadanie “na kalkulator” tym razem symboliczny. Cóż, tu znowu trzeba wykazać się wiedzą, że można symbolicznie i można numerycznie i że na przykład granicy “na literkach i cyferkach” nie da się policzyć numerycznie. A może nie należy oczekiwać na to, że przyszły inżynier będzie wiedział, co to jest granica? Tu był jeszcze jeden wredny haczyk… Funkcja realizująca logarytm przy podstawie 5 z liczby x to log(x,5) a nie log5(x). Aha, uprość wynik to simplify…
p02
Trzecie zadanie jednoznacznie mówi – oblicz symbolicznie. Gdzie jest haczyk? Ano trzeba wybrać odpowiednie polecenie, słowo kluczowe. Podpowiedź jest w wersji anglojęzycznej polecenia – expand, substiture, series. Niestety i to zadanie dla wielu osób było za trudne…
p03
Kolejne zadanie też było bardzo trudne… Utwórz funkcję… A co to jest funkcja? Czy ktoś widział funkcję? Czy funkcja jest potrzebna inżynierowi? Moim zdaniem niestety tak. Trzeba więc dowiedzieć się i zrozumieć co to jest funkcja. Ta funkcja ma wykonać obliczenia “na jednostkach”. Już mnie nie dziwi, że dla wielu osób 1cm=100mm bo wszak 1m=100cm. Pomóc może program,który przelicza jednostki, ale tu jest kolejny problem – trzeba umieć powołać do życia nową jednostkę decymetr…
p04
Wiem, wiem… Jestem wredny a może wręcz perwersyjny. Po co dziś komu symboliczne rozwiązanie układu dwóch równań liniowych… OK, pójdę więc dalej – w ogóle to po co te układy równań! Powinny zostać zakazane. Wystarczy nam w życiu jedna niewiadoma… A na serio… Już podczas zajęć z arkusza kładę nacisk na uniwersalność czyli parametryzację obliczeń. Arkusz to nie kalkulator! Choć spotykałem osoby, które coś liczyły ręcznie i wpisywały wynik do komórki. Tak, tak. Warto zaglądać do komórek… A może w ramach kolorowania drwala całki będziemy “liczyć” czyli malować w programie Paint?
p05
Kolejny wyraz perwersji – macierze. Co więcej nie można wpisać z palca tylko trzeba wymyślić wzór. Od zawsze mówię, że można uprawiać budownictwo łopatą, koparką albo CAD’em, MES’em i BIM’em. Do pierwszego potrzebna jest prosta siła, do drugiego odpowiedni kurs a do trzeciego studia. A generacja tej macierzy wymagała niestety znajomości funkcji jeżeli. Cóż, pewnikiem zostanie wkrótce zakazana. Wszystko będzie bez wątpliwości, pytań i rozgałęzień, gdzie się można tylko zaplątać i wyłożyć.
p06
Chamstwa ciąg dalszy – jakieś osobliwości… Oczywistości, osobistości, osobliwości… Kto to ogarnie! A już niedługo będzie w mechanice dokładnie ta kwestia – dla jakich wartości parametru macierz jest osobliwa… Niestety wiem, bo przez lata uczyłem mechaniki. Kiedyś liczyło się takie zadania na piechotę, teraz można automatycznie. Ból polega na tym, że trzeba niestety wiedzieć, co się liczy! A te dwie metody… Cóż, trzeba wykonać rysunek i odpowiednio wywołać funkcję root. Sama z siebie ie znajdzie rozwiązania!
p07
Kolejne zadanie kwiatek odwołujące się do wielu spraw. Ale takie jest życie – trzeba kojarzyć wiele kwestii. Po pierwsze wzorek na wyraz ciągu – to ćwiczyliśmy z racji operatora sumy. Tak, to straszne, trzeba to wymyślić! Potem zaczynają się schody. Ile wyrazów mamy sumować? Co więcej wyniki sumowania la kolejnych liczb sumowanych wyrazów mają być zapisane w wektorze. Można to wpisywać ręcznie? Tak, tak jak można też oprawiać budownictwo łopatą… Ja na prawdę uważam, że żadna praca nie hańbi i jestem pełen szacunku dla ludzi ciężko pracujących fizycznie. Chcemy sumować 1, 3, 5, 7, 9 wyrazów. (n=5 oznacza pięć “przypadków”.) No to zapiszmy te wartości (1, 3, 5, 7, 9) w wektorze g. A potem zapisujmy w wektorze s sumy. Jestem gotów to tłumaczyć do końca świata i jeden dzień dłużej…
p08
Oczywiście aproksymacji nie było jeszcze na matematyce… Bo na matematyce to tak w ogóle nic nie było! Tłumaczyłem to zadanie “na palcach” mówiąc, że staramy się poprowadzić krzywą (wykres) możliwie blisko punktów z pomiarów. Jaka to ma być krzywa (aproksymacja) podałem. A na wykresie mają być punkty bez łączących je prostych, bo co jest między punktami nie wiemy. Sprawdzianu z dodawania i mnożenia liczby do 100 w programie Mathcad Prime na studiach wyższych nie przewiduję.
p09
Ostatnie zadanie z serii obliczeniowej. Znowu wredne. Odległość między dwoma punktami… Kiedyś mierzyło się ją sznurkiem, taśmą. Dziś są od tego lasery! Więc o co mi chodzi?
Wzorek na odległość między dwoma punktami każdy chyba powinien znać. Można powiedzieć, że jest to funkcja czterech zmiennych – x1, y1, x2, y2. Ale jeśli te warowności są dane to jest to po prostu liczba.
Minimalna odległość punktu od krzywej daną wzorem (funkcja…). Rozpatrując to bardzo ogólnie jest to funkcja trzech zmiennych, ale jeśli mamy dane konkretne współrzędne punktu mamy do czynienia tylko z jedną zmienną.
Najmniejsza odległość między dwoma krzywymi (funkcjami). Tu mamy tylko dwie zmienne niezależne, na przykład współrzędne x punktów na krzywych. Współrzędne y wyznaczamy z odpowiednich funkcji.
p10
Dwa ostatnie zadania dotyczą algorytmiki i programowania. Dla niektórych to zbyteczna czarna magia. Magia, która staje się – nareszcie – kanonem w szkołach! Lepiej więc późno niż wcale. Logiczne i algorytmiczne myślenie to podstawa pracy inżyniera. A umiejętność programowania czyli zapisu algorytmów to naturalna konsekwencja tego pierwszego. Tylko i aż dwa zadania omawiane wielokrotnie. Pierwsze to zadanie “na pętlę for i if”. Zadanie z wektorem lub macierzą, które niestety trzeba umieć rozróżnić. Oczywiście mam świadomość, że zamiast pętli for można zastosować while ale może lepiej nie komplikujmy sprawy. Parametrem funkcji (podprogramu) na pewno macierz. Liczbę wierszy i kolumn można i należy wyznaczyć korzystając z odpowiednich funkcji rows i cols. Aby policzyć ile jest wyrazów macierzy o wartościach z przedziału a-b (a i b do dwa dodatkowe parametry funkcji) należy uruchomić dwie pętle – jedną po wierszach drugą po kolumnach a następnie zadawać proste pytanie: czy kolejny wyraz macierzy spełnia warunek czy nie. A jak liczyć? Trzeba zadeklarować dwie zmienne – licznik wyrazów i sumator (miejsce, gdzie będzie liczona suma). Przed pętlami trzeba te wielkości wyzerować. W pętlach jeśli element spełnia warunek zwiększyć licznik o jeden a wartość dodać do sumy. Na koniec aby policzyć średnią trzeba podzielić sumę przez liczbę wyrazów…
p10-
Drugie zadanie z programowania to “zadanie na while”. W tym zadaniu nie wiemy z góry ile razy ma być powtórzona pętla. Mamy dodawać wyrazy ciągu liczbowego, których wartość bezwzględna jest większa od zadanej wartości eps. Ciąg liczbowy to wyrazy rozwinięcia w szereg funkcji cos. Warunek w pętli while jest chyba oczywisty. while |t|>eps Pętla ma być powtarzana jedynie dla wyrazów spełniających warunek. A w pętli… Dodajemy wyraz t do sumy s. Zwiększamy licznik i o 2. Wyznaczamy nowy wyraz t w sposób rekurencyjny z poprzedniego. Przed pętlą zerujemy i oraz s. Pierwszy wyraz ma wartość 1. Tylko tyle i aż tyle…
p11