Both sides previous revision
Poprzednia wersja
Nowa wersja
|
Poprzednia wersja
|
pl:dydaktyka:jimp2:2016:start [2016/04/28 16:29] msl [Jak wysyłać wyniki] |
pl:dydaktyka:jimp2:2016:start [2019/06/27 15:50] (aktualna) |
* **Ocena końcowa** jest średnią ocen z pierwszej i drugiej części semestru. Każdą z nich trzeba niezależnie od siebie zaliczyć. | * **Ocena końcowa** jest średnią ocen z pierwszej i drugiej części semestru. Każdą z nich trzeba niezależnie od siebie zaliczyć. |
| |
| ===== WYNIKI ===== |
| |
| Poniższy {{:pl:dydaktyka:jimp2:2016:jimp2-ok.pdf|arkusz}} zawiera punktację z drugiej części laboratorium oraz podsumowanie: liczbę zdobytych punktów (procentowo) na obu częściach laboratorium oraz ich średnią wartość. Na tej podstawie wpisane są tam oceny końcowe z laboratorium. |
===== I część: Podstawy programowania obiektowego w C++ ===== | ===== I część: Podstawy programowania obiektowego w C++ ===== |
| |
^ 1. | [[.:part2:ex:ex1|Szablony funkcji]] | 1 tydzień | 2 os. | 28.04 | | ^ 1. | [[.:part2:ex:ex1|Szablony funkcji]] | 1 tydzień | 2 os. | 28.04 | |
^ 2. | [[.:part2:ex:ex2|Szablony klas]] | 1 tydzień | 2 os. | 05.05 | | ^ 2. | [[.:part2:ex:ex2|Szablony klas]] | 1 tydzień | 2 os. | 05.05 | |
| ^ 3. | [[.:part2:ex:ex3|Szablony + dziedziczenie]] | 1 tydzień | 2 os. | 12.05 | |
| ^ 4. | [[.:part2:ex:ex4|Kontenery, cd.]] | 1 tydzień | 2 os. | 02.06 | |
| ^ 5. | [[.:part2:ex:ex5|Iteratory]] | 1 tydzień | 2 os. | 09.06 | |
| ^ 6. | [[.:part2:ex:ex6|Drzewa]] | Poprawa czerwcowa | 1 os | 29.06 | |
==== Jak wysyłać wyniki ==== | ==== Jak wysyłać wyniki ==== |
| |
- Przetestować kod: <code bash>g++ *.cpp -o test && ./test</code> | - Przetestować kod: <code bash>g++ -std=c++11 *.cpp -o test && ./test</code> |
* :!: proszę użyć kompilatora ''gcc'' w wersji ''4.8.x'' (tak jak na serwerze borg) | * :!: proszę użyć kompilatora ''gcc'' w wersji ''4.8.x'' (tak jak na serwerze borg) |
| * :!: proszę używać oryginalnego i niezmienionego pliku ''main'', np. ''ex1main.cpp'', ''ex2main.cpp'', etc. |
- Jeżeli kod się nie kompiluje: | - Jeżeli kod się nie kompiluje: |
* proszę go **nie** wysyłać, nie ma po co | * proszę go **nie** wysyłać, nie ma po co |
- skopiować istotne pliki do tego katalogu, np. <code bash>cp *.cpp *.h ./0_Slazynski_Kutt</code> | - skopiować istotne pliki do tego katalogu, np. <code bash>cp *.cpp *.h ./0_Slazynski_Kutt</code> |
- proszę spakować folder do archiwum zip, rar, 7z, lub tar.gz, np. <code bash>tar -zcf 0_Slazynski_Kutt.tar.gz 0_Slazynski_Kutt</code> | - proszę spakować folder do archiwum zip, rar, 7z, lub tar.gz, np. <code bash>tar -zcf 0_Slazynski_Kutt.tar.gz 0_Slazynski_Kutt</code> |
- wysłać paczkę na mail mslaz@agh.edu.pl z tematem: ''[JIMP2] Ćwiczenie nr <numer ćwiczenia>'', np. ''[JIMP2] Ćwiczenie nr 1'' | - wysłać paczkę na mail [[mailto:mslaz@agh.edu.pl|mslaz@agh.edu.pl]] z tematem: ''[JIMP2] Ćwiczenie nr <numer ćwiczenia>'', np. ''[JIMP2] Ćwiczenie nr 1'' |
- w treści wpisać imiona i nazwiska osób wykonujących ćwiczenie, np. ''Mateusz Ślażyński & Krzysztof Kutt'' | - w treści wpisać imiona i nazwiska osób wykonujących ćwiczenie, np. ''Mateusz Ślażyński & Krzysztof Kutt'' |
- :!: załączyć archiwum z ćwiczeniem, to ważne :!: | - :!: załączyć archiwum z ćwiczeniem, to ważne :!: |
- inne formy wysyłania zadań spotkają się z moją niechybną dezaprobatą i niekonstruktywną krytyką m( | - inne formy wysyłania zadań spotkają się z moją niechybną dezaprobatą i niekonstruktywną krytyką m( |
* przewidywane kary w postaci składania własnoręcznie spisanej miażdżącej samokrytyki | * przewidywane kary w postaci składania własnoręcznie spisanej miażdżącej samokrytyki |
| * wizyta w worku pokutnym w dziekanacie pro |
* no i brak punktów | * no i brak punktów |
| |
| ==== Automatyczne formatowanie kodu ==== |
| |
| W celu uniknięcia braku punktów za dobry styl kodu, polecamy stosować narzędzia automatycznie formatujące kod. Większość profesjonalnych IDE, np. Eclipse, ma je wbudowane bądź dostępne w formie wtyczki. Jeżeli ktoś preferuje narzędzia konsolowe, to polecamy [[http://astyle.sourceforge.net/install.html|AStyle]], które jest dostępny na wszystkie wiodące systemy operacyjne. Narzędzi w użyciu jest bardzo proste: ''astyle <opcje stylu> <ścieżki do plików>'', np. |
| <code bash> |
| astyle --style=1tbs *.cpp *.h |
| </code> |
| sformatuje wszsytkie pliki ''.cpp'' i ''.h'' używając stylu One True Brace Style. Więcej dostępnych stylów i opcji można poznać czytając stronę [[http://astyle.sourceforge.net/astyle.html]]. |
| |
| Na potrzeby ćwiczeń polecamy stosować styl: |
| <code bash> |
| astyle -s4 -xG -S -O -n -o -k3 -H -p -j *.cpp *.h |
| </code> |
| Jeżeli kogoś przeraża wpisywanie tak wielu opcji, wystarczy zapisać konfigurację jako domyślną: |
| <code bash> |
| echo "-s4 -xG -S -O -n -o -k3 -H -p -j" > ~/.astylerc |
| </code> |
| |
| === Alternatywy === |
| |
| * [[http://uncrustify.sourceforge.net/|uncrustify]] - bardzo popularne narzędzie do formatowania kodu |
| * [[http://clang.llvm.org/docs/ClangFormat.html|clang-format]] - oparte o llvm narzędzie wspierane przez wiele narzędzi programistycznych. [[http://clangformat.com/|http://clangformat.com/]] pozwala generować dla niego konfiguracje. |
| * [[http://universalindent.sourceforge.net/|universalindent]] - graficzne narzędzie do formatowania kodu |
===== Przydatne materiały ===== | ===== Przydatne materiały ===== |
| |
* [[http://www.eclipse.org/|Eclipse IDE for C/C++]] | * [[http://www.eclipse.org/|Eclipse IDE for C/C++]] |
* [[http://www.microsoft.com/express/Windows/|MS Visual Studio Express Edition]] | * [[http://www.microsoft.com/express/Windows/|MS Visual Studio Express Edition]] |
| |
==== Platformy online z zadaniami do ćwiczenia programowania ==== | ==== Platformy online z zadaniami do ćwiczenia programowania ==== |
| |