Programowanie obliczeń w języku Python
Wykorzystanie operatorów do budowania wyrażeń
Rozwiązując różne problemy algorytmiczne, bardzo często musimy w programach wykonywać obliczenie. W tym celu budujemy wyrażenia, w których wykorzystujemy różnego typu operatory. W programowaniu mówimy przede wszystkim o wyrażeniach matematycznych, które służą obliczeniom (jak dodawanie czy mnożenie) oraz logicznych, które zwracają wartość Prawda/Fałsz. Musimy również pamiętać o priorytecie operatorów.
Priorytet operatorów określa, jak należy interpretować wyrażenia w języku Python. Wyrażenie przetwarzane jest od lewej do prawej strony (oprócz potęgowania, które grupowane jest od prawej do lewej), z zachowaniem reguł matematyki, a więc w kolejności: nawiasy, potęgowanie, pierwiastkowanie, mnożenie, dzielenie itd.
Przykłady operatorów arytmetycznych:
Przykład | Opis |
|---|---|
| dodawanie |
| odejmowanie |
| mnożenie |
| dzielenie rzeczywiste |
| dzielenie całkowite |
| reszta z dzielenia całkowitego (operacja modulo) |
| potęgowanie |
Przykłady operatorów relacji:
Przykład | Opis |
|---|---|
| operatory porównania mniejszy/większy |
| operatory porównania mniejszy/większy lub równy |
| operatory równości i nierówności zawartości |
| przynależność obiektów |
Przykład | Opis |
|---|---|
operatory porównania | |
| mniejszy |
| większy |
| mniejszy lub równy |
| większy lub równy |
operatory równości i nierówności zawartości | |
| operator równości zawartości |
operator nierówności zawartości | |
przynależność obiektów | |
| x należy do y |
| x nie należy do y |
W języku Python wszystkie operatory porównań mają taki sam priorytet, który jest niższy od priorytetu wszystkich operacji arytmetycznych.
Przykłady operatorów logicznych:
Przykład | Opis |
|---|---|
| logiczne OR |
| logiczne AND |
| logiczna negacja |
Wyrażenia bez nawiasów wykonywane są według priorytetów operatorów – np. wyrażenieQ ** 4 + 3 * 5 / 3 - 1
możemy zapisać w następujący sposób:((Q ** 4) + (3 * 5/3)) - 1.
Nawiasy zmieniają kolejność wykonywania działań - np. wyrażenie(Q ** 4 + 3 * 5/(3 - 1))
zostanie uproszczone do postaci(Q ** 4 + 7,5),
ponieważ(3 - 1)
zapisane jest w nawiasie, a zatem zostanie obliczone przed wykonaniem dzielenia.
Oto przykład w środowisku IDLE:
Napisz prosty kalkulator. Do zmiennych a i b przypisz wartości całkowite, a następnie wykonaj kolejno działania:
dodawania,
odejmowania,
mnożenia,
dzielenia,
dzielenia z resztą.
Działanie swojego programu przetestuj dla wartości a równej oraz b równej .
Specyfikacja problemu:
Dane:
a– liczba całkowitab– liczba całkowita różna od
Wynik:
Program wypisuje w kolejnych wierszach działania (wraz z wynikami) w takiej kolejności, jak podano w poleceniu.
Przykładowe wyjście:
Latami przestępnymi nazywamy te, których numeracja:
jest podzielna przez oraz jest niepodzielna przez lub:
jest podzielna przez .
Napisz program sprawdzający, czy dany rok jest przestępny.
Specyfikacja problemu:
Dane:
rok– dodatnia liczba naturalna przechowująca badany rok
Wynik:
Jeśli badany rok jest przestępny, program wypisuje wartość True; w przeciwnym wypadku – False.
Zapoznaj się z filmem i porównaj z nim swoje rozwiązanie.
Uwaga:
W programie przedstawionym w filmie została wykorzystana instrukcja:
if __name__ == '__main__':
Nie jest ona konieczna, w trakcie dalszych lekcji zrozumiesz jej znaczenie. Jednak już teraz można z niej korzystać, aby nabrać nawyku jej wykorzystywania w bardziej rozbudowanych programach.
Kod programu (kalkulator) zaprezentowanego w filmie:
Kod programu (program sprawdzający, czy wskazany rok jest rokiem przestępnym) zaprezentowanego w filmie:
Wykorzystując wybrany edytor napisz program w języku Python o powyższej specyfikacji.