Spis treści Skorowidz Poziom główny ©
«« Początek »» Koniec

Wstęp do notacji algorytmów i programowania

Notatki do wykładu
Jan Jełowicki, Katedra Matematyki Uniwersytetu Przyrodniczego
Wrocław 2008–2014

Wprowadzenie

W niniejszej dokumentacji udostępniam rozszerzoną wersję swoich notatek do wykładu z podstaw programowania dla kierunków inżynieryjnych naszego Wydziału. Zajęcia zostały po raz pierwszy przeprowadzone w semestrze letnim 2008 r. jako część przedmiotu Komputerowe Wspomaganie Projektowania. Od tego czasu są one prowadzone co roku, z niewielkimi modyfikacjami dotyczącymi godzinowego rozplanowania zajęć.

Od roku 2011 używam Pythona także jako podstawowego języka programowania na kursie Programy Komputerowe dla studentów Bioinformatyki. Wymiar godzinowy i układ materiału jest nieco inny.

Materiał dotyczący algorytmiki (rozdział 1.), typów danych (rozdział 2.), metodyki obliczeń (rozdział 3.), uruchamiania kodu źródłowego (rozdział 4.) i jego diagnostyki (fragmenty rozdziału 8.) oparto na opracowaniach dotyczących przedmiotu Podstawy Informatyki prowadzonego w latach ubiegłych. Część materiału zamieszczona w rozdziałach 1., 2. i 3. może być wykorzystana także w trakcie podstawowego kursu Technologii Informacyjnych.

Rozdział 9. jest katalogiem problemów praktycznych przeznaczonych do rozwiązania metodami programistycznymi. Jest on pomyślany jako podstawa przykładów prezentowanych podczas kursu oraz jako swego rodzaju „pożywka” do wykorzystania podczas zajęć laboratoryjnych. Jego uzupełnieniem są zestawy ćwiczeń dostępne dla uczestników kursu.

Do sformatowania dokumentacji zastosowano minimalistyczne, lecz spójne znakowanie XHTML. Dokumentację zaleca się przeglądać za pomocą narzędzi obsługujących grafikę SVG oraz mechanizmy generowania zawartości i automatycznej numeracji CSS 2.

Cel

Tematy wykładów

  1. Metodologia. Zagadnienie algorytmiczne. Notacje algorytmów. Język Python jako jedna z notacji
  2. Zmienne, instrukcje proste i warunki
  3. Iteracje o znanej liczbie powtórzeń. Tablice, listy
  4. Podprogramy. Obsługa plików
  5. Dostęp do innych programów i sesji środowisk użytkowych. Biblioteki programistyczne
  6. Iteracje sterowane warunkiem. Metoda „dziel i zwyciężaj”. Metoda bisekcji w rozwiązywaniu równań

Tematy ćwiczeń

  1. Interpreter Pythona. Program źródłowy Pythona. Proste typy danych. Następstwo instrukcji. Instrukcje warunkowe
  2. Diagnostyka kodu źródłowego: wydruki kontrolne, tryb krokowy, podgląd zmiennych. Typy złożone: listy
  3. Iteracje o znanej liczbie powtórzeń. Iteracja po elementach listy. Sumowanie i zliczanie elementów spełniających zadany warunek
  4. Podprogramy. Tablicowanie funkcji. Czynność złożona jako procedura
  5. Obsługa plików. Elementy obsługi graficznego środowiska użytkowego
  6. Iteracje sterowane warunkiem. Metoda „dziel i zwyciężaj”. Metoda bisekcji w rozwiązywaniu równań
  7. Integracja programu ze środowiskiem użytkowym (arkusze kalkulacyjne, oprogramowanie do graficznej prezentacji danych)
  8. Praca kontrolna

Szczegółowe zadania będące przedmiotem ćwiczeń są umieszczone w osobnym serwisie dostępnym z laboratoriów.

Zalecana literatura

Zalecane oprogramowanie

Szczegóły dotyczące pobierania i instalacji wymienionego oprogramowania podajemy w podrozdziale 5.1.

Spis treści

  1. Wprowadzenie
  2. Algorytmika, czyli reguły zabawy
  3. Podstawowe typy danych
  4. Rodzaje środowisk obliczeniowych
  5. Język programowania, kod źródłowy, uruchamianie programu
  6. Środowisko Pythona, czyli nasz plac zabaw
  7. Dane w programie, czyli nasze własne zabawki
  8. Kod, czyli jak się bawić własnymi zabawkami
  9. Diagnostyka, czyli jak naprawiać zabawki
  10. Czarna robota, czyli po co nam te zabawy
  11. Obiekty, czyli nowe zabawki są lepsze
  12. Moduły, pakiety i biblioteki, czyli zabawy cudzymi zabawkami
  13. Podsumowanie, czyli dalej bawimy się sami
  14. Spis przykładów
© Copyright 2000–2018 by Jan Jełowicki, Katedra Matematyki Uniwersytetu Przyrodniczego we Wrocławiu
Ostatnia modyfikacja w październiku 2018 r.
janj@aqua.up.wroc.pl
http://karnet.up.wroc.pl/~jasj