Informatyka · Word · ćwiczenie z plikiem

Word — ćwiczenia praktyczne z plikami do pobrania: style, nagłówki, tabela i kontrola

Ćwiczenie w edytorze tekstu na 45 minut: plik .docx do poprawy (style, nagłówki, tabela, spacje) i klucz do pobrania. Skrypt w Pythonie sprawdza sześć kryteriów i pokazuje postęp po każdym kroku.

45 minutPoziom podstawowyPliki i rozwiązania

Materiał redakcyjny TablicaPro · liceum i technikum

sprawdz("cwiczenie.docx")  # slownik kryteriow
Pliki .docx w pakiecie do pobrania.
Kontrola sześciu kryteriów.

Najlepiej uczyć się edytora tekstu na prawdziwym dokumencie: otwierasz plik, poprawiasz go i porównujesz z wzorem. W pakiecie do pobrania znajdują się trzy pliki .docx: cwiczenie.docx (dokument bez stylów, z podwójnymi spacjami, błędną interpunkcją i kosztami wpisanymi jako zwykły tekst), cwiczenie_po_poprawie_tekstu.docx (ten sam dokument z poprawionym samym tekstem, ale wciąż bez stylów i tabeli) oraz klucz.docx (wersja wzorcowa). Skrypt kontrolny sprawdza sześć kryteriów, więc uczeń od razu widzi, co jeszcze zostało do zrobienia.

Scenariusz jest przeznaczony na 45 minut dla klasy znającej podstawy edytora tekstu — na przykład po lekcjach o stylach i tabelach. Pliki .docx utworzono i sprawdzono biblioteką python-docx; nie były otwierane w programie Word, więc przed lekcją warto otworzyć je w używanym edytorze (Word lub LibreOffice Writer) i sprawdzić wygląd. Skrypt kontrolny działa na plikach zapisanych przez uczniów w formacie .docx i wymaga zainstalowanej biblioteki python-docx; jeśli jej nie ma, nauczyciel może sprawdzać kryteria wzrokowo według listy poniżej.

Przygotowanie stanowisk

Potrzebny jest Python 3 i edytor lub IDLE. Rozpakuj pakiet z sekcji materiałów do osobnego folderu i uruchamiaj skrypty z tego folderu. Program uruchomisz przez Run → Run Module albo poleceniem python start.py, python3 start.py lub py start.py.

Cele i plan lekcji

Po zajęciach uczeń potrafi:

  • poprawić tekst dokumentu: podwójne spacje, spacja przed przecinkiem, brak spacji po przecinku;
  • zastosować style: tytuł (Title) i nagłówki (Nagłówek 1) zamiast ręcznego formatowania;
  • zamienić koszty wpisane tekstem na tabelę z wierszem sumy;
  • sprawdzić własną pracę według listy kryteriów.
CzasPraca na lekcji
0–5 minOtwarcie pliku i przegląd błędów
5–15 minPoprawa tekstu
15–30 minStyle, nagłówki i tabela
30–40 minKontrola i porównanie z kluczem
40–45 minPytania kontrolne

Pliki w pakiecie

PlikZawartość
cwiczenie.docxdokument do poprawy: wszystkie akapity w stylu Normalny, błędy w spacjach, koszty jako zwykły tekst
cwiczenie_po_poprawie_tekstu.docxten sam dokument po poprawie samego tekstu (bez stylów i tabeli)
klucz.docxwersja wzorcowa: tytuł w stylu Title, trzy nagłówki, tabela kosztów
rozwiazanie.pyskrypt tworzący pliki i sprawdzający je według sześciu kryteriów

Kryteria

  1. tytuł w stylu Title;
  2. co najmniej trzy nagłówki (style Heading);
  3. brak podwójnych spacji;
  4. brak spacji przed przecinkiem;
  5. tabela kosztów z pięcioma wierszami (nagłówek, trzy pozycje, suma);
  6. poprawna suma (480 + 600 + 270 = 1350).

Kroki w edytorze

  1. Otwórz cwiczenie.docx. Użyj Znajdź i zamień, by zamienić podwójną spację na pojedynczą (powtarzaj do skutku), i popraw przecinki.
  2. Zaznacz tytuł i nadaj mu styl Tytuł; nagłówki „Wstęp”, „Koszty” i „Wnioski” sformatuj stylem Nagłówek 1 (usuń numerację wpisaną ręcznie).
  3. Zaznacz cztery wiersze kosztów i zamień tekst na tabelę (Wstawianie → Tabela → Konwertuj tekst na tabelę) z separatorem — spacje lub tabulacje; dodaj wiersz nagłówka „Pozycja / Kwota”.
  4. Zapisz plik w formacie .docx i sprawdź go skryptem.

Nazwy poleceń zależą od wersji programu; powyższe są ogólne.

Wyniki kontroli

Plik wyjściowy nie spełnia żadnego kryterium (0 z 6). Po poprawie samego tekstu spełnione są dwa kryteria (brak podwójnych spacji i brak spacji przed przecinkiem — 2 z 6), a pozostałe cztery wymagają stylów i tabeli. Klucz spełnia wszystkie sześć.

Zadania

Zadanie 1. Kontrola pliku wyjściowego. Uruchom skrypt na cwiczenie.docx i wypisz, które kryteria nie są spełnione.

Zadanie 2. Poprawa tekstu. Sprawdź plik po poprawie samego tekstu i wskaż, jakie kryteria nadal nie są spełnione.

Zadanie 3. Klucz. Sprawdź klucz.docx, a następnie przygotuj własną poprawioną wersję cwiczenie.docx i sprawdź ją skryptem.

Dla chętnych: dodaj do dokumentu stopkę z numerem strony i napisz własne kryterium kontrolne.

Rozwiązanie i wyniki

import re
from docx import Document


def zbuduj(katalog):
    """Tworzy plik do cwiczen (bez stylow, z bledami), wersje po poprawie tekstu oraz wzorcowy klucz."""
    tresci = ["Sprawozdanie z wycieczki", "1. Wstep",
              "Klasa 2A  pojechala na wycieczke do muzeum ,gdzie zwiedzila  trzy wystawy.",
              "2. Koszty", "Bilety   480", "Transport   600", "Obiad   270", "Razem   1350",
              "3. Wnioski", "Wycieczka byla udana  i wszyscy chca pojechac ponownie."]
    d = Document()
    for t in tresci:
        d.add_paragraph(t)
    d.save(katalog + "/cwiczenie.docx")

    p = Document()
    for t in tresci:
        t = re.sub(r" {2,}", " ", t)
        t = re.sub(r" +,", ",", t)
        t = re.sub(r",(?=\S)", ", ", t)
        p.add_paragraph(t)
    p.save(katalog + "/cwiczenie_po_poprawie_tekstu.docx")

    k = Document()
    k.add_heading("Sprawozdanie z wycieczki", 0)
    k.add_heading("Wstep", 1)
    k.add_paragraph("Klasa 2A pojechala na wycieczke do muzeum, gdzie zwiedzila trzy wystawy.")
    k.add_heading("Koszty", 1)
    tabela = k.add_table(rows=5, cols=2)
    for wiersz, (nazwa, kwota) in zip(tabela.rows, [("Pozycja", "Kwota"), ("Bilety", "480"), ("Transport", "600"), ("Obiad", "270"), ("Razem", "1350")]):
        wiersz.cells[0].text = nazwa
        wiersz.cells[1].text = kwota
    k.add_heading("Wnioski", 1)
    k.add_paragraph("Wycieczka byla udana i wszyscy chca pojechac ponownie.")
    k.save(katalog + "/klucz.docx")


def sprawdz(sciezka):
    d = Document(sciezka)
    akapity = d.paragraphs
    tabela_ok = len(d.tables) == 1 and len(d.tables[0].rows) == 5
    suma_ok = False
    if tabela_ok:
        kwoty = [int(w.cells[1].text) for w in d.tables[0].rows[1:]]
        suma_ok = sum(kwoty[:3]) == kwoty[3]
    return {
        "tytul w stylu Title": any(a.style.name == "Title" for a in akapity),
        "co najmniej 3 naglowki": sum(a.style.name.startswith("Heading") for a in akapity) >= 3,
        "brak podwojnych spacji": not any("  " in a.text for a in akapity),
        "brak spacji przed przecinkiem": not any(" ," in a.text for a in akapity),
        "tabela kosztow (5 wierszy)": tabela_ok,
        "suma w tabeli poprawna": suma_ok,
    }


# Zadanie 1: przygotowanie plikow w biezacym katalogu i kontrola pliku do cwiczen
zbuduj(".")
wyniki = sprawdz("cwiczenie.docx")
for nazwa, ok in wyniki.items():
    print(nazwa + ":", "OK" if ok else "BLAD")
print("Zaliczone:", sum(wyniki.values()), "z", len(wyniki))

# Zadanie 2: po poprawie samego tekstu (bez stylow i tabeli)
wyniki = sprawdz("cwiczenie_po_poprawie_tekstu.docx")
print("Po poprawie tekstu:", sum(wyniki.values()), "z", len(wyniki), "| bledy:", [n for n, ok in wyniki.items() if not ok])

# Zadanie 3: wzorcowy klucz
wyniki = sprawdz("klucz.docx")
print("Klucz:", sum(wyniki.values()), "z", len(wyniki))

Program wypisze:

tytul w stylu Title: BLAD
co najmniej 3 naglowki: BLAD
brak podwojnych spacji: BLAD
brak spacji przed przecinkiem: BLAD
tabela kosztow (5 wierszy): BLAD
suma w tabeli poprawna: BLAD
Zaliczone: 0 z 6
Po poprawie tekstu: 2 z 6 | bledy: ['tytul w stylu Title', 'co najmniej 3 naglowki', 'tabela kosztow (5 wierszy)', 'suma w tabeli poprawna']
Klucz: 6 z 6

Plik cwiczenie.docx nie spełnia żadnego z sześciu kryteriów, plik po poprawie samego tekstu — dwa (spacje i interpunkcja), a klucz — wszystkie sześć. Różnica 4 kryteriów pokazuje, że poprawa tekstu to dopiero początek: styl nagłówków i tabela wymagają osobnej pracy. Pliki .docx znajdziesz w pakiecie do pobrania.

Plik rozszerzenie.py (zadanie dla chętnych) wypisze:

1350

Typowe błędy

ObjawCo sprawdzić
Nagłówki sformatowane ręcznie (pogrubienie, większa czcionka)Skrypt (i spis treści) rozpoznaje tylko style — nadaj styl Nagłówek.
Numeracja wpisana ręcznie w nagłówkuUżyj numerowania stylów lub usuń numery.
Koszty z użyciem spacji jako kolumnUżyj prawdziwej tabeli.
Plik zapisany w starym formacie .docSkrypt czyta tylko .docx.
Poprawa tylko pierwszej podwójnej spacjiPowtarzaj zamianę, aż nie znajdzie kolejnych.
Uruchamianie skryptu bez biblioteki python-docxZainstaluj ją (pip install python-docx) lub sprawdzaj kryteria wzrokowo.

Pytania kontrolne i punktacja

  1. Dlaczego tytuł i nagłówki muszą mieć style?
  2. Czym różni się tabela od kolumn zrobionych spacjami?
  3. Które kryteria spełnia dokument po poprawie samego tekstu?

Odpowiedzi: Bo tylko style niosą informację o strukturze (spis treści, nawigacja, dostępność). Tabela ma komórki, które można formatować, sortować i liczyć; kolumny ze spacji rozpadają się przy zmianie czcionki. Brak podwójnych spacji i brak spacji przed przecinkiem.

Proponowana punktacja (razem 10 punktów): zadanie 1 — kontrola i lista braków 3 pkt; zadanie 2 — wskazanie braków 2 pkt; zadanie 3 — własna wersja spełniająca 6 kryteriów 3 pkt; pytania kontrolne 2 pkt. Zadanie dla chętnych nie jest wymagane do pełnej oceny.

Materiały do pobrania

Rozpakuj ZIP przed otwarciem plików. Materiały są dostępne bez logowania; publiczne rozwiązanie służy nauce i samodzielnemu sprawdzeniu, a nie poufnemu sprawdzianowi.

Co dalej?

Następny krok to spis treści, sekcje i numeracja stron w jednym dokumencie. Ten materiał rozwija dział o edytorze tekstu w kursie Informatyka w TablicaPro, gdzie znajdziesz prezentacje, ćwiczenia i testy do prowadzenia lekcji.

Źródła techniczne: dokumentacja python-docx oraz pomoc Microsoft: style w programie Word. Zobacz też lekcję o redagowaniu dokumentu.

Poprowadź kolejne lekcje Informatyka

Pełny kurs: prezentacje, ćwiczenia i testy do pracy z klasą.

Kup dostęp do kursu Informatyka →

Zobacz program kursu