Autor: Krzysztof
PO 2019: Wejściówka na Lab.2
Napisz program szyfrujący tekst wprowadzany przez użytkownika. W tym celu przygotuj tablicę kwadratową A o wymiarze 5 na 5 przechowującą wartości typu char
, oraz tablicę jednowymiarową B, przechowującą wskaźniki do zmiennych typu char
. Do tablicy B wpisz wartości NULL
, a do tablicy kwadratowej A wpisz litery alfabetu (z pominięciem liter zawierających znaki diakrytyczne: ą, ć, ę, ł, ń, ó, ś, ź, ż), np. tak:
a | f | k | p | v |
b | g | l | r | w |
c | h | m | s | x |
d | i | n | t | y |
e | j | o | u | z |
Następnie wczytaj od użytkownika ciąg znaków bez spacji, reprezentujący dowolny napis składający się tylko ze znaków z tablicy A, którego długość nie jest większa niż długość tablicy jednowymiarowej B. Zakładamy przy tym, że dane wprowadzane przez użytkownika są zawsze poprawne co do ich wartości i rozmiaru. Napis wczytaj poleceniem scanf
do pomocniczej tablicy. Po wczytaniu dla każdej kolejnej litery napisu znajdź w tablicy A komórkę, przechowującą tę literę, po czym adres znalezionej komórki w A zapisz w kolejnej komórce tablicy B. Po zakończeniu tablica B powinna zawierać wskaźniki do odpowiednich komórek tablicy A z kolejnymi literami wprowadzonego napisu. Jeżeli długość tablicy B jest większa niż długość wczytanego słowa, pozostałe komórki tablicy B przechowują wartość NULL
.
Wypisz w oknie konsoli napis podany przez użytkownika korzystając tylko z tablicy B, tj. za pomocą wskaźników z B sięgaj do odpowiednich komórek w A i wypisz ich zawartość kolejno na ekranie.
Następnie zaszyfruj napis poprzez przestawienie wartości w wierszach tablicy A. Przykładowe przestawienie to przesunięcia wartości: z wiersza 1 do 2, z 2 do 3, z 3 do 4, z 4 do 5, a z 5 do 1, np. tak:
e | j | o | u | z |
a | f | k | p | v |
b | g | l | r | w |
c | h | m | s | x |
d | i | n | t | y |
Po przestawieniu wierszy ponownie wypisz w oknie konsoli napis korzystając ze wskaźników z tabeli B.
Na koniec przywróć w tablicy właściwy porządek wierszy i jeszcze raz korzystając z tablicy B wypisz napis, tym razem w postaci odszyfrowanej.
Przetestowany, działający program (tylko plik z kodem źródłowym) uploaduj do https://e.uksw.edu.pl jako rozwiązanie zadania „Wejściówka” Lab. nr 2, tak aby na początku zajęć można go było szybko pobrać, skompilować i zademonstrować działanie.
PO 2019: Wykład 1 – slajdy
ZPO 2018: terminy w sesji poprawkowej
Poprawa oceny z laboratoriów: 25.02.2019 (poniedziałek) w godz. 11:15-15:00, sala 124 w bud. 24.
Egzamin II termin: 27.02.2019 (środa) w godz. 10:30-12:00, sala 1559 w bud. 15.
PO2019: ogłoszenia na początek semestru
Wejściówka na pierwszych zajęciach
Wejściówki nie ma na pierwszych zajęciach z PO.
Komputerowe stanowiska pracy i czas pracy
Ocenie podlegają wyłącznie rozwiązania wykonane na stanowisku komputerowym w pracowni, natomiast nie podlegają ocenie zadania wykonane na własnym laptopie. Ponadto, ocenie podlegają wyłącznie rozwiązania wykonane w czasie zajęć i odebrane przez prowadzącego w czasie zajęć. Jeżeli kilka osób na raz zgłosi prowadzącemu gotowość oceny swojego zadania w ostatnich minutach zajęć, może on nie zdążyć ocenić wszystkich. Osobom, których nie zdąży ocenić, zostanie wpisana ocena zero. Dlatego należy zgłaszać rozwiązanie zadania prowadzącemu jak najszybciej, tj. jak tylko będzie gotowe, nie czekając aż zajęcia dobiegną końca.
Platforma https://e.uksw.edu.pl/
Przed zajęciami student powinien upewnić się, że może zalogować się do moodle i ma tam dostęp do swojej grupy. Jeżeli nie, należy to jak najszybciej wyjaśnić w Dziekanacie (prowadzący zajęcia laboratoryjne nie ma odpowiednich uprawnień i w tym zakresie nie udzieli pomocy).
Przeniesienia do innej grupy
Ogólna zasada jest taka, że skład grup zajęciowych określa usos i nie ma możliwości przechodzenia do innej grupy. Ponieważ pewna liczba studentów po pierwszym semestrze rezygnuje, może się zdarzyć, że niektóre grupy mogą jednak faktycznie okazać się mniej liczne niż inne. W takim przypadku przejście do innej grupy – za zgodą prowadzącego i Dziekanatu – jest możliwe pod warunkiem, że nie powoduje pogłębienia tych różnic, ale ich wygładzenie. Dużo więc będzie zależało od frekwencji na pierwszych zajęciach. Kto nie przyjdzie na pierwsze zajęcia swojej grupy, ten zwalnia miejsce, nie mając gwarancji, że znajdzie je w innej.
Zasady zaliczenia laboratoriów
Zasady są dostępne w zakładce:
Programowanie Obiektowe|Zasady zaliczenia lab.|Zasady dla zadań lab.
ZPO 2018: Wyniki z egzaminu w terminie pierwszym
Lista ocen osób, które brały udział w egzaminie. Wiersze zawierają: trzy ostatnie cyfry nr indeksu, liczbę zdobytych punktów i proponowaną ocenę.
- 045 13.5 3.0
- 050 9.5 2.0
- 052 12+ε 3.0
- 146 14 3.0
- 175 16 3.5
- 218 12+ε 3.0
- 229 10 2.0
- 308 5.5 2.0
- 367 10.5 2.0
- 375 13 3.0
- 395 14 3.0
- 396 10 2.0
- 399 17.5 4.0
- 409 14 3.0
- 419 17.5 4.0
- 592 9.5 2.0
W razie niejasności proszę o kontakt.
ZPO2018: Wyniki z egzaminu zerowego
Lista osób, które otrzymały ocenę pozytywną z zajęć lab. i osiągnęły co najmniej 50% pkt. na egzaminie zerowym. Wiersze zawierają: trzy ostatnie cyfry nr indeksu, liczbę zdobytych punktów i proponowaną ocenę.
- 039 12.5 3.0
- 058 19 4.0
- 060 15.5 3.5
- 064 14.5 3.5
- 131 17 4.0
- 219 16 3.5
- 232 15.5 3.5
- 292 13 3.0
- 9366 15.5 3.5
- 7366 16.5 3.5
- 368 12.5 3.0
- 376 13.5 3.0
- 381 14 3.0
- 382 20 4.5
- 383 12.5 3.0
- 408 14.5 3.5
- 410 12.5 3.0
- 415 12+ε 3.0
- 654 17 4.0
Lista osób, które otrzymały ocenę pozytywną z zajęć lab. i uczestniczyły w egzaminie zerowym, ale liczba zdobytych na egzaminie punktów nie przekroczyła progowej wartości 50% możliwych do zdobycia. Wiersze zawierają trzy ostatnie cyfry nr indeksu.
- 045
- 050
- 146
- 175
- 218
- 229
- 367
- 395
- 396
- 409
W razie niejasności, proszę o kontakt. Oceny nie podlegają negocjacji.
ZPO 2018: Lista osób zwolnionych z egzaminu
trzy ostatnie cyfry z nr indeksu osób, które zostają zwolnione z egzaminu z wykładu za bardzo dobre wyniki na zajęciach laboratoryjnych:
- ***418
- ***420
Osoby te otrzymują ocenę 5 (bardzo dobry).
ZPO 2018: terminy egzaminu zerowego i pierwszego
egzamin zerowy: 23.01.2019 (środa) w godz. 15:00-16:30, aula 107 w bud. 21
egzamin pierwszy: 05.02.2019 (wtorek) w godz. 11:00-13:00, sala 116 w bud. 21