Komputery uchodzą za mistrzów obliczeń. Dziś rozprawiamy się z tym poglądem!
Celem laboratorium jest znalezienie przez studentów przykładów błędów popełnianych przez komputery podczas prostych obliczeń oraz oszacowanie ich wielkości.
Python jest językiem programowania wysokiego rzędu przeznaczonym do rozwiązywania najróżniejszych zadań (język programowania ogólnego przeznaczenia). Historia jego jest już dosyć długa: używany jest od 19 lat.
Może być stosowany do tworzenia różnego rodzaju aplikacji, ale także do prowadzenia obliczeń w trybie doraźnym (ad-hoc).
Python jest wykorzystywany bardzo szeroko: standardowo dołączany jest do systemu Linux i Mac OS. Używany jest bardzo szeroko przez:
Dla osób znających inne języki programowania pomocne mogą być zestawienia umieszczone w serwisie Hyperpolyglot Programming Languages Reference Sheets.
Obliczenia „ad-hoc”:
Przygotowanie i uruchomienie programu:
Utworzenie samodzielnej aplikacji:
albo odpowiednio modyfikujemy właściwości pliku (prawy klawisz myszy na pliku w menedżerze plików i wybieramy Właściwości i w zakładce Uprawnienia ustawiamy ptaszka przy „Zezwolenie na wykonywanie pliku jako programu”.
w terminalu lub klikając myszą w menedżerze plików.
Podstawowe operacje (+,−,∗) działają tak jak można się spodziewać. Operacja dzielenia (∕) może sprawiać pewne kłopoty:
Dopiero napisanie
daje oczekiwany efekt.
Potęgowanie oznaczane jest znakiem ∗∗, zatem 3 do potęgi trzeciej (33) wygląda tak:
Inne operatory arytmetyczne to % — reszta z dzielenia albo modulo: 3 dzielone przez dwa to 1 (bo dwójka mieści się w trójce całkowicie jeden raz) i reszta 1:
W bardziej skomplikowanych obliczeniach można posługiwać się podstawowym zestawem funkcji (tak zwane funkcje wbudowane):
Użycie innych funkcji matematycznych wymaga specjalnych zabiegów: podpowiedzenia programowi, że będziemy chcieli z nich korzystać:
mówi, że zechcemy używać modułu math zawierającego różne funkcje i stałe matematyczne. Po wydaniu tego polecenia możemy napisać:
Dostępne stają się funkcje trygonometryczne, hiperboliczne, logarytmiczne i wykładnicze, funkcje specjalne oraz stałe: π i e
W prostych obliczeniach można korzystać z pythona jak z podręcznego kalkulator: wyniki obliczeń podawane będą na bieżąco. Można też wyniki zapamiętywać (coś jak pamięci kalkulatora). Z tym, że poszczególne pamięci możemy nazywać według naszego uznania:
Podanie w linii nazwy pamięci (zmiennej) powoduje wydrukowanie jej wartości:
Cechą odróżniającą język python od innych języków (Na przykład C czy Pascal) jest sposób wyróżniania bloków instrukcji. W języku C używa się do tego nawiasów klamrowych {}, a w języku Pascal słów kluczowych begin i end.
W pythonie używa się „wcięć”.
Potrzeba korzystania z bloków instrukcji pojawia się, między innymi:
Na przykład:
Poniżej przykład programu rozwiązującego równanie kwadratowe:
Uwagi:
Instrukcja warunkowa używana jest podczas programowania do wprowadzenia rozgałęzienia w zależności od wartości jakiegoś parametru czy spełnienia jakiegoś warunku. Typowy przykład konieczności wprowadzenia instrukcji warunkowej to program wyliczania rzeczywistych miejsc zerowych trójmianu kwadratowego. W zależności od wartości parametru Δ albo wyliczamy jeden pierwiastek rzeczywisty, albo dwa, albo musimy stwierdzic, że pierwiastków rzeczywistych nie ma.
Fragment programu wyliczającego pierwiastki przedstawiono w poprzednim rozdziale. (Tam gdzie się kończy wcięcie — kończy się zakres działania odpowiedniego fragmentu warunku.)
Pętla to taka konstrukcja programistyczna, która nakazuje wykonanie jakiejś czynności:
W obu powyższych przypadkach efekt powinien być taki:
(Oczywiście nie ma wielkiej różnicy pomiędzy tymi sytuacjami, ale, tradycyjnie, robione jest takie rozróżnienie).
[1] Mark Pilgrim. Zanurkuj w Pythonie. WikiBooks, 2010. http://pl.wikibooks.org/wiki/Python.
[2] Python documentation index. http://www.python.org/doc/, Wrzesie/n 2010.
[3] Python Programming. WikiBooks, 2010. http://en.wikibooks.org/wiki/Python_Programming.
[4] Zed A. Shaw. Learn Python The Hard Way. 2010. Release 0.9.1: http://learnpythonthehardway.org/static/LearnPythonTheHardWay.pdf.