powrót

Ćwiczenia:

  1. 04-10-2017
  2. 11-10-2017
  3. 18-10-2017
  4. 25-10-2017
  5. 08-11-2017
  6. 15-11-2017
  7. 22-11-2017 Kolokwium aula: B
  8. 29-11-2017
  9. 06-12-2017
  10. 13-12-2017
  11. 20-12-2017
  12. 03-01-2018
  13. 10-01-2018
  14. 17-01-2018
  15. 24-01-2018 Kolokwium aula: B

Literatura:

Programowanie

Algorytmy

Sprawdzian:

Materiały do sprawdzianu dostępne są w następującej pozycji Brian Kernighan, Dennis MacAlistair Ritchie - Język ANSI C zakres sprawdzianu jest następujący:

Wykonane zadania:

Zasady zgłaszania, Konfiguracja Dev-C++

Błędy

Dodatkowe punkty można uzyskać, za wskazanie błędów na niniejszej stronie.
Dotyczy to stron z aktualnego semestru (uwaga: np. zima-2015 dotyczy semestru zimowego rozpoczynającego się w 2015 roku).
Błędy należy zgłaszać mailowo (należy wskazać link do strony, zrobić zrzut ekranu, na którym należy zaznaczyć błąd i napisać poprawną wersję).
Pierwsza osoba, która zgłosi błąd, otrzymuje punkt.
Maksymalna liczba punktów, jaką można uzyskać tą drogą, to 10 pkt.
O tym, czy coś jest błędem, ostatecznie decyduje prowadzący.
Błędy, które można zgłaszać:

pl.spoj.com

Zadania można zgłaszać o ile:

Punktacja: Listy zadań ze wszystkich kategorii posortowanych według liczby osób, które je zrobiły z zaznaczonymi zadaniami zaliczonymi przez studentów można znaleźć tutaj.

Zadanie 3 (termin: 15:00:00 06-12-2017)

Napisz program, który:

Uwaga! Aby program działał szybciej, można nie mierzyć czasu dla wolnych algorytmów i dużych tablic (sortujących dłużej niż minutę).

Zadanie 2 (termin: 15:00:00 08-11-2017)

Napisz procedurę (1 pkt), która wypisuje pierwiastki równania kwadratowego

A * x2 + B * x + C = 0
A, B, C, x ∈ R
Wejście:
A B C
Wyjście:
L x1 x2
gdzie L oznacza liczbę rozwiązań, a x1 x2 ... xL poszczególne rozwiązania ułożone niemalejąco
Przykład:
1 0 0
1 0 //liczby całkowite wypisują się bez kropki dziesiętnej

-2 3 -1
2 0.5 1	//wyniki posortowane niemalejąco

0 1 2
1 -2

0 0 1
0

0 0 0
R	//oznacza nieskończenie wiele rozwiązań (cały zbiór liczb rzeczywistych)
ZAŁĄCZNIKI:
Plik z kodem źródłowym (*.c)

Proszę dokładnie przeanalizować wszystkie możliwości, za oddanie dwukrotnie błędnego programu obniżę ocenę o 0,5.

Zadanie 1 (termin: 15:00:00 18-10-2017)

Napisz program, który zamienia dwie zmienne miejscami nie korzystając z trzeciej zmiennej (1 pkt)
Operatory użyte w programie, a których nie używaliśmy na zajęciach, należy zdefiniować na początku pliku z pseudokodem w następujący sposób:
PRZYKŁAD:
// a SHIFTL b – operator, który reprezentację bitową liczby a przesuwa w lewo o b bitów obcina bity z lewej strony a z prawej dopisuje zerami
Należy też podać tablicę priorytetów operatorów użytych w pseudokodzie.
PRZYKŁAD:

//PRIORYTET OPERATORA
//	()
//	/ * DIV MOD
//	+ -
//	SHIFTL
//	=
Linijka rozpoczynająca się symbolami // oznacza komentarz w pseudokodzie do końca linii.
Proszę również określić liczbę operacji w Państwa rozwiązaniu.
PRZYKŁAD:
x = a	//1 przypisanie
a = b	//1 przypisanie
b = x	//1 przypisanie
//razem 3 operacje
Rozwiązanie o najmniejszej liczbie operacji otrzyma dodatkowy punkt (1 pkt).
ZAŁĄCZNIKI:
Plik z kodem źródłowym (*.c)
Plik z pseudokodem(*.txt)

link do pseudokodu nr indeksu liczba operacji zajęta pamięć liczba punktów
txt test 3 3 0
txt 434713 4 2 (2)
txt 434709 4 2 (2)
txt 440546 4 2 (2)
txt 434766 4 2 (3)
txt 440547 4 2 (2)
txt 434787 6 2 1
txt 434806 6 2 1
txt 434624 6 2 (1)
txt 434797 6 2 1
txt 394161 6 2 (1)
txt 434607 6 2 (1)
txt 434809 6 2 (1)
txt 434704 7 2 (1)
txt 434665 7 2 (1)
txt 434750 8 2 (1)
txt 426203 8 2 (1)
txt 440058 8 2 (1)
txt 434822 9 2 (1)
txt 434758 9 2 (1)
txt 434755 11 2 (1)
txt 434716 11 2 (1)