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 2019

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 w programie z danych wprowadzonych przez użytkownika

Programowanie

Logika

Iteracja

Procedury i 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 z rozwiązaniami

Przypisy

Wstęp

Książka jest przeznaczona dla osób, które są zainteresowane certyfikacją umiejętności z modułu S10 ECDL, czyli podstaw programowania, bądź chcących przyswoić sobie wiedzę z zakresu podstaw programowania w języku Python. Jest to jeden z najbardziej prężnie rozwijających się języków programowania, charakteryzujący się prostą składnią w porównaniu z innymi językami programowania, co czyni go przystępnym również dla osób, które z 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 i poszerzenie wiadomości z zakresu programowania omawianych w klasach siódmej i ósmej szkoły podstawowej oraz w klasie pierwszej liceum ogólnokształcącego.

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

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

Autor książki jest nauczycielem informatyki realizującym autorskie programy nauczania z rozbudowanym modułem programowania oraz egzaminatorem ECDL z 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 w podręczniku przykłady algorytmów są wynikiem pracy dydaktycznej autora, jego doświadczenia w roli egzaminatora modułu S10 oraz pomysłowości i dociekliwości uczniów, za co serdecznie im dziękuje. W książce zostały wykorzystane również niektóre zagadnienia poruszone podczas konkursu programowania w 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ązane z informatyką i jej metodami*.

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

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

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

Język formalny – język stworzony przez człowieka w 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 z ewolucją człowieka.

Opis programu – szczegółowa charakterystyka programu komputerowego przedstawiona w celu zrozumienia jego sposobu działania, przeznaczenia i zastosowania. Program powinien mieć też sprecyzowany cel, np. Windows 10 powstał m.in. w celu usunięcia błędów znajdujących się w 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 (w 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. W tej fazie należy się posługiwać językiem naturalnym zwłaszcza wtedy, gdy tworzymy program na zamówienie, a zamawiający nie zna terminologii informatycznej lub nie do końca ją rozumie. Należy jednak pamiętać, że powinniśmy unikać w specyfikacji takich określeń jak „szybki” czy „prosty w 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, a więc końcowej, następuje porównanie funkcjonowania gotowego programu z 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 w 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 w całość.

- ● Testowanie polega na sprawdzeniu poprawności działania kodu źródłowego oraz samego programu wraz z 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, a 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, a 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.

Przypisy

* Maciej M. Sysło: Myślenie komputacyjne. Nowe spojrzenie na kompetencje informatyczne.

Materiały z konferencji „Informatyka w Edukacji, XI”, UMK, Toruń 2014, s. 15–32.

** Strona internetowa www.wikipedia.pl.