Komunikaty dla użytkownika
Warunek zaliczenia
Umiem, gdy każde wczytanie poprzedza monit, a każdy wypisany wynik ma opis.
Warto wiedzieć
Kryterium R.1.7, obecne w 13 z 16 arkuszy kampanii.
Co dokładnie sprawdza egzaminator
Cytaty dosłowne z zasad oceniania. Brzmienie sprawdzone w zasadach do 20 arkuszy z sesji 2021 do 2026, czyli w całym inwentarzu na dysku.
Program nawiązuje zrozumiałą komunikację z użytkownikiem, wyświetlane komunikaty są znaczące (jeżeli kod nie uruchamia się z powodu błędów kompilacji - sprawdzić w kodzie aplikacji)
zasady oceniania INF.04-01-26.01-SG, rezultat 1Numer tego kryterium NIE JEST stały i jest to jedyne takie miejsce w rezultacie 1. W INF.04-02-22.06-SG oraz w INF.04-01-23.01-SG komunikacja stoi pod R.1.6, a zrzut z uruchomienia pod R.1.7; w pozostałych sesjach od 2022 do 2026 jest odwrotnie. Brzmienie też się przesuwa: INF.04-01-25.06-SG mówi „Program podejmuje zrozumiałą komunikację z użytkownikiem: komunikaty są znaczące, np. ile losowań? itp.”, a INF.04-01-26.06-SG skraca to do „Komunikacja z użytkownikiem prowadzona jest w sposób zrozumiały”.
Program nawiązuje zrozumiałą komunikację z użytkownikiem: monit o wprowadzenie danych, wyprowadzanie wyników opatrzone komentarzem. Jeżeli kod nie uruchamia się z powodu błędów kompilacji - sprawdzić w kodzie aplikacji
zasady oceniania INF.04-01-24.06-SG, rezultat 1To brzmienie wymienia obie powinności po przecinku, czyli żąda ich razem. W INF.04-01-24.01-SG stoi między nimi „lub”, a w INF.04-01-23.01-SG „albo”, więc tam wystarczyłaby jedna z dwóch. Zdający nie wie z góry, którą wersję ma jego sesja, i stąd bierze się reguła tej lekcji: pisze się obie, bo obie razem spełniają każde ze znanych brzmień.
Program podejmuje komunikację z użytkownikiem: monit o wprowadzenie danych jest znaczący lub wyświetlenie danych opatrzono znaczącym komunikatem, wyświetlana jest płeć w postaci całego słowa "Kobieta" lub "Mężczyzna"
zasady oceniania INF.04-01-24.01-SG, rezultat 1Trzecia postać kryterium, zadaniowa. Człon po ostatnim przecinku pochodzi wprost z treści zadania i mówi, co dokładnie ma się pojawić na ekranie. Tak samo jest w INF.04-02-23.01-SG, gdzie kryterium żąda wyświetlenia tytułu i treści notatki, oraz w INF.04-01-23.06-SG, gdzie żąda liczb oddzielonych dowolnym separatorem wraz ze znaczącym komunikatem. Gdy kryterium nazywa postać wyniku, obowiązuje jego postać, a nie własny pomysł.
2 uwagi ogólne, które zmieniają czytanie kryteriów
- Tolerancja
- Wystarczy, że sprawdzaną cechę zastosowano dla większości (90%) przypadków w kodzie
- Zakres
- Uwaga: kryteria należy odnieść do aplikacji konsolowej, jeżeli ta nie istnieje, kryteria zastosować do aplikacji mobilnej. Kryteria dotyczą wyłącznie samodzielnie napisanego kodu.
Po co to jest
Kryterium o komunikacji stoi w 13 arkuszach z 16 policzonych w kampanii, czyli rzadziej niż formatowanie, nazwy i typy. Ma za to dwie cechy, których nie ma żadne inne kryterium rezultatu 1.
Jest najtańsze w całym arkuszu. Monit to jedna linia wypisania nad linią wczytania. Nie wymaga ani algorytmu, ani biblioteki, ani niczego, czego nie umie się po pierwszym tygodniu nauki języka.
Jako jedyne mówi wprost, co robić, gdy program nie działa: „jeżeli kod nie uruchamia się z powodu błędów kompilacji - sprawdzić w kodzie aplikacji”. Egzaminator ma wtedy przeczytać komunikaty w kodzie źródłowym. Pole karty oceny zostaje więc do wzięcia także w programie, który nie ruszył, a takich programów na sali jest sporo.
Z obu tych rzeczy wynika jeden wniosek i tylko on jest w tej lekcji naprawdę ważny: monit pisze się w tej samej minucie co wczytanie, a nie na końcu, razem z porządkami. W katalogu strat punktowych ten błąd stoi jako E.7 i ma dwie postacie: wczytanie bez monitu oraz wynik bez opisu.
Pojęcie
Komunikat nie jest ozdobą programu ani uprzejmością wobec użytkownika. Komunikat jest drugą połową wejścia i wyjścia: pierwsza mówi programowi, co ma dostać, druga mówi człowiekowi, co dostał. Program konsolowy bez monitu to czarny ekran z migającym kursorem, po którym nie da się poznać, czy program czeka na dane, czy się zawiesił.
Kryterium używa dwóch słów i oba trzeba przeczytać osobno.
„Komunikacja” znaczy, że są dwie strony i obie coś od siebie dostają. Program pyta, człowiek odpowiada, program mówi, co z tego wyszło. Wystarczy, że jedna z tych rzeczy wypadnie, i zostaje monolog: albo program milczy i czeka, albo wypisuje wynik, o który nie wiadomo było, jak zapytać. Dlatego brzmienia kryterium wymieniają dwa miejsca, monit przed wczytaniem i opis przy wyniku. W części sesji stoi między nimi „lub” i wystarczyłaby jedna rzecz, w części stoi przecinek i potrzebne są obie. Napisanie obu kosztuje dwie linie i zdejmuje całe to pytanie.
„Znaczący” znaczy zrozumiały dla kogoś, kto nie widział kodu. To jest jedyna miara i jest ona ludzka, nie mechaniczna: egzaminator patrzy na ekran, a nie liczy słowa. Monit Podaj: istnieje i nie znaczy nic, bo nie nazywa danej. Monit Podaj liczbe zestawow do wylosowania: nazywa daną i jej postać, więc rozstrzyga kryterium. Ta sama miara obowiązuje po drugiej stronie: liczba 3.5 na pustym ekranie może być średnią, sumą, ceną albo indeksem, a Srednia ocen: 3.5 jest już tylko jednym z nich.
Trzecia rzecz stoi w treści kryterium, ale bierze się spoza niego. Część sesji dopisuje człon wzięty wprost z zadania: płeć w postaci całego słowa, tytuł i treść notatki, liczby oddzielone separatorem. Taki człon nie jest przykładem, tylko warunkiem, i wtedy o postaci wyniku rozstrzyga arkusz, a nie autor programu. Dlatego przy czytaniu zadania warto podkreślić każde zdanie mówiące, co program ma wyświetlić: te zdania wracają potem w zasadach oceniania jako treść kryterium.
Jest jeden sprawdzian, który zastępuje wszystkie te rozważania. Uruchom program i patrz wyłącznie na ekran, przy zamkniętym pliku źródłowym. Jeżeli w tej sytuacji wiesz, co wpisać, i wiesz, co znaczy to, co zobaczyłeś, kryterium jest spełnione. Jeżeli musisz spojrzeć w kod choćby raz, nie jest.
Zobacz to dwa razy
Ten sam program, ta sama pętla, te same nazwy i te same typy. Różnią się wyłącznie komunikatami. Zadanie pochodzi z sesji Lato 2025: arkusz każe wczytać, ile zestawów wylosować, a każdy zestaw to sześć liczb ze zbioru od 1 do 49. Kryterium tej sesji podaje jako przykład znaczącego komunikatu pytanie o liczbę losowań.
int main(){ int ileZestawow; int liczba; cout << "Podaj: "; cin >> ileZestawow; for (int zestaw = 0; zestaw < ileZestawow; zestaw++) { for (int i = 0; i < 6; i++) { liczba = rand() % 49 + 1; cout << liczba << " "; } cout << endl; } return 0;}- + linia 3Nazwa mówi, co jest w zmiennej, więc kryteria o nazewnictwie są tu spełnione. Stoi to tutaj po to, żeby było widać, że komunikaty ocenia się osobno: dobry kod może milczeć.
- ! linia 6Monit jest, a nic nie znaczy. `Podaj:` nie nazywa danej ani jej postaci, więc patrzący na ekran nie wie, czy wpisać liczbę, nazwisko czy datę.
- ! linia 14Wynik bez jednego słowa opisu. Na ekranie zostaje ciąg liczb, po którym nie da się poznać, czym one są ani ile ich miało być w wierszu.
int main(){ int ileZestawow; int liczba; cout << "Ile zestawow wylosowac? "; cin >> ileZestawow; cout << "Wylosowane zestawy po szesc liczb z zakresu od 1 do 49:" << endl; for (int zestaw = 0; zestaw < ileZestawow; zestaw++) { cout << "Zestaw " << zestaw + 1 << ": "; for (int i = 0; i < 6; i++) { liczba = rand() % 49 + 1; cout << liczba << " "; } cout << endl; } return 0;}- + linia 6Monit nazywa daną i pyta o nią wprost. Kryterium sesji Lato 2025 podaje pytanie o liczbę losowań jako swój własny przykład komunikatu znaczącego.
- + linia 9Jedno zdanie przed pętlą mówi, co zaraz pojawi się na ekranie i w jakiej postaci. To jest ta połowa kryterium, o którą najłatwiej się potknąć, bo wyniki wydają się mówić same za siebie.
- + linia 13Etykieta przy każdym wierszu wyników. Numer bierze się ze zmiennej sterującej, więc kosztuje tyle samo co stały napis, a pozwala odczytać, który zestaw jest który.
Mostek: zdanie kryterium wobec linii kodu
| Fragment kryterium | Gdzie się łamie | Gdzie jest spełniony |
|---|---|---|
| monit o wprowadzenie danych | linia 6: monit brzmi Podaj: i nie nazywa żadnej danej | linia 6: monit nazywa daną, czyli liczbę zestawów do wylosowania |
| wyprowadzanie wyników opatrzone komentarzem | linia 14: same liczby, ani jednego słowa przy nich | linie 9 i 13: zdanie nad wynikami oraz etykieta przy każdym wierszu |
| wyświetlane komunikaty są znaczące | z ekranu nie da się poznać, co wpisać ani co znaczą wypisane liczby | z ekranu wynika jedno i drugie, bez zaglądania do kodu |
Granice
Kod, którego nie napisałeś, się nie liczy. Uwaga ogólna ogranicza kryteria rezultatu 1 do samodzielnie napisanego kodu, więc komunikaty ze szkieletu projektu i z bibliotek nie są oceniane ani na plus, ani na minus.
To nie jest kryterium o wczytywaniu danych. Samo wczytanie z klawiatury to dział B1. Tutaj oceniane jest wyłącznie to, czy przed wczytaniem pada zdanie skierowane do człowieka. Program, który wczytuje bezbłędnie i milczy, łamie to kryterium, a tamto spełnia.
To nie jest kryterium o dosłownym brzmieniu komunikatu. Gdy arkusz podaje treść w cudzysłowie, jak „Nieprawidłowa liczba cyfr w kodzie pocztowym” w INF.04-01-23.06-SG, brzmienie jest częścią kryterium rezultatu 3 i przepisuje się je znak w znak. Zasady oceniania tej samej sesji dopuszczają w wyświetlanych napisach i komunikatach literówki, czyli pomyłkę w literze, a nie własną wersję zdania. R.1.7 pyta o co innego: czy da się z programu korzystać. Nie-przykład, który wygląda na ten sam problem: własna, ładniejsza wersja komunikatu podanego w arkuszu. Wobec R.1.7 jest bez zarzutu, w rezultacie 3 kosztuje punkt.
W aplikacji bez konsoli komunikacja wygląda inaczej, ale nie znika. Uwaga ogólna przenosi kryteria rezultatu 1 na tę odmianę, którą ma dana sesja, a brzmienie z INF.04-02-22.06-SG nazywa to wprost: w aplikacji web są to podpisy kontrolek i komunikaty w konsoli przeglądarki. Pole bez etykiety jest tam tym samym, czym w konsoli jest wczytanie bez monitu.
Kryterium nie mówi nic o polskich znakach. Konsola i plik źródłowy potrafią mieć różne kodowanie i ogonki wychodzą wtedy jako obce znaki. Bezpieczniej pisać komunikaty bez ogonków niż tłumaczyć się z krzaków: sens zostaje, a kryterium pyta właśnie o sens.
Kryterium bywa nieobecne. W INF.04-03-23.06-SG rezultat 1 kończy się na R.1.6 i o komunikacji nie mówi wcale. W pisaniu programu nic to nie zmienia, bo które sesja ma brzmienie, wiadomo dopiero po egzaminie, a jeden monit kosztuje jedną linię wypisania.
W czterech językach
Arkusz dopuszcza C++, C#, Javę i Pythona. Kryterium jest jedno, ale w każdym z nich wygląda trochę inaczej.
- C++
- Monit to zwykłe
coutprzedcin, bezendl, żeby kursor został w linii monitu. Nie trzeba niczego opróżniać ręcznie:cinjest powiązany zcouti wymusza wypisanie przed czytaniem. Napis wczytany przezcinurywa się na pierwszej spacji, więc nazwa dwuwyrazowa wymagagetline, inaczej kolejny monit wygląda, jakby program go pominął. - C#
Console.Writezostawia kursor w linii monitu,Console.WriteLineprzenosi go niżej, więc monit pisze się przezWrite, a wynik przezWriteLine. Wartość wplata się w zdanie napisem interpolowanym, czyli tym ze znakiem dolara przed cudzysłowem.- Java
System.out.printnie przenosi kursora,printlnprzenosi. PrzyScannerwraca ta sama pułapka co w C++: ponextIntzostaje w buforze koniec linii, więc kolejnynextLinewraca pusty i program mija własny monit, choć monit wypisał się poprawnie.- Python
- Monit jest argumentem
input, więc osobneprintprzed wczytaniem jest zbędne:int(input(...))wypisze go sam. Przy wynikuprintz opisem jako pierwszym argumentem wstawia spację przed wartością, a napis formatowany, ten z literą f przed cudzysłowem, pozwala wpleść wartość w środek zdania.
Procedura
Monit i opis pisze się w tej samej chwili co wczytanie i wypisanie, bo tylko wtedy kosztują zero. Ostatni krok jest przeglądem i robi się go na uruchomionym programie, patrząc wyłącznie na ekran.
- 1
Nad każdym wczytaniem postaw jedną linię mówiącą, jakiej danej program czeka.
wolno tak, bo kryterium wymienia monit osobno od wyników, więc jego brak przewraca całe pole karty oceny nawet w programie, który liczy bezbłędnie.
- 2
W monicie nazwij daną, jej jednostkę i dopuszczalną postać.
wolno tak, bo słowo „znaczący” mierzy się tym, czy obcy człowiek wie, co wpisać, a nie tym, czy monit w ogóle jest.
- 3
Przy każdym wypisaniu postaw opis mówiący, co ta wartość znaczy.
wolno tak, bo goła liczba na ekranie nie odróżnia sumy od średniej ani od indeksu, a część brzmień kryterium żąda wyprowadzania opatrzonego komentarzem wprost.
- 4
Gdy zadanie albo kryterium nazywa postać wyniku, przepisz ją dosłownie.
wolno tak, bo w części sesji człon zadaniowy stoi w samej treści kryterium, jak płeć w postaci całego słowa, i skrót własnego pomysłu go nie spełnia.
- 5
Monity i opisy zapisuj od razu, także w kodzie, który jeszcze się nie kompiluje.
wolno tak, bo treść kryterium każe wtedy sprawdzić komunikaty w kodzie aplikacji, więc raz zapisany monit punktuje niezależnie od stanu reszty programu.
Co widzę, więc co robię
| Widzę | Robię |
|---|---|
W linii stoi cin, input, ReadLine albo nextInt | Linia wyżej: monit z nazwą danej i jej postacią |
| Program wypisuje samą wartość | Przed wartością opis, czym ona jest, razem z jednostką |
| Wczytujesz w pętli | Monit w środku pętli, z numerem z iteratora, nie jeden przed pętlą |
| Arkusz podaje treść komunikatu w cudzysłowie | Przepisujesz znak w znak; to kryterium rezultatu 3, nie R.1.7 |
| Aplikacja nie ma konsoli | Komunikacją są podpisy kontrolek i teksty widoczne na ekranie |
Wiersz czwarty dotyczy innego rezultatu i stoi tu dlatego, że oba wyglądają na to samo zadanie, czyli napisać komunikat. W rezultacie 1 liczy się zrozumiałość, w rezultacie 3 brzmienie.
Ćwiczenia
Trzy stopnie, w każdym mniej pomocy niż w poprzednim. Odpowiedź jest schowana celowo: zajrzyj do niej po własnej próbie, nie przed.
1Przykład z omówieniem
Wskaż każde miejsce, w którym komunikacja z użytkownikiem jest niepełna, i podaj numer linii. Uwaga: nie wszystkie monity w tym fragmencie są złe.
Fragment programu przyjmującego dane klienta Console.Write("Podaj imie klienta: ");string imie = Console.ReadLine(); Console.Write("Wiek: ");int wiek = int.Parse(Console.ReadLine()); int liczbaZamowien = int.Parse(Console.ReadLine()); int rokUrodzenia = 2027 - wiek; Console.WriteLine(imie);Console.WriteLine("Rok urodzenia: " + rokUrodzenia);Console.WriteLine(liczbaZamowien);Pokaż odpowiedź
Trzy miejsca są złe. Linia 7: wczytanie bez jakiegokolwiek monitu, więc program zatrzymuje się na pustym ekranie i czeka. Linia 11: wypisane imię bez opisu, czyli napis, o którym nie wiadomo, czym jest. Linia 13: goła liczba zamówień, ta sama wada co wyżej. Linie 1 i 12 są w porządku. W porządku jest też linia 4, i to jest tu najważniejsze: monit
Wiek:jest krótki, ale nazywa daną, a kryterium pyta o znaczenie, nie o długość.2Znajdź resztę sam
Trzy monity zostały zastąpione podkreśleniami. Wpisz w nie treść tak, żeby kryterium było spełnione. Drugi monit stoi w pętli, więc ma się zmieniać razem z numerem oceny.
Program liczy średnią z ocen suma = 0ile = int(input("____")) for numer in range(1, ile + 1): ocena = int(input("____")) suma = suma + ocena srednia = suma / ileprint("____", round(srednia, 2))Wskazówka: Monit ma powiedzieć, jakiej danej program czeka i w jakiej postaci. Przy wczytaniu w pętli numer bierze się ze zmiennej sterującej, a nie z osobnego licznika.
Pokaż odpowiedź
Linia 2:
Ile ocen chcesz podac?, bo monit ma nazwać daną i jej postać. Linia 5:f"Podaj ocene numer {numer}: ", czyli napis formatowany, bo monit w pętli bez numeru pyta cztery razy o to samo i nie widać, przy której ocenie program stoi. Linia 9:Srednia ocen:, bo liczba 3.5 na pustym ekranie może być czymkolwiek. W Pythonie monit jest argumenteminput, więc osobneprintprzed wczytaniem byłoby drugą linią robiącą to samo.3Zadanie
Napisz w wybranym języku program, który wczytuje nazwę produktu, cenę za sztukę i liczbę sztuk, a potem wypisuje nazwę zamówienia oraz jego wartość. Każde wczytanie ma mieć monit, każdy wynik opis, a przy cenie i wartości ma paść jednostka. Potem porównaj z rozwiązaniem i postaw sobie T albo N przy kryterium o komunikacji.
Pokaż odpowiedź
Sprawdzasz pięć rzeczy: trzy monity nad trzema wczytaniami, dwa opisy przy dwóch wynikach. Monit przy cenie musi mówić, w czym ta cena jest podawana, bo bez jednostki nie wiadomo, czy wpisać złote, czy grosze. Werdykt N stawiasz już wtedy, gdy brakuje jednej z tych pięciu rzeczy, bo przy trzech wczytaniach jedno bez monitu to jedna trzecia przypadków, a tolerancja z uwagi ogólnej mówi o dziewięćdziesięciu procentach.
Pokaż rozwiązanie w kodzie
Rozwiązanie: trzy monity i dwa opisy int main(){ string nazwaProduktu; double cenaZaSztuke; int liczbaSztuk; cout << "Podaj nazwe produktu: "; getline(cin, nazwaProduktu); cout << "Podaj cene za sztuke w zlotych: "; cin >> cenaZaSztuke; cout << "Podaj liczbe sztuk: "; cin >> liczbaSztuk; double wartosc = cenaZaSztuke * liczbaSztuk; cout << "Zamowienie: " << nazwaProduktu << endl; cout << "Wartosc zamowienia w zlotych: " << wartosc << endl; return 0;}- + linia 8`getline` czyta całą linię razem ze spacjami, więc nazwa dwuwyrazowa wchodzi w całości. Gdyby wczytanie liczby stało przed nim, w buforze zostałby koniec linii i `getline` dostałby pusty napis, a program wyglądałby, jakby minął własny monit.
- + linia 10Jednostka w monicie. Bez niej ten sam program przyjmuje raz złote, raz grosze, zależnie od tego, co wpisujący uzna za oczywiste.
- + linia 19Opis plus jednostka przy wyniku. To jest ta połowa kryterium, którą wymienia brzmienie z sesji Lato 2024: wyprowadzanie wyników opatrzone komentarzem.
Pułapka
„Program wypisuje wynik na ekran, więc komunikacja z użytkownikiem jest. Przecież widać, co się policzyło.”
Wynik na ekranie bywa za mało nawet wtedy, gdy ma etykietę, bo część sesji nazywa w kryterium postać, w jakiej ma się pojawić.
Program napisany do zadania z sesji Zima 2024 rozpoznaje płeć z numeru PESEL i wypisuje Plec: K. Etykieta jest, wynik jest poprawny, a kryterium tamtej sesji przepada, bo jego treść żąda płci w postaci całego słowa, czyli „Kobieta” albo „Mężczyzna”. Litera jest skrótem czytelnym dla autora programu i dla nikogo więcej, a kryterium mówi o komunikacji zrozumiałej.
int main(){ string pesel; cout << "Podaj numer PESEL: "; cin >> pesel; int cyfra = pesel[9] - '0'; if (cyfra % 2 == 0) { cout << "Plec: K" << endl; } else { cout << "Plec: M" << endl; } return 0;}Reguła poprawna
Komunikat opisuje wartość słowami zrozumiałymi bez zaglądania do kodu, a gdy arkusz nazywa postać wyniku, obowiązuje jego postać. Sprawdza się to jednym ruchem: zasłoń kod i przeczytaj sam ekran. Jeżeli ktoś, kto tego programu nie pisał, nie wie, co wpisać albo co znaczy to, co zobaczył, kryterium nie jest spełnione, choćby program liczył bezbłędnie.
Sprawdź się
Odpowiadaj na głos albo na kartce, zanim odsłonisz. Odtworzenie z pamięci jest tym, co buduje trwałość, a przeczytanie odpowiedzi tylko przypomina, że się ją widziało.
- 1
Które dwie powinności wymienia brzmienie kryterium z sesji Lato 2024?
z pamięci
Pokaż odpowiedź
Monit o wprowadzenie danych oraz wyprowadzanie wyników opatrzone komentarzem. W tamtym brzmieniu stoją po przecinku, czyli obowiązują razem; w innych sesjach stoi między nimi „lub” albo „albo” i wystarcza jedna z dwóch.
- 2
Co treść kryterium mówi o programie, który nie uruchamia się z powodu błędów kompilacji?
z pamięci
Pokaż odpowiedź
Każe sprawdzić w kodzie aplikacji. Egzaminator czyta wtedy monity i opisy w kodzie źródłowym, więc to kryterium nie przepada razem z kompilacją i jest jedynym w rezultacie 1, które mówi to wprost.
- 3
Twój program wypisuje na ekran samo
3.5i nic więcej. Co dopisujesz?wykonanie i uzasadnienie
Pokaż odpowiedź
Opis nazywający wartość, razem z jednostką, na przykład
Srednia ocen: 3.5. Sama liczba nie odróżnia średniej od sumy, ceny i indeksu, a kryterium żąda wyniku opatrzonego komentarzem. - 4
Piszesz aplikację mobilną i konsoli w niej nie ma. Gdzie jest wtedy komunikacja z użytkownikiem?
wykonanie i uzasadnienie
Pokaż odpowiedź
W tekstach widocznych na ekranie: w podpisach kontrolek i w komunikatach przy wynikach. Uwaga ogólna przenosi kryteria rezultatu 1 na tę odmianę, którą ma sesja, a brzmienie z INF.04-02-22.06-SG nazywa dla aplikacji web podpisy kontrolek i komunikaty w konsoli przeglądarki. Pole bez etykiety jest tam tym, czym w konsoli wczytanie bez monitu.
- 5
Arkusz podaje w kryterium rezultatu 3 komunikat „Nieprawidłowa liczba cyfr w kodzie pocztowym”. Czy wolno napisać „Zly kod pocztowy”?
wykonanie i uzasadnienie
Pokaż odpowiedź
Nie. Tam brzmienie jest częścią kryterium i przepisuje się je znak w znak; zasady dopuszczają w komunikatach literówki, więc pomyłka w jednej literze punktu nie zabiera, ale inne zdanie nie jest literówką. Kryterium o komunikacji z rezultatu 1 pyta o co innego, o zrozumiałość, więc jemu własna wersja by wystarczyła. Te dwa wymagania łatwo pomylić, bo oba mówią o komunikacie.
Kiedy umiem
Warunki obserwowalne. Dopóki któryś nie jest spełniony, dział zostaje w toku, nawet jeżeli materiał wydaje się oczywisty.
- W programie, który właśnie napisałem, nad każdym wczytaniem stoi linia z monitem, a przy każdym wypisanym wyniku stoi jego opis, i pokazuję je palcem bez czytania kodu w całości.
- Uruchamiam własny program przy zasłoniętym kodzie i osoba, która go nie widziała, wie, co wpisać, bez zadawania mi pytań.
- Odróżniam komunikat oceniany w rezultacie 1 od komunikatu, którego brzmienie arkusz podaje w cudzysłowie, i przy tym drugim przepisuję treść znak w znak.
- Po co najmniej siedmiu dniach od tej lekcji piszę od zera program wczytujący trzy dane i wypisujący dwa wyniki, a monity i opisy stoją w nim od pierwszej wersji, nie dopisane na końcu.
- Po próbie arkusza stawiam sobie T albo N przy kryterium o komunikacji, wskazując linię kodu, która ten werdykt uzasadnia.
Źródła
- Ścieżka nauki programowania, plik wiedzy 07, dział A4: kryterium obecne w 13 arkuszach z 16 kampanii 2023-2026
- Dosłowny cytat kryterium: zasady oceniania INF.04-01-26.01-SG, rezultat 1
- Dosłowny cytat z obiema powinnościami: zasady oceniania INF.04-01-24.06-SG, rezultat 1
- Dosłowny cytat w postaci zadaniowej, płeć całym słowem: zasady oceniania INF.04-01-24.01-SG, rezultat 1
- Numer zamieniony ze zrzutem z uruchomienia, komunikacja pod R.1.6: INF.04-02-22.06-SG i INF.04-01-23.01-SG, arkusze kalkulacyjne CKE
- Zadaniowe człony kryterium w innych sesjach: INF.04-02-23.01-SG (tytuł i treść notatki) oraz INF.04-01-23.06-SG (liczby oddzielone dowolnym separatorem)
- Komunikacja w aplikacji bez konsoli, podpisy kontrolek: INF.04-02-22.06-SG, rezultat 1
- Arkusz bez tego kryterium, rezultat 1 kończy się na R.1.6: INF.04-03-23.06-SG
- Komunikat o brzmieniu dosłownym w rezultacie 3: INF.04-01-23.06-SG, kryterium R.3.9
- Dopuszczenie literówek w wyświetlanych napisach i komunikatach: uwaga do rezultatu 3, INF.04-01-23.06-SG
- Kryterium obecne także w sesjach spoza kampanii: INF.04-01-21.06-SG i INF.04-01-22.01-SG, gdzie żąda komunikatu o wprowadzeniu danych do tablicy
- Uwagi ogólne do rezultatu 1, tolerancja 90 procent i zakres samodzielnie napisanego kodu: INF.04-01-26.01-SG
- Treść zadania z loterią liczbową i przykład komunikatu w kryterium: INF.04-01-25.06-SG
- Katalog strat punktowych E.7 z pliku wiedzy 01, sekcja 10