PPy3/Wprowadzenie

Z Brain-wiki

Wprowadzenie

Aby komputer wykonał za nas jakąś pracę, musimy mu przekazać dość precyzyjne instrukcje, mówiące co ma zrobić. Taki zestaw instrukcji nazywa się programem, a proces tworzenia programów - to programowanie. Stworzenie programu wymaga wykonania dwóch zasadniczych zadań:

  1. wymyślenia algorytmu
  2. zapisania tegoż algorytmu w sposób możliwy do zinterpretowania przez komputer - a więc w jakimś języku programowania.

Podczas opracowywania algorytmu musimy zastanowić się, jak dojdziemy do poszukiwanego rozwiązania. W jaki sposób z posiadanych danych wejściowych uzyskać możemy oczekiwany wynik? Jakie operacje po drodze muszę wykonać? Ile razy? Co po drodze muszę wiedzieć, a co dodatkowo sprawdzić? Jeśli wiemy już, jakie niezbędne etapy obliczeń musimy wykonać możemy przejść do fazy drugiej, czyli pisania właściwego programu.

Programy piszemy używając specjalnych języków stworzonych do komunikacji z komputerami. Zawierają one pewien zestaw słów — poleceń, które komputer może wykonać. Wybór konkretnego języka może zależeć od rozwiązywanego problemu, ale w wielu wypadkach jest sprawą drugorzędną. Ponieważ, tak jak w przypadku języków obcych, aby porozumieć się z cudzoziemcem musimy nauczyć się obcego języka, tak i tu musimy nauczyć się wybranego języka (języków) programowania.

Dlaczego uczymy się programować akurat w języku Python?

  • Jest jednym z najłatwiejszych do opanowania języków programowania, i najbardziej czytelnych dla człowieka.
  • Jest narzędziem dojrzałym, rozwijanym od wielu lat i dobrze sprawdzonym.
  • Zawiera jako standardowe wyposażenie wiele gotowych rozwiązań, które można wykorzystać jako elementy własnych programów.
  • Jest coraz szerzej wykorzystywany do zadań naukowych.
  • Jest dostępny bezpłatnie i bez uciążliwych ograniczeń licencyjnych na wiele różnych platform - systemów operacyjnych.

Na początku nauczymy się podstaw języka, aby móc zacząć pisać i uruchamiać pierwsze, na razie proste programy. Następnie przećwiczymy rozwiązywanie rozmaitych zagadnień, wymyślając do tego odpowiednie algorytmy i zapisując je w postaci programów w Pythonie.

Pracując z komputerem tak jak sekretarz czy księgowy, nie potrzeba w zasadzie nic wiedzieć o programowaniu i wewnętrznym działaniu komputera. Tak jak kurs nauki jazdy nie uczy, jak projektować konstrukcje samochodów, ani nawet jak je naprawiać. Założeniem studiów na fizyce jest jednak przygotowanie absolwenta, który będzie umiał sobie radzić z nowymi zadaniami i rozwiązywać problemy, a nie jedynie wykonywać pewne procedury. Elementarna umiejętność programowania jest jednym z narzędzi do tego celu.

Instalacja

W systemach z rodziny Linux Python należy do wyposażenie standardowego. Niewykluczone, że dla celów drugiej części kursu będzie potrzeba doinstalowania opcjonalnych składników środowiska Python, m. in. narzędzi do obliczeń numerycznych i wizualizacji danych (tj. wykresów, itp.). Oczywiście na pracowniach dydaktycznych zostało to już za nas wykonane.

Dla systemów z rodziny Windows możemy np. skorzystać z dystrybucji dostępnej ze "sklepu" Microsoft, lub z pakietów dostępnych z oficjalnych stron projektu Python. Dla bardziej zaawansowanych użytkowników, którzy jednak nie chcą opuszczać środowiska Windows, ciekawym rozwiązaniem może być WSL — emulacja środowiska Linux wewnątrz Windows.

W systemie MacOS Python dostępny jest domyślnie, preinstalowana wersja może być jednak niepełna i/lub przestarzała. Pakiety instalacyjne Pythona dostępne są np. tu.

Ogólnie o pracy z komputerem

Tu jest właściwy moment, aby zapoznać się (o ile jest to komuś obce) z kilkoma podstawowymi faktami dotyczącymi ,,zaawansowanej" pracy z komputerem, a nie dotyczącymi samego Pythona — w tym:

  • logiczna organizacja danych na dysku; foldery (katalogi), podfoldery
  • prawa dostępu do plików i folderów
  • pliki tekstowe i jak je edytować
  • co to jest terminal i powłoka systemowa (shell)
  • co to jest katalog bieżący; podstawowe operacje na plikach w linii poleceń (ls, pwd, cd, cp, mv, rm, ...)
  • jak uruchomić program w linii poleceń; ścieżka wyszukiwania

Strona główna | dalej

--RobertJB (dyskusja) 13:16, 29 wrz 2017 (CEST)