ZTP2025: Zadania przed lab. 3

Zadanie #1:

W kolejnych wierszach pliku znajdują się wyrażenia arytmetyczne zapisane w odwrotnej notacji polskiej (ale bez wykorzystania nawiasów). Napisz program, który będzie odczytywał wiersz i obliczał wartość, a jeżeli w wyrażeniu jest błąd składni, to rzucał wyjątek. Wyjątek zostaje przechwycony na końcu programu i obsłużony w postaci wyświetlenia komunikatu o rodzaju błędu. Dostosuj wartość wyjątku do rodzaju błędu.

Zadanie #2:

Napisz grę, która będzie losowała dowolne litery z alfabetu i wyświetlała je na ekranie, a zadaniem gracza jest podać szybko kod ascii odpowiadający danej literze. Fragment programu odpowiedzialny za zadawanie pytań i sprawdzanie odpowiedzi użytkownika jest zamknięty w funkcji, która zwraca liczbę całkowitą – sumaryczną liczbę sekund, jakiej użytkownik potrzebował, żeby udzielać odpowiedzi na serię pytań. Może zdarzyć się, że użytkownik poda niewłaściwy kod ascii, ale to nie powoduje przerwania gry. Dopiero w przypadku popełnienia przez użytkownika drugiej pomyłki zamiast kolejnego pytania rzucany jest wyjątek, który jest przechwycony dopiero w funkcji main. W ramach obsługi wyjątku użytkownik dostaje pytanie, czy chce spróbować jeszcze raz i jeżeli tak – funkcja zadająca pytania jest ponownie wywoływana.

Zadanie #3:

Język „Markdown” jest jednym z najprostszych języków znaczników, mimo to jednak znajduje wiele zastosowań, m.in. w plikach readme. W tym języku można formatować tekst, który później zostanie odpowiednio zwizualizowany w oknie przeglądarki.

W języku „Markdown” wskazywanie czcionek, które mają być użyte w poszczególnych fragmentach dokumentu, odbywa się wg następującej składni: najpierw znak otwierający formatowanie, np. _, *, __, ** lub `, potem tekst podlegający formatowaniu, a na koniec ten sam znak, ale tym razem oznaczający koniec formatowanego fragmentu tekstu. Przykłady: _italic_, *italic*, __bold__, **bold**, `monospace`.

Napisz parser, który będzie sprawdzał poprawność formatowania czcionek w tekście zawartym w pliku. Przyjmij, że poprawne formatowanie wymaga, aby liczba znaków otwierających i zamykających była sobie równa, oraz aby formatowane obszary nie przecinały się ani nie zagnieżdżały. W przypadku wykrycia błędu składni rzucany jest wyjątek, który zostanie przechwycony na końcu programu i obsłużony w postaci wyświetlenia komunikatu o błędzie. Dostosuj wartość wyjątku do rodzaju błędu.

ZTP2025: Zadania przed lab. 2

Zadania, które dotyczą zakresu materiału, jaki będzie poruszany na lab. 2. Rozwiązanie nie jest wymagane. Zadania stanowią wyłącznie pomoc w przygotowaniu się do zajęć.

Zadanie #1:

W pliku dane-labZTP.txt znajdują się dane z czterech czujników mierzących temperaturę. Każdy wiersz reprezentuje jeden pomiar i zawiera cztery wartości: nr porządkowy (liczba całkowita), zmierzoną temperaturę (liczba rzeczywista), datę i godzinę (napis), oraz nr czujnika (liczba całkowita). Separatorem wartości jest przecinek.

Zaproponuj typ danych przechowujący pomiar. Następnie zadeklaruj stuelementową tablicę, korzystając z szablonu Tablica prezentowanego na wykładzie z PO, której elementami są dane z czujników (należy dokonać konkretyzacji szablonu klasy Tablica na rzecz zaproponowanego typu danych reprezentujących dane z czujnika i utworzyć jeden obiekt takiego skonkretyzowanego typu). Kod szablonu jest dostępny na stronie www: https://ktrojanowski.blog.uksw.edu.pl/programowanie-obiektowe/kody-programow-po/ – plik wykład13b.h

Napisz program, który – z wykorzystaniem strumieni – wczyta dane z pliku do obiektu typu Tablica, a następnie wypisze listę danych w oknie konsoli, umieszczając w wierszach kolejne porcje danych, rezerwując dla każdej z czterech wartości stałą liczbę znaków (sam zaproponuj, ile znaków zarezerwować dla każdej z kolumn, aby żadne wartości nie zostały przycięte, oraz aby kolumny w sumie nie przekroczyły standardowej szerokości okna konsoli).

Zadanie #2:

W pliku dane-labZTP.txt znajduje się plik txt z danymi z czterech czujników mierzących temperaturę. Każdy wiersz reprezentuje jeden pomiar i zawiera cztery wartości: nr porządkowy (liczba całkowita), zmierzoną temperaturę (liczba rzeczywista), datę i godzinę (napis), oraz nr czujnika (liczba całkowita). Separatorem wartości jest przecinek. Z wykorzystaniem strumieni wczytaj dane z tego pliku i zapisz do drugiego w formacie tabelki, tj. rezerwując dla każdej z czterech wartości stałą liczbę znaków oraz z ramkami i wierszem nagłówkowym. Do rysowania ramek użyj znaków +, -, |. Do wypisania znaków ramki użyj manipulatorów bezargumentowych (trzeba je samemu napisać).

ZTP2025: Wskazówki przed lab. 1

Zasady ogólne

Zasady wykonywania i oceniania programów na stacjonarnych zajęciach lab.:

  • Każdy uczestnik wykonuje na komputerze w pracowni dwa zadania w środowisku MS Visual Studio: podstawowe (pierwszego poziomu) za 6 pkt. i dodatkowe (drugiego poziomu) za 4 pkt.
  • Zadań nie wolno realizować na własnym laptopie.
  • Dopiero kiedy prowadzący odbierze i pozytywnie oceni zadanie podstawowe, można zacząć rozwiązywać zadanie dodatkowe (dodatkowe bywa łatwiejsze).
  • Studenci mogą realizować swoje zadania tylko na zajęciach – nie ma możliwości kończenia programu poza pracownią i przesyłania go do oceny w godzinach wieczornych czy następnego dnia.
  • Studenci obowiązkowo uploadują do moodle rozwiązane zadania I i II poziomu w trakcie zajęć. Rozwiązania uploadowane po zajęciach nie będą oceniane.

Pełny opis zasad jest zamieszczony w moodle.

Rozwiązania będą weryfikowane za pomocą oprogramowania antyplagiatowego MOSS (tak samo jak w ubiegłym semestrze), dlatego oceny wystawione na zajęciach mogą jeszcze być później korygowane na podstawie wyników raportu MOSS (zbytnie podobieństwo kodu powoduje obniżenie oceny u wszystkich wskazanych w raporcie, tj. bez ustalania, kto był rzeczywistym autorem, a kto popełnił plagiat).

Porady przed lab. 1

Zadania realizowane na pierwszych zajęciach lab. będą dotyczyły materiału z wykładów PO z poprzedniego semestru. Dlatego proszę Państwa o przejrzenie materiału z poprzedniego semestru, a zwłaszcza dwóch ostatnich wykładów (szablony funkcji i klas oraz strumienie).

PO2025: Wyniki egzaminu – termin drugi, 10.09

Wiersze zawierają: trzy ostatnie cyfry z nr indeksu, liczbę punktów za część teoretyczną, liczbę punktów za część praktyczną, całkowitą liczbę zdobytych punktów i ocenę.

  1. ***112   19   2.5   21.5   3
  2. ***131   7.5   3   10.5   2
  3. ***145   3   1   4   2
  4. ***170   6.5   4   10.5   2
  5. ***209   0   0   0   2
  6. ***213   14.5   3.5   18   2
  7. ***268   10   1   11   2
  8. ***280   15.5   2   17.5   2
  9. ***284   11   3.5   14.5   2
  10. ***285   12.5   2   14.5   2
  11. ***302   16   4   20+ε   3
  12. ***507   13.5   2.5   16   2
  13. ***630   13.5   4.5   18   2
  14. ***674   15.5   4.5   20+ε   3

Termin wglądu w prace egzaminacyjne zostanie ogłoszony w odrębnym komunikacie.

W razie niejasności proszę o kontakt mailowy

PO2025: Termin poprawy lab.

Termin poprawy zajęć laboratoryjnych: 8 września (poniedziałek), godz. 14:30, sala 119, bud.21. Termin został zmieniony. Zobacz wpis: https://ktrojanowski.blog.uksw.edu.pl/2025/09/03/po2025-nowy-termin-poprawy-lab/

Uwaga: jeżeli są osoby, które chcą i mogą przystąpić do poprawy i które zamierzają uczestniczyć z drugim terminie egzaminu z Matematyki Dyskretnej, proszę o pilny kontakt. Termin poprawy zostanie zmieniony, tak aby wszyscy zainteresowani mogli uczestniczyć. Jeżeli natomiast do czwartku, do końca dnia nie dostanę zgłoszeń o konflikcie terminów, poprawa odbędzie się w poniedziałek zgodnie z niniejszym ogłoszeniem. Tak czy inaczej, proszę w weekend jeszcze raz sprawdzić ogłoszenia ma moim blogu.

PO2025: Poprawa lab. i egzamin w sesji wrześniowej – terminy i zasady

Termin poprawy zajęć laboratoryjnych

8 września (poniedziałek), godzina i miejsce zostaną podane w odrębnym komunikacie. Czas trwania: około 4 godzin zegarowych.

II termin egzaminu

10 września (środa), godz. 12:30, sala 108, bud.21. Egzamin w drugim terminie ma formę i czas trwania identyczne jak w pierwszym.

Zasady udziału w poprawie zajęć laboratoryjnych

Zgodnie z regulaminem zaliczeń przedmiotów, studenci, którzy na laboratorium nie zdobyli wystarczającej liczby punktów i otrzymali ocenę negatywną, mają prawo do poprawy tej oceny. Ci, którzy zamierzają uczestniczyć w poprawie, muszą jednak najpierw otrzymać ocenę pozytywną z zadania semestralnego. Rozwiązania zadań semestralnych (zzipowany komplet plików, spełniających wszystkie wymagania formalne) studenci przekazują do oceny swoim prowadzącym zajęcia. Jeżeli ktoś w czerwcu pozytywnie rozliczył swoje zadanie semestralne, to jest już dopuszczony do poprawy. Takie osoby mogą w pierwszych dniach września przypomnieć o pozytywnym zaliczeniu zadania swoim prowadzącym, ponieważ przed poprawą będę prosił prowadzących o przesłanie do mnie list osób, które otrzymały oceny pozytywne za zadanie semestralne. Tylko osoby, które będą na tych listach, zostaną dopuszczone do poprawy w poniedziałek, 8 września.

Studenci przekazują do swoich prowadzących rozwiązania zadań semestralnych do oceny według zasad i zgodnie z terminami ustalonymi przez tych prowadzących. Studenci z mojej grupy, którzy chcą przystąpić do poprawy, a nie mają jeszcze zaliczonego zadania semestralnego, przesyłają mi je do oceny w postaci załącznika do maila w terminie od 29 sierpnia (piątek) do 3 września (środa) do końca dnia. Wybrane osoby z mojej grupy zostaną zaproszone we czwartek, 4 września, na omówienie przesłanego rozwiązania zadania semestralnego (proszę sprawdzać maila również we czwartek rano). Prace przesłane później mogą nie zostać ocenione, a prace przesłane wcześniej mogą niechcący zostać przeoczone. Mail z odpowiedzią zostanie wysłany zwrotnie, tj. na adres mailowy, z którego nadesłano rozwiązanie. Wszystkie oceny za zadania semestralne muszą zostać wystawione do 5 września (piątek), do końca dnia.

Zgłoszenie udziału w poprawie zajęć laboratoryjnych

Osoby, które chcą i mogą przystąpić do poprawy, przysyłają do mnie mailem swoje zgłoszenie udziału w poprawie (wystarczy jedno zdanie typu „zgłaszam swój udział w …”, a poniżej imię, nazwisko i nr indeksu). Zgłoszenie należy wysłać w terminie od 4 (czwartek) do 6 września (sobota), do końca dnia. Proszę nie przysyłać zgłoszeń wcześniej, bo mogą zostać przeze mnie niechcący przeoczone. Brak przesłania w terminie zgłoszenia udziału może spowodować, że nie zostanie przygotowane zadanie dla danej osoby i tym samym uniemożliwi jej udział w poprawie. Uwaga: jeżeli żadne zgłoszenia nie zostaną przesłane w terminie, poprawa zostanie odwołana.

PO2025: Wyniki egzaminu – termin pierwszy, 25.06

Wiersze zawierają: trzy ostatnie cyfry z nr indeksu, liczbę punktów za część teoretyczną, liczbę punktów za część praktyczną, całkowitą liczbę zdobytych punktów i ocenę.

  1. ***112   14.5   0   14.5   2
  2. ***121   16.5   15   31.5   4
  3. ***145   8.5   0   8.5   2
  4. ***151   15   5   20+ε   3
  5. ***170   9.5   3   12.5   2
  6. ***204   11.5   16   27.5   3.5
  7. ***213   11   1   12   2
  8. ***268   7   2   9   2
  9. ***280   16   0   16   2
  10. ***284   2.5   3   5.5   2
  11. ***290   18   7   25   3.5
  12. ***302   13   2   15   2
  13. ***481   15   5   20+ε   3
  14. ***507   11   6   17   2
  15. ***539   18   5   23   3
  16. ***597   15.5   6   21.5   3
  17. ***627   15   5   20+ε   3
  18. ***977   18   2   20+ε   3

Termin wglądu w prace egzaminacyjne zostanie ogłoszony w odrębnym komunikacie.

W razie niejasności proszę o kontakt mailowy