ECDL S10. Podstawy programowania w języku Python

Tekst
0
Recenzje
Oznacz jako przeczytane
Jak czytać książkę po zakupie
Czcionka:Mniejsze АаWiększe Aa


Projekt okładki i stron tytułowych INT-MEDIA Dawid Mazur

Wydawca Edyta Kawala

Redaktor prowadzący Jolanta Kowalczuk

Korekta Jolanta Kucharska

Koordynator produkcji Anna Bączkowska

Recenzent

Marzena Krzysztoń, Koordynator ECDL

ECDL, ICDL i związane z nimi logotypy są zarejestrowanymi znakami handlowymi Fundacji ICDL. Wydawnictwo Naukowe PWN (PWN) jest podmiotem niezależnym od Polskiego Towarzystwa Informatycznego (PTI), działającego jako ECDL Polska, i nie jest powiązane z Fundacją ICDL lub PTI w jakikolwiek sposób. Ten podręcznik może być wykorzystany jako pomoc dla kandydatów przygotowujących się do egzaminów w Programie Certyfikacji ECDL, określonym w tytule podręcznika. Zarówno PTI, jak i PWN nie gwarantują, że korzystanie z tej publikacji zapewni zdanie egzaminów w tym Programie Certyfikacji ECDL. Niniejsza publikacja została zrecenzowana i zatwierdzona przez PTI jako obejmująca efekty uczenia się właściwe dla Programu Certyfikacji ECDL. Potwierdzenie tego faktu można uzyskać, przeglądając stronę internetową ECDL Polska (https://ecdl.pl/).

Wszelkie pytania i ćwiczenia zawarte w tym podręczniku odnoszą się wyłącznie do tej publikacji, nie stanowią i nie odnoszą się do certyfikacji ECDL. Bez względu na to, jak materiały zawarte w tym podręczniku są wykorzystane: czy to na szkoleniach, w ramach e-learningu, czy w ramach samodzielnej nauki, nic nie może sugerować kandydatowi, że materiał ten stanowi certyfikację lub może prowadzić do certyfikacji przez jakikolwiek proces inny niż oficjalny proces certyfikacji ECDL w Autoryzowanym Centrum Egzaminacyjnym ECDL po dokonaniu rejestracji.

Szczegóły na temat zdawania testów w ramach Programu Certyfikacji ECDL można znaleźć na stronie operatora krajowego (PTI) https://ecdl.pl/ lub na stronie Fundacji ICDL http://www.icdl.org/.

Skład wersji elektronicznej na zlecenie Wydawnictwa Naukowego PWN

Monika Lipiec/Woblink

Copyright © by Wydawnictwo Naukowe PWN SA

Warszawa 2018

ISBN 978-83-01-20877-6

eBook został przygotowany na podstawie wydania papierowego z 2019 r., (wyd. I)

Warszawa 2019

Wydawnictwo Naukowe PWN SA

02-460 Warszawa, ul. Gottlieba Daimlera 2

tel. 22 69 54 321, faks 22 69 54 288

infolinia 801 33 33 88

e-mail: pwn@pwn.com.pl; reklama@pwn.pl

www.pwn.pl

Spis treści

Wstęp

Terminologia

Słownik pojęć kluczowych

Metody myślenia komputacyjnego

Metody prezentacji algorytmu

Początki programowania

Polecenie print – wyświetlanie komunikatów tekstowych

Podstawowe operatory arytmetyczne

Zmienne

Typy danych

Korzystanie programie danych wprowadzonych przez użytkownika

Programowanie

Logika

Iteracja

Procedury1i funkcje

Funkcje rekurencyjne

Zdarzenia

Moduł tkinter

Moduł random

Moduł datetime

Moduł math

Przykładowe pytania testowe

Odpowiedzi na przykładowe pytania testowe

Przykładowe zadania praktyczne wraz rozwiązaniami

Przypisy

Wstęp

Książka jest przeznaczona dla osób, które są zainteresowane certyfikacją umiejętności modułu S10 ECDL, czyli podstaw programowania, bądź chcących przyswoić sobie wiedzę zakresu podstaw programowania języku Python. Jest to jeden najbardziej prężnie rozwijających się języków programowania, charakteryzujący się prostą składnią porównaniu innymi językami programowania, co czyni go przystępnym również dla osób, które programowaniem wcześniej nie miały do czynienia. Publikację kieruję także do nauczycieli informatyki oraz ich uczniów, ponieważ może stanowić uzupełnienie poszerzenie wiadomości zakresu programowania omawianych klasach siódmej ósmej szkoły podstawowej oraz klasie pierwszej liceum ogólnokształcącego.

Istnieje wiele środowisk pracy dla języka Python. tej książce korzystam ze środowiska IDLE, ale oczywiście wszystkie przedstawione kody będą również funkcjonowały innych środowiskach jak: GEANY, PYSCRIPTER, PYCHARM itp.

Pozycja jest zgodna sylabusem S10 wersji 1.0 zawiera zrzuty ekranu wraz omówieniem poszczególnych kodów. Wszystkie kody są też podane wersji elektronicznej. książce znajduje się także przykładowy zestaw pytań teoretycznych oraz zadania praktyczne rozwiązaniami. Certyfikat ECDL S10 można uzyskać, zdając egzamin laboratorium ECDL akredytacją. Egzamin trwa 45 minut, dla osób, które przedstawią zaświadczenie niepełnosprawności, może zostać przedłużony. tym czasie należy odpowiedzieć na 20 pytań testowych oraz rozwiązać 16 zadań praktycznych. Zdanie egzaminu uzyskanie certyfikatu jest możliwe po zaliczeniu 75% prawidłowo rozwiązanych zadań. Adresy laboratoriów akredytacją, cennik certyfikacji oraz inne szczegóły związane egzaminem znajdują na stronie www.ecdl.pl.

Autor książki jest nauczycielem informatyki realizującym autorskie programy nauczania rozbudowanym modułem programowania oraz egzaminatorem ECDL 20-letnim stażem. Od pięciu lat organizuje konkurs informatyczny propagujący ideę ECDL, który od dwóch lat jest konkursem stricte programistycznym.

Omówione podręczniku przykłady algorytmów są wynikiem pracy dydaktycznej autora, jego doświadczenia roli egzaminatora modułu S10 oraz pomysłowości dociekliwości uczniów, za co serdecznie im dziękuje. książce zostały wykorzystane również niektóre zagadnienia poruszone podczas konkursu programowania języku Python pod egidą ECDL, którego autor książki jest współorganizatorem.

Terminologia
Słownik pojęć kluczowych

Computing – zastosowanie komputerów do przetwarzania danych.

Myślenie komputacyjne – proces analizowania problemu oraz wyszukiwania możliwości jego rozwiązania. Myślenie komputacyjne jest poszerzeniem myślenia algorytmicznego, obejmującym myślenie na wielu poziomach abstrakcji. Jest nierozerwalnie związane1z informatyką1i jej metodami*.

Program – zbiór poleceń zapisanych dowolnym języku programowania.

Kod źródłowy – odzwierciedlenie programu komputerowego zapisane języku programowania postaci instrukcji przeznaczonych do wykonania na komputerze.

Kod maszynowypostać programu komputerowego (zwana postacią wykonywalną lub binarną) przeznaczona do bezpośredniego lub prawie bezpośredniego wykonania przez procesor. Jest ona dopasowana do konkretnego typu procesora1i wyrażona1w postaci rozumianych przez niego kodów rozkazów1i ich argumentów**.

Język formalny – język stworzony przez człowieka konkretnym celu, np. język programowania Python.

Język naturalny – język, którym posługuje się człowiek, np. polski, angielski, powstały wraz ewolucją człowieka.

Opis programu – szczegółowa charakterystyka programu komputerowego przedstawiona celu zrozumienia jego sposobu działania, przeznaczenia zastosowania. Program powinien mieć też sprecyzowany cel, np. Windows 10 powstał m.in. celu usunięcia błędów znajdujących się Windows 8. Opis programu powinien także zawierać jego cenę.

 

Specyfikacja programu – opis programu komputerowego pod kątem jego zastosowania oraz możliwości użytkowania, np. potrzebna ilość miejsca na dysku, minimalna ilość pamięci RAM, typ procesora.

Etapy tworzenia programu

 ● Analiza (inżynierii oprogramowania nazywana etapem określania wymagań) jest pierwszym krokiem po podjęciu decyzji dotyczącej tego, jaki program chcemy stworzyć. Na tym etapie określamy np. funkcjonalności, które chcemy uzyskać podczas tworzenia programu. tej fazie należy się posługiwać językiem naturalnym zwłaszcza wtedy, gdy tworzymy program na zamówienie, zamawiający nie zna terminologii informatycznej lub nie do końca ją rozumie. Należy jednak pamiętać, że powinniśmy unikać specyfikacji takich określeń jak „szybki” czy „prosty obsłudze”, ponieważ trudno taką cechę zweryfikować. Oczywiście każda faza tworzenia programu (systemu) jest bardzo ważna, jednak na tym etapie twórca (twórcy) muszą być bardzo precyzyjni, gdyż po przejściu do fazy produkcyjnej, więc końcowej, następuje porównanie funkcjonowania gotowego programu wymaganiami początkowymi. Im bardziej będziemy precyzyjni na tym etapie, tym szybciej przejdziemy przez fazę końcową, co pozwoli na oddanie gotowego projektu.

 ● Projektowanie to etap przedstawiania programu postaci algorytmu (pseudokodu itp.).

 ● Programowanie jest etapem „zamiany” algorytmu na język zrozumiały dla komputera, czyli język programowania. Na tym etapie dokonujemy także integracji poszczególnych części składowych systemu całość.

 ● Testowanie polega na sprawdzeniu poprawności działania kodu źródłowego oraz samego programu wraz jego zakładanymi na etapie analizy funkcjonalnościami. Należy pamiętać, że im bardziej rozbudowany program, tym szybciej należy zacząć proces jego testowania. Ta sama uwaga dotyczy sytuacji, gdy system jest tworzony przez zespół programistów, co powoduje, że należy połączyć wszystkie jego części, następnie przystąpić do testowania poprawności działania już zintegrowanego systemu.

 ● Ulepszanie to faza, podczas której usuwamy ewentualne błędy, udoskonalamy program przez dodanie nowych funkcjonalności, wskazujemy inne możliwe udoskonalenia, także weryfikujemy tzw. wymagania mierzalne, takie jak pamięć dyskowa czy pamięć RAM. To również etap prowadzący do zoptymalizowania działania programu, tak aby działał jak najszybciej.

Metody myślenia komputacyjnego

metodami myślenia komputacyjnego są związane następujące pojęcia:

Dekompozycja – podział programu na mniejsze fragmenty (podprogramy).

Debugowanie – proces wyszukiwania poprawiania błędów programie przed utworzeniem jego ostatecznej wersji.

Rozpoznawanie wzorców – metoda rozpoznawania pewnych schematów (powtórzeń) strukturze większego programu. Przykładem może być utworzenie wzorcowej opcji menu. Każda opcji tworzona jest według takiego samego, określonego schematu (wzorca), różnią się dopiero wywołanymi funkcjami.

Abstrakcja (od abstrahować – pomijać) – pomijanie szczegółów oraz mniej istotnych informacji, skupienie się na tych, które są istotne punktu widzenia osoby tworzącej program komputerowy. Celem abstrakcji jest dążenie do uproszczenia sposobu rozwiązania problemu. Thomas H. Cormen, książce Algorytmy bez tajemnic, tak definiuje abstrakcję:

W projektowaniu oprogramowania oddzielenie tego, co wykonują operacje, od tego, jak one to robią, jest nazywane abstrahowaniem *** .

Aby tę definicję lepiej zrozumieć, posłużę się przykładem książki Dawida Harela Rzecz1o istocie informatyki:

Przypuśćmy, że poproszono nas1o pomnożenie liczby 528 przez 46. Wiemy dokładnie, co zrobić. Mnożymy 8 przez 6, otrzymujemy 48, zapisujemy cyfrę jednostek wyniku, 8 ,1i zapamiętujemy cyfrę dziesiątek 4; […]

Dlaczego „pomnóż 8 przez 6”? Dlaczego nie „wyszukaj element1z ósmego rzędu1i szóstej kolumny tabliczki mnożenia” albo „dodaj 6 do siebie samej 8 razy” itp. ****

Podsumowując: abstrahujemy od tego, co zapisano drugim akapicie powyższego cytatu, bo wiemy dokładnie, że trzeba zrobić tak, jak to jest opisane akapicie pierwszym.

Algorytm – zespół jasno sprecyzowanych czynności wykonywanych krok po kroku, aż do osiągnięcia postawionego celu.

Iteracja – wielokrotne powtarzanie tego samego fragmentu kodu.

Pseudokod – kod pisany językiem zrozumiałym dla każdego człowieka, nie tylko programisty. Można powiedzieć, że jest to słowny opis algorytmu.

Parametr – nazywany też często argumentem. Używany najczęściej przy tworzeniu funkcji, więc pewnego rodzaju podprogramu, który może być następnie wywołany np.

def mnożenie (a, b) – b stanowią parametry funkcji „mnożenie”, za które możemy miejscu wywołania wstawić dowolne wartości odpowiedniego typu.

Komentarz – miejsce kodzie programu pomijane przez kompilator. Najczęściej służy do opisu fragmentu kodu dla osoby, która go nie tworzyła, lub do wyjaśnienia sposobu działania kodu.

Rekurencja – odwołanie się funkcji do samej siebie lub jej wywołanie przez inną funkcję. Jest to rodzaj podprogramu dzielącego program na mniejsze fragmenty.

Sekwencja – zestaw instrukcji wykonywanych we właściwej kolejności. Aby zwrócić uwagę na istotę utrzymania kolejności wykonywanych działań całej sekwencji, posłużmy się następującym pseudokodem przedstawiającym algorytm wypicia wody butelki znajdującej się lodówce:

# otwórz drzwi lodówki

# weź do ręki butelkę wodą

# odkręć korek

# napij się wody

# zakręć korek butelki

# odstaw butelkę na półkę lodówce

# zamknij drzwi lodówki

Łatwo zauważyć, że przestawienie którejkolwiek instrukcji tej sekwencji kodu uniemożliwi nam osiągnięcie celu, jakim jest napicie się wody butelki znajdującej się lodówce.

To koniec darmowego fragmentu. Czy chcesz czytać dalej?