PP-Temat 6: Schematy blokowe – Programowanie zespołowe.

W poprzednim temacie omówione zostało wprowadzenie do zaawansowanego programowania. Niniejszy temat traktuje o filozofii pracy zespołowej związanej z tworzeniem systemu. Programowanie zespołowe wymaga przygotowania projektu systemu i dokonania jego podziału na grupy robocze. Podział powinien być przeprowadzony w sposób pozwalający na zajęcie się danym, wybranym, kompleksowym zagadnieniem tak, aby w pracy zleconej grupie nie występowały zagadnienia przenikające się z kompetencjami innych Dowiedz się więcej…

PP-Temat 5: Algorytmy – zaawansowane zagadnienia.

W poprzednim temacie omówione zostały podstawowe zagadnienia i klasyczne zadania z algorytmów zapisywanych schematami blokowymi. Niniejszy temat traktuje o zaawansowanych zagadnieniach przedstawianych za pomocą schematów blokowych Biblioteka Miejska Omówimy ten temat na przykładzie zagadnienia programu obsługi biblioteki miejskiej. Tematyka ta już intuicyjnie wydaje się być zaawansowana na tyle, że można się „pogubić” w tym co należy stworzyć. Tutaj ratunkiem są właśnie schematy Dowiedz się więcej…

PP-Temat 4: Algorytmy – klasyczne zagadnienia.

Oprogramowanie umożliwiające tworzenie schematów blokowych to np. Diagram Designer, który jako darmowe narzędzie posłuży nam do zobrazowania algorytmów w postaci schematów (można użyć też narzędzia on-line: draw.io. W poprzednim temacie omówione zostały podstawowe typy algorytmów. Niniejszy temat traktuje o klasycznych zagadnieniach przedstawianych za pomocą algorytmów. Całkowity dzielnik Na początek algorytm sprawdzający czy dana liczba jest podzielna (całkowicie) przez założoną dzielną.Mamy stworzyć algorytm Dowiedz się więcej…

PP-Temat 3: Algorytmy – podstawowe zagadnienia.

Rodzaje algorytmów: algorytmy sekwencyjne, czyli z nierozgałęzioną linią przebiegu aktywności programu, algorytmy warunkowe, czyli algorytmy z rozgałęzieniami linii przebiegu aktywności, algorytmy iteracyjne, czyli algorytmy z pętlą, inaczej algorytmy cykliczne, algorytmy rekurencyjne, czyli algorytmy samo-zagnieżdżające się. Algorytmy sekwencyjne – liniowe Algorytm sekwencyjny to algorytm mający prostą liniową postać. Składa się z ciągu instrukcji, które są wykonywane jedna Dowiedz się więcej…

Filozofia programowania

Czym jest programowanie? Z jednej strony to wiedza jak zmusić „czarną skrzynkę” do zachowania zgodnego z życzeniem programisty. Znajomość jej wnętrza, tego jak działa. Widzieć „tryby” kręcące się w jej wnętrzu i rozumieć te ruchy. Z drugiej strony to znajomość języka w jakim z nami zechce ta skrzynka porozmawiać. Języków jest wiele, wnętrze zaś takiej skrzynki podobne jest do siebie z innymi jej podobnymi. Dowiedz się więcej…

PP-Temat 2: Schematy blokowe

Schematy blokowe umożliwiają notację algorytmu w postaci graficznej upraszczając kod do niezbędnego minimum. W takiej notacji nie powinny się znajdować żadne adnotacje programistyczne wskazujące na konkretny język programowania. Zapis powinien być uniwersalny na tyle, aby dowolny programista mógł go zrozumieć i zaimplementować w znanym sobie języku programowania. Dlatego też ilość elementów składowych takiego schematu blokowego ograniczona jest do minimum. Takie Dowiedz się więcej…

Polimorfizm

Polimorfizm jest ogromną zaletą programowania obiektowego, daje on programiście możliwość elastycznego zarządzania obiektami w trakcie pisania programu. Polimorfizm jest powiązany z metodami wirtualnymi. Złe zrozumienie i co za tym idzie niewłaściwe operowanie mechanizmem polimorfizmu może skutkować nietypowymi błędami, trudnymi do diagnostyki problemami, a w najlepszym przypadku być przyczyną znacznego spowolnienia działania programu. Przykładem polimorfizmu jest poniższy kod: Kod powyższy Dowiedz się więcej…

Dziedziczenie jedno i wielobazowe.

Czym jest dziedziczenie i po co to komu?! Ten mechanizm jest bardzo przydatny przy programowaniu obiektowym. Co więcej jest wręcz wymarzony przy rozwijaniu oprogramowania. Pozwala na tworzenie nowych klas i obiektów bez kopiowania treści obiektów poprzednich. No może nie do końca bez kopiowania, ale … programista nie musi „przeklejać” kodu do nowych struktur. Tym zajmie się właśnie mechanizm dziedziczenia. Przykładem samego dziedziczenia może być poniższy Dowiedz się więcej…

Podejście obiektowe – konstrukcja obiektu.

Do tej pory programy pisane były w oparciu o jedną strukturę. Tym niemniej obecna filozofia programowania wyróżnia tzw. podejście obiektowe, gdzie program można podzielić na części składowe w postaci obiektów komunikujące się ze sobą w różnorodny sposób. Oby wprowadzić pojęcie obiektu wpierw musimy uzgodnić pojęcie klasy, czyli elementu programistycznego zawierającego w sobie definicje zmiennych i metod w postaci funkcji czy procedur. Z innej Dowiedz się więcej…

Wskaźniki i zarządzanie pamięcią

Wskaźniki należą do jednych z najważniejszych elementów programowania. Dzięki nim można dużo swobodniej przetwarzać dane i docierać do ukrytych w pamięci struktur w sposób niemożliwy do zrealizowania przy podejściu „klasycznym”. Z jednej strony są łatwe do zrozumienia, jako charakterystyczne zmienne wskazujące na coś w pamięci; z drugiej strony ich poprawne zrozumienie często długo się wymyka początkującym programistom, aż do chwili, gdy przychodzi nagłe olśnienie, a wiele poprzednio Dowiedz się więcej…