Nauka programowania w języku Python: Listy składane

Listy składane

Listy składane (ang. list comprehensions) – są to krótkie i zwięzłe konstrukcje, które pozwalają na tworzenie list w jednej linii kodu. Listy składane są potężnym narzędziem, które sprawia, że kod staje się bardziej czytelny i efektywny. 

Składnia listy składanej

Składnia list składanych jest dość prosta. Oto ogólna struktura:

programowanie w python listy składane

nowa_lista – nazwa nowo tworzonej listy

wyrażenie – wartość jaka będzie elementem nowej listy

element – zmienna do której zostają wczytane w pętli for wszystkie elementy z sekwencji

sekwencja – jest to lista, na podstawie której tworzymy nową listę

warunek (opcjonalny) – służy do filtrowania elementów

 

Przykład

Spróbujmy stworzyć nową listę, która będzie zawierała wyniki podniesienia do potęgi drugiej elementów drugiej listy. Spójrzcie na poniższy fragment kodu.

kod źródłowy Python lista składana

Na początku definiujemy sobie listę zawierającą liczby całkowite od 1 do 5. 

W następnej linii tworzymy nową listę kwadratyLiczb. Analizę tej linii zaczniemy od końca. Na podstawie sekwencji: liczby w pętli for wczytywane są do zmiennej x kolejne elementy, następnie element x zostaje podniesiony do potęgi drugiej (wyrażenie: x ** 2). W tym przykładzie nie ma warunku po słowie if. Nie był nam potrzebny, ponieważ chcieliśmy wszystkie elementy listy liczby podnieść do potęgi drugiej.

Nie zapomnijcie, że konstrukcja ta musi się znajdować w nawiasach kwadratowych.

W ostatniej linii wypisujemy na okno konsoli elementy nowo powstałej listy. Otrzymujemy:

Przykład zawierający warunek

Spróbujmy stworzyć nową listę, która będzie zawierała słowa, które zawierają więcej niż 5 liter. Listę będziemy tworzyć na podstawie pewnego zdania. Spójrzcie na poniższy przykład:

W pierwszej linii mamy zdefiniowaną zmienną tekstową zdanie. Wiemy już, że nową listę możemy stworzyć na podstawie innej listy. Dlatego ze zmiennej zdanie tworzymy listę przy użyciu funkcji split()

Funkcja split tworzy listę z ciągu znaków. Na przykładzie nie ma ona żadnych parametrów. Jednak może ona występować z parametrem: separator (jest to znak wg którego będziemy dzielić tekst). Domyślnie jest to spacja.

Kod: zdanie.split() i zdanie.split(” „)  zwraca dokładnie tę samą listę. Czasami jednak chcemy wyłuskać słowa oddzielone przecinkami, używamy wtedy składni: zdanie.split(„,”).

W tym przykładzie występuje warunek po if. Korzystając z funkcji len, sprawdzamy, czy poszczególne elementy listy mają więcej liter niż 5. I tylko te elementy, które spełniają ten warunek zostają wybrane do nowej listy dlugieSlowa.

Funkcja len() – wylicza długość ciągu znaków.

W ostatniej linii wypisujemy wszystkie elementy nowej  listy. Otrzymujemy:

Cięcie stringów Python

Podsumowanie

Listy składane mają wiele zalet. Pozwalają na zapis skomplikowanych operacji w jednej linii kodu. Zwięzła składnia sprawia, że kod jest bardziej czytelny i łatwiej go zrozumieć.  Dodatkowo listy składane są zazwyczaj bardziej wydajne niż tradycyjne pętle. Warto się ich nauczyć i zacząć stosować we własnych programach.

Polecamy

Podręcznik do nauki programowania dla dzieci i młodzieży w języku Python, Ebook: Zadania dla młodzieży szkolnej Python oraz Kurs Online: Python dla dzieci i młodzieży – Programowanie od podstaw.

Nauka programowania w języku Python: Pętla for

Czym są pętle ?

Pętle są jednym z podstawowych elementów programowania, które umożliwiają nam wykonanie pewnej grupy instrukcji wiele razy. 

W tym artykule przyjrzymy się dokładniej pętli for.

Pętla for - składnia

Pętla for w języku Python wykorzystywana jest do pracy z kolekcjami. Mogą to być listy, krotki, słowniki, zbiory, a także ciągi znaków. Pętla for jest wykonywana na wszystkich elementach kolekcji. Jej składnia wygląda następująco:

pętla for składnia Python

Pętla for - przykład

W przykładzie tworzymy listę zakupów o nazwie: lista, przypisujemy do niej wartości początkowe. 

Następnie w pętli for wczytujemy do zmiennej i wszystkie elementy listy i wypisujemy je na okno konsoli funkcją print.

przykład pętli for

W wyniku wykonania tego fragmentu otrzymujemy na oknie konsoli następujące napisy:

Pętla for - funkcja range()

Czasami chcemy wykonać pętlę na pewnym zbiorze liczb z jakiegoś zakresu. Aby stworzyć taką listę liczb, po której możemy iterować korzystamy z funkcji range. Na poniższym schemacie jest przedstawiona składnia tej funkcji:

Jak wyliczyć liczby zwracane przez range?

Dla funkcji range(3, 8, 1) mamy dane: start = 3,  stop = 8, krok = 1. Oznacza to, że zwrócone zostaną liczby całkowite od 3 do 7 (stop jest równy 8 i nie wchodzi w skład wyniku, a więc ostatnią liczbą w liście jest 7).

Przykłady:

range(1, 10, 2)   – zwraca liczby: 1, 3, 5, 7, 9

range(5, 0, -1)    – zwraca liczby: 5, 4, 3, 2, 1

Funkcja range() - fragment kodu

W poniższym fragmencie kodu wykonujemy pętle for po elementach listy liczb, utworzonej przy użyciu funkcji range. W pętli wypisywane są na okno konsoli kolejne elementy listy oddzielone spacją.

W wyniku wykonania tego fragmentu kodu otrzymujemy na oknie konsoli napis:

Lekcja wideo - pętla for

Poniższa lekcja jest częścią kursu: Python dla dzieci i młodzieży – programowanie od podstaw.

Podsumowanie

Pętla for jest niezwykle przydatnym narzędziem, które pozwala na przetwarzanie kolekcji danych w prosty sposób. Programiści mogą wykorzystywać pętlę for do wielu celów, takich jak przeglądanie list, krotek, słowników, czy nawet analizy danych w plikach. Dzięki swojej prostocie i elastyczności, pętla for jest nieodłącznym elementem w pracy z Pythonem. Warto ją opanować, aby móc z niej korzystać w swoich programach.

Polecamy

Podręcznik do nauki programowania dla dzieci i młodzieży w języku Python, Ebook: Zadania dla młodzieży szkolnej Python oraz Kurs Online: Python dla dzieci i młodzieży – Programowanie od podstaw.

Nauka programowania w języku Python: Zbiory

Zbiory - nieuporządkowane kolekcje unikatowych elementów

Zbiory są jedną z podstawowych struktur danych, które umożliwiają przechowywanie unikatowych elementów. Są to niezmienne i nieuporządkowane kolekcje, co oznacza, że elementy w zbiorze nie mają określonej kolejności, a raz dodany element nie może być zmieniony. W tym artykule omówimy, jak korzystać z zbiorów w Pythonie, jakie są ich cechy i jakie operacje można na nich wykonywać.

Tworzenie zbioru

W Pythonie zbiory tworzy się za pomocą nawiasów klamrowych {} lub poprzez użycie funkcji set(). Poniżej znajdują się przykłady definicji dwóch zbiorów:

Zbiory Python definicje

W przykładzie definiujemy dwa zbiory. Zbiór A, który zawiera imiona żeńskie oraz zbiór B, zawierający imiona męskie. Zbiór A tworzymy korzystając z funkcji set(), natomiast zbiór B definiujemy przy użyciu nawiasów klamrowych { }.  

Następnie wypisujemy przy użyciu funkcji print elementy obu zbiorów. W wyniku wykonania tego fragmentu kodu otrzymujemy wynik:

wynik wypisania elementów zbioru w Pythonie

Operacje na zbiorach

W języku Python mamy możliwość wyświetlania sumy dwóch zbiorów, wyświetlania ich wspólnej części oraz różnicy między zbiorami. 

Aby zsumować elementy dwóch zbiorów używamy funkcji union(), którą wywołujemy na jednym ze zbiorów.

Aby znaleźć część wspólną dwóch zbiorów używamy funkcji intersection(), którą również wywołujemy na jednym ze zbiorów.

Ostatnią operacją jest różnica między zbiorami, aby ją wyliczyć używamy funkcji difference(). W zależności od tego na jakim zbiorze ją wywołamy otrzymamy różne wyniki.  Zobaczmy działanie tych funkcji na poniższym przykładzie:

Python zbiory sumowanie, różnica, wspólna część

W przykładzie tym definiujemy dwa zbiory C i D. Oba wypełniamy różnymi imionami. Tym razem w obu zbiorach znajdują się elementy wspólne.

Następnie tworzymy nowe zbiory: Suma, Wspolne i Roznica, które zawierają wyniki odpowiadających im operacji. Po każdej z operacji wypisujemy elementy nowo powstałych zbiorów na okno konsoli. W efekcie otrzymujemy następujące wyniki:

Jak widzimy suma zbiorów zawiera wszystkie elementy zbiorów C i D, ale nie zawiera powtórzeń. Oba zbiory C i D zawierały elementy: Idalia i Dawid, a w zbiorze wynikowym elementy te występują jeden raz. Wynika to z głównej właściwości zbioru – wszystkie elementy są unikalne.

W następnej linijce mamy wypisane elementy wspólne. Jest to wynik działania funkcji intersection().

A w ostatniej linijce wypisujemy różnice zbiorów, czyli ze zbioru C usuwamy elementy, które znajdują się w zbiorze D: Idalia i Dawid.

Dodawanie elementów do zbiorów

Aby dodać element do zbioru używamy funkcji add(). Możemy to zobaczyć na poniższym przykładzie:

Zbiory - dodawanie elementów Python Programowanie dla dzieci

W przykładzie definiujemy zbiór E, zawierający imiona żeńskie. W kolejnych linijkach przy użyciu funkcji add, próbujemy dodać kolejne elementy.

Do zbioru zostanie dodany element: „Marysia”.

Natomiast element „Ola” jest już w zbiorze, a jak wiemy zbiór może zawierać jedynie elementy unikalne. Dlatego Ola nie zostanie dodana do zbioru. W wyniku wykonania tego fragmentu kodu otrzymamy na oknie konsoli wynik:

Usuwanie elementów ze zbioru

Aby usunąć element ze zbioru używamy funkcji remove(). Funkcja ta działa jedynie wtedy, gdy element jest z zbiorze. W przypadku, gdy próbujemy usunąć tą funkcją nieistniejący element dostajemy błąd. 

Aby usunąć ze zbioru element, co do którego nie jesteśmy pewni, czy występuje w tym zbiorze, używamy funkcji discard().

Możemy to zobaczyć na poniższym przykładzie:

Usuwanie ze zbiotu funkcje remove i discard

W przykładzie definiujemy zbiór F, zawierający imiona męskie.

W trzeciej linii wywołujemy funkcję remove(). Chcemy usunąć element „Alex” ze zbioru. Element ten występuje w zbiorze, a więc ten fragment wykona się bezbłędnie.

Natomiast w następnych linijkach, chcemy usunąć element „Olek”. Umieściłam ten fragment w bloku tryexcept… Zrobiłam to, aby program nie zakończył się z błędem. Gdyż element ten nie występuje w zbiorze. Gdy w bloku try zostanie przechwycony błąd, program przejdzie do wykonywania instrukcji z bloku except, czyli wypisze informacje o błędzie.

W przedostatniej linii próbujemy usunąć element „Olek” przy użyciu funkcji discard(). Funkcja ta obsługuje przypadek braku elementu w zbiorze. A więc linijka ta zostanie wykonana bezbłędnie.

W wyniku wykonania tego fragmentu kodu otrzymamy na oknie konsoli wynik:

Usuwanie elementu ze zbioru - funkcja pop()

W języku Python istnieje jeszcze jedna funkcja, służąca do usuwania elementu zbioru. Jest to funkcja pop(), która usuwa dowolnie wybrany element zbioru. Ponieważ elementy w zbiorze są nieuporządkowane, nigdy nie wiemy jaki element zostanie usunięty. Co więcej funkcja ta zwraca ten usuwany element, który możemy przypisać do jakiejś zmiennej.

Zobaczmy to na poniższym przykładzie: 

pop funkcja python zbiory

Definiujemy zbiór G zawierający imiona żeńskie. W drugiej linii usuwamy element ze zbioru korzystając z funkcji pop(). Element ten przypisujemy do zmiennej usuniety_element.

W dwóch ostatnich linijkach wypisujemy wyniki wykonanej operacji.

Funkcja pop() zwróci losowy element. Przy każdorazowym uruchomieniu programu, może to być inny element. 

W wyniku wykonania tego fragmentu kodu otrzymaliśmy następujący wynik:

Wynik dzialania funkcji pop zbiory Python programowanie

Inne operacje na zbiorach

Na zbiorach możemy również wykonywać operacje, które są dostępne w innych kolekcjach tj. listy lub słowniki.

  1. Mamy możliwość sprawdzenia, czy element jest w zbiorze. Korzystamy wtedy z słowa kluczowego: in.
  2. Możemy sprawdzić, czy elementu nie ma w zbiorze. Robimy to przy użyciu słów: not in.
  3. Możemy skorzystać z funkcji len(), która nam określi liczbę elementów zbioru.
  4. Wreszcie możemy korzystać z pętli for i poruszać się po elementach zbioru.

Zobaczmy to na poniższym przykładzie:

Pozostałe operacje na zbiorach w Pythonie

Definiujemy zbiór H zawierający imiona.

Następnie sprawdzamy przy użyciu instrukcji if, czy element „Kasia” znajduje się w zbiorze H. Korzystamy ze słowa: in. Jeśli znajduje się, to wyświetlany jest odpowiedni komunikat informacyjny. Jeśli nie, to również informujemy o tym fakcie.

W kolejnych 4 liniach sprawdzamy, czy element „Dawid” nie występuje w zbiorze H. Korzystamy ze słów: not in. W zależności od wyniku sprawdzenia wyświetlane są odpowiednie komunikaty.

Kolejna linia to wypisanie liczby elementów zbioru (funkcja len).

Na koniec deklarujemy zmienną imionaP, która będzie przechowywać imiona zaczynające się od litery 'P’. W pętli for sprawdzamy czy poszczególne elementy zbioru H zaczynają się na szukaną literę. Jeśli tak, to dopisujemy to imie do naszej zmiennej. I wyświetlamy w ostatniej linii naszego programu.

W wyniku wykonania tego fragmentu kodu otrzymaliśmy następujący wynik:

Podsumowanie

Zbiory w Pythonie są użytecznym narzędziem do przechowywania unikatowych elementów. Są niezmienne i nieuporządkowane, co sprawia, że są efektywne w operacjach dodawania, usuwania oraz sprawdzania przynależności elementów. Ponadto, zbiory pozwalają na wykonywanie operacji typu suma, różnica i część wspólna, co czyni je przydatnymi w różnych programach. Zrozumienie i nabycie umiejętności pracy z tymi strukturami danych wzbogaci Waszą wiedzę o języku Python.

Polecamy

Podręcznik do nauki programowania dla dzieci i młodzieży w języku Python, Ebook: Zadania dla młodzieży szkolnej Python oraz Kurs Online: Python dla dzieci i młodzieży – Programowanie od podstaw.

Nauka programowania w języku Python: while…else…

Zastosowanie klauzury else w pętlach

Pętle są jednym z podstawowych elementów programowania, który umożliwia powtarzanie kodu wielokrotnie, dopóki warunek pętli jest prawdziwy.           W języku Python pętla może być wzbogacona o klauzulę else, która pozwala na wykonanie kodu w momencie, gdy pętla kończy swoje działanie. Zobaczmy poniżej jak wygląda składnia pętli while z wykorzystaniem else:

Python pętla while else

Zastosowanie pętli while...else... - przykład

Napiszmy fragment kodu, który sprawdzi poprawność PINu wprowadzonego przez użytkownika. Użytkownik ma trzy próby wprowadzenia poprawnego PINu. Jeśli mu się nie uda, konto zostanie zablokowane. Zobaczmy to na przykładzie poniżej:

W pierwszej linii kodu, ustawiamy wartość prawidłowego kodu PIN jako „1234”. Następnie, ustawiamy wartość zmiennej „ilosc_prob” na 0, co będzie nam służyć jako licznik prób wprowadzenia kodu PIN przez użytkownika.

W pętli „while” wykonujemy trzy próby wprowadzenia kodu PIN. Przy każdej iteracji, użytkownik jest proszony o wpisanie kodu PIN, który jest zapisywany do zmiennej „pin”. Następnie, porównujemy wartość zmiennej „pin” z prawidłowym kodem PIN zapisanym w zmiennej „prawidlowy_pin”. Jeśli wprowadzony kod PIN jest poprawny, wyświetlamy komunikat „PIN poprawny!” i przerywamy pętlę „while” za pomocą instrukcji „break”. Jeśli wprowadzony kod PIN nie jest poprawny, wyświetlamy komunikat „PIN niepoprawny.” i zwiększamy licznik prób o 1.

Jeśli użytkownik nie wprowadził poprawnego kodu PIN w ciągu trzech prób, pętla „while” się kończy, a blok kodu w klauzuli „else” zostanie wykonany, wyświetlając komunikat „Zbyt wiele prób, konto zablokowane.”

W przypadku wprowadzenia trzy razy niepoprawnego PIN otrzymamy w oknie konsoli komunikaty:

Pin niepoprawny język python sprawdzenie

Gdy wpiszemy od razu poprawny PIN otrzymamy napis:

PIn poprawny wynik dzialania programu w języku python

Podsumowując, kod powyżej służy do zabezpieczenia dostępu do pewnego zasobu za pomocą kodu PIN. Użytkownik ma trzy próby wprowadzenia poprawnego kodu PIN, po czym w przypadku niepowodzenia konto zostaje zablokowane.

Podsumowanie

W Pythonie klauzula „else” w pętlach jest często stosowana i uważana jest za przydatną funkcję języka.W innych językach programowania zastosowanie słowa „else” w pętlach może nie być dostępne lub mieć inną składnie i działanie.

Polecamy

Podręcznik do nauki programowania dla dzieci i młodzieży w języku Python, Ebook: Zadania dla młodzieży szkolnej Python oraz Kurs Online: Python dla dzieci i młodzieży – Programowanie od podstaw.

Nauka programowania w języku Python: F-string

F-string - nowa funkcja do formatowania tekstów

F-string to jedna z najnowszych funkcji języka Python, wprowadzona w wersji 3.6. Jest to składnia, która pozwala na łatwe wstawienie wartości zmiennych do łańcucha znaków.

Do tej pory były znane były dwie metody wstawiania zmiennych do łańcucha znaków w Pythonie. Pierwsza z nich wykorzystuje operator %. Polega ona na  użyciu specjalnych znaków formatowania, takich jak %s lub %d. Druga metoda wykorzystuje funkcje format do wstawienia zmiennych do tekstu.  Jednakże, gdy łańcuch jest długi i zawiera wiele zmiennych wygodniej jest skorzystać z formatowania f-string.

W porównaniu do tradycyjnego formatowania, f-stringi są bardziej intuicyjne i łatwiejsze do zrozumienia. Składnia f-stringa składa się z literału łańcucha, poprzedzonego literą f, a następnie umieszczamy zmienne w nawiasach klamrowych. Zobaczmy to na poniższym przykładzie:

 

Python dla dzieci fstring

W przykładzie definiujemy dwie zmienne: imie i wiek, przypisujemy do nich wartości początkowe. Następnie w funkcji print wyświetlamy napis. Przed znakami cudzysłowie piszemy literę f. Oznacza to, że możemy już skorzystać z f-string. Aby wstawić zmienną wpisujemy jej nazwę w nawiasach klamrowych. I to by było na tyle. To bardzo proste.

Wynik działania naszego programu:

nauka dla dzieci python wynik fstringa

F-stringi pozwalają nam nie tylko na wstawianie do tekstów wartości zmiennych, ale także na wstawianie w nawiasy klamrowe wyrażeń matematycznych. Zobaczmy to na następnym przykładzie:

python dla dzieci książka pole i obwód prostokąta

W powyższym przykładzie jest zaprezentowany program do wyliczania pola i obwodu prostokąta o bokach a = 10 cm i b = 4.5 cm.

Definiujemy dwie zmienne a i b, przypisujemy do nich wartości początkowe. A następnie w funkcjach print wykorzystujemy formatowanie f-string. Najpierw wstawiamy wartości zmiennych a i b, a na koniec wstawiamy w nawiasy klamrowe wyrażenie matematyczne (wzór matematyczny), wyliczające pole i obwód prostokąta.

W wyniku działania naszego programu otrzymamy na ekranie konsoli napisy:

f strin python

Podsumowanie

Jak widać, f-stringi pozwalają na wygodne i eleganckie wstawienie zmiennych do łańcucha znaków w Pythonie. Są one łatwe w użyciu i zwiększają czytelność kodu, szczególnie w przypadku łańcuchów znaków z wieloma zmiennymi. Dzięki nim, kod staje się bardziej przejrzysty i łatwiejszy do zrozumienia, co przekłada się na szybsze i bardziej efektywne pisanie programów.

Polecamy

Podręcznik do nauki programowania dla dzieci i młodzieży w języku Python, Ebook: Zadania dla młodzieży szkolnej Python oraz Kurs Online: Python dla dzieci i młodzieży – Programowanie od podstaw.

Programowanie dla dzieci

Programowanie Książki i Kursy Online

Zajęcia dodatkowe dla twojego dziecka

Nauka języka angielskiego, karate, taniec, gra na gitarze, a może właśnie programowanie – co wybrać ?

W dzisiejszym świecie rodzice często stoją przed dylematem, jakie zajęcia wybrać dla swoich dzieci, jakie umiejętności pomóc im rozwijać oraz co przyda się im w przyszłości i wpłynie pozytywnie na ich rozwój. Znajomość języka angielskiego to podstawa, każdy rodzic to wie. Bez znajomości języka angielskiego ciężko poradzić sobie w dorosłym życiu. 

Przez ostatnie 20 – 30 lat świat się bardzo zmienił. W tej chwili technologie informatyczne są obecne w prawie każdej dziedzinie życia. Większość osób ma smartfona, wypłaca pieniądze z bankomatu, jeździ samochodem, opłaca rachunki przez internet. Niektórzy latają samolotem na zagraniczne wakacje, a dzieci lubią grać w gry komputerowe.

Na co dzień nie zdajemy sobie z tego sprawy, ale wszędzie otaczają nas programy. Każde urządzenie podłączone do prądu posiada program, który steruje jego działaniem. W telefonach korzystamy z różnych aplikacji napisanych przez programistów, które służą do wysyłania smsów, do robienia zdjęć, do grania itp.  Pracą bankomatu steruje program. Każdy współczesny samochód jest wyposażony w elektronikę, która działa w oparciu o zainstalowane oprogramowanie. Za działanie każdego z tych urządzeń odpowiada program napisany przez jakiegoś programistę. W prawie każdej pracy korzystamy z komputera, wprowadzamy do niego dane.

Nie wrócimy już do czasów sprzed rewolucji informatycznej. Dlatego w tej chwili nauka programowania jest równie ważna jak nauka języka obcego. Poza zapewnieniem dziecku lepszej przyszłości, wpływa pozytywnie na jego rozwój.

Pomaga kształtować charakter jak i umiejętności. Pisanie własnych programów to proces twórczy, który wymaga poszukiwania nowych rozwiązań,  odkrywania nowych ścieżek oraz podążania za innowacyjnymi pomysłami. Uczy myślenia logicznego oraz rozwija takie cechy jak kreatywność i ciekawość świata.

Programowanie to także ćwiczenie charakteru. Uczy cierpliwości i wytrwałości w dążeniu do celu. Pokonywanie trudności dodaje wiary w siebie i własne możliwości. Każdy zrealizowany projekt daje wiele radości i satysfakcji.

 

Programowanie dla dzieci - od czego zacząć? Jaki język wybrać ?

Jest wiele języków programowania. Za najłatwiejszy do nauki język programowania jest uznawany Python. Jest on najczęściej wybierany jako język do nauki programowania dla dzieci.

Język C++ z kolei jest językiem trudniejszym. Wśród programistów panuje opinia, z którą się zgadzam, że jeśli ktoś zacznie naukę od tego języka, to później nauczy się następnego z łatwością. Języki są do siebie podobne, mają wspólne elementy. Nauczysz się języka C++ z łatwością przejdziesz na język C#, Javę, Python itd.

Programowanie dla dzieci - Python

Elementarz młodego programisty Python – to podręcznik, który umożliwia szybkie i łatwe rozpoczęcie nauki programowania. Przeznaczony jest dla dzieci w wieku 9 -18 lat.

Podzielony jest na 28 lekcji. Każda lekcja to osobne zagadnienie. Każde zagadnienie jest omówione na przykładzie. Każda linijka kodu jest od razu wyjaśniona. Przykłady są na tyle krótkie i proste, a przy tym zaprezentowane w przejrzysty sposób (przy użyciu elementów graficznych), że bardzo łatwo i szybko można je zrozumieć. Tak, aby każde dziecko, mogło sobie poradzić z nauką z tego podręcznika.

Poniżej przykładowa lekcja i ilustracje z książki.

Programowanie w Pythonie - przykładowa lekcja z Elementarza

Naukę programowania zaczynamy od funkcji print wyświetlającej na ekran napisy. Poznajemy różne sposoby wyświetlania napisów. Dowiadujemy się również, co to są komentarze i jak je zapisywać w języku Python.

Programowanie dla dzieci i młodzieży Python Lekcja 1 Pierwszy program
Programowanie dla dzieci i młodzieży Python Lekcja 1 Pierwszy program 2
Przykładowa lekcja programowania dla dzieci w pythonie

Programowanie w Pythonie - ilustracje z podręcznika

Ilustracje znajdujące się w podręczniku pozwalają dziecku wyobrazić sobie zagadnienia programistyczne na przykładzie z życia codziennego. Dzięki temu dziecko łatwiej zapamięta materiał. Skojarzy sobie z konkretną sytuacją.

Dodatkowo ilustracje mają zachęcić dziecko do nauki programowania i pokazać, że to jest też zabawa, że programowanie jest fajne.

Programowanie dla dzieci w języku C++

Elementarz młodego programisty Język C++ – to podręcznik do nauki programowania dla dzieci w wieku 10 -18 lat.

Zawiera 30 lekcji, napisanych przystępnym, zrozumiałym słownictwem. Każda lekcja zawiera przykłady, które są bardzo dokładnie omówione. Każda lekcja to osobne zagadnienie programistyczne. Niektóre tematy są zaprezentowane również na ilustracji.

Zawiera takie zagadnienia:
  • wprowadzenie do programowania – wyjaśnienie podstawowych pojęć: biblioteka programistyczna, kompilacja, linkowanie, kod źródłowy…
  • biblioteka iostream (cout, cin), zmienne, typy,
  • instrukcje warunkowe i pętle, operatory,
  • tablice, referencje, wskaźniki
  • tworzenie własnych funkcji
  • elementy programowania obiektowego: wprowadzenie do tematu, klasy, struktury, unie, dziedziczenie, polimorfizm.
Poniżej znajduje się przykładowa lekcja i ilustracje z książki.
 

Programowanie w języku C++ - przykładowa lekcja z Elementarza

Pierwsza lekcja z podręcznika zawiera omówienie budowy programu w języku C++. Dowiadujemy się co to są komentarze, do czego służy biblioteka iostream, jak wyświetlić napis na okno konsoli.

Przed lekcją pierwszą w Elementarzu znajduje się rozdział wprowadzający do programowania. Dowiadujemy się jak uruchomić pierwszy program, oraz poznajemy podstawowe pojęcia, które będą wykorzystywane w książce.

Nauka programowania dla dzieci Lekcja 1
Nauka programowania dla dzieci w języku C++ przykładowa lekcja

Programowanie w języku C++ - ilustracje z podręcznika

Przykładowe ilustracje z podręcznika pokazują instrukcje wyboru if, definicje tablicy na przykładzie wagonów pociągu oraz zastosowanie pętli while na przykładzie chomika biegnącego w kołowrotku.

Książka Nauka programowania dla dzieci Ilustracja
Nauka programowania język C++ Ilustracja
Ilustracja Książka do nauki dla dzieci

Kurs online: Programowanie dla dzieci w języku C++

Kurs online do nauki programowania dla dzieci jest dostępny na platformie e-learningowej.

Każde dziecko może zobaczyć, jak się programuje i uruchamia programy w środowisku programistycznym Replit. W każdej lekcji piszemy program, który pokazuje na przykładzie omawiane zagadnienie. Na końcu każdej lekcji są zadania do samodzielnego przećwiczenia tematu. Rozwiązania wszystkich zadań znajdują się w materiałach dołączonych do kursu. 

Dodatkowo kurs zawiera zadania wraz z rozwiązaniami, pochodzące z różnych etapów kształcenia szkolnego.

Poniżej znajdują się dwie przykładowe lekcje. Zapraszam do zapoznania się z materiałami.

Programowanie w języku C++ - przykładowe lekcje z kursu online

W lekcji tej poznajemy budowę programu i podstawowe pojęcia programistyczne. Uruchamiamy pierwszy program.

Poniższa lekcja jest wprowadzeniem do programowania obiektowego. Dowiadujemy się co to jest klasa, obiekt oraz na czym polega dziedziczenie.

Podsumowanie

Warto uczyć dzieci programowania. Dziecko rozwinie swoje zdolności, nabędzie nowych umiejętności, będzie czuć się pewniej w dorosłym życiu. Odpowiednio przygotowane materiały, dostosowane do wieku dziecka nie tylko ułatwią mu start ale i zachęcą do nauki i dalszego rozwoju.

Wprowadzenie do programowania obiektowego

Programowanie obiektowe dla początkujących

Na czym polega programowanie obiektowe ?

Programowanie obiektowe polega na opisywaniu świata rzeczywistego przy użyciu obiektów.

Załóżmy, że mamy za zadanie napisać program zawierający informacje dotyczące uczniów w pewnym mieście.

Wybierzmy sobie trzech uczniów, każdy ma pewne cechy indywidualne: imię, nazwisko, wzrost, waga, wiek, ulubiony przedmiot, chodzi do określonej szkoły. Każdy może wykonywać pewne czynności np. uczeń może się przedstawić. Zobaczmy to na schemacie poniżej:

Programowanie obiektowe - wprowadzenie
Każdy z tych uczniów w świecie programowania będzie osobnym obiektem. Mamy więc trzy obiekty: Uczeń 1, Uczeń 2, Uczeń 3. Każdy z uczniów posiada: imię, nazwisko, wzrost, waga, wiek, ulubiony przedmiot, chodzi do określonej szkoły i może się też przedstawić.

Np.
Uczeń 1 powie: „Mam na imię Roksana, mam 12 lat”
Uczeń 2 powie: „Jestem Julian Kowalski, mam 11 lat”

Cechy i zachowania (czynności), które mają te obiekty, są wspólne i możemy je pogrupować w jeden szablon. Taki szablon nazywamy klasą.

Klasa dla naszych obiektów: Uczeń 1, Uczeń 2, Uczeń 3 będzie wyglądać następująco:

Możemy zatem powiedzieć, że klasa to zestaw pewnych cech (właściwości) i czynności (funkcji) opisujących obiekty.

Programowanie obiektowe: obiekt i klasa

Obiektem w świecie rzeczywistym może być konkretny przedmiot, osoba, zwierzę, zjawisko, które posiada własne cechy, i może wykonywać pewne czynności np. Opel Astra 4 z silnikiem diesla, telefon komórkowy Samsung Galaxy S6, student Jan Kowalczyk, uczennica Maria Szymańska, kot o imieniu Stefan itp.

Klasą zaś w świecie rzeczywistym jest odpowiednio: samochód, telefon komórkowy, student, uczeń, kot.

Programowanie obiektowe: dziedziczenie

Wróćmy teraz do naszej klasy Uczeń. Stwórzmy kolejną klasę o nazwie Student. Mamy zatem dwie klasy przedstawione na schemacie poniżej:

Obie te klasy mają cechy i czynności wspólne. Są to cechy: imię, nazwisko, wzrost, waga, wiek i czynność: przedstaw się.

Każda z tych klas ma swoje cechy indywidualne. Klasa Uczeń posiada właściwości: ulubiony przedmiot i szkoła, a klasa Student właściwości: kierunek studiów i uczelnia.

Zauważmy, że cechy takie jak imię, nazwisko, wzrost, waga, wiek  nie dotyczą tylko ucznia, czy studenta, ale określają wszystkie osoby. Cechy te możemy zapisać w postaci jednej wspólnej klasy o nazwie Osoba.

Programowanie obiektowe Klasa bazowa Osoba

Załóżmy, że w naszym programie, chcemy stworzyć więcej obiektów, nie tylko klasy Uczeń i Student, ale i Taksówkarz, Programista czy Malarz. Definiując te klasy, zamiast w każdej z nich pisać wiele razy te same cechy i czynności, możemy skorzystać z klasy Osoba (odziedziczyć po niej wspólne składniki)  i dopisać w każdej z klas jedynie składniki wyróżniające je. Możemy to zobaczyć na poniższym schemacie

Klasa, po której dziedziczymy składniki, nazywamy klasą bazową. A klasy, które dziedziczą po klasie bazowej, nazywamy klasami pochodnymi.

 

Podsumowanie

Programowanie obiektowe nie jest takie skomplikowane, jak się początkowo wydaje. Najtrudniejsze jest zrozumienie czym jest klasa i obiekt oraz na czym polega dziedziczenie. Ten krok mamy już za sobą. Możemy teraz przejść do poznawania zasad tworzenia klas i obiektów w konkretnym języku programowania.

Artykuł ten powstał na podstawie jednego z rozdziałów z książki do nauki programowania: Elementarz młodego programisty Język C++.

W kolejnych rozdziałach pokazane jest, jak definiować klasy, tworzyć obiekty, korzystać z dziedziczenia  przy użyciu  języka programowania C++.

Algorytmy i schematy blokowe

Algorytmy i schematy blokowe - wstęp do programowania

Algorytmy wydają się być zagadnieniem bardzo skomplikowanym. Nic bardziej mylnego. Algorytmy są obecne w naszym życiu na każdym kroku, tylko nie zdajemy sobie z tego sprawy. Każdy, niezależnie od wieku, może nauczyć się tworzenia algorytmów. To naprawdę łatwe. A korzyści jest wiele. Nauka algorytmiki rozwija umiejętności: logicznego myślenia, analizowania i rozwiązywania problemów.

Algorytmy - przykłady z życia codziennego

Przepis na babeczki z czekoladą

Krok 1. Przygotuj składniki
Krok 2 . Wymieszaj w misce wszystkie suche składniki: mąka, cukier, cukier waniliowy, proszek do pieczenia.
Krok 3.  Dodaj wszystkie składniki płynne: Jajko, olej, mleko.
Krok 4.  Ciasto dokładnie wymieszaj do uzyskania jednolitej masy.
Krok 5. Nałóż po łyżce ciasta do każdej foremki, na środku każdej babeczki wetknij po kostce czekolady
Krok 6. Czekoladę przykryj dodatkową porcją ciasta, aby wypełniło ¾ wysokości foremki.
Krok 7. Piecz w 180 °C przez 25-30 minut

Zakupy - schemat blokowy

Algorytm - Schemat blokowy - zakupy

Pierwsza pomoc - schemat blokowy

Co to jest właściwie algorytm ?

Algorytm jest to zestaw kroków (czynności) prowadzący do rozwiązania pewnego konkretnego problemu (zadania).

Algorytmy możemy przedstawić w postaci opisu wykonywanych kroków lub w postaci schematów blokowych.

Co musi posiadać algorytm (właściwości) ?

  1. Algorytm wymaga podania jakiś danych wejściowych, czyli początkowych wartości.
  2. Każdy krok algorytmu musi być precyzyjnie zdefiniowany.
  3. Musi kończyć się po pewnej skończonej liczbie kroków.
  4. Na zakończenie oczekujemy na wyjściu jakiegoś rezultatu (wyniku).
  5. Dane wyjściowe często są uzależnione od danych jakie podaliśmy na wejściu.

Jakie są rodzaje algorytmów ?

  1. Algorytm liniowy (sekwencyjny) – jest to zestaw poleceń wykonywanych jeden po drugim, w kolejności w jakiej zostały zapisane.
Przykład:
Problem (zadanie): Napisz algorytm wyliczający sumę dwóch liczb.
Dane wejściowe do algorytmu: Liczba1, Liczba2
Dane wyjściowe (oczekiwany wynik): Suma dwóch liczb

Krok 1: Start
Krok 2: Podaj pierwszą liczbę (wczytaj z klawiatury Liczba1).
Krok 3: Podaj drugą liczbę (wczytaj z klawiatury Liczba2).
Krok 4: Oblicz sumę dwóch liczb: Suma = Liczba1 + Liczba2
Krok 5: Wyświetl sumę.
Krok 6: Koniec
  1. Algorytm rozgałęziony (zawierający wybór) – jest to taki algorytm, w którym wykonanie operacji opiera się na pewnym warunku. Jeśli warunek jest spełniony przechodzimy do jednej gałęzi, jeżeli nie jest spełniony to do innej gałęzi.
    W językach programowania zazwyczaj odnosi się do instrukcji if (jeśli), lub instrukcji switch.
    Na schematach blokowych pole wyboru jest zaprezentowane w postaci pola o kształcie rombu.
Przykład:
Problem (zadanie): Znajdź największą z dwóch liczb.
Dane wejściowe do algorytmu: Liczba1, Liczba2
Dane wyjściowe (oczekiwany wynik): Większa liczba – Max

Krok 1: Start
Krok 2: Podaj pierwszą liczbę (wczytaj z klawiatury Liczba1).
Krok 3: Podaj drugą liczbę (wczytaj z klawiatury Liczba2).
Krok 4: Jeśli Liczba1 jest większa od Liczba2, to Max = Liczba1
Krok 5: Jeśli Liczba2 jest większa od Liczba1, to Max = Liczba2
Krok 6: Wyświetl większą liczbę (max).
Krok 7: Koniec
  1. Algorytm iteracyjny (zawierający pętle) – wykorzystywany jest w przypadkach, gdy pewne instrukcje trzeba wykonywać wielokrotnie. Ilość wykonań uzależniona jest od spełnienia warunku w pętli.
    W językach programowania są to pętle while, for i do…while .
    Na schematach blokowych pętlę wskazuje strzałka wstecz.
    Przebieg pętli nazywamy iteracją. Bardzo ważne jest, aby warunek zakończenia pętli został spełniony po pewnej liczbie iteracji. W przeciwnym wypadku pętla będzie nieskończona. Spowoduje to zawieszenie się programu.
Przykład:
Problem (zadanie): napisz algorytm, który wyświetli liczby z pewnego zakresu (n, m)
Dane wejściowe do algorytmu: zakres (n, m)
Dane wyjściowe (oczekiwany wynik): Liczby z przedziału (n, m)

Krok 1: Start
Krok 2: Podaj dolny zakres (wczytaj z klawiatury n)
Krok 3: Podaj górny zakres (wczytaj z klawiatury m)
Krok 4: Wypisz n
Krok 5: Zwiększ liczbę n o 1
Krok 6: Jeżeli liczba n <= m to idź do kroku 4 w przeciwnym wypadku idź do kroku 7
Krok 7: Koniec

Schematy blokowe

Służą do graficznego zaprezentowania algorytmów. Składają się z pewnego zestawu elementów (symboli).

Podstawowe symbole powszechnie stosowane do tworzenia schematów to:

Algorytm Schemat blokowy Start End

Oznacza początek lub koniec algorytmu.

Oznacza proces, zazwyczaj są to działania, obliczenia, podstawienia.

Algorytm Schemat blokowy Wczytywanie danych

Oznacza operacje wejścia /wyjścia – wczytywanie danych z klawiatury i wyświetlanie na ekran.

Algorytm schemat blokowy Wybór

Oznacza pole wyboru. Umieszczamy w nim jakiś warunek. Z wierzchołków rombu wyprowadzamy dwie strzałki. 

Algorytm schemat blokowy arrow

Pokazują kierunek wykonywania poszczególnych kroków.

Algorytm wyliczania średniej arytmetycznej

Średnia arytmetyczna to suma liczb podzielona przez ich liczbę.

Średnią arytmetyczną wyliczamy według wzoru:

Średnia arytmetyczna wzór

Algorytm w formie opisowej

Krok 1. Start
Krok 2. Wczytaj ilość liczb do zmiennej n.
Krok 3. Ustaw zmienną suma na 0 ( Suma = 0 ) oraz indeks i = 1.
Krok 4. Jeśli pobrano wszystkie liczby, czyli   i = n, to wówczas przejdź do kroku 6, w przeciwnym wypadku idź do kroku 5.
Krok 5. Pobierz liczbę i dodaj ją do sumy, zwiększ indeks i o 1. Przejdź do kroku 4.
Krok 6. Wylicz średnią jako iloraz sumy i ilości liczb n.
Krok 7. Wypisz na ekranie średnią.
Krok 8. Koniec

Schemat blokowy

Algorytm Schemat blokowy Średnia arytmetyczna
Program Replit Średnia arytmetyczna cpp

Podsumowanie

Nauka tworzenia algorytmów nie jest taka trudna, jak się początkowo wydaje. Algorytmy są obecne w naszym życiu na każdym kroku. Cała trudność polega na dostrzeżeniu analogii między algorytmami z życia codziennego, a tymi ze świata matematyki. Gdy to zauważymy, projektowanie algorytmów do problemów matematycznych nie będzie już takie skomplikowane. Opanowanie ich oraz schematów blokowych to pierwszy krok do nauki programowania.

Co dalej...

Jeśli zainteresował Cię ten artykuł, zachęcamy do zapoznania się z naszymi kursami i książkami.

 

Wprowadzenie do programowania w języku C++

Zaczynając swoją przygodę z programowaniem warto zapoznać się z podstawowymi pojęciami programistycznymi i zrozumieć, co one oznaczają. Zajmijmy się w pierwszej kolejności budową programu. Na początku uruchomimy środowisko programistyczne i utworzymy nasz pierwszy projekt w języku C++. Bez względu na to jakie środowisko programistyczne wybierzemy (Visual Studio, Replit lub inne), to zostanie wygenerowany pewien początkowy program. Ma on następującą postać:
Wprowadzenie do programowania w języku C++
Kod pierwszego programu w środowisku Visual Studio

Gdy spojrzymy na wygenerowany pierwszy program, to zauważymy, że poszczególne słowa są podświetlone różnymi kolorami. Jest to tzw. podświetlenie (pokolorowanie) składni. Środowiska programistyczne takie jak Visual Studio  zapewniają taką funkcjonalność, aby program był bardziej czytelny i zrozumiały dla programisty.

Kolorem zielonym są oznaczone komentarze do programu. Możemy tam napisać np. autora programu, kiedy został utworzony program i inne informacje, które wydają się nam przydatne.

Kolorem niebieskim są oznaczone słowa kluczowe, są to inaczej słowa zastrzeżone. Oznacza to, że nie możemy z nich korzystać, tworząc własne nazwy w programie.

Kolor bordowy jest z kolei zarezerwowany dla danych tekstowych.

Przy tworzeniu własnych programów korzystamy z bibliotek. Biblioteka programistyczna jest to plik, który dostarcza nam gotowe podprogramy, funkcje, dane, typy danych, które możemy użyć w naszym programie.

Biblioteki takie dołączamy na początku programu po słowie #include.

Bardzo często używanym pojęciem jest kod źródłowy. To nie jest nic innego, jak kod naszego programu.

Program napisany w języku programistycznym jest niezrozumiały dla komputera. Aby komputer go zrozumiał, musi zostać przetłumaczony na język maszyny. Służy do tego kompilator. Jest to narzędzie, które jest dostarczone przez każde środowisko programistyczne. W Visual Studio dostępne jest z menu Kompilowanie => Kompiluj rozwiązanie. Podczas kompilowania sprawdzany jest kod programu, czy jest napisany poprawnie. Jeśli są jakieś błędy, to wówczas kompilator je nam wyświetli w oknie Dane Wyjściowe.

Gdy program zostanie skompilowany, dostaniemy wersję zrozumiałą dla komputera, ale jeszcze niepełną. Brakuje bibliotek programistycznych, które dołączyliśmy do naszego programu. Narzędzie służące do dołączania bibliotek nazywa się linkerem, a sam proces dołączania linkowaniem. Po wykonaniu linkowania otrzymujemy program, który nadaje się do uruchomienia. Ma on rozszerzenie exe , czyli jest to plik wykonywalny. W przypadku naszego programu jest to plik o nazwie PierwszyProgram.exe.

W Visual Studio nie mamy  dostępnej opcji wykonania samego linkowania. Gdy wybierzemy z menu Debugowanie => Uruchom bez debugowania, to zostanie uruchomiony proces kompilacji i linkowania, i jeśli wszystko przebiegnie bezbłędnie, to zostanie uruchomiony program.

Replit: Narzędzie programistyczne dla uczniów, nauczycieli i programistów

Replit narzędzie do nauki programowania

Replit jest to narzędzie, które umożliwia pisanie kodu, jego kompilację i uruchomienie w przeglądarce internetowej. Jest to narzędzie bardzo proste w obsłudze i w pełni darmowe.

Zawiera między innymi: edytor kodu, kompilator, okno konsoli, okno projektu, w którym widoczne są pliki projektu, okienko podglądu (w przypadku tworzenia stron internetowych).

Jest to środowisko bardzo rozbudowane. Można w nim pisać programy w ponad 20 językach programowania. Do najpopularniejszych należą: C++, C#, Python, PHP, Java, HTML, JS i wiele innych. Ma dużo wbudowanych frameworków np. Rails (Ruby) i Django (Python), z których możemy korzystać tworząc własne projekty.

Jak napisać własny program w języku C++ ?

Tworzenie własnego programu w języku C++ jest bardzo proste. Po zalogowaniu się do platformy https://replit.com/  w oknie startowym wybieramy przycisk Create repl. Wyświetla się nam okienko z wyborem języka programowania. Wybieramy język, wpisujemy nazwę projektu i mamy już utworzony początkowy projekt. Aby go uruchomić naciskamy zielony przycisk RUN. Po chwili program uruchamia się w okienku konsoli.
Programowanie w języku C++

Narzędzie Replit, a tworzenie stron internetowych

Tworzenie własnej strony również jest bardzo proste. Pokażę to na przykładzie projektu w HTML. Stworzyłam nowy projekt HTML o nazwie strona. Dodałam w nim dwa nagłówki: Witaj świecie i To jest strona testowa. Po kliknięciu przycisku RUN, otrzymujemy w prawym oknie – widok podglądu strony. Co więcej dla naszej strony zostaje przydzielona domena tymczasowa : https://strona.kagopro.repl.co . Możemy uruchomić stronę w dowolnej przeglądarce wpisując ten adres. Adres to tak naprawdę: NazwaProjektu.NazwaUzytkownika.repl.co . Jest to duży plus ponieważ możemy nasz projekt udostępnić innym osobom podając po prostu linka.

Środowisko Replit dla uczniów i nauczycieli

Replit ma również wiele wbudowanych funkcji edukacyjnych, dzięki czemu jest świetny również dla nauczycieli i uczniów . Z menu bocznego mamy dostęp do zakładki Teams. Nauczyciel ma możliwość tworzenia zespołów, przypisywania do nich uczniów oraz pracy z nimi w czasie rzeczywistym.
Replit - narzędzie dla nauczyciela

Nauczyciel widzi, którzy uczniowie kodują. Wystarczy jedno kliknięcie, aby dołączyć do ich sesji i zobaczyć nad czym pracują. Można przejrzeć ich prace i wysłać opinie lub uwagi do całego projektu bądź do poszczególnych linijek kodu.

Wszystko to sprawia, że Replit jest bardzo przydatnym narzędziem zwłaszcza w przypadku wirtualnej nauki. Nie musimy mieć na własnym urządzeniu zainstalowanego specjalnego oprogramowania, wystarczy nam wyszukiwarka internetowa.

Inne zalety narzędzia Replit

Nie musimy zapisywać projektu. Każdy projekt jest zapisywany automatycznie w chmurze. Możemy zalogować się na nasze konto Replit z dowolnego miejsca i dowolnego urządzenia: laptop, telefon, tablet i widzimy w My Repls wszystkie utworzone przez nas projekty.

Środowisko Replit daje również możliwość programowania w zespole: w trybie Multiplayer. Aby udostępnić projekt innym osobom należy nacisnąć szary przycisk Invite znajdujący się w prawym górnym rogu. Otwiera się okienko Invite. Możemy w nim zaprosić użytkownika wpisując jego nazwę lub możemy wygenerować link przyciskiem: Generate a join link i przesłać go osobom, które zapraszamy do wspólnej pracy nad projektem.

Replit - programowanie w zespole

Wszystkie utworzone projekty możemy ściągnąć na nasz komputer, i odwrotnie. Pliki z naszego komputera możemy dołączyć do projektów w środowisku Replit.

Z poziomu Replit możemy również połączyć się z repozytorium plików GitHub. Możemy zapisywać tam nasze zmiany w projekcie.

Podsumowanie

Środowisko Replit mogę z całą pewnością polecić osobom uczącym się programowania: uczniom i studentom, a także nauczycielom. Narzędzie to na pewno bardzo ułatwi ich pracę. W przypadku zdalnej nauki może okazać się niezastąpione.

Co dalej...

Jeśli zainteresował Cię ten artykuł, zachęcamy do zapoznania się z naszym kursem online i książką. W kursie online: Programowanie dla dzieci i młodzieźy Język C++ korzystamy właśnie ze środowiska Replit.