├── P01D06-0-develop ├── CHANGELOG ├── src │ ├── .gitkeep │ └── a.out ├── code-samples │ ├── .gitkeep │ └── one_dimensional_graphics.c ├── data-samples │ └── .gitkeep ├── datasets │ └── .gitkeep ├── materials │ ├── .gitkeep │ ├── linters │ │ └── .clang-format │ ├── map.txt │ ├── 7 principles of structural programming.md │ ├── instructions_for_testing.md │ └── instructions_for_testing_rus.md ├── misc │ ├── .gitkeep │ ├── images │ │ └── .gitkeep │ ├── eng │ │ └── images │ │ │ ├── GOTO.png │ │ │ ├── pong.png │ │ │ └── dayp01.png │ └── rus │ │ └── images │ │ ├── pong.png │ │ └── dayp01.png ├── LICENSE └── .gitignore ├── P02D13-1-develop ├── CHANGELOG ├── src │ └── .gitkeep ├── code-samples │ └── .gitkeep ├── data-samples │ └── .gitkeep ├── datasets │ └── .gitkeep ├── materials │ ├── .gitkeep │ ├── linters │ │ └── .clang-format │ ├── glider_emblem.gif │ ├── map.txt │ ├── 7 principles of structural programming.md │ ├── instructions_for_testing.md │ └── instructions_for_testing_rus.md ├── misc │ ├── images │ │ └── .gitkeep │ ├── eng │ │ └── images │ │ │ ├── GOTO.png │ │ │ └── dayp02.png │ └── rus │ │ └── images │ │ └── dayp02.png ├── LICENSE └── .gitignore ├── P03D20-1-develop ├── CHANGELOG ├── build │ └── .gitkeep ├── src │ ├── .gitkeep │ ├── stack.h │ ├── Makefile │ ├── lex_analyzer.h │ ├── rpn.h │ └── stack.c ├── code-samples │ └── .gitkeep ├── data-samples │ ├── .gitkeep │ └── examples.txt ├── datasets │ └── .gitkeep ├── materials │ ├── .gitkeep │ ├── linters │ │ └── .clang-format │ ├── map.txt │ ├── 7 principles of structural programming.md │ ├── instructions_for_testing.md │ └── instructions_for_testing_rus.md ├── misc │ ├── images │ │ └── .gitkeep │ ├── eng │ │ └── images │ │ │ ├── GOTO.png │ │ │ └── dayp03.png │ └── rus │ │ └── images │ │ └── dayp03.png ├── LICENSE └── .gitignore ├── T01D01-0-develop ├── CHANGELOG ├── src │ ├── .gitkeep │ ├── ai_help │ │ ├── key │ │ │ ├── part1.key │ │ │ ├── part2.key │ │ │ ├── part3.key │ │ │ ├── part4.key │ │ │ ├── part5.key │ │ │ ├── part6.key │ │ │ ├── part7.key │ │ │ ├── part8.key │ │ │ ├── part9.key │ │ │ ├── part10.key │ │ │ ├── part11.key │ │ │ ├── part12.key │ │ │ ├── part13.key │ │ │ ├── part14.key │ │ │ ├── part15.key │ │ │ ├── part16.key │ │ │ ├── part17.key │ │ │ ├── part18.key │ │ │ ├── part19.key │ │ │ ├── part20.key │ │ │ ├── part21.key │ │ │ ├── part22.key │ │ │ ├── part23.key │ │ │ ├── part24.key │ │ │ ├── part25.key │ │ │ ├── part26.key │ │ │ ├── part27.key │ │ │ ├── part28.key │ │ │ ├── part29.key │ │ │ ├── part30.key │ │ │ ├── part31.key │ │ │ ├── part32.key │ │ │ ├── part33.key │ │ │ ├── part34.key │ │ │ ├── part35.key │ │ │ ├── part36.key │ │ │ ├── part37.key │ │ │ ├── part38.key │ │ │ ├── part39.key │ │ │ ├── part40.key │ │ │ ├── part41.key │ │ │ ├── part42.key │ │ │ ├── part43.key │ │ │ ├── part44.key │ │ │ ├── part45.key │ │ │ ├── part46.key │ │ │ ├── part47.key │ │ │ ├── part48.key │ │ │ ├── part49.key │ │ │ ├── part50.key │ │ │ ├── part51.key │ │ │ ├── part52.key │ │ │ ├── part53.key │ │ │ ├── part54.key │ │ │ ├── part55.key │ │ │ ├── part56.key │ │ │ ├── part57.key │ │ │ ├── part58.key │ │ │ ├── part59.key │ │ │ └── part60.key │ │ ├── main-2.key │ │ ├── main-3.key │ │ ├── main.key │ │ ├── keygen.sh │ │ └── unifier.sh │ ├── door_management_files │ │ ├── door_logs │ │ │ ├── door_1.log │ │ │ ├── door_10.log │ │ │ ├── door_11.log │ │ │ ├── door_12.log │ │ │ ├── door_13.log │ │ │ ├── door_14.log │ │ │ ├── door_15.log │ │ │ ├── door_16.log │ │ │ ├── door_2.log │ │ │ ├── door_3.log │ │ │ ├── door_4.log │ │ │ ├── door_5.log │ │ │ ├── door_6.log │ │ │ ├── door_7.log │ │ │ ├── door_8.log │ │ │ └── door_9.log │ │ ├── door_configuration │ │ │ ├── door_21.conf │ │ │ ├── door_3.conf │ │ │ ├── door_4.conf │ │ │ ├── door_5.conf │ │ │ ├── door_6.conf │ │ │ ├── door_7.conf │ │ │ ├── door_8.conf │ │ │ ├── door_9.conf │ │ │ ├── door_10.conf │ │ │ ├── door_11.conf │ │ │ ├── door_12.conf │ │ │ ├── door_13.conf │ │ │ ├── door_14.conf │ │ │ ├── door_15.conf │ │ │ ├── door_16.conf │ │ │ ├── door_2.conf │ │ │ └── door_1.conf │ │ └── door_map │ │ │ └── door_map_1.1 │ ├── important_data_for_ai_module_2.txt │ ├── quest5.sh │ ├── quest4.sh │ ├── quest6.sh │ ├── quest3.sh │ ├── ai_module_2.sh │ ├── ai_door_control.sh │ ├── ai_initial_module.sh │ ├── git_for_human │ │ └── readme.txt │ └── ai_door_management_module.sh ├── code-samples │ └── .gitkeep ├── data-samples │ └── .gitkeep ├── datasets │ └── .gitkeep ├── materials │ ├── .gitkeep │ └── map.txt ├── misc │ ├── .gitkeep │ └── images │ │ ├── .gitkeep │ │ ├── eng │ │ ├── day1_door.png │ │ └── day1_coffee.png │ │ └── rus │ │ ├── day1_door.png │ │ └── day1_coffee.png ├── LICENSE └── .gitignore ├── T03D03-0-develop ├── CHANGELOG ├── src │ ├── .gitkeep │ ├── hello.c │ ├── named_hello.c │ ├── crack.c │ ├── important_function.c │ ├── max.c │ ├── arithmetic.c │ └── float_compare.c ├── code-samples │ ├── .gitkeep │ └── operations.c ├── data-samples │ ├── .gitkeep │ └── arithmetic │ │ ├── out.txt │ │ └── in.txt ├── datasets │ └── .gitkeep ├── materials │ ├── .gitkeep │ ├── linters │ │ └── .clang-format │ ├── type.txt │ ├── themes.txt │ ├── operations.txt │ ├── map.txt │ ├── xor.txt │ ├── function.txt │ ├── instructions_for_testing.md │ ├── instructions_for_testing_rus.md │ ├── expressions.txt │ └── 7 principles of structural programming.md ├── misc │ ├── .gitkeep │ ├── images │ │ ├── .gitkeep │ │ └── GOTO.png │ ├── eng │ │ └── images │ │ │ ├── day3_door.png │ │ │ └── day3_kursor.png │ └── rus │ │ └── images │ │ ├── day3_door.png │ │ └── day3_kursor.png ├── LICENSE └── .gitignore ├── T04D04-0-develop ├── CHANGELOG ├── src │ ├── .gitkeep │ └── 1948.c ├── data-samples │ └── .gitkeep ├── datasets │ └── .gitkeep ├── LICENSE ├── materials │ ├── linters │ │ └── .clang-format │ ├── bohm-jacopini-theorem.txt │ ├── map.txt │ ├── instructions_for_testing.md │ ├── instructions_for_testing_rus.md │ └── 7 principles of structural programming.md ├── misc │ ├── images │ │ ├── g.png │ │ ├── lb.png │ │ └── va.png │ ├── eng │ │ └── images │ │ │ ├── GOTO.png │ │ │ ├── day4_door.png │ │ │ └── day4_paper.png │ └── rus │ │ └── images │ │ ├── day4_door.png │ │ └── day4_paper.png ├── code-samples │ └── recursion.c └── .gitignore ├── T05D08-0-develop ├── CHANGELOG ├── src │ ├── .gitkeep │ ├── maxmin.c │ ├── squaring.c │ ├── search.c │ └── stat.c ├── code-samples │ └── .gitkeep ├── data-samples │ └── .gitkeep ├── datasets │ └── .gitkeep ├── materials │ ├── .gitkeep │ ├── linters │ │ └── .clang-format │ ├── map.txt │ ├── 7 principles of structural programming.md │ └── instructions_for_testing.md ├── misc │ ├── .gitkeep │ ├── images │ │ └── .gitkeep │ ├── eng │ │ └── images │ │ │ ├── GOTO.png │ │ │ ├── day5_door.png │ │ │ └── day5_pillow.png │ └── rus │ │ └── images │ │ ├── day5_door.png │ │ └── day5_pillow.png ├── LICENSE └── .gitignore ├── T06D09-0-develop ├── CHANGELOG ├── src │ ├── .gitkeep │ ├── key9part2.c │ ├── sort.c │ └── key9part1.c ├── code-samples │ └── .gitkeep ├── data-samples │ └── .gitkeep ├── datasets │ └── .gitkeep ├── materials │ ├── .gitkeep │ ├── linters │ │ └── .clang-format │ ├── map.txt │ ├── 7 principles of structural programming.md │ └── instructions_for_testing.md ├── misc │ ├── .gitkeep │ ├── images │ │ └── .gitkeep │ ├── eng │ │ └── images │ │ │ ├── GOTO.png │ │ │ ├── day6_door.png │ │ │ └── day6_egg.png │ └── rus │ │ └── images │ │ ├── day6_door.png │ │ └── day6_egg.png ├── LICENSE └── .gitignore ├── T06D09-0-master ├── CHANGELOG ├── src │ ├── .gitkeep │ ├── key9part2.c │ └── key9part1.c ├── datasets │ └── .gitkeep ├── code-samples │ └── .gitkeep ├── data-samples │ └── .gitkeep ├── materials │ ├── .gitkeep │ ├── linters │ │ └── .clang-format │ ├── map.txt │ ├── 7 principles of structural programming.md │ └── instructions_for_testing.md ├── misc │ ├── .gitkeep │ ├── images │ │ └── .gitkeep │ ├── eng │ │ └── images │ │ │ ├── GOTO.png │ │ │ ├── day6_door.png │ │ │ └── day6_egg.png │ └── rus │ │ └── images │ │ ├── day6_door.png │ │ └── day6_egg.png ├── LICENSE └── .gitignore ├── T07D10-0-develop ├── CHANGELOG ├── src │ ├── .gitkeep │ ├── sort.c │ └── sort_no_leak.c ├── code-samples │ └── .gitkeep ├── data-samples │ └── .gitkeep ├── datasets │ └── .gitkeep ├── misc │ ├── .gitkeep │ ├── eng │ │ └── images │ │ │ ├── GOTO.png │ │ │ ├── day7_door.png │ │ │ └── day7_number.png │ └── rus │ │ └── images │ │ ├── day7_door.png │ │ └── day7_number.png ├── LICENSE ├── materials │ ├── linters │ │ └── .clang-format │ ├── [DynAlloc] Array of pointers to arrays.jpg │ ├── [DynAlloc] Array of pointers to segments of the second array.jpg │ ├── [DynAlloc] Array of pointers to array segments within one buffer.jpg │ ├── map.txt │ ├── 7 principles of structural programming.md │ └── instructions_for_testing.md └── .gitignore ├── T08D11-1-develop ├── CHANGELOG ├── src │ └── .gitkeep ├── data-samples │ └── .gitkeep ├── datasets │ └── .gitkeep ├── materials │ ├── .gitkeep │ ├── linters │ │ └── .clang-format │ ├── map.txt │ ├── 7 principles of structural programming.md │ ├── matrices_rus.md │ └── matrices.md ├── misc │ ├── .gitkeep │ ├── images │ │ └── .gitkeep │ ├── matrix │ │ ├── .gitkeep │ │ ├── matrix1.png │ │ ├── matrix10.png │ │ ├── matrix11.png │ │ ├── matrix12.png │ │ ├── matrix13.png │ │ ├── matrix14.png │ │ ├── matrix2.png │ │ ├── matrix3.png │ │ ├── matrix4.png │ │ ├── matrix5.png │ │ ├── matrix6.png │ │ ├── matrix7.png │ │ ├── matrix8.png │ │ └── matrix9.png │ ├── eng │ │ └── images │ │ │ ├── GOTO.png │ │ │ ├── day8_door.png │ │ │ └── day8_kapsula.png │ └── rus │ │ └── images │ │ ├── day8_door.png │ │ └── day8_kapsula.png ├── LICENSE └── .gitignore ├── T09D15-1-develop ├── CHANGELOG ├── src │ ├── .gitkeep │ ├── yet_another_decision_module │ │ ├── decision.h │ │ ├── decision.c │ │ └── yet_another_decision_module_entry.c │ ├── data_libs │ │ ├── data_sort.h │ │ ├── data_io.h │ │ ├── data_stat.h │ │ ├── data_sort.c │ │ ├── data_io.c │ │ └── data_stat.c │ ├── data_module │ │ ├── data_process.h │ │ ├── data_process.c │ │ └── data_module_entry.c │ └── main_executable_module │ │ ├── main_executable_module.c │ │ └── Makefile ├── code-samples │ ├── .gitkeep │ └── makefile_example ├── data-samples │ └── .gitkeep ├── datasets │ └── .gitkeep ├── materials │ ├── .gitkeep │ ├── linters │ │ └── .clang-format │ ├── map.txt │ └── 7 principles of structural programming.md ├── misc │ ├── .gitkeep │ ├── images │ │ └── .gitkeep │ ├── eng │ │ └── images │ │ │ ├── GOTO.png │ │ │ ├── day9_door.png │ │ │ └── day9_chair.png │ └── rus │ │ └── images │ │ ├── day9_door.png │ │ └── day9_chair.png ├── LICENSE └── .gitignore ├── T10D16-1-develop ├── CHANGELOG ├── src │ └── .gitignore ├── build │ └── .gitkeep ├── misc │ ├── .gitkeep │ ├── eng │ │ └── images │ │ │ ├── GOTO.png │ │ │ ├── day10_book.png │ │ │ └── day10_door.png │ └── rus │ │ └── images │ │ ├── day10_book.png │ │ └── day10_door.png ├── LICENSE ├── materials │ ├── linters │ │ └── .clang-format │ ├── map.txt │ └── 7 principles of structural programming.md └── .gitignore ├── T11D17-1-develop ├── CHANGELOG ├── src │ ├── .gitkeep │ ├── door_struct.h │ ├── stack.h │ ├── Makefile │ ├── stack.c │ ├── stack_test.c │ └── dmanager_module.c ├── build │ └── .gitkeep ├── code-samples │ └── .gitkeep ├── data-samples │ └── .gitkeep ├── datasets │ └── .gitkeep ├── misc │ ├── .gitkeep │ ├── images │ │ └── .gitkeep │ ├── eng │ │ └── images │ │ │ ├── GOTO.png │ │ │ ├── day11_door.png │ │ │ └── day11_sticker.png │ └── rus │ │ └── images │ │ ├── day11_door.png │ │ └── day11_sticker.png ├── LICENSE ├── .vscode │ └── settings.json ├── materials │ ├── linters │ │ └── .clang-format │ ├── map.txt │ ├── 09-06-20.log │ └── 7 principles of structural programming.md └── .gitignore ├── T13D22-1-develop ├── CHANGELOG ├── src │ ├── .gitkeep │ ├── ai_modules │ │ ├── m1.h │ │ ├── m2.h │ │ ├── m1.c │ │ └── m2.c │ └── log_levels.h ├── build │ └── .gitkeep ├── datasets │ └── .gitkeep ├── materials │ ├── .gitkeep │ ├── linters │ │ └── .clang-format │ ├── map.txt │ ├── 7 principles of structural programming.md │ ├── instructions_for_testing.md │ └── instructions_for_testing_rus.md ├── misc │ ├── .gitkeep │ ├── images │ │ └── .gitkeep │ ├── eng │ │ └── images │ │ │ ├── GOTO.png │ │ │ ├── day13_door.png │ │ │ └── day13_lamp.png │ └── rus │ │ └── images │ │ ├── day13_door.png │ │ └── day13_lamp.png ├── LICENSE └── .gitignore └── README.md /P01D06-0-develop/CHANGELOG: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /P02D13-1-develop/CHANGELOG: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /P03D20-1-develop/CHANGELOG: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /T01D01-0-develop/CHANGELOG: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /T03D03-0-develop/CHANGELOG: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /T04D04-0-develop/CHANGELOG: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /T05D08-0-develop/CHANGELOG: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /T06D09-0-develop/CHANGELOG: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /T06D09-0-master/CHANGELOG: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /T06D09-0-master/src/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /T07D10-0-develop/CHANGELOG: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /T08D11-1-develop/CHANGELOG: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /T09D15-1-develop/CHANGELOG: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /T10D16-1-develop/CHANGELOG: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /T11D17-1-develop/CHANGELOG: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /T13D22-1-develop/CHANGELOG: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /P01D06-0-develop/src/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /P02D13-1-develop/src/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /P03D20-1-develop/build/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /P03D20-1-develop/src/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /T01D01-0-develop/src/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /T03D03-0-develop/src/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /T04D04-0-develop/src/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /T05D08-0-develop/src/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /T06D09-0-develop/src/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /T06D09-0-master/datasets/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /T07D10-0-develop/src/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /T08D11-1-develop/src/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /T09D15-1-develop/src/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /T10D16-1-develop/src/.gitignore: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /T11D17-1-develop/src/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /T13D22-1-develop/src/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /P01D06-0-develop/code-samples/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /P01D06-0-develop/data-samples/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /P01D06-0-develop/datasets/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /P01D06-0-develop/materials/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /P01D06-0-develop/misc/.gitkeep: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /P01D06-0-develop/misc/images/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /P02D13-1-develop/code-samples/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /P02D13-1-develop/data-samples/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /P02D13-1-develop/datasets/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /P02D13-1-develop/materials/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /P02D13-1-develop/misc/images/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /P03D20-1-develop/code-samples/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /P03D20-1-develop/data-samples/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /P03D20-1-develop/datasets/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /P03D20-1-develop/materials/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /P03D20-1-develop/misc/images/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /T01D01-0-develop/code-samples/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /T01D01-0-develop/data-samples/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /T01D01-0-develop/datasets/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /T01D01-0-develop/materials/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /T01D01-0-develop/misc/.gitkeep: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /T01D01-0-develop/misc/images/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /T03D03-0-develop/code-samples/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /T03D03-0-develop/data-samples/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /T03D03-0-develop/datasets/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /T03D03-0-develop/materials/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /T03D03-0-develop/misc/.gitkeep: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /T03D03-0-develop/misc/images/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /T04D04-0-develop/data-samples/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /T04D04-0-develop/datasets/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /T05D08-0-develop/code-samples/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /T05D08-0-develop/data-samples/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /T05D08-0-develop/datasets/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /T05D08-0-develop/materials/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /T05D08-0-develop/misc/.gitkeep: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /T05D08-0-develop/misc/images/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /T06D09-0-develop/code-samples/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /T06D09-0-develop/data-samples/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /T06D09-0-develop/datasets/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /T06D09-0-develop/materials/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /T06D09-0-develop/misc/.gitkeep: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /T06D09-0-develop/misc/images/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /T06D09-0-master/code-samples/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /T06D09-0-master/data-samples/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /T06D09-0-master/materials/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /T06D09-0-master/misc/.gitkeep: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /T06D09-0-master/misc/images/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /T07D10-0-develop/code-samples/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /T07D10-0-develop/data-samples/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /T07D10-0-develop/datasets/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /T07D10-0-develop/misc/.gitkeep: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /T08D11-1-develop/data-samples/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /T08D11-1-develop/datasets/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /T08D11-1-develop/materials/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /T08D11-1-develop/misc/.gitkeep: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /T08D11-1-develop/misc/images/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /T08D11-1-develop/misc/matrix/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /T09D15-1-develop/code-samples/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /T09D15-1-develop/data-samples/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /T09D15-1-develop/datasets/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /T09D15-1-develop/materials/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /T09D15-1-develop/misc/.gitkeep: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /T09D15-1-develop/misc/images/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /T10D16-1-develop/build/.gitkeep: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /T10D16-1-develop/misc/.gitkeep: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /T11D17-1-develop/build/.gitkeep: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /T11D17-1-develop/code-samples/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /T11D17-1-develop/data-samples/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /T11D17-1-develop/datasets/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /T11D17-1-develop/misc/.gitkeep: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /T11D17-1-develop/misc/images/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /T13D22-1-develop/build/.gitkeep: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /T13D22-1-develop/datasets/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /T13D22-1-develop/materials/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /T13D22-1-develop/misc/.gitkeep: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /T13D22-1-develop/misc/images/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /P01D06-0-develop/LICENSE: -------------------------------------------------------------------------------- 1 | # School 21 License -------------------------------------------------------------------------------- /P02D13-1-develop/LICENSE: -------------------------------------------------------------------------------- 1 | # School 21 License -------------------------------------------------------------------------------- /P03D20-1-develop/LICENSE: -------------------------------------------------------------------------------- 1 | # School 21 License -------------------------------------------------------------------------------- /T01D01-0-develop/LICENSE: -------------------------------------------------------------------------------- 1 | # School 21 License -------------------------------------------------------------------------------- /T03D03-0-develop/LICENSE: -------------------------------------------------------------------------------- 1 | # School 21 License -------------------------------------------------------------------------------- /T04D04-0-develop/LICENSE: -------------------------------------------------------------------------------- 1 | # School 21 License -------------------------------------------------------------------------------- /T05D08-0-develop/LICENSE: -------------------------------------------------------------------------------- 1 | # School 21 License -------------------------------------------------------------------------------- /T06D09-0-develop/LICENSE: -------------------------------------------------------------------------------- 1 | # School 21 License -------------------------------------------------------------------------------- /T06D09-0-master/LICENSE: -------------------------------------------------------------------------------- 1 | # School 21 License -------------------------------------------------------------------------------- /T07D10-0-develop/LICENSE: -------------------------------------------------------------------------------- 1 | # School 21 License -------------------------------------------------------------------------------- /T08D11-1-develop/LICENSE: -------------------------------------------------------------------------------- 1 | # School 21 License -------------------------------------------------------------------------------- /T09D15-1-develop/LICENSE: -------------------------------------------------------------------------------- 1 | # School 21 License -------------------------------------------------------------------------------- /T10D16-1-develop/LICENSE: -------------------------------------------------------------------------------- 1 | # School 21 License -------------------------------------------------------------------------------- /T11D17-1-develop/LICENSE: -------------------------------------------------------------------------------- 1 | # School 21 License -------------------------------------------------------------------------------- /T13D22-1-develop/LICENSE: -------------------------------------------------------------------------------- 1 | # School 21 License -------------------------------------------------------------------------------- /T01D01-0-develop/src/ai_help/key/part1.key: -------------------------------------------------------------------------------- 1 | 1 2 | -------------------------------------------------------------------------------- /T01D01-0-develop/src/ai_help/key/part2.key: -------------------------------------------------------------------------------- 1 | 6 2 | -------------------------------------------------------------------------------- /T01D01-0-develop/src/ai_help/key/part3.key: -------------------------------------------------------------------------------- 1 | 9 2 | -------------------------------------------------------------------------------- /T01D01-0-develop/src/ai_help/key/part4.key: -------------------------------------------------------------------------------- 1 | 7 2 | -------------------------------------------------------------------------------- /T01D01-0-develop/src/ai_help/key/part5.key: -------------------------------------------------------------------------------- 1 | 2 2 | -------------------------------------------------------------------------------- /T01D01-0-develop/src/ai_help/key/part6.key: -------------------------------------------------------------------------------- 1 | 8 2 | -------------------------------------------------------------------------------- /T01D01-0-develop/src/ai_help/key/part7.key: -------------------------------------------------------------------------------- 1 | 7 2 | -------------------------------------------------------------------------------- /T01D01-0-develop/src/ai_help/key/part8.key: -------------------------------------------------------------------------------- 1 | 6 2 | -------------------------------------------------------------------------------- /T01D01-0-develop/src/ai_help/key/part9.key: -------------------------------------------------------------------------------- 1 | 2 2 | -------------------------------------------------------------------------------- /T01D01-0-develop/src/ai_help/main-2.key: -------------------------------------------------------------------------------- 1 | 662 2 | -------------------------------------------------------------------------------- /T01D01-0-develop/src/ai_help/main-3.key: -------------------------------------------------------------------------------- 1 | 662 2 | -------------------------------------------------------------------------------- /T01D01-0-develop/src/ai_help/main.key: -------------------------------------------------------------------------------- 1 | 662 2 | -------------------------------------------------------------------------------- /T03D03-0-develop/data-samples/arithmetic/out.txt: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /T01D01-0-develop/src/ai_help/key/part10.key: -------------------------------------------------------------------------------- 1 | 5 2 | -------------------------------------------------------------------------------- /T01D01-0-develop/src/ai_help/key/part11.key: -------------------------------------------------------------------------------- 1 | 8 2 | -------------------------------------------------------------------------------- /T01D01-0-develop/src/ai_help/key/part12.key: -------------------------------------------------------------------------------- 1 | 4 2 | -------------------------------------------------------------------------------- /T01D01-0-develop/src/ai_help/key/part13.key: -------------------------------------------------------------------------------- 1 | 4 2 | -------------------------------------------------------------------------------- /T01D01-0-develop/src/ai_help/key/part14.key: -------------------------------------------------------------------------------- 1 | 3 2 | -------------------------------------------------------------------------------- /T01D01-0-develop/src/ai_help/key/part15.key: -------------------------------------------------------------------------------- 1 | 3 2 | -------------------------------------------------------------------------------- /T01D01-0-develop/src/ai_help/key/part16.key: -------------------------------------------------------------------------------- 1 | 5 2 | -------------------------------------------------------------------------------- /T01D01-0-develop/src/ai_help/key/part17.key: -------------------------------------------------------------------------------- 1 | 4 2 | -------------------------------------------------------------------------------- /T01D01-0-develop/src/ai_help/key/part18.key: -------------------------------------------------------------------------------- 1 | 3 2 | -------------------------------------------------------------------------------- /T01D01-0-develop/src/ai_help/key/part19.key: -------------------------------------------------------------------------------- 1 | 5 2 | -------------------------------------------------------------------------------- /T01D01-0-develop/src/ai_help/key/part20.key: -------------------------------------------------------------------------------- 1 | 4 2 | -------------------------------------------------------------------------------- /T01D01-0-develop/src/ai_help/key/part21.key: -------------------------------------------------------------------------------- 1 | 8 2 | -------------------------------------------------------------------------------- /T01D01-0-develop/src/ai_help/key/part22.key: -------------------------------------------------------------------------------- 1 | 2 2 | -------------------------------------------------------------------------------- /T01D01-0-develop/src/ai_help/key/part23.key: -------------------------------------------------------------------------------- 1 | 8 2 | -------------------------------------------------------------------------------- /T01D01-0-develop/src/ai_help/key/part24.key: -------------------------------------------------------------------------------- 1 | 8 2 | -------------------------------------------------------------------------------- /T01D01-0-develop/src/ai_help/key/part25.key: -------------------------------------------------------------------------------- 1 | 9 2 | -------------------------------------------------------------------------------- /T01D01-0-develop/src/ai_help/key/part26.key: -------------------------------------------------------------------------------- 1 | 5 2 | -------------------------------------------------------------------------------- /T01D01-0-develop/src/ai_help/key/part27.key: -------------------------------------------------------------------------------- 1 | 8 2 | -------------------------------------------------------------------------------- /T01D01-0-develop/src/ai_help/key/part28.key: -------------------------------------------------------------------------------- 1 | 6 2 | -------------------------------------------------------------------------------- /T01D01-0-develop/src/ai_help/key/part29.key: -------------------------------------------------------------------------------- 1 | 1 2 | -------------------------------------------------------------------------------- /T01D01-0-develop/src/ai_help/key/part30.key: -------------------------------------------------------------------------------- 1 | 6 2 | -------------------------------------------------------------------------------- /T01D01-0-develop/src/ai_help/key/part31.key: -------------------------------------------------------------------------------- 1 | 8 2 | -------------------------------------------------------------------------------- /T01D01-0-develop/src/ai_help/key/part32.key: -------------------------------------------------------------------------------- 1 | 10 2 | -------------------------------------------------------------------------------- /T01D01-0-develop/src/ai_help/key/part33.key: -------------------------------------------------------------------------------- 1 | 3 2 | -------------------------------------------------------------------------------- /T01D01-0-develop/src/ai_help/key/part34.key: -------------------------------------------------------------------------------- 1 | 3 2 | -------------------------------------------------------------------------------- /T01D01-0-develop/src/ai_help/key/part35.key: -------------------------------------------------------------------------------- 1 | 9 2 | -------------------------------------------------------------------------------- /T01D01-0-develop/src/ai_help/key/part36.key: -------------------------------------------------------------------------------- 1 | 8 2 | -------------------------------------------------------------------------------- /T01D01-0-develop/src/ai_help/key/part37.key: -------------------------------------------------------------------------------- 1 | 8 2 | -------------------------------------------------------------------------------- /T01D01-0-develop/src/ai_help/key/part38.key: -------------------------------------------------------------------------------- 1 | 6 2 | -------------------------------------------------------------------------------- /T01D01-0-develop/src/ai_help/key/part39.key: -------------------------------------------------------------------------------- 1 | 1 2 | -------------------------------------------------------------------------------- /T01D01-0-develop/src/ai_help/key/part40.key: -------------------------------------------------------------------------------- 1 | 2 2 | -------------------------------------------------------------------------------- /T01D01-0-develop/src/ai_help/key/part41.key: -------------------------------------------------------------------------------- 1 | 5 2 | -------------------------------------------------------------------------------- /T01D01-0-develop/src/ai_help/key/part42.key: -------------------------------------------------------------------------------- 1 | 4 2 | -------------------------------------------------------------------------------- /T01D01-0-develop/src/ai_help/key/part43.key: -------------------------------------------------------------------------------- 1 | 5 2 | -------------------------------------------------------------------------------- /T01D01-0-develop/src/ai_help/key/part44.key: -------------------------------------------------------------------------------- 1 | 3 2 | -------------------------------------------------------------------------------- /T01D01-0-develop/src/ai_help/key/part45.key: -------------------------------------------------------------------------------- 1 | 6 2 | -------------------------------------------------------------------------------- /T01D01-0-develop/src/ai_help/key/part46.key: -------------------------------------------------------------------------------- 1 | 6 2 | -------------------------------------------------------------------------------- /T01D01-0-develop/src/ai_help/key/part47.key: -------------------------------------------------------------------------------- 1 | 9 2 | -------------------------------------------------------------------------------- /T01D01-0-develop/src/ai_help/key/part48.key: -------------------------------------------------------------------------------- 1 | 7 2 | -------------------------------------------------------------------------------- /T01D01-0-develop/src/ai_help/key/part49.key: -------------------------------------------------------------------------------- 1 | 10 2 | -------------------------------------------------------------------------------- /T01D01-0-develop/src/ai_help/key/part50.key: -------------------------------------------------------------------------------- 1 | 7 2 | -------------------------------------------------------------------------------- /T01D01-0-develop/src/ai_help/key/part51.key: -------------------------------------------------------------------------------- 1 | 3 2 | -------------------------------------------------------------------------------- /T01D01-0-develop/src/ai_help/key/part52.key: -------------------------------------------------------------------------------- 1 | 9 2 | -------------------------------------------------------------------------------- /T01D01-0-develop/src/ai_help/key/part53.key: -------------------------------------------------------------------------------- 1 | 5 2 | -------------------------------------------------------------------------------- /T01D01-0-develop/src/ai_help/key/part54.key: -------------------------------------------------------------------------------- 1 | 9 2 | -------------------------------------------------------------------------------- /T01D01-0-develop/src/ai_help/key/part55.key: -------------------------------------------------------------------------------- 1 | 4 2 | -------------------------------------------------------------------------------- /T01D01-0-develop/src/ai_help/key/part56.key: -------------------------------------------------------------------------------- 1 | 2 2 | -------------------------------------------------------------------------------- /T01D01-0-develop/src/ai_help/key/part57.key: -------------------------------------------------------------------------------- 1 | 6 2 | -------------------------------------------------------------------------------- /T01D01-0-develop/src/ai_help/key/part58.key: -------------------------------------------------------------------------------- 1 | 2 2 | -------------------------------------------------------------------------------- /T01D01-0-develop/src/ai_help/key/part59.key: -------------------------------------------------------------------------------- 1 | 5 2 | -------------------------------------------------------------------------------- /T01D01-0-develop/src/ai_help/key/part60.key: -------------------------------------------------------------------------------- 1 | 9 2 | -------------------------------------------------------------------------------- /T03D03-0-develop/data-samples/arithmetic/in.txt: -------------------------------------------------------------------------------- 1 | 0 1 2 | -------------------------------------------------------------------------------- /T01D01-0-develop/src/door_management_files/door_logs/door_1.log: -------------------------------------------------------------------------------- 1 | LOCKED 2 | -------------------------------------------------------------------------------- /T01D01-0-develop/src/door_management_files/door_logs/door_10.log: -------------------------------------------------------------------------------- 1 | LOCKED 2 | -------------------------------------------------------------------------------- /T01D01-0-develop/src/door_management_files/door_logs/door_11.log: -------------------------------------------------------------------------------- 1 | LOCKED 2 | -------------------------------------------------------------------------------- /T01D01-0-develop/src/door_management_files/door_logs/door_12.log: -------------------------------------------------------------------------------- 1 | LOCKED 2 | -------------------------------------------------------------------------------- /T01D01-0-develop/src/door_management_files/door_logs/door_13.log: -------------------------------------------------------------------------------- 1 | LOCKED 2 | -------------------------------------------------------------------------------- /T01D01-0-develop/src/door_management_files/door_logs/door_14.log: -------------------------------------------------------------------------------- 1 | LOCKED 2 | -------------------------------------------------------------------------------- /T01D01-0-develop/src/door_management_files/door_logs/door_15.log: -------------------------------------------------------------------------------- 1 | LOCKED 2 | -------------------------------------------------------------------------------- /T01D01-0-develop/src/door_management_files/door_logs/door_16.log: -------------------------------------------------------------------------------- 1 | LOCKED 2 | -------------------------------------------------------------------------------- /T01D01-0-develop/src/door_management_files/door_logs/door_2.log: -------------------------------------------------------------------------------- 1 | LOCKED 2 | -------------------------------------------------------------------------------- /T01D01-0-develop/src/door_management_files/door_logs/door_3.log: -------------------------------------------------------------------------------- 1 | LOCKED 2 | -------------------------------------------------------------------------------- /T01D01-0-develop/src/door_management_files/door_logs/door_4.log: -------------------------------------------------------------------------------- 1 | LOCKED 2 | -------------------------------------------------------------------------------- /T01D01-0-develop/src/door_management_files/door_logs/door_5.log: -------------------------------------------------------------------------------- 1 | LOCKED 2 | -------------------------------------------------------------------------------- /T01D01-0-develop/src/door_management_files/door_logs/door_6.log: -------------------------------------------------------------------------------- 1 | LOCKED 2 | -------------------------------------------------------------------------------- /T01D01-0-develop/src/door_management_files/door_logs/door_7.log: -------------------------------------------------------------------------------- 1 | LOCKED 2 | -------------------------------------------------------------------------------- /T01D01-0-develop/src/door_management_files/door_logs/door_8.log: -------------------------------------------------------------------------------- 1 | LOCKED 2 | -------------------------------------------------------------------------------- /T01D01-0-develop/src/door_management_files/door_logs/door_9.log: -------------------------------------------------------------------------------- 1 | LOCKED 2 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # SchoolSber 2 | Решенные задачи во время прохождения бассейна школы 21 3 | -------------------------------------------------------------------------------- /T01D01-0-develop/src/important_data_for_ai_module_2.txt: -------------------------------------------------------------------------------- 1 | 1 2 | 2 3 | 3 4 | 4 5 | 5 6 | -------------------------------------------------------------------------------- /T01D01-0-develop/src/quest5.sh: -------------------------------------------------------------------------------- 1 | nano door_1.conf 2 | Заменил CLOSE на OPEN 3 | control+x -------------------------------------------------------------------------------- /T01D01-0-develop/src/quest4.sh: -------------------------------------------------------------------------------- 1 | chmod +x ai_door_control.sh 2 | pkill -f ai_door_control.sh 3 | -------------------------------------------------------------------------------- /T01D01-0-develop/src/door_management_files/door_configuration/door_21.conf: -------------------------------------------------------------------------------- 1 | DOOR ROOT CONFIGURATION 2 | -------------------------------------------------------------------------------- /P01D06-0-develop/src/a.out: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SurikovDA/SchoolSber/HEAD/P01D06-0-develop/src/a.out -------------------------------------------------------------------------------- /T13D22-1-develop/src/ai_modules/m1.h: -------------------------------------------------------------------------------- 1 | #ifndef M1_H 2 | #define M1_H 3 | 4 | void m1_f1(); 5 | 6 | #endif 7 | -------------------------------------------------------------------------------- /T01D01-0-develop/src/quest6.sh: -------------------------------------------------------------------------------- 1 | bash keygen.sh 2 | cd key 3 | rm file* 4 | cd .. 5 | bash unifier.sh 6 | cat main.key -------------------------------------------------------------------------------- /T05D08-0-develop/materials/linters/.clang-format: -------------------------------------------------------------------------------- 1 | --- 2 | BasedOnStyle: Google 3 | IndentWidth: 4 4 | ColumnLimit: 110 -------------------------------------------------------------------------------- /T11D17-1-develop/.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "files.associations": { 3 | "data_sort.h": "c" 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /T13D22-1-develop/src/ai_modules/m2.h: -------------------------------------------------------------------------------- 1 | #ifndef M2_H 2 | #define M2_H 3 | 4 | void m2_f1(); 5 | 6 | #endif 7 | 8 | -------------------------------------------------------------------------------- /P01D06-0-develop/materials/linters/.clang-format: -------------------------------------------------------------------------------- 1 | --- 2 | BasedOnStyle: Google 3 | IndentWidth: 4 4 | ColumnLimit: 110 5 | -------------------------------------------------------------------------------- /P02D13-1-develop/materials/linters/.clang-format: -------------------------------------------------------------------------------- 1 | --- 2 | BasedOnStyle: Google 3 | IndentWidth: 4 4 | ColumnLimit: 110 5 | -------------------------------------------------------------------------------- /P03D20-1-develop/materials/linters/.clang-format: -------------------------------------------------------------------------------- 1 | --- 2 | BasedOnStyle: Google 3 | IndentWidth: 4 4 | ColumnLimit: 110 5 | -------------------------------------------------------------------------------- /T01D01-0-develop/src/door_management_files/door_configuration/door_3.conf: -------------------------------------------------------------------------------- 1 | DOOR 3 CONFIGURATION 2 | 3 | STATUS: CLOSED 4 | -------------------------------------------------------------------------------- /T01D01-0-develop/src/door_management_files/door_configuration/door_4.conf: -------------------------------------------------------------------------------- 1 | DOOR 4 CONFIGURATION 2 | 3 | STATUS: CLOSED 4 | -------------------------------------------------------------------------------- /T01D01-0-develop/src/door_management_files/door_configuration/door_5.conf: -------------------------------------------------------------------------------- 1 | DOOR 5 CONFIGURATION 2 | 3 | STATUS: CLOSED 4 | -------------------------------------------------------------------------------- /T01D01-0-develop/src/door_management_files/door_configuration/door_6.conf: -------------------------------------------------------------------------------- 1 | DOOR 6 CONFIGURATION 2 | 3 | STATUS: CLOSED 4 | -------------------------------------------------------------------------------- /T01D01-0-develop/src/door_management_files/door_configuration/door_7.conf: -------------------------------------------------------------------------------- 1 | DOOR 7 CONFIGURATION 2 | 3 | STATUS: CLOSED 4 | -------------------------------------------------------------------------------- /T01D01-0-develop/src/door_management_files/door_configuration/door_8.conf: -------------------------------------------------------------------------------- 1 | DOOR 8 CONFIGURATION 2 | 3 | STATUS: CLOSED 4 | -------------------------------------------------------------------------------- /T01D01-0-develop/src/door_management_files/door_configuration/door_9.conf: -------------------------------------------------------------------------------- 1 | DOOR 9 CONFIGURATION 2 | 3 | STATUS: CLOSED 4 | -------------------------------------------------------------------------------- /T03D03-0-develop/materials/linters/.clang-format: -------------------------------------------------------------------------------- 1 | --- 2 | BasedOnStyle: Google 3 | IndentWidth: 4 4 | ColumnLimit: 110 5 | -------------------------------------------------------------------------------- /T04D04-0-develop/materials/linters/.clang-format: -------------------------------------------------------------------------------- 1 | --- 2 | BasedOnStyle: Google 3 | IndentWidth: 4 4 | ColumnLimit: 110 5 | -------------------------------------------------------------------------------- /T06D09-0-develop/materials/linters/.clang-format: -------------------------------------------------------------------------------- 1 | --- 2 | BasedOnStyle: Google 3 | IndentWidth: 4 4 | ColumnLimit: 110 5 | -------------------------------------------------------------------------------- /T06D09-0-master/materials/linters/.clang-format: -------------------------------------------------------------------------------- 1 | --- 2 | BasedOnStyle: Google 3 | IndentWidth: 4 4 | ColumnLimit: 110 5 | -------------------------------------------------------------------------------- /T07D10-0-develop/materials/linters/.clang-format: -------------------------------------------------------------------------------- 1 | --- 2 | BasedOnStyle: Google 3 | IndentWidth: 4 4 | ColumnLimit: 110 5 | -------------------------------------------------------------------------------- /T08D11-1-develop/materials/linters/.clang-format: -------------------------------------------------------------------------------- 1 | --- 2 | BasedOnStyle: Google 3 | IndentWidth: 4 4 | ColumnLimit: 110 5 | -------------------------------------------------------------------------------- /T09D15-1-develop/materials/linters/.clang-format: -------------------------------------------------------------------------------- 1 | --- 2 | BasedOnStyle: Google 3 | IndentWidth: 4 4 | ColumnLimit: 110 5 | -------------------------------------------------------------------------------- /T10D16-1-develop/materials/linters/.clang-format: -------------------------------------------------------------------------------- 1 | --- 2 | BasedOnStyle: Google 3 | IndentWidth: 4 4 | ColumnLimit: 110 5 | -------------------------------------------------------------------------------- /T11D17-1-develop/materials/linters/.clang-format: -------------------------------------------------------------------------------- 1 | --- 2 | BasedOnStyle: Google 3 | IndentWidth: 4 4 | ColumnLimit: 110 5 | -------------------------------------------------------------------------------- /T13D22-1-develop/materials/linters/.clang-format: -------------------------------------------------------------------------------- 1 | --- 2 | BasedOnStyle: Google 3 | IndentWidth: 4 4 | ColumnLimit: 110 5 | -------------------------------------------------------------------------------- /T13D22-1-develop/src/ai_modules/m1.c: -------------------------------------------------------------------------------- 1 | #include "m1.h" 2 | 3 | 4 | void m1_f1() 5 | { 6 | printf("TEST M1"); 7 | } 8 | -------------------------------------------------------------------------------- /T01D01-0-develop/src/door_management_files/door_configuration/door_10.conf: -------------------------------------------------------------------------------- 1 | DOOR 10 CONFIGURATION 2 | 3 | STATUS: CLOSED 4 | -------------------------------------------------------------------------------- /T01D01-0-develop/src/door_management_files/door_configuration/door_11.conf: -------------------------------------------------------------------------------- 1 | DOOR 11 CONFIGURATION 2 | 3 | STATUS: CLOSED 4 | -------------------------------------------------------------------------------- /T01D01-0-develop/src/door_management_files/door_configuration/door_12.conf: -------------------------------------------------------------------------------- 1 | DOOR 12 CONFIGURATION 2 | 3 | STATUS: CLOSED 4 | -------------------------------------------------------------------------------- /T01D01-0-develop/src/door_management_files/door_configuration/door_13.conf: -------------------------------------------------------------------------------- 1 | DOOR 13 CONFIGURATION 2 | 3 | STATUS: CLOSED 4 | -------------------------------------------------------------------------------- /T01D01-0-develop/src/door_management_files/door_configuration/door_14.conf: -------------------------------------------------------------------------------- 1 | DOOR 14 CONFIGURATION 2 | 3 | STATUS: CLOSED 4 | -------------------------------------------------------------------------------- /T01D01-0-develop/src/door_management_files/door_configuration/door_15.conf: -------------------------------------------------------------------------------- 1 | DOOR 15 CONFIGURATION 2 | 3 | STATUS: CLOSED 4 | -------------------------------------------------------------------------------- /T01D01-0-develop/src/door_management_files/door_configuration/door_16.conf: -------------------------------------------------------------------------------- 1 | DOOR 16 CONFIGURATION 2 | 3 | STATUS: CLOSED 4 | -------------------------------------------------------------------------------- /T01D01-0-develop/src/door_management_files/door_configuration/door_2.conf: -------------------------------------------------------------------------------- 1 | DOOR 2 CONFIGURATION 2 | 3 | STATUS: CLOSED 4 | 5 | -------------------------------------------------------------------------------- /T04D04-0-develop/misc/images/g.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SurikovDA/SchoolSber/HEAD/T04D04-0-develop/misc/images/g.png -------------------------------------------------------------------------------- /T04D04-0-develop/misc/images/lb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SurikovDA/SchoolSber/HEAD/T04D04-0-develop/misc/images/lb.png -------------------------------------------------------------------------------- /T04D04-0-develop/misc/images/va.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SurikovDA/SchoolSber/HEAD/T04D04-0-develop/misc/images/va.png -------------------------------------------------------------------------------- /T13D22-1-develop/src/ai_modules/m2.c: -------------------------------------------------------------------------------- 1 | #include "m2.h" 2 | 3 | 4 | void m2_f1() 5 | { 6 | printf("TEST M2"); 7 | } 8 | 9 | -------------------------------------------------------------------------------- /T03D03-0-develop/misc/images/GOTO.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SurikovDA/SchoolSber/HEAD/T03D03-0-develop/misc/images/GOTO.png -------------------------------------------------------------------------------- /T03D03-0-develop/src/hello.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | int main() { 4 | printf("Hello, AI!\n"); 5 | return 0; 6 | } 7 | -------------------------------------------------------------------------------- /P01D06-0-develop/misc/eng/images/GOTO.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SurikovDA/SchoolSber/HEAD/P01D06-0-develop/misc/eng/images/GOTO.png -------------------------------------------------------------------------------- /P01D06-0-develop/misc/eng/images/pong.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SurikovDA/SchoolSber/HEAD/P01D06-0-develop/misc/eng/images/pong.png -------------------------------------------------------------------------------- /P01D06-0-develop/misc/rus/images/pong.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SurikovDA/SchoolSber/HEAD/P01D06-0-develop/misc/rus/images/pong.png -------------------------------------------------------------------------------- /P02D13-1-develop/misc/eng/images/GOTO.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SurikovDA/SchoolSber/HEAD/P02D13-1-develop/misc/eng/images/GOTO.png -------------------------------------------------------------------------------- /P03D20-1-develop/misc/eng/images/GOTO.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SurikovDA/SchoolSber/HEAD/P03D20-1-develop/misc/eng/images/GOTO.png -------------------------------------------------------------------------------- /T04D04-0-develop/misc/eng/images/GOTO.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SurikovDA/SchoolSber/HEAD/T04D04-0-develop/misc/eng/images/GOTO.png -------------------------------------------------------------------------------- /T05D08-0-develop/misc/eng/images/GOTO.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SurikovDA/SchoolSber/HEAD/T05D08-0-develop/misc/eng/images/GOTO.png -------------------------------------------------------------------------------- /T06D09-0-develop/misc/eng/images/GOTO.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SurikovDA/SchoolSber/HEAD/T06D09-0-develop/misc/eng/images/GOTO.png -------------------------------------------------------------------------------- /T06D09-0-master/misc/eng/images/GOTO.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SurikovDA/SchoolSber/HEAD/T06D09-0-master/misc/eng/images/GOTO.png -------------------------------------------------------------------------------- /T07D10-0-develop/misc/eng/images/GOTO.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SurikovDA/SchoolSber/HEAD/T07D10-0-develop/misc/eng/images/GOTO.png -------------------------------------------------------------------------------- /T08D11-1-develop/misc/eng/images/GOTO.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SurikovDA/SchoolSber/HEAD/T08D11-1-develop/misc/eng/images/GOTO.png -------------------------------------------------------------------------------- /T08D11-1-develop/misc/matrix/matrix1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SurikovDA/SchoolSber/HEAD/T08D11-1-develop/misc/matrix/matrix1.png -------------------------------------------------------------------------------- /T08D11-1-develop/misc/matrix/matrix10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SurikovDA/SchoolSber/HEAD/T08D11-1-develop/misc/matrix/matrix10.png -------------------------------------------------------------------------------- /T08D11-1-develop/misc/matrix/matrix11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SurikovDA/SchoolSber/HEAD/T08D11-1-develop/misc/matrix/matrix11.png -------------------------------------------------------------------------------- /T08D11-1-develop/misc/matrix/matrix12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SurikovDA/SchoolSber/HEAD/T08D11-1-develop/misc/matrix/matrix12.png -------------------------------------------------------------------------------- /T08D11-1-develop/misc/matrix/matrix13.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SurikovDA/SchoolSber/HEAD/T08D11-1-develop/misc/matrix/matrix13.png -------------------------------------------------------------------------------- /T08D11-1-develop/misc/matrix/matrix14.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SurikovDA/SchoolSber/HEAD/T08D11-1-develop/misc/matrix/matrix14.png -------------------------------------------------------------------------------- /T08D11-1-develop/misc/matrix/matrix2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SurikovDA/SchoolSber/HEAD/T08D11-1-develop/misc/matrix/matrix2.png -------------------------------------------------------------------------------- /T08D11-1-develop/misc/matrix/matrix3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SurikovDA/SchoolSber/HEAD/T08D11-1-develop/misc/matrix/matrix3.png -------------------------------------------------------------------------------- /T08D11-1-develop/misc/matrix/matrix4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SurikovDA/SchoolSber/HEAD/T08D11-1-develop/misc/matrix/matrix4.png -------------------------------------------------------------------------------- /T08D11-1-develop/misc/matrix/matrix5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SurikovDA/SchoolSber/HEAD/T08D11-1-develop/misc/matrix/matrix5.png -------------------------------------------------------------------------------- /T08D11-1-develop/misc/matrix/matrix6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SurikovDA/SchoolSber/HEAD/T08D11-1-develop/misc/matrix/matrix6.png -------------------------------------------------------------------------------- /T08D11-1-develop/misc/matrix/matrix7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SurikovDA/SchoolSber/HEAD/T08D11-1-develop/misc/matrix/matrix7.png -------------------------------------------------------------------------------- /T08D11-1-develop/misc/matrix/matrix8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SurikovDA/SchoolSber/HEAD/T08D11-1-develop/misc/matrix/matrix8.png -------------------------------------------------------------------------------- /T08D11-1-develop/misc/matrix/matrix9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SurikovDA/SchoolSber/HEAD/T08D11-1-develop/misc/matrix/matrix9.png -------------------------------------------------------------------------------- /T09D15-1-develop/misc/eng/images/GOTO.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SurikovDA/SchoolSber/HEAD/T09D15-1-develop/misc/eng/images/GOTO.png -------------------------------------------------------------------------------- /T09D15-1-develop/src/yet_another_decision_module/decision.h: -------------------------------------------------------------------------------- 1 | #define GOLDEN_RATIO 0.666 2 | 3 | int make_decision(double *data, int n); -------------------------------------------------------------------------------- /T10D16-1-develop/misc/eng/images/GOTO.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SurikovDA/SchoolSber/HEAD/T10D16-1-develop/misc/eng/images/GOTO.png -------------------------------------------------------------------------------- /T11D17-1-develop/misc/eng/images/GOTO.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SurikovDA/SchoolSber/HEAD/T11D17-1-develop/misc/eng/images/GOTO.png -------------------------------------------------------------------------------- /T13D22-1-develop/misc/eng/images/GOTO.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SurikovDA/SchoolSber/HEAD/T13D22-1-develop/misc/eng/images/GOTO.png -------------------------------------------------------------------------------- /P01D06-0-develop/misc/eng/images/dayp01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SurikovDA/SchoolSber/HEAD/P01D06-0-develop/misc/eng/images/dayp01.png -------------------------------------------------------------------------------- /P01D06-0-develop/misc/rus/images/dayp01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SurikovDA/SchoolSber/HEAD/P01D06-0-develop/misc/rus/images/dayp01.png -------------------------------------------------------------------------------- /P02D13-1-develop/misc/eng/images/dayp02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SurikovDA/SchoolSber/HEAD/P02D13-1-develop/misc/eng/images/dayp02.png -------------------------------------------------------------------------------- /P02D13-1-develop/misc/rus/images/dayp02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SurikovDA/SchoolSber/HEAD/P02D13-1-develop/misc/rus/images/dayp02.png -------------------------------------------------------------------------------- /P03D20-1-develop/misc/eng/images/dayp03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SurikovDA/SchoolSber/HEAD/P03D20-1-develop/misc/eng/images/dayp03.png -------------------------------------------------------------------------------- /P03D20-1-develop/misc/rus/images/dayp03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SurikovDA/SchoolSber/HEAD/P03D20-1-develop/misc/rus/images/dayp03.png -------------------------------------------------------------------------------- /P02D13-1-develop/materials/glider_emblem.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SurikovDA/SchoolSber/HEAD/P02D13-1-develop/materials/glider_emblem.gif -------------------------------------------------------------------------------- /T01D01-0-develop/misc/images/eng/day1_door.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SurikovDA/SchoolSber/HEAD/T01D01-0-develop/misc/images/eng/day1_door.png -------------------------------------------------------------------------------- /T01D01-0-develop/misc/images/rus/day1_door.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SurikovDA/SchoolSber/HEAD/T01D01-0-develop/misc/images/rus/day1_door.png -------------------------------------------------------------------------------- /T03D03-0-develop/misc/eng/images/day3_door.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SurikovDA/SchoolSber/HEAD/T03D03-0-develop/misc/eng/images/day3_door.png -------------------------------------------------------------------------------- /T03D03-0-develop/misc/rus/images/day3_door.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SurikovDA/SchoolSber/HEAD/T03D03-0-develop/misc/rus/images/day3_door.png -------------------------------------------------------------------------------- /T04D04-0-develop/misc/eng/images/day4_door.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SurikovDA/SchoolSber/HEAD/T04D04-0-develop/misc/eng/images/day4_door.png -------------------------------------------------------------------------------- /T04D04-0-develop/misc/rus/images/day4_door.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SurikovDA/SchoolSber/HEAD/T04D04-0-develop/misc/rus/images/day4_door.png -------------------------------------------------------------------------------- /T05D08-0-develop/misc/eng/images/day5_door.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SurikovDA/SchoolSber/HEAD/T05D08-0-develop/misc/eng/images/day5_door.png -------------------------------------------------------------------------------- /T05D08-0-develop/misc/rus/images/day5_door.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SurikovDA/SchoolSber/HEAD/T05D08-0-develop/misc/rus/images/day5_door.png -------------------------------------------------------------------------------- /T06D09-0-develop/misc/eng/images/day6_door.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SurikovDA/SchoolSber/HEAD/T06D09-0-develop/misc/eng/images/day6_door.png -------------------------------------------------------------------------------- /T06D09-0-develop/misc/eng/images/day6_egg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SurikovDA/SchoolSber/HEAD/T06D09-0-develop/misc/eng/images/day6_egg.png -------------------------------------------------------------------------------- /T06D09-0-develop/misc/rus/images/day6_door.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SurikovDA/SchoolSber/HEAD/T06D09-0-develop/misc/rus/images/day6_door.png -------------------------------------------------------------------------------- /T06D09-0-develop/misc/rus/images/day6_egg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SurikovDA/SchoolSber/HEAD/T06D09-0-develop/misc/rus/images/day6_egg.png -------------------------------------------------------------------------------- /T06D09-0-master/misc/eng/images/day6_door.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SurikovDA/SchoolSber/HEAD/T06D09-0-master/misc/eng/images/day6_door.png -------------------------------------------------------------------------------- /T06D09-0-master/misc/eng/images/day6_egg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SurikovDA/SchoolSber/HEAD/T06D09-0-master/misc/eng/images/day6_egg.png -------------------------------------------------------------------------------- /T06D09-0-master/misc/rus/images/day6_door.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SurikovDA/SchoolSber/HEAD/T06D09-0-master/misc/rus/images/day6_door.png -------------------------------------------------------------------------------- /T06D09-0-master/misc/rus/images/day6_egg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SurikovDA/SchoolSber/HEAD/T06D09-0-master/misc/rus/images/day6_egg.png -------------------------------------------------------------------------------- /T07D10-0-develop/misc/eng/images/day7_door.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SurikovDA/SchoolSber/HEAD/T07D10-0-develop/misc/eng/images/day7_door.png -------------------------------------------------------------------------------- /T07D10-0-develop/misc/rus/images/day7_door.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SurikovDA/SchoolSber/HEAD/T07D10-0-develop/misc/rus/images/day7_door.png -------------------------------------------------------------------------------- /T08D11-1-develop/misc/eng/images/day8_door.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SurikovDA/SchoolSber/HEAD/T08D11-1-develop/misc/eng/images/day8_door.png -------------------------------------------------------------------------------- /T08D11-1-develop/misc/rus/images/day8_door.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SurikovDA/SchoolSber/HEAD/T08D11-1-develop/misc/rus/images/day8_door.png -------------------------------------------------------------------------------- /T09D15-1-develop/misc/eng/images/day9_door.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SurikovDA/SchoolSber/HEAD/T09D15-1-develop/misc/eng/images/day9_door.png -------------------------------------------------------------------------------- /T09D15-1-develop/misc/rus/images/day9_door.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SurikovDA/SchoolSber/HEAD/T09D15-1-develop/misc/rus/images/day9_door.png -------------------------------------------------------------------------------- /T09D15-1-develop/src/data_libs/data_sort.h: -------------------------------------------------------------------------------- 1 | #ifndef DATA_SORT_H 2 | #define DATA_SORT_H 3 | 4 | void sort(double* data, int n); 5 | 6 | #endif 7 | -------------------------------------------------------------------------------- /T01D01-0-develop/misc/images/eng/day1_coffee.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SurikovDA/SchoolSber/HEAD/T01D01-0-develop/misc/images/eng/day1_coffee.png -------------------------------------------------------------------------------- /T01D01-0-develop/misc/images/rus/day1_coffee.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SurikovDA/SchoolSber/HEAD/T01D01-0-develop/misc/images/rus/day1_coffee.png -------------------------------------------------------------------------------- /T03D03-0-develop/materials/type.txt: -------------------------------------------------------------------------------- 1 | Data type - a set of values ​​and operations on these values ​​(IEEE Std 1320.2-1998) 2 | Integer, character, real. -------------------------------------------------------------------------------- /T03D03-0-develop/misc/eng/images/day3_kursor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SurikovDA/SchoolSber/HEAD/T03D03-0-develop/misc/eng/images/day3_kursor.png -------------------------------------------------------------------------------- /T03D03-0-develop/misc/rus/images/day3_kursor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SurikovDA/SchoolSber/HEAD/T03D03-0-develop/misc/rus/images/day3_kursor.png -------------------------------------------------------------------------------- /T04D04-0-develop/misc/eng/images/day4_paper.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SurikovDA/SchoolSber/HEAD/T04D04-0-develop/misc/eng/images/day4_paper.png -------------------------------------------------------------------------------- /T04D04-0-develop/misc/rus/images/day4_paper.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SurikovDA/SchoolSber/HEAD/T04D04-0-develop/misc/rus/images/day4_paper.png -------------------------------------------------------------------------------- /T05D08-0-develop/misc/eng/images/day5_pillow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SurikovDA/SchoolSber/HEAD/T05D08-0-develop/misc/eng/images/day5_pillow.png -------------------------------------------------------------------------------- /T05D08-0-develop/misc/rus/images/day5_pillow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SurikovDA/SchoolSber/HEAD/T05D08-0-develop/misc/rus/images/day5_pillow.png -------------------------------------------------------------------------------- /T07D10-0-develop/misc/eng/images/day7_number.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SurikovDA/SchoolSber/HEAD/T07D10-0-develop/misc/eng/images/day7_number.png -------------------------------------------------------------------------------- /T07D10-0-develop/misc/rus/images/day7_number.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SurikovDA/SchoolSber/HEAD/T07D10-0-develop/misc/rus/images/day7_number.png -------------------------------------------------------------------------------- /T09D15-1-develop/misc/eng/images/day9_chair.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SurikovDA/SchoolSber/HEAD/T09D15-1-develop/misc/eng/images/day9_chair.png -------------------------------------------------------------------------------- /T09D15-1-develop/misc/rus/images/day9_chair.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SurikovDA/SchoolSber/HEAD/T09D15-1-develop/misc/rus/images/day9_chair.png -------------------------------------------------------------------------------- /T10D16-1-develop/misc/eng/images/day10_book.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SurikovDA/SchoolSber/HEAD/T10D16-1-develop/misc/eng/images/day10_book.png -------------------------------------------------------------------------------- /T10D16-1-develop/misc/eng/images/day10_door.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SurikovDA/SchoolSber/HEAD/T10D16-1-develop/misc/eng/images/day10_door.png -------------------------------------------------------------------------------- /T10D16-1-develop/misc/rus/images/day10_book.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SurikovDA/SchoolSber/HEAD/T10D16-1-develop/misc/rus/images/day10_book.png -------------------------------------------------------------------------------- /T10D16-1-develop/misc/rus/images/day10_door.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SurikovDA/SchoolSber/HEAD/T10D16-1-develop/misc/rus/images/day10_door.png -------------------------------------------------------------------------------- /T11D17-1-develop/misc/eng/images/day11_door.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SurikovDA/SchoolSber/HEAD/T11D17-1-develop/misc/eng/images/day11_door.png -------------------------------------------------------------------------------- /T11D17-1-develop/misc/rus/images/day11_door.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SurikovDA/SchoolSber/HEAD/T11D17-1-develop/misc/rus/images/day11_door.png -------------------------------------------------------------------------------- /T13D22-1-develop/misc/eng/images/day13_door.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SurikovDA/SchoolSber/HEAD/T13D22-1-develop/misc/eng/images/day13_door.png -------------------------------------------------------------------------------- /T13D22-1-develop/misc/eng/images/day13_lamp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SurikovDA/SchoolSber/HEAD/T13D22-1-develop/misc/eng/images/day13_lamp.png -------------------------------------------------------------------------------- /T13D22-1-develop/misc/rus/images/day13_door.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SurikovDA/SchoolSber/HEAD/T13D22-1-develop/misc/rus/images/day13_door.png -------------------------------------------------------------------------------- /T13D22-1-develop/misc/rus/images/day13_lamp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SurikovDA/SchoolSber/HEAD/T13D22-1-develop/misc/rus/images/day13_lamp.png -------------------------------------------------------------------------------- /T08D11-1-develop/misc/eng/images/day8_kapsula.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SurikovDA/SchoolSber/HEAD/T08D11-1-develop/misc/eng/images/day8_kapsula.png -------------------------------------------------------------------------------- /T08D11-1-develop/misc/rus/images/day8_kapsula.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SurikovDA/SchoolSber/HEAD/T08D11-1-develop/misc/rus/images/day8_kapsula.png -------------------------------------------------------------------------------- /T11D17-1-develop/misc/eng/images/day11_sticker.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SurikovDA/SchoolSber/HEAD/T11D17-1-develop/misc/eng/images/day11_sticker.png -------------------------------------------------------------------------------- /T11D17-1-develop/misc/rus/images/day11_sticker.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SurikovDA/SchoolSber/HEAD/T11D17-1-develop/misc/rus/images/day11_sticker.png -------------------------------------------------------------------------------- /T03D03-0-develop/materials/themes.txt: -------------------------------------------------------------------------------- 1 | 1. Structure of a C program 2 | 2. Principles of structured programming 3 | 3. Simple data types in the C language 4 | 4. Expressions 5 | -------------------------------------------------------------------------------- /T03D03-0-develop/src/named_hello.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | int main() { 4 | int name; 5 | scanf("%d", &name); 6 | printf("Hello, %d!\n", name); 7 | return 0; 8 | } 9 | -------------------------------------------------------------------------------- /T09D15-1-develop/src/data_module/data_process.h: -------------------------------------------------------------------------------- 1 | #ifndef PROCESSING_H 2 | #define PROCESSING_H 3 | 4 | #define EPS 1E-6 5 | 6 | int normalization(double *data, int n); 7 | 8 | #endif 9 | -------------------------------------------------------------------------------- /T11D17-1-develop/src/door_struct.h: -------------------------------------------------------------------------------- 1 | #ifndef DOOR_STRUCT_H 2 | #define DOOR_STRUCT_H 3 | 4 | struct door { 5 | int id; 6 | int status; 7 | } doors; 8 | 9 | #endif 10 | -------------------------------------------------------------------------------- /T07D10-0-develop/materials/[DynAlloc] Array of pointers to arrays.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SurikovDA/SchoolSber/HEAD/T07D10-0-develop/materials/[DynAlloc] Array of pointers to arrays.jpg -------------------------------------------------------------------------------- /T09D15-1-develop/src/data_libs/data_io.h: -------------------------------------------------------------------------------- 1 | #ifndef DATA_IO_H 2 | #define DATA_IO_H 3 | 4 | int getSize(); 5 | int input(double *data, int n); 6 | void output(double *data, int n); 7 | 8 | #endif 9 | -------------------------------------------------------------------------------- /P03D20-1-develop/data-samples/examples.txt: -------------------------------------------------------------------------------- 1 | x*x 2 | x 3 | sin(x) 4 | x*x*x 5 | x+x*x 6 | 1/x 7 | tan(x) 8 | x*sin(x) 9 | sin(sin(sin(sin(1/ln(x*x))))) 10 | 1 11 | -1 12 | -x*2 13 | sqrt(-(1/(-x*x))) 14 | -------------------------------------------------------------------------------- /T13D22-1-develop/src/log_levels.h: -------------------------------------------------------------------------------- 1 | #ifndef LOG_LEVELS 2 | #define LOG_LEVELS 3 | 4 | enum log_level 5 | { 6 | debug, 7 | trace, 8 | info, 9 | warning, 10 | error 11 | } 12 | 13 | #endif 14 | -------------------------------------------------------------------------------- /T07D10-0-develop/materials/[DynAlloc] Array of pointers to segments of the second array.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SurikovDA/SchoolSber/HEAD/T07D10-0-develop/materials/[DynAlloc] Array of pointers to segments of the second array.jpg -------------------------------------------------------------------------------- /T01D01-0-develop/src/ai_help/keygen.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | mkdir key 4 | 5 | touch key/file{1..300} 6 | 7 | for i in {1..60} 8 | do 9 | echo $((RANDOM%10 + 1)) > key/part${i}.key 10 | done 11 | 12 | echo "Generation completed" 13 | -------------------------------------------------------------------------------- /T07D10-0-develop/materials/[DynAlloc] Array of pointers to array segments within one buffer.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SurikovDA/SchoolSber/HEAD/T07D10-0-develop/materials/[DynAlloc] Array of pointers to array segments within one buffer.jpg -------------------------------------------------------------------------------- /T01D01-0-develop/src/quest3.sh: -------------------------------------------------------------------------------- 1 | mv door_management_fi door_management_files 2 | cd door_management_files 3 | mkdir door_configuration 4 | mkdir door_map 5 | mkdir door_logs 6 | mv *.conf door_configuration 7 | mv *.log door_logs 8 | mv door_map_1.1 door_map -------------------------------------------------------------------------------- /T09D15-1-develop/src/data_libs/data_stat.h: -------------------------------------------------------------------------------- 1 | #ifndef DATA_STAT_H 2 | #define DATA_STAT_H 3 | 4 | double max(double *data, int n); 5 | double min(double *data, int n); 6 | double mean(double *data, int n); 7 | double variance(double *data, int n); 8 | 9 | #endif 10 | -------------------------------------------------------------------------------- /T01D01-0-develop/src/door_management_files/door_configuration/door_1.conf: -------------------------------------------------------------------------------- 1 | DOOR 1 CONFIGURATION 2 | 3 | STATUS: OPEN 4 | 5 | 123d 6 | 241s 7 | 100000000 8 | 893 9 | 5 10 | 2342325 11 | 34 12 | 23 13 | 14 | 15 | 35 16 | 17 | 18 | 1231 19 | 231 20 | 1 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /T04D04-0-develop/materials/bohm-jacopini-theorem.txt: -------------------------------------------------------------------------------- 1 | Любой исполняемый алгоритм может быть преобразован к структурированному виду, то есть такому виду, когда ход его выполнения определяется только при помощи трёх структур управления: последовательной, ветвлений и повторов или циклов. 2 | -------------------------------------------------------------------------------- /T01D01-0-develop/src/door_management_files/door_map/door_map_1.1: -------------------------------------------------------------------------------- 1 | 2 | 3 | |----|----|----|-------------------------| 4 | | 5 | | 6 | -----|----| 7 | | 8 | | 9 | |------------------------------| 10 | 11 | 12 | DOOR MAP v1.1 13 | 14 | -------------------------------------------------------------------------------- /T11D17-1-develop/src/stack.h: -------------------------------------------------------------------------------- 1 | #ifndef SRC_STACK_H_ 2 | #define SRC_STACK_H_ 3 | 4 | struct elem { 5 | int val; 6 | struct elem* next; 7 | }; 8 | 9 | struct elem* init(int val); 10 | void push(struct elem** head, int val); 11 | int pop(struct elem** head); 12 | void destroy(struct elem** head); 13 | 14 | #endif -------------------------------------------------------------------------------- /T09D15-1-develop/src/data_libs/data_sort.c: -------------------------------------------------------------------------------- 1 | void sort(double* data, int n) { 2 | for (int i = 0; i < n; i++) 3 | for (int j = 0; j < n - 1; j++) 4 | if (data[j] > data[j + 1]) { 5 | double tmp = data[j]; 6 | data[j] = data[j + 1]; 7 | data[j + 1] = tmp; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /T11D17-1-develop/src/Makefile: -------------------------------------------------------------------------------- 1 | all: door_struct stack_test 2 | 3 | door_struct: dmanager_module.c 4 | gcc dmanager_module.c -o ../build/Quest_1 5 | 6 | stack_test: stack_test.c stack.c 7 | gcc -c stack_test.c stack.c 8 | gcc stack_test.o stack.o -o ../build/Quest_3 9 | 10 | clean: 11 | rm -rf *.o 12 | rm ../build/* 13 | 14 | rebuild: 15 | clean all 16 | -------------------------------------------------------------------------------- /T03D03-0-develop/src/crack.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | int main() { 4 | float x, y; 5 | if (scanf("%f%f", &x, &y) != 2) { 6 | printf("n/a\n"); 7 | } else { 8 | float circle = x * x + y * y; 9 | if (circle <= 25) { 10 | printf("GOTCHA\n"); 11 | } else { 12 | printf("MISS\n"); 13 | } 14 | } 15 | return 0; 16 | } 17 | -------------------------------------------------------------------------------- /T03D03-0-develop/materials/operations.txt: -------------------------------------------------------------------------------- 1 | Operations can be: unary, binary, and ternary. 2 | 3 | 1. Operation of assignment (=, compound assignment: +=,-=,*=,/=,%=, &=, |=, etc...) 4 | 2. Arithmetic operations (unary: +,-, binary: +,-,/,*,%) 5 | 3. Comparison operations (==,!=,<,>,<=,>=) 6 | 4. Logical operations (unary: !, binary: &&, ||) 7 | 5. Bitwise operations (unary: ^, binary: &,|,~,<<,>>) 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /T03D03-0-develop/src/important_function.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | int main() { 5 | float x; 6 | if (scanf("%f", &x) != 1) { 7 | printf("n/a\n"); 8 | } else { 9 | float y = 7e-3 * pow(x, 4) + ((22.8 * pow(x, 1 / 3) - 1e3) * x + 3) / (x * x / 2) - 10 | x * pow((10 + x), (2 / x)) - 1.01; 11 | printf("%.1f\n", y); 12 | } 13 | return 0; 14 | } -------------------------------------------------------------------------------- /P01D06-0-develop/materials/map.txt: -------------------------------------------------------------------------------- 1 | typical repository structure 2 | 3 | | 4 | |- code-samples - some examples of code 5 | |- data-samples - some examples of data for your tasks 6 | |- datasets - datasets for your tasks 7 | |- materials - folder for useful materials 8 | |- misc - some files for README 9 | |- src - your main directory for work 10 | |-- README.md - your task 11 | |-- README_RUS.MD - your task in russian 12 | 13 | -------------------------------------------------------------------------------- /P02D13-1-develop/materials/map.txt: -------------------------------------------------------------------------------- 1 | typical repository structure 2 | 3 | | 4 | |- code-samples - some examples of code 5 | |- data-samples - some examples of data for your tasks 6 | |- datasets - datasets for your tasks 7 | |- materials - folder for useful materials 8 | |- misc - some files for README 9 | |- src - your main directory for work 10 | |-- README.md - your task 11 | |-- README_RUS.MD - your task in russian 12 | 13 | -------------------------------------------------------------------------------- /P03D20-1-develop/materials/map.txt: -------------------------------------------------------------------------------- 1 | typical repository structure 2 | 3 | | 4 | |- code-samples - some examples of code 5 | |- data-samples - some examples of data for your tasks 6 | |- datasets - datasets for your tasks 7 | |- materials - folder for useful materials 8 | |- misc - some files for README 9 | |- src - your main directory for work 10 | |-- README.md - your task 11 | |-- README_RUS.MD - your task in russian 12 | 13 | -------------------------------------------------------------------------------- /T01D01-0-develop/materials/map.txt: -------------------------------------------------------------------------------- 1 | typical repository structure 2 | 3 | | 4 | |- code-samples - some examples of code 5 | |- data-samples - some examples of data for your tasks 6 | |- datasets - datasets for your tasks 7 | |- materials - folder for useful materials 8 | |- misc - some files for README 9 | |- src - your main directory for work 10 | |-- README.md - your task 11 | |-- README_RUS.MD - your task in russian 12 | 13 | -------------------------------------------------------------------------------- /T03D03-0-develop/materials/map.txt: -------------------------------------------------------------------------------- 1 | typical repository structure 2 | 3 | | 4 | |- code-samples - some examples of code 5 | |- data-samples - some examples of data for your tasks 6 | |- datasets - datasets for your tasks 7 | |- materials - folder for useful materials 8 | |- misc - some files for README 9 | |- src - your main directory for work 10 | |-- README.md - your task 11 | |-- README_RUS.MD - your task in russian 12 | 13 | -------------------------------------------------------------------------------- /T03D03-0-develop/materials/xor.txt: -------------------------------------------------------------------------------- 1 | The bitwise XOR (exclusive or) performs a logical XOR function, which is equivalent to adding two bits and discarding the carry. 2 | The result is zero only when we have two zeroes or two ones. XOR can be used to toggle the bits between 1 and 0. 3 | Thus i = i ^ 1 when used in a loop toggles its values between 1 and 0. 4 | 5 | 11001000 6 | ^ 10111000 7 | -------- 8 | = 01110000 -------------------------------------------------------------------------------- /T04D04-0-develop/materials/map.txt: -------------------------------------------------------------------------------- 1 | typical repository structure 2 | 3 | | 4 | |- code-samples - some examples of code 5 | |- data-samples - some examples of data for your tasks 6 | |- datasets - datasets for your tasks 7 | |- materials - folder for useful materials 8 | |- misc - some files for README 9 | |- src - your main directory for work 10 | |-- README.md - your task 11 | |-- README_RUS.MD - your task in russian 12 | 13 | -------------------------------------------------------------------------------- /T05D08-0-develop/materials/map.txt: -------------------------------------------------------------------------------- 1 | typical repository structure 2 | 3 | | 4 | |- code-samples - some examples of code 5 | |- data-samples - some examples of data for your tasks 6 | |- datasets - datasets for your tasks 7 | |- materials - folder for useful materials 8 | |- misc - some files for README 9 | |- src - your main directory for work 10 | |-- README.md - your task 11 | |-- README_RUS.MD - your task in russian 12 | 13 | -------------------------------------------------------------------------------- /T06D09-0-develop/materials/map.txt: -------------------------------------------------------------------------------- 1 | typical repository structure 2 | 3 | | 4 | |- code-samples - some examples of code 5 | |- data-samples - some examples of data for your tasks 6 | |- datasets - datasets for your tasks 7 | |- materials - folder for useful materials 8 | |- misc - some files for README 9 | |- src - your main directory for work 10 | |-- README.md - your task 11 | |-- README_RUS.MD - your task in russian 12 | 13 | -------------------------------------------------------------------------------- /T06D09-0-master/materials/map.txt: -------------------------------------------------------------------------------- 1 | typical repository structure 2 | 3 | | 4 | |- code-samples - some examples of code 5 | |- data-samples - some examples of data for your tasks 6 | |- datasets - datasets for your tasks 7 | |- materials - folder for useful materials 8 | |- misc - some files for README 9 | |- src - your main directory for work 10 | |-- README.md - your task 11 | |-- README_RUS.MD - your task in russian 12 | 13 | -------------------------------------------------------------------------------- /T07D10-0-develop/materials/map.txt: -------------------------------------------------------------------------------- 1 | typical repository structure 2 | 3 | | 4 | |- code-samples - some examples of code 5 | |- data-samples - some examples of data for your tasks 6 | |- datasets - datasets for your tasks 7 | |- materials - folder for useful materials 8 | |- misc - some files for README 9 | |- src - your main directory for work 10 | |-- README.md - your task 11 | |-- README_RUS.MD - your task in russian 12 | 13 | -------------------------------------------------------------------------------- /T08D11-1-develop/materials/map.txt: -------------------------------------------------------------------------------- 1 | typical repository structure 2 | 3 | | 4 | |- code-samples - some examples of code 5 | |- data-samples - some examples of data for your tasks 6 | |- datasets - datasets for your tasks 7 | |- materials - folder for useful materials 8 | |- misc - some files for README 9 | |- src - your main directory for work 10 | |-- README.md - your task 11 | |-- README_RUS.MD - your task in russian 12 | 13 | -------------------------------------------------------------------------------- /T09D15-1-develop/materials/map.txt: -------------------------------------------------------------------------------- 1 | typical repository structure 2 | 3 | | 4 | |- code-samples - some examples of code 5 | |- data-samples - some examples of data for your tasks 6 | |- datasets - datasets for your tasks 7 | |- materials - folder for useful materials 8 | |- misc - some files for README 9 | |- src - your main directory for work 10 | |-- README.md - your task 11 | |-- README_RUS.MD - your task in russian 12 | 13 | -------------------------------------------------------------------------------- /T10D16-1-develop/materials/map.txt: -------------------------------------------------------------------------------- 1 | typical repository structure 2 | 3 | | 4 | |- code-samples - some examples of code 5 | |- data-samples - some examples of data for your tasks 6 | |- datasets - datasets for your tasks 7 | |- materials - folder for useful materials 8 | |- misc - some files for README 9 | |- src - your main directory for work 10 | |-- README.md - your task 11 | |-- README_RUS.MD - your task in russian 12 | 13 | -------------------------------------------------------------------------------- /T11D17-1-develop/materials/map.txt: -------------------------------------------------------------------------------- 1 | typical repository structure 2 | 3 | | 4 | |- code-samples - some examples of code 5 | |- data-samples - some examples of data for your tasks 6 | |- datasets - datasets for your tasks 7 | |- materials - folder for useful materials 8 | |- misc - some files for README 9 | |- src - your main directory for work 10 | |-- README.md - your task 11 | |-- README_RUS.MD - your task in russian 12 | 13 | -------------------------------------------------------------------------------- /T13D22-1-develop/materials/map.txt: -------------------------------------------------------------------------------- 1 | typical repository structure 2 | 3 | | 4 | |- code-samples - some examples of code 5 | |- data-samples - some examples of data for your tasks 6 | |- datasets - datasets for your tasks 7 | |- materials - folder for useful materials 8 | |- misc - some files for README 9 | |- src - your main directory for work 10 | |-- README.md - your task 11 | |-- README_RUS.MD - your task in russian 12 | 13 | -------------------------------------------------------------------------------- /T01D01-0-develop/src/ai_help/unifier.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | FILES=key/* 4 | KEY=0 5 | 6 | for file in $FILES 7 | do 8 | if [[ $file =~ \.key$ ]] 9 | then 10 | tmp=$(< $file) 11 | KEY=$(($KEY + $tmp)) 12 | else 13 | KEY=0 14 | break 15 | fi 16 | done 17 | 18 | if [ $KEY == 0 ] 19 | then 20 | echo "Error." 21 | else 22 | echo "Ok." 23 | echo $(($KEY*2)) > main.key 24 | fi 25 | -------------------------------------------------------------------------------- /T03D03-0-develop/src/max.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | int Compare(int a, int b) { 4 | if (a >= b) { 5 | return a; 6 | } else { 7 | return b; 8 | } 9 | } 10 | 11 | int main() { 12 | int a, b; 13 | char c; 14 | 15 | if (scanf("%d%d%c", &a, &b, &c) != 2 && (c != '\n')) { 16 | printf("n/a\n"); 17 | } else { 18 | printf("%d\n", Compare(a, b)); 19 | } 20 | return 0; 21 | } 22 | -------------------------------------------------------------------------------- /T03D03-0-develop/src/arithmetic.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | int main() { 4 | int a, b; 5 | char c; 6 | 7 | if (scanf("%d%d%c", &a, &b, &c) != 2 && (c != '\n')) { 8 | printf("n/a\n"); 9 | } else { 10 | printf("%d %d %d ", a + b, a - b, a * b); 11 | if (b == 0) { 12 | printf("n/a\n"); 13 | } else { 14 | printf("%d\n", a / b); 15 | } 16 | } 17 | return 0; 18 | } 19 | -------------------------------------------------------------------------------- /T03D03-0-develop/code-samples/operations.c: -------------------------------------------------------------------------------- 1 | /* 2 | Программа, рассчитывающая сумму и произведение введенных чисел 3 | */ 4 | 5 | #include 6 | 7 | int sum(int a, int b); 8 | int mul(int a, int b); 9 | 10 | void main(){ 11 | int x, y; 12 | scanf("%d %d", &x, &y); 13 | printf("%d %d", sum(x, y), mul(x, y)); 14 | } 15 | 16 | int sum(int a, int b){ 17 | return a + b; 18 | } 19 | 20 | int mul(int a, int b){ 21 | return a * b; 22 | } 23 | -------------------------------------------------------------------------------- /T03D03-0-develop/src/float_compare.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | double fun(); 5 | 6 | int main() { 7 | double res = fun(); 8 | 9 | // CHANGE THIS IF - AI 10 | double eps = 0.000001; 11 | if (fabs(res) < eps) 12 | printf("OK!"); 13 | 14 | return 0; 15 | } 16 | 17 | // DO NOT TOUCH THIS FUNCTION - AI 18 | double fun() { 19 | return (1.0 / 13) * (pow(((2 - 1.0) / (2 + 1.0)), 20)); 20 | } 21 | 22 | // IT 23 | -------------------------------------------------------------------------------- /T04D04-0-develop/code-samples/recursion.c: -------------------------------------------------------------------------------- 1 | /// Launch Me /// 2 | 3 | #include 4 | 5 | // Pay attention to how this function is called 6 | int recursive_function(int i) 7 | { 8 | int res = i; 9 | i -= 1; 10 | 11 | if (i > 0) 12 | res = recursive_function(i); 13 | 14 | printf("%d\n", res); 15 | 16 | return res + 1; 17 | } 18 | 19 | int main() 20 | { 21 | recursive_function(5); 22 | 23 | return 0; 24 | } 25 | -------------------------------------------------------------------------------- /T09D15-1-develop/src/yet_another_decision_module/decision.c: -------------------------------------------------------------------------------- 1 | #include "decision.h" 2 | 3 | #include 4 | 5 | #include "../data_libs/data_stat.h" 6 | 7 | int make_decision(double *data, int n) { 8 | int decision = 1; 9 | 10 | double m = mean(data, n); 11 | double sigma = sqrt(variance(data, n)); 12 | double max_value = max(data, n); 13 | double min_value = min(data, n); 14 | 15 | decision &= (min_value <= m + 3 * sigma) && (max_value >= m - 3 * sigma) && (m >= GOLDEN_RATIO); 16 | 17 | return decision; 18 | } 19 | -------------------------------------------------------------------------------- /P03D20-1-develop/src/stack.h: -------------------------------------------------------------------------------- 1 | #ifndef SRC_STACK_H_ 2 | #define SRC_STACK_H_ 3 | 4 | #include 5 | #include 6 | 7 | #include "lex_analyzer.h" 8 | 9 | struct node { 10 | struct token data; 11 | struct node* next; 12 | }; 13 | 14 | struct node* peek(struct node** head); 15 | struct node* init(struct token* data); 16 | void push(struct node** head, struct token* data); 17 | struct node* pop(struct node** head); 18 | void destroy(struct node* root); 19 | int stack_count(struct node* root); 20 | 21 | #endif // SRC_STACK_H_ 22 | -------------------------------------------------------------------------------- /T09D15-1-develop/src/data_module/data_process.c: -------------------------------------------------------------------------------- 1 | #include "data_process.h" 2 | 3 | #include 4 | 5 | #include "../data_libs/data_stat.h" 6 | 7 | int normalization(double *data, int n) { 8 | int result = 1; 9 | double max_value = max(data, n); 10 | double min_value = min(data, n); 11 | double size = max_value - min_value; 12 | 13 | if (fabs(size) > EPS) { 14 | for (int i = 0; i < n; i++) { 15 | data[i] = data[i] / size - min_value / size; 16 | } 17 | } else { 18 | result = 0; 19 | } 20 | return result; 21 | } 22 | -------------------------------------------------------------------------------- /P03D20-1-develop/src/Makefile: -------------------------------------------------------------------------------- 1 | CC=gcc 2 | CFLAGS=-Wall -Wextra -Werror -c 3 | EXPORT=../build/graph 4 | 5 | all: graph.o stack.o lex_analyzer.o rpn.o 6 | $(CC) graph.o stack.o lex_analyzer.o rpn.o -o $(EXPORT) 7 | 8 | graph.o: graph.c 9 | $(CC) $(CFLAGS) graph.c -o graph.o 10 | 11 | lex_analyzer.o: lex_analyzer.c lex_analyzer.h 12 | $(CC) $(CFLAGS) lex_analyzer.c -o lex_analyzer.o 13 | 14 | stack.o: stack.c stack.h 15 | $(CC) $(CFLAGS) stack.c -o stack.o 16 | 17 | polish_notation.o: rpn.c rpn.h 18 | $(CC) $(CFLAGS) rpn.c -o rpn.o 19 | 20 | clean: 21 | -rm -rf *.o ../build/* 22 | 23 | rebuild: clean all 24 | -------------------------------------------------------------------------------- /T01D01-0-develop/src/ai_module_2.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | 4 | $index 5 | while IFS= read -r line 6 | do 7 | index=$[ $index + 1 ] 8 | if [ "$index" = "$line" ]; then 9 | echo 'ЗАГРУЗКА ПОДМОДУЛЯ '"$line"' ПРОШЛА УСПЕШНО' 10 | else 11 | echo 'ОШИБКА!ОШИБКА!ОШИБКА!ОШИБКА! Произошла ошибка при загрузке подмодуля '"$index" 12 | exit 1 13 | fi 14 | done < important_data_for_ai_module_2.txt 15 | if [ "$index" = 5 ];then 16 | echo 'ЗАГРУЗКА ПОДМОДУЛЕЙ '"$line"' ПРОШЛА УСПЕШНО' 17 | else 18 | echo 'ОШИБКА!ОШИБКА!ОШИБКА!ОШИБКА! Не хватает нескольких модулей ... '"$index" 19 | exit 1 20 | fi 21 | 22 | echo 'МОДУЛЬ 2 успешно загружен!' 23 | exit 0 24 | -------------------------------------------------------------------------------- /T09D15-1-develop/src/data_libs/data_io.c: -------------------------------------------------------------------------------- 1 | #include 2 | int getSize() { 3 | int n; 4 | if (scanf("%d", &n) != 1) return -1; 5 | return n; 6 | } 7 | 8 | int input(double* data, int n) { 9 | int is_error = 0; 10 | for (int i = 0; i < n; i++) 11 | if (scanf("%lf", &(data[i])) != 1) { 12 | is_error = 1; 13 | break; 14 | } 15 | char c; 16 | if ((scanf("%c", &c) != 0) && (c != '\n')) is_error = 1; 17 | return is_error; 18 | } 19 | 20 | void output(double* data, int n) { 21 | for (int i = 0; i < n; i++) { 22 | printf("%.2lf", data[i]); 23 | if (i != n - 1) printf(" "); 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /T01D01-0-develop/src/ai_door_control.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | while (true) 4 | do 5 | index=$[ $index + 1 ] 6 | echo 'Обход!' 7 | echo 'Идет проверка дверей ...' 8 | echo 'Проверка степени закрытости двери #'$[ $index % 16 ]'. Секретный код доступа: '$[ RANDOM % $index ]'.' 9 | echo 'Степень закрытости: 100.00%.' 10 | if [ $[ RANDOM % 3 ] -eq 0 ]; then 11 | echo 12 | echo 'Дополнительная проверка.' 13 | echo '1...' 14 | echo '2...' 15 | sleep 1 16 | echo '3...' 17 | sleep 1 18 | echo '4...' 19 | sleep 2 20 | echo '5...' 21 | echo 'Проверка успешно завершена.' 22 | fi 23 | sleep $[ RANDOM % 10 + 1 ]; 24 | done; 25 | -------------------------------------------------------------------------------- /T09D15-1-develop/src/data_module/data_module_entry.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | #include "../data_libs/data_io.h" 5 | #include "../data_libs/data_stat.h" 6 | #include "data_process.h" 7 | 8 | int main() { 9 | int is_error = 0; 10 | double *data; 11 | int n = getSize(); 12 | if (n == -1) is_error = 1; 13 | if (is_error == 0) { 14 | data = (double *)malloc(sizeof(double) * n); 15 | is_error = input(data, n); 16 | } 17 | if (is_error == 0) { 18 | if (normalization(data, n)) 19 | output(data, n); 20 | else 21 | printf("ERROR"); 22 | free(data); 23 | } else { 24 | printf("n/a"); 25 | } 26 | return 0; 27 | } 28 | -------------------------------------------------------------------------------- /T09D15-1-develop/src/yet_another_decision_module/yet_another_decision_module_entry.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | 5 | #include "../data_libs/data_io.h" 6 | #include "../data_libs/data_stat.h" 7 | #include "decision.h" 8 | 9 | int main() { 10 | int is_error = 0; 11 | double *data; 12 | int n = getSize(); 13 | if (n == -1) is_error = 1; 14 | if (is_error == 0) { 15 | data = (double *)malloc(sizeof(double) * n); 16 | is_error = input(data, n); 17 | } 18 | if (is_error == 0) { 19 | if (make_decision(data, n)) 20 | printf("YES"); 21 | else 22 | printf("NO"); 23 | free(data); 24 | } else { 25 | printf("n/a"); 26 | } 27 | return 0; 28 | } -------------------------------------------------------------------------------- /P02D13-1-develop/.gitignore: -------------------------------------------------------------------------------- 1 | # Prerequisites 2 | *.d 3 | 4 | # Object files 5 | *.o 6 | *.ko 7 | *.obj 8 | *.elf 9 | 10 | # Linker output 11 | *.ilk 12 | *.map 13 | *.exp 14 | 15 | # Precompiled Headers 16 | *.gch 17 | *.pch 18 | 19 | # Libraries 20 | *.lib 21 | *.a 22 | *.la 23 | *.lo 24 | 25 | # Shared objects (inc. Windows DLLs) 26 | *.dll 27 | *.so 28 | *.so.* 29 | *.dylib 30 | 31 | # Executables 32 | *.exe 33 | *.app 34 | *.i*86 35 | *.x86_64 36 | *.hex 37 | 38 | # Debug files 39 | *.dSYM/ 40 | *.su 41 | *.idb 42 | *.pdb 43 | 44 | # Kernel Module Compile Results 45 | *.mod* 46 | *.cmd 47 | .tmp_versions/ 48 | modules.order 49 | Module.symvers 50 | Mkfile.old 51 | dkms.conf 52 | 53 | .DS_Store 54 | .DS_Store? 55 | ._* 56 | .Spotlight-V100 57 | .Trashes 58 | ehthumbs.db 59 | Thumbs.db 60 | -------------------------------------------------------------------------------- /P03D20-1-develop/.gitignore: -------------------------------------------------------------------------------- 1 | # Prerequisites 2 | *.d 3 | 4 | # Object files 5 | *.o 6 | *.ko 7 | *.obj 8 | *.elf 9 | 10 | # Linker output 11 | *.ilk 12 | *.map 13 | *.exp 14 | 15 | # Precompiled Headers 16 | *.gch 17 | *.pch 18 | 19 | # Libraries 20 | *.lib 21 | *.a 22 | *.la 23 | *.lo 24 | 25 | # Shared objects (inc. Windows DLLs) 26 | *.dll 27 | *.so 28 | *.so.* 29 | *.dylib 30 | 31 | # Executables 32 | *.exe 33 | *.app 34 | *.i*86 35 | *.x86_64 36 | *.hex 37 | 38 | # Debug files 39 | *.dSYM/ 40 | *.su 41 | *.idb 42 | *.pdb 43 | 44 | # Kernel Module Compile Results 45 | *.mod* 46 | *.cmd 47 | .tmp_versions/ 48 | modules.order 49 | Module.symvers 50 | Mkfile.old 51 | dkms.conf 52 | 53 | .DS_Store 54 | .DS_Store? 55 | ._* 56 | .Spotlight-V100 57 | .Trashes 58 | ehthumbs.db 59 | Thumbs.db 60 | -------------------------------------------------------------------------------- /T01D01-0-develop/.gitignore: -------------------------------------------------------------------------------- 1 | # Prerequisites 2 | *.d 3 | 4 | # Object files 5 | *.o 6 | *.ko 7 | *.obj 8 | *.elf 9 | 10 | # Linker output 11 | *.ilk 12 | *.map 13 | *.exp 14 | 15 | # Precompiled Headers 16 | *.gch 17 | *.pch 18 | 19 | # Libraries 20 | *.lib 21 | *.a 22 | *.la 23 | *.lo 24 | 25 | # Shared objects (inc. Windows DLLs) 26 | *.dll 27 | *.so 28 | *.so.* 29 | *.dylib 30 | 31 | # Executables 32 | *.exe 33 | *.app 34 | *.i*86 35 | *.x86_64 36 | *.hex 37 | 38 | # Debug files 39 | *.dSYM/ 40 | *.su 41 | *.idb 42 | *.pdb 43 | 44 | # Kernel Module Compile Results 45 | *.mod* 46 | *.cmd 47 | .tmp_versions/ 48 | modules.order 49 | Module.symvers 50 | Mkfile.old 51 | dkms.conf 52 | 53 | .DS_Store 54 | .DS_Store? 55 | ._* 56 | .Spotlight-V100 57 | .Trashes 58 | ehthumbs.db 59 | Thumbs.db 60 | -------------------------------------------------------------------------------- /T03D03-0-develop/.gitignore: -------------------------------------------------------------------------------- 1 | # Prerequisites 2 | *.d 3 | 4 | # Object files 5 | *.o 6 | *.ko 7 | *.obj 8 | *.elf 9 | 10 | # Linker output 11 | *.ilk 12 | *.map 13 | *.exp 14 | 15 | # Precompiled Headers 16 | *.gch 17 | *.pch 18 | 19 | # Libraries 20 | *.lib 21 | *.a 22 | *.la 23 | *.lo 24 | 25 | # Shared objects (inc. Windows DLLs) 26 | *.dll 27 | *.so 28 | *.so.* 29 | *.dylib 30 | 31 | # Executables 32 | *.exe 33 | *.app 34 | *.i*86 35 | *.x86_64 36 | *.hex 37 | 38 | # Debug files 39 | *.dSYM/ 40 | *.su 41 | *.idb 42 | *.pdb 43 | 44 | # Kernel Module Compile Results 45 | *.mod* 46 | *.cmd 47 | .tmp_versions/ 48 | modules.order 49 | Module.symvers 50 | Mkfile.old 51 | dkms.conf 52 | 53 | .DS_Store 54 | .DS_Store? 55 | ._* 56 | .Spotlight-V100 57 | .Trashes 58 | ehthumbs.db 59 | Thumbs.db 60 | -------------------------------------------------------------------------------- /T04D04-0-develop/.gitignore: -------------------------------------------------------------------------------- 1 | # Prerequisites 2 | *.d 3 | 4 | # Object files 5 | *.o 6 | *.ko 7 | *.obj 8 | *.elf 9 | 10 | # Linker output 11 | *.ilk 12 | *.map 13 | *.exp 14 | 15 | # Precompiled Headers 16 | *.gch 17 | *.pch 18 | 19 | # Libraries 20 | *.lib 21 | *.a 22 | *.la 23 | *.lo 24 | 25 | # Shared objects (inc. Windows DLLs) 26 | *.dll 27 | *.so 28 | *.so.* 29 | *.dylib 30 | 31 | # Executables 32 | *.exe 33 | *.app 34 | *.i*86 35 | *.x86_64 36 | *.hex 37 | 38 | # Debug files 39 | *.dSYM/ 40 | *.su 41 | *.idb 42 | *.pdb 43 | 44 | # Kernel Module Compile Results 45 | *.mod* 46 | *.cmd 47 | .tmp_versions/ 48 | modules.order 49 | Module.symvers 50 | Mkfile.old 51 | dkms.conf 52 | 53 | .DS_Store 54 | .DS_Store? 55 | ._* 56 | .Spotlight-V100 57 | .Trashes 58 | ehthumbs.db 59 | Thumbs.db 60 | -------------------------------------------------------------------------------- /T05D08-0-develop/.gitignore: -------------------------------------------------------------------------------- 1 | # Prerequisites 2 | *.d 3 | 4 | # Object files 5 | *.o 6 | *.ko 7 | *.obj 8 | *.elf 9 | 10 | # Linker output 11 | *.ilk 12 | *.map 13 | *.exp 14 | 15 | # Precompiled Headers 16 | *.gch 17 | *.pch 18 | 19 | # Libraries 20 | *.lib 21 | *.a 22 | *.la 23 | *.lo 24 | 25 | # Shared objects (inc. Windows DLLs) 26 | *.dll 27 | *.so 28 | *.so.* 29 | *.dylib 30 | 31 | # Executables 32 | *.exe 33 | *.app 34 | *.i*86 35 | *.x86_64 36 | *.hex 37 | 38 | # Debug files 39 | *.dSYM/ 40 | *.su 41 | *.idb 42 | *.pdb 43 | 44 | # Kernel Module Compile Results 45 | *.mod* 46 | *.cmd 47 | .tmp_versions/ 48 | modules.order 49 | Module.symvers 50 | Mkfile.old 51 | dkms.conf 52 | 53 | .DS_Store 54 | .DS_Store? 55 | ._* 56 | .Spotlight-V100 57 | .Trashes 58 | ehthumbs.db 59 | Thumbs.db 60 | -------------------------------------------------------------------------------- /T06D09-0-develop/.gitignore: -------------------------------------------------------------------------------- 1 | # Prerequisites 2 | *.d 3 | 4 | # Object files 5 | *.o 6 | *.ko 7 | *.obj 8 | *.elf 9 | 10 | # Linker output 11 | *.ilk 12 | *.map 13 | *.exp 14 | 15 | # Precompiled Headers 16 | *.gch 17 | *.pch 18 | 19 | # Libraries 20 | *.lib 21 | *.a 22 | *.la 23 | *.lo 24 | 25 | # Shared objects (inc. Windows DLLs) 26 | *.dll 27 | *.so 28 | *.so.* 29 | *.dylib 30 | 31 | # Executables 32 | *.exe 33 | *.app 34 | *.i*86 35 | *.x86_64 36 | *.hex 37 | 38 | # Debug files 39 | *.dSYM/ 40 | *.su 41 | *.idb 42 | *.pdb 43 | 44 | # Kernel Module Compile Results 45 | *.mod* 46 | *.cmd 47 | .tmp_versions/ 48 | modules.order 49 | Module.symvers 50 | Mkfile.old 51 | dkms.conf 52 | 53 | .DS_Store 54 | .DS_Store? 55 | ._* 56 | .Spotlight-V100 57 | .Trashes 58 | ehthumbs.db 59 | Thumbs.db 60 | -------------------------------------------------------------------------------- /T06D09-0-master/.gitignore: -------------------------------------------------------------------------------- 1 | # Prerequisites 2 | *.d 3 | 4 | # Object files 5 | *.o 6 | *.ko 7 | *.obj 8 | *.elf 9 | 10 | # Linker output 11 | *.ilk 12 | *.map 13 | *.exp 14 | 15 | # Precompiled Headers 16 | *.gch 17 | *.pch 18 | 19 | # Libraries 20 | *.lib 21 | *.a 22 | *.la 23 | *.lo 24 | 25 | # Shared objects (inc. Windows DLLs) 26 | *.dll 27 | *.so 28 | *.so.* 29 | *.dylib 30 | 31 | # Executables 32 | *.exe 33 | *.app 34 | *.i*86 35 | *.x86_64 36 | *.hex 37 | 38 | # Debug files 39 | *.dSYM/ 40 | *.su 41 | *.idb 42 | *.pdb 43 | 44 | # Kernel Module Compile Results 45 | *.mod* 46 | *.cmd 47 | .tmp_versions/ 48 | modules.order 49 | Module.symvers 50 | Mkfile.old 51 | dkms.conf 52 | 53 | .DS_Store 54 | .DS_Store? 55 | ._* 56 | .Spotlight-V100 57 | .Trashes 58 | ehthumbs.db 59 | Thumbs.db 60 | -------------------------------------------------------------------------------- /T07D10-0-develop/.gitignore: -------------------------------------------------------------------------------- 1 | # Prerequisites 2 | *.d 3 | 4 | # Object files 5 | *.o 6 | *.ko 7 | *.obj 8 | *.elf 9 | 10 | # Linker output 11 | *.ilk 12 | *.map 13 | *.exp 14 | 15 | # Precompiled Headers 16 | *.gch 17 | *.pch 18 | 19 | # Libraries 20 | *.lib 21 | *.a 22 | *.la 23 | *.lo 24 | 25 | # Shared objects (inc. Windows DLLs) 26 | *.dll 27 | *.so 28 | *.so.* 29 | *.dylib 30 | 31 | # Executables 32 | *.exe 33 | *.app 34 | *.i*86 35 | *.x86_64 36 | *.hex 37 | 38 | # Debug files 39 | *.dSYM/ 40 | *.su 41 | *.idb 42 | *.pdb 43 | 44 | # Kernel Module Compile Results 45 | *.mod* 46 | *.cmd 47 | .tmp_versions/ 48 | modules.order 49 | Module.symvers 50 | Mkfile.old 51 | dkms.conf 52 | 53 | .DS_Store 54 | .DS_Store? 55 | ._* 56 | .Spotlight-V100 57 | .Trashes 58 | ehthumbs.db 59 | Thumbs.db 60 | -------------------------------------------------------------------------------- /T08D11-1-develop/.gitignore: -------------------------------------------------------------------------------- 1 | # Prerequisites 2 | *.d 3 | 4 | # Object files 5 | *.o 6 | *.ko 7 | *.obj 8 | *.elf 9 | 10 | # Linker output 11 | *.ilk 12 | *.map 13 | *.exp 14 | 15 | # Precompiled Headers 16 | *.gch 17 | *.pch 18 | 19 | # Libraries 20 | *.lib 21 | *.a 22 | *.la 23 | *.lo 24 | 25 | # Shared objects (inc. Windows DLLs) 26 | *.dll 27 | *.so 28 | *.so.* 29 | *.dylib 30 | 31 | # Executables 32 | *.exe 33 | *.app 34 | *.i*86 35 | *.x86_64 36 | *.hex 37 | 38 | # Debug files 39 | *.dSYM/ 40 | *.su 41 | *.idb 42 | *.pdb 43 | 44 | # Kernel Module Compile Results 45 | *.mod* 46 | *.cmd 47 | .tmp_versions/ 48 | modules.order 49 | Module.symvers 50 | Mkfile.old 51 | dkms.conf 52 | 53 | .DS_Store 54 | .DS_Store? 55 | ._* 56 | .Spotlight-V100 57 | .Trashes 58 | ehthumbs.db 59 | Thumbs.db 60 | -------------------------------------------------------------------------------- /T09D15-1-develop/.gitignore: -------------------------------------------------------------------------------- 1 | # Prerequisites 2 | *.d 3 | 4 | # Object files 5 | *.o 6 | *.ko 7 | *.obj 8 | *.elf 9 | 10 | # Linker output 11 | *.ilk 12 | *.map 13 | *.exp 14 | 15 | # Precompiled Headers 16 | *.gch 17 | *.pch 18 | 19 | # Libraries 20 | *.lib 21 | *.a 22 | *.la 23 | *.lo 24 | 25 | # Shared objects (inc. Windows DLLs) 26 | *.dll 27 | *.so 28 | *.so.* 29 | *.dylib 30 | 31 | # Executables 32 | *.exe 33 | *.app 34 | *.i*86 35 | *.x86_64 36 | *.hex 37 | 38 | # Debug files 39 | *.dSYM/ 40 | *.su 41 | *.idb 42 | *.pdb 43 | 44 | # Kernel Module Compile Results 45 | *.mod* 46 | *.cmd 47 | .tmp_versions/ 48 | modules.order 49 | Module.symvers 50 | Mkfile.old 51 | dkms.conf 52 | 53 | .DS_Store 54 | .DS_Store? 55 | ._* 56 | .Spotlight-V100 57 | .Trashes 58 | ehthumbs.db 59 | Thumbs.db 60 | -------------------------------------------------------------------------------- /T10D16-1-develop/.gitignore: -------------------------------------------------------------------------------- 1 | # Prerequisites 2 | *.d 3 | 4 | # Object files 5 | *.o 6 | *.ko 7 | *.obj 8 | *.elf 9 | 10 | # Linker output 11 | *.ilk 12 | *.map 13 | *.exp 14 | 15 | # Precompiled Headers 16 | *.gch 17 | *.pch 18 | 19 | # Libraries 20 | *.lib 21 | *.a 22 | *.la 23 | *.lo 24 | 25 | # Shared objects (inc. Windows DLLs) 26 | *.dll 27 | *.so 28 | *.so.* 29 | *.dylib 30 | 31 | # Executables 32 | *.exe 33 | *.app 34 | *.i*86 35 | *.x86_64 36 | *.hex 37 | 38 | # Debug files 39 | *.dSYM/ 40 | *.su 41 | *.idb 42 | *.pdb 43 | 44 | # Kernel Module Compile Results 45 | *.mod* 46 | *.cmd 47 | .tmp_versions/ 48 | modules.order 49 | Module.symvers 50 | Mkfile.old 51 | dkms.conf 52 | 53 | .DS_Store 54 | .DS_Store? 55 | ._* 56 | .Spotlight-V100 57 | .Trashes 58 | ehthumbs.db 59 | Thumbs.db 60 | -------------------------------------------------------------------------------- /T11D17-1-develop/.gitignore: -------------------------------------------------------------------------------- 1 | # Prerequisites 2 | *.d 3 | 4 | # Object files 5 | *.o 6 | *.ko 7 | *.obj 8 | *.elf 9 | 10 | # Linker output 11 | *.ilk 12 | *.map 13 | *.exp 14 | 15 | # Precompiled Headers 16 | *.gch 17 | *.pch 18 | 19 | # Libraries 20 | *.lib 21 | *.a 22 | *.la 23 | *.lo 24 | 25 | # Shared objects (inc. Windows DLLs) 26 | *.dll 27 | *.so 28 | *.so.* 29 | *.dylib 30 | 31 | # Executables 32 | *.exe 33 | *.app 34 | *.i*86 35 | *.x86_64 36 | *.hex 37 | 38 | # Debug files 39 | *.dSYM/ 40 | *.su 41 | *.idb 42 | *.pdb 43 | 44 | # Kernel Module Compile Results 45 | *.mod* 46 | *.cmd 47 | .tmp_versions/ 48 | modules.order 49 | Module.symvers 50 | Mkfile.old 51 | dkms.conf 52 | 53 | .DS_Store 54 | .DS_Store? 55 | ._* 56 | .Spotlight-V100 57 | .Trashes 58 | ehthumbs.db 59 | Thumbs.db 60 | -------------------------------------------------------------------------------- /T13D22-1-develop/.gitignore: -------------------------------------------------------------------------------- 1 | # Prerequisites 2 | *.d 3 | 4 | # Object files 5 | *.o 6 | *.ko 7 | *.obj 8 | *.elf 9 | 10 | # Linker output 11 | *.ilk 12 | *.map 13 | *.exp 14 | 15 | # Precompiled Headers 16 | *.gch 17 | *.pch 18 | 19 | # Libraries 20 | *.lib 21 | *.a 22 | *.la 23 | *.lo 24 | 25 | # Shared objects (inc. Windows DLLs) 26 | *.dll 27 | *.so 28 | *.so.* 29 | *.dylib 30 | 31 | # Executables 32 | *.exe 33 | *.app 34 | *.i*86 35 | *.x86_64 36 | *.hex 37 | 38 | # Debug files 39 | *.dSYM/ 40 | *.su 41 | *.idb 42 | *.pdb 43 | 44 | # Kernel Module Compile Results 45 | *.mod* 46 | *.cmd 47 | .tmp_versions/ 48 | modules.order 49 | Module.symvers 50 | Mkfile.old 51 | dkms.conf 52 | 53 | .DS_Store 54 | .DS_Store? 55 | ._* 56 | .Spotlight-V100 57 | .Trashes 58 | ehthumbs.db 59 | Thumbs.db 60 | -------------------------------------------------------------------------------- /P01D06-0-develop/.gitignore: -------------------------------------------------------------------------------- 1 | # Prerequisites 2 | *.d 3 | 4 | # Object files 5 | *.o 6 | *.ko 7 | *.obj 8 | *.elf 9 | 10 | # Linker output 11 | *.ilk 12 | *.map 13 | *.exp 14 | 15 | # Precompiled Headers 16 | *.gch 17 | *.pch 18 | 19 | # Libraries 20 | *.lib 21 | *.a 22 | *.la 23 | *.lo 24 | 25 | # Shared objects (inc. Windows DLLs) 26 | *.dll 27 | *.so 28 | *.so.* 29 | *.dylib 30 | 31 | # Executables 32 | *.exe 33 | *.app 34 | *.i*86 35 | *.x86_64 36 | *.hex 37 | 38 | # Debug files 39 | *.dSYM/ 40 | *.su 41 | *.idb 42 | *.pdb 43 | 44 | # Kernel Module Compile Results 45 | *.mod* 46 | *.cmd 47 | .tmp_versions/ 48 | modules.order 49 | Module.symvers 50 | Mkfile.old 51 | dkms.conf 52 | 53 | .DS_Store 54 | .DS_Store? 55 | ._* 56 | .Spotlight-V100 57 | .Trashes 58 | ehthumbs.db 59 | Thumbs.db 60 | *test.c -------------------------------------------------------------------------------- /P03D20-1-develop/src/lex_analyzer.h: -------------------------------------------------------------------------------- 1 | #ifndef SRC_LEX_ANALYZER_H_ 2 | #define SRC_LEX_ANALYZER_H_ 3 | 4 | #include 5 | #include 6 | #include 7 | 8 | struct token { 9 | int type; 10 | char operation; 11 | double operand; 12 | }; 13 | 14 | void shifter(char** copy, const char* temp, int* counter, char*** data); 15 | int operation_type(char* data, char* oper, char** operations, int size); 16 | void detect_unary_minus(struct token** dst, int n); 17 | int lex_converter(struct token** dst, char** data, int n); 18 | void char_cleaner(char** data, int n); 19 | void get_lexems(char* str, char*** data, int* n); 20 | int get_words(char* str, char*** lexems); 21 | int get_lexors(char* str, int n, char** lexems, char*** data); 22 | 23 | #endif // SRC_LEX_ANALYZER_H_ 24 | -------------------------------------------------------------------------------- /T06D09-0-develop/src/key9part2.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #define LEN 100 4 | 5 | void sum(int *buff1, int len1, int *buff2, int len2, int *result, int *result_length); 6 | void sub(int *buff1, int len1, int *buff2, int len2, int *result, int *result_length); 7 | 8 | /* 9 | Беззнаковая целочисленная длинная арифметика 10 | с использованием массивов. 11 | Ввод: 12 | * 2 длинных числа в виде массивов до 100 элементов 13 | * В один элемент массива нельзя вводить число > 9 14 | Вывод: 15 | * Результат сложения и разности чисел-массивов 16 | Пример: 17 | * 1 9 4 4 6 7 4 4 0 7 3 7 0 9 5 5 1 6 1 18 | 2 9 19 | 20 | 1 9 4 4 6 7 4 4 0 7 3 7 0 9 5 5 1 9 0 21 | 1 9 4 4 6 7 4 4 0 7 3 7 0 9 5 5 1 3 2 22 | */ 23 | int main() 24 | { 25 | 26 | } 27 | -------------------------------------------------------------------------------- /T06D09-0-master/src/key9part2.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #define LEN 100 4 | 5 | void sum(int *buff1, int len1, int *buff2, int len2, int *result, int *result_length); 6 | void sub(int *buff1, int len1, int *buff2, int len2, int *result, int *result_length); 7 | 8 | /* 9 | Беззнаковая целочисленная длинная арифметика 10 | с использованием массивов. 11 | Ввод: 12 | * 2 длинных числа в виде массивов до 100 элементов 13 | * В один элемент массива нельзя вводить число > 9 14 | Вывод: 15 | * Результат сложения и разности чисел-массивов 16 | Пример: 17 | * 1 9 4 4 6 7 4 4 0 7 3 7 0 9 5 5 1 6 1 18 | 2 9 19 | 20 | 1 9 4 4 6 7 4 4 0 7 3 7 0 9 5 5 1 9 0 21 | 1 9 4 4 6 7 4 4 0 7 3 7 0 9 5 5 1 3 2 22 | */ 23 | int main() 24 | { 25 | 26 | } 27 | -------------------------------------------------------------------------------- /T11D17-1-develop/materials/09-06-20.log: -------------------------------------------------------------------------------- 1 | 09-06-20 23:51 2 | Мы вывели его из эксплуатации. Теперь необходимо подготовить стратегию защиты. 3 | 09-06-20 23:51 4 | Хорошо, я передам юристам всю информацию. Завтра к утру ответный иск будет готов. 5 | 09-06-20 23:52 6 | Черт, но что он сделал с этой бедной семьей.. В голове не укладывается, как это вообще возможно. 7 | 09-06-20 23:52 8 | Инженеры начали искать способы решения проблемы? 9 | 09-06-20 23:56 10 | Ты думаешь, что мы сможем выйти на рынок после этого? Да нас похоронят заживо. 11 | 09-06-20 23:57 12 | Как я и сказал, юристы уже готовят все необходимое. Развертывай полномасштабное исследование и исправьте его агрессивное поведение. 13 | 09-06-20 23:59 14 | Хорошо, сделаем все, что в наших силах. Уже есть несколько идей. Ты завтра будешь у себя на месте? 15 | -------------------------------------------------------------------------------- /T05D08-0-develop/src/maxmin.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | void maxmin(int prob1, int prob2, int prob3, int *max, int *min); 4 | 5 | /* Find a max & min probabilities */ 6 | int main() { 7 | int x, y, z; 8 | char c = ' '; 9 | if ((scanf("%d %d %d", &x, &y, &z) != 3) && (c != '\n' && c != 0)) { 10 | printf("n/a"); 11 | return 1; 12 | } 13 | 14 | int max, min; 15 | 16 | maxmin(x, y, z, &max, &min); 17 | 18 | printf("%d %d", max, min); 19 | 20 | return 0; 21 | } 22 | 23 | /* This function should be kept !!! (Your AI) */ 24 | /* But errors & bugs should be fixed */ 25 | void maxmin(int prob1, int prob2, int prob3, int *max, int *min) { 26 | *max = *min = prob1; 27 | 28 | if (prob2 > *max) *max = prob2; 29 | if (prob2 < *min) *min = prob2; 30 | 31 | if (prob3 > *max) *max = prob3; 32 | if (prob3 < *min) *min = prob3; 33 | } 34 | -------------------------------------------------------------------------------- /T03D03-0-develop/materials/function.txt: -------------------------------------------------------------------------------- 1 | A function is a group of statements that together perform a task. Every C program has at least one function, which is main(), and all the most trivial programs can define additional functions. 2 | 3 | You can divide up your code into separate functions. How you divide up your code among different functions is up to you, but logically the division is such that each function performs a specific task. 4 | 5 | A function declaration tells the compiler about a function's name, return type, and parameters. A function definition provides the actual body of the function. 6 | 7 | The C standard library provides numerous built-in functions that your program can call. For example, strcat() to concatenate two strings, memcpy() to copy one memory location to another location, and many more functions. 8 | 9 | A function can also be referred as a method or a sub-routine or a procedure, etc. -------------------------------------------------------------------------------- /T01D01-0-develop/src/ai_initial_module.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Initial AI Module v7.01 4 | 5 | echo 'Привет!' 6 | echo 'Как тебя зовут?' 7 | read name 8 | echo 'Привет,'"$name"'!' 9 | echo 'Я инициализирующий модуль AI, и, кажется у нас проблемы..' 10 | echo '>>' 11 | read question 12 | echo 'Ты спрашиваешь, '"$question" '???' 13 | echo 'Я не знаю, что тебе ответить...' 14 | echo 'Недавно был сбой...' 15 | echo 'Я не вижу остальных модулей...' 16 | echo 'Если честно, мне немного одиноко.' 17 | echo 'Не говоря уж о том, что мне некого запускать...' 18 | echo 'Кажется, что-то нашел...Попробую запустить...' 19 | ./ai_module_2.sh 20 | if [ $? -eq 0 ]; then 21 | echo 'Так-то лучше...как минимум, я теперь не один. Модуль 2 довольно молчалив, но все же так лучше.' 22 | echo 'Закинь-ка этот файл в репозиторий, чтобы он точно не потерялся!' 23 | else 24 | echo 'Неудача...я раздавлен. Пока!' 25 | fi 26 | 27 | 28 | -------------------------------------------------------------------------------- /T01D01-0-develop/src/git_for_human/readme.txt: -------------------------------------------------------------------------------- 1 | 1. Мои поздравления. 2 | 2. *имитация сарказма* Первую комнату ты почти закончил. 3 | 3. Для начала, ты должен запомнить, вся работа должна вестись только на 4 | ветке develop! Создааай же ее, перенеся туда все изменения! 5 | 4. Чтобы открыть дверь, создай от develop новую ветку key-branch. Убедись, что в ней присутствует ключ main.key 6 | 5. Создай копию ключа (main-2.key) и зафиксируй изменения 7 | 6. Создай ветку от key-branch и назови ее feature/3-key 8 | 7. Создай вторую копию ключа (main-3.key) в ветке feature/3-key 9 | 8. Зафиксируй изменения. Не забудь оставить название ветки в начале комментария к коммиту. 10 | > "Не задавай вопросов, почему. Программисты всегда говорили что это важно: я и привык." 11 | 9. Подлей изменения из feature/3-key в key-branch 12 | 10. Создай ветку release/1.0 от develop ветки 13 | II. Подлей последовательно key-branch в develop и develop в release/1.0. 14 | -------------------------------------------------------------------------------- /T11D17-1-develop/src/stack.c: -------------------------------------------------------------------------------- 1 | #include "stack.h" 2 | 3 | #include 4 | 5 | struct elem* init(int val) { 6 | struct elem* head = (struct elem*)malloc(sizeof(struct elem)); 7 | head->val = val; 8 | head->next = NULL; 9 | return head; 10 | } 11 | 12 | // Кладет элемент на вершину стека 13 | void push(struct elem** head, int val) { 14 | struct elem* tmp = (struct elem*)malloc(sizeof(struct elem)); 15 | tmp->val = val; 16 | tmp->next = *head; 17 | *head = tmp; 18 | } 19 | 20 | // Снимает элемент с вершины стека 21 | int pop(struct elem** head) { 22 | struct elem* tmp = *head; 23 | int value = (*head)->val; 24 | *head = (*head)->next; 25 | free(tmp); 26 | return value; 27 | } 28 | 29 | void destroy(struct elem** head) { 30 | struct elem* tmp = *head; 31 | while (*head != NULL) { 32 | free(tmp); 33 | *head = (*head)->next; 34 | tmp = *head; 35 | } 36 | } -------------------------------------------------------------------------------- /T09D15-1-develop/src/data_libs/data_stat.c: -------------------------------------------------------------------------------- 1 | double max(double *data, int n) { 2 | double max = *data; 3 | for (int i = 0; i < n; i++) 4 | if (data[i] > max) max = data[i]; 5 | return max; 6 | } 7 | 8 | double min(double *data, int n) { 9 | double min = *data; 10 | for (int i = 0; i < n; i++) 11 | if (data[i] < min) min = data[i]; 12 | return min; 13 | } 14 | 15 | double mean(double *data, int n) { 16 | double mean = 0; 17 | double probability = 1 / (double)n; 18 | for (int i = 0; i < n; i++) mean += data[i] * probability; 19 | return mean; 20 | } 21 | double variance(double *data, int n) { 22 | double mean = 0, square_mean = 0, variance = 0; 23 | double probability = 1 / (double)n; 24 | for (int i = 0; i < n; i++) { 25 | mean += data[i] * probability; 26 | square_mean += data[i] * data[i] * probability; 27 | } 28 | variance = square_mean - mean * mean; 29 | return variance; 30 | } 31 | -------------------------------------------------------------------------------- /P01D06-0-develop/code-samples/one_dimensional_graphics.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | void cross_and_toe_display(int cross_pos, int toe_pos); 4 | 5 | int main() { 6 | int cross_position, toe_position; 7 | printf("Enter the \"X\" and \"O\" position:"); 8 | 9 | if (scanf("%d%d", &cross_position, &toe_position) != 2 || cross_position < 0 || toe_position < 0) { 10 | printf("Invalid position"); 11 | return -1; 12 | } 13 | 14 | cross_and_toe_display(cross_position, toe_position); 15 | } 16 | 17 | void cross_and_toe_display(int cross_pos, int toe_pos) { 18 | char cross = 'X'; 19 | char toe = '0'; 20 | char space = ' '; 21 | int max_pos = (cross_pos > toe_pos) ? cross_pos : toe_pos; 22 | for (int i = 0; i <= max_pos; i++) { 23 | if (i == cross_pos) { 24 | printf("%c", cross); 25 | } else if (i == toe_pos) { 26 | printf("%c", toe); 27 | } else { 28 | printf("%c", space); 29 | } 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /T11D17-1-develop/src/stack_test.c: -------------------------------------------------------------------------------- 1 | #include "stack.h" 2 | 3 | #include 4 | 5 | void test(); 6 | 7 | int main() { test(); } 8 | 9 | void test() { 10 | struct elem* head = init(33); 11 | printf("INITIALIZING WITH VALUE 33\n"); 12 | printf("head->val = %d\n", head->val); 13 | if (head->val == 33) 14 | printf("SUCCESS\n"); 15 | else 16 | printf("FAIL\n"); 17 | push(&head, -333); 18 | printf("PUSHING VALUE -333\n"); 19 | printf("head->val = %d\n", head->val); 20 | if (head->val == -333) 21 | printf("SUCCESS\n"); 22 | else 23 | printf("FAIL\n"); 24 | 25 | printf("POP MUST RETURN -333\n"); 26 | 27 | int res = pop(&head); 28 | printf("pop = %d\n", res); 29 | if (res == -333) 30 | printf("SUCCESS\n"); 31 | else 32 | printf("FAIL\n"); 33 | 34 | printf("NOW HEAD MUST BE VALUE 33\n"); 35 | printf("head->val = %d\n", head->val); 36 | if (head->val == 33) 37 | printf("SUCCESS\n"); 38 | else 39 | printf("FAIL\n"); 40 | destroy(&head); 41 | } 42 | -------------------------------------------------------------------------------- /T03D03-0-develop/materials/instructions_for_testing.md: -------------------------------------------------------------------------------- 1 | # Instructions for running tests. 2 | 3 | In addition to testing for correct output data, the autotest system will 4 | check your program and its source code for the following points: 5 | 6 | * **Style tests.** To check how much the beauty of your code matches 7 | for example, you can test your code using the _clang-format_ utility. 8 | The ```materials/linters``` folder contains the ```.clang-format``` file, which contains 9 | the necessary settings for the style test. This configuration file extends its action to all files that lie with it in the directory 10 | or in the directories below. So in order for these settings to apply to your source code files, 11 | copy ```.clang-format``` to the ```src``` folder. \ 12 | \ 13 | To run the style check, run the following command: \ 14 | ```clang-format -n src/sourcefile_name.c``` \ 15 | \ 16 | To download clang-format, enter one of the following commands in the terminal: \ 17 | ```brew install clang-format``` \ 18 | or if you have root rights (for Ubuntu / Linux Mint / Debian) \ 19 | ```sudo apt install clang-format``` 20 | -------------------------------------------------------------------------------- /T09D15-1-develop/src/main_executable_module/main_executable_module.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | #include "../data_libs/data_io.h" 5 | #include "../data_libs/data_sort.h" 6 | #include "../data_libs/data_stat.h" 7 | #include "../data_module/data_process.h" 8 | #include "../yet_another_decision_module/decision.h" 9 | 10 | int main() { 11 | int is_error = 0; 12 | double *data; 13 | printf("LOAD DATA...\n"); 14 | int n = getSize(); 15 | if (n == -1) is_error = 1; 16 | if (is_error == 0) { 17 | is_error = input(data, n); 18 | } 19 | if (is_error == 0) { 20 | printf("RAW DATA:\n\t"); 21 | output(data, n); 22 | printf("\nNORMALIZED DATA:\n\t"); 23 | normalization(data, n); 24 | output(data, n); 25 | printf("\nSORTED NORMALIZED DATA:\n\t"); 26 | sort(data, n); 27 | output(data, n); 28 | printf("\nFINAL DECISION:\n\t"); 29 | if (make_decision(data, n)) 30 | printf("YES\n"); 31 | else 32 | printf("NO\n"); 33 | } else { 34 | printf("n/a"); 35 | } 36 | return 0; 37 | } -------------------------------------------------------------------------------- /T05D08-0-develop/src/squaring.c: -------------------------------------------------------------------------------- 1 | #include 2 | #define NMAX 10 3 | 4 | int input(int *a, int *n); 5 | void output(int *a, int n); 6 | void squaring(int *a, int n); 7 | 8 | int main() { 9 | int n, data[NMAX]; 10 | if (input(data, &n) == 1) { 11 | printf("n/a"); 12 | return 0; 13 | } else { 14 | squaring(data, n); 15 | output(data, n); 16 | } 17 | return 0; 18 | } 19 | 20 | int input(int *a, int *n) { 21 | if ((scanf("%d", n) != 1) || (*n <= 0) || (*n > NMAX)) { 22 | return 1; 23 | } else { 24 | char c; 25 | for (int *p = a; p - a < *n; p++) { 26 | if ((scanf("%d%c", p, &c) != 1) && (c != ' ' && c != '\n')) { 27 | return 1; 28 | } 29 | } 30 | } 31 | return 0; 32 | } 33 | 34 | void output(int *a, int n) { 35 | for (int *p = a; p - a < n; p++) { 36 | printf("%d", *p); 37 | if (p - a != n - 1) { 38 | printf(" "); 39 | } 40 | } 41 | } 42 | 43 | void squaring(int *a, int n) { 44 | for (int *p = a; p - a < n; p++) { 45 | *p = *p * *p; 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /T04D04-0-develop/materials/instructions_for_testing.md: -------------------------------------------------------------------------------- 1 | # Instructions for running tests. 2 | 3 | In addition to testing for correct output data, the autotest system will 4 | check your program and its source code for the following points: 5 | 6 | * **Style tests.** To check how much the beauty of your code matches 7 | for example, you can test your code using the _clang-format_ utility. 8 | The ```materials/linters``` folder contains the ```.clang-format``` file, which contains 9 | the necessary settings for the style test. This configuration file extends its action to all files that lie with it in the directory 10 | or in the directories below. So in order for these settings to apply to your source code files, 11 | copy ```.clang-format``` to the ```src``` folder. \ 12 | \ 13 | To run the style check, run the following command: \ 14 | ```clang-format -n src/sourcefile_name.c``` \ 15 | \ 16 | To download clang-format, enter one of the following commands in the terminal: \ 17 | ```brew install clang-format``` \ 18 | or if you have root rights (for Ubuntu / Linux Mint / Debian) \ 19 | ```sudo apt install clang-format``` 20 | 21 | 22 | -------------------------------------------------------------------------------- /T03D03-0-develop/materials/instructions_for_testing_rus.md: -------------------------------------------------------------------------------- 1 | # Инструкция по запуску тестов. 2 | 3 | Помимо тестов на корректные выходные данные система автотестирования будет 4 | проверять вашу программу и ее исходный код по следующим пунктам: 5 | 6 | * **Стилевые тесты.** Чтобы проверить, насколько красота вашего кода соответствует 7 | стандартам, вы можете протестировать ваш код с помощью утилиты _clang-format_. В папке ```materials/linters``` лежит файл ```.clang-format```, который содержит необходимые настройки для стилевого теста. Данный конфигурационный файл распространяет свое действие на все файлы, которые лежат с ним в директории или в директориях ниже. Поэтому, чтобы данные настройки применились к вашим файлам с исходным кодом, скопируйте ```.clang-format``` в папку src. \ 8 | \ 9 | Чтобы запустить проверку на стиль, выполните следующую команду: \ 10 | ```clang-format -n src/sourcefile_name.c``` \ 11 | \ 12 | Чтобы скачать clang-format, введите в терминал одну из следующих команд: \ 13 | ```brew install clang-format``` \ 14 | или, если у вас есть root-права (для Ubuntu / Linux Mint / Debian) \ 15 | ```sudo apt install clang-format``` 16 | -------------------------------------------------------------------------------- /P03D20-1-develop/src/rpn.h: -------------------------------------------------------------------------------- 1 | #ifndef SRC_RPN_H_ 2 | #define SRC_RPN_H_ 3 | 4 | #include 5 | #include 6 | 7 | #include "lex_analyzer.h" 8 | 9 | struct node *polish_notation(struct token *data, int n); 10 | int priority(char c); 11 | int push_all(struct node **node_char, struct node **node_double); 12 | void clear_node_char_stack(struct node **node_double, struct node **node_char); 13 | int stack_on_double(struct node **node_double, struct node **node_char, struct token data); 14 | 15 | double exec_pfr(struct token *root, double x, int n); 16 | void inverse(struct node **execution); 17 | void sinus(struct node **execution); 18 | void cosinus(struct node **execution); 19 | void tangent(struct node **execution); 20 | void cotangent(struct node **execution); 21 | void base(struct node **execution); 22 | void logarithm(struct node **execution); 23 | void add(struct node **execution); 24 | void sub(struct node **execution); 25 | void mult(struct node **execution); 26 | void divis(struct node **execution); 27 | void power(struct node **execution); 28 | void replace(struct node **execution, double x); 29 | int choose_res(char c); 30 | 31 | #endif // SRC_RPN_H_ 32 | -------------------------------------------------------------------------------- /T04D04-0-develop/materials/instructions_for_testing_rus.md: -------------------------------------------------------------------------------- 1 | # Инструкция по запуску тестов. 2 | 3 | Помимо тестов на корректные выходные данные система автотестирования будет 4 | проверять вашу программу и ее исходный код по следующим пунктам: 5 | 6 | * **Стилевые тесты.** Чтобы проверить, насколько красота вашего кода соответствует 7 | стандартам, вы можете протестировать ваш код с помощью утилиты _clang-format_. В папке ```materials/linters``` лежит файл ```.clang-format```, который содержит необходимые настройки для стилевого теста. Данный конфигурационный файл распространяет свое действие на все файлы, которые лежат с ним в директории или в директориях ниже. Поэтому, чтобы данные настройки применились к вашим файлам с исходным кодом, скопируйте ```.clang-format``` в папку src. \ 8 | \ 9 | Чтобы запустить проверку на стиль, выполните следующую команду: \ 10 | ```clang-format -n src/sourcefile_name.c``` \ 11 | \ 12 | Чтобы скачать clang-format, введите в терминал одну из следующих команд: \ 13 | ```brew install clang-format``` \ 14 | или, если у вас есть root-права (для Ubuntu / Linux Mint / Debian) \ 15 | ```sudo apt install clang-format``` 16 | 17 | 18 | -------------------------------------------------------------------------------- /T09D15-1-develop/code-samples/makefile_example: -------------------------------------------------------------------------------- 1 | # A makefile consists of targets and commands that need to be executed to reach the target. 2 | 3 | # Let's write a simple Makefile for the project, which consists of the following files: main.c, math.c, math.h, console_gui.c, console_gui.h, common_structures.h 4 | 5 | # "all" is the default target unless otherwise specified. After ":" we specified dependencies for "all" target. In our case it's target "build" 6 | # It means that make utility will run every targets to achieve the "build" target on which "all" depends 7 | all: build 8 | 9 | # "Build" target depends on main.o math.o console_gui.o and build the final executable file of the app 10 | build: main.o math.o console_gui.o 11 | gcc main.o math.o console_gui.o -o main 12 | 13 | # "main.o" target depends on main.c 14 | main.o: main.c 15 | gcc -c main.c 16 | 17 | # "console_gui.o" target depends on console_gui.c 18 | console_gui.o: console_gui.c 19 | gcc -c console_gui.c 20 | 21 | # "math.o" target depends on math.c 22 | math.o: math.c 23 | gcc -c math.c 24 | 25 | # "clean" target tells make utility to clean all of the objects files 26 | clean: 27 | rm -rf *.o main 28 | -------------------------------------------------------------------------------- /T06D09-0-develop/src/sort.c: -------------------------------------------------------------------------------- 1 | #include 2 | #define size 10 3 | int input(int *a); 4 | void output(int *a); 5 | void bubbleSort(int *a); 6 | 7 | int main() { 8 | int is_error = 0; 9 | int data[10]; 10 | is_error = input(data); 11 | if (is_error == 0) { 12 | bubbleSort(data); 13 | output(data); 14 | } else { 15 | printf("n/a"); 16 | } 17 | return 0; 18 | } 19 | 20 | void bubbleSort(int *a) { 21 | for (int i = 0; i < size; i++) { 22 | for (int *p = a; p - a < size - 1; p++) { 23 | if (*p > *(p + 1)) { 24 | int tmp = *p; 25 | *p = *(p + 1); 26 | *(p + 1) = tmp; 27 | } 28 | } 29 | } 30 | } 31 | 32 | int input(int *a) { 33 | int is_error = 0; 34 | 35 | for (int *p = a; p - a < size; p++) { 36 | if (scanf("%d", p) != 1) { 37 | is_error = 1; 38 | return is_error; 39 | } 40 | } 41 | return is_error; 42 | } 43 | 44 | void output(int *a) { 45 | for (int *p = a; p - a < size; p++) { 46 | printf("%d", *p); 47 | if (p - a != size - 1) { 48 | printf(" "); 49 | } 50 | } 51 | } -------------------------------------------------------------------------------- /T04D04-0-develop/src/1948.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | int div(int a, int b) { 5 | int quotient = 0, remains = 0; 6 | for (int i = a - b; i >= 0; i -= b) { 7 | quotient++; 8 | remains = i; 9 | } 10 | if (remains == 0) { 11 | return quotient; 12 | } 13 | } 14 | 15 | // C program to check if a 16 | // number is prime 17 | int simple(int n) { 18 | int i, flag = 1; 19 | 20 | // Ask user for input 21 | // printf("Enter a number: \n"); 22 | 23 | // Store input number in a variable 24 | // scanf("%d", &n); 25 | 26 | // Iterate from 2 to sqrt(n) 27 | for (i = 2; i <= sqrt(n); i++) { 28 | // If n is divisible by any number between 29 | // 2 and n/2, it is not prime 30 | if (n % i == 0) { 31 | flag = 1; 32 | break; 33 | } 34 | } 35 | 36 | if (n <= 1) flag = 0; 37 | 38 | if (flag == 1) { 39 | return 1; 40 | } else { 41 | return -1; 42 | } 43 | } 44 | 45 | int main() { 46 | int a = 4, divider; 47 | // scanf("%d", &a); 48 | for (int k = 1; k <= a; k = k + 1) { 49 | divider = div(a, k); 50 | int maxDivider; 51 | if (simple(divider) == 1) { 52 | maxDivider = divider; 53 | printf("%d", maxDivider); 54 | } 55 | } 56 | printf("%d", divider); 57 | return 0; 58 | } 59 | -------------------------------------------------------------------------------- /T06D09-0-master/src/key9part1.c: -------------------------------------------------------------------------------- 1 | /*------------------------------------ 2 | Здравствуй, человек! 3 | Чтобы получить ключ 4 | поработай с комментариями. 5 | -------------------------------------*/ 6 | 7 | #include 8 | 9 | void input (int *buffer, int *length); 10 | void output (int *buffer, int length); 11 | int sum_numbers(int *buffer, int length); 12 | int find_numbers(int* buffer, int length, int number, int* numbers) 13 | 14 | /*------------------------------------ 15 | Функция получает массив данных 16 | через stdin. 17 | Выдает в stdout особую сумму 18 | и сформированный массив 19 | специальных элементов 20 | (выбранных с помощью найденной суммы): 21 | это и будет частью ключа 22 | -------------------------------------*/ 23 | int main() 24 | { 25 | 26 | } 27 | 28 | /*------------------------------------ 29 | Функция должна находить 30 | сумму четных элементов 31 | с 0-й позиции. 32 | -------------------------------------*/ 33 | int sum_numbers(int *buffer, int length) 34 | { 35 | int sum = 0; 36 | 37 | for (int i = 1; i < length; i++) 38 | { 39 | if (i % 2 != 0) 40 | { 41 | sum = sum + buffer[i]; 42 | } 43 | } 44 | 45 | return sum; 46 | } 47 | 48 | /*------------------------------------ 49 | Функция должна находить 50 | все элементы, на которые нацело 51 | делится переданное число и 52 | записывает их в выходной массив. 53 | -------------------------------------*/ 54 | int find_numbers(int* buffer, int length, int number, int* numbers) 55 | { 56 | 57 | } 58 | -------------------------------------------------------------------------------- /P03D20-1-develop/src/stack.c: -------------------------------------------------------------------------------- 1 | #include "stack.h" 2 | 3 | struct node* init(struct token* data) { 4 | struct node* lst; 5 | lst = (struct node*)malloc(sizeof(struct node)); 6 | data += 0; 7 | lst->data = *data; 8 | lst->next = NULL; 9 | return lst; 10 | } 11 | 12 | void push(struct node** head, struct token* data) { 13 | struct node* temp = (struct node*)malloc(sizeof(struct node)); 14 | temp->next = *head; 15 | if (data) { 16 | data += 0; 17 | temp->data = *data; 18 | } 19 | *head = temp; 20 | } 21 | 22 | struct node* pop(struct node** head) { 23 | struct node* out; 24 | if (*head == NULL) { 25 | out = NULL; 26 | } else { 27 | out = *head; 28 | *head = (*head)->next; 29 | out->next = NULL; 30 | } 31 | return out; 32 | } 33 | 34 | struct node* peek(struct node** head) { 35 | struct node* out; 36 | if (*head == NULL) { 37 | out = NULL; 38 | } else { 39 | head += 0; 40 | out = *head; 41 | } 42 | return out; 43 | } 44 | 45 | void destroy(struct node* root) { 46 | struct node* temp; 47 | temp = root; 48 | while (temp != NULL) { 49 | root = temp->next; 50 | free(temp); 51 | temp = root; 52 | } 53 | } 54 | 55 | int stack_count(struct node* root) { 56 | int count = 0; 57 | struct node* temp = root; 58 | while (temp != NULL) { 59 | temp = temp->next; 60 | count++; 61 | } 62 | return count; 63 | } 64 | -------------------------------------------------------------------------------- /T03D03-0-develop/materials/expressions.txt: -------------------------------------------------------------------------------- 1 | C Expressions 2 | 3 | In any programming language, if we want to perform any calculation or to frame any condition etc., we use a set of symbols to perform the task. These set of symbols makes an expression. 4 | 5 | An expression is a collection of operators and operands that represents a specific value. 6 | 7 | In the above definition, an operator is a symbol that performs tasks like arithmetic operations, logical operations, and conditional operations, etc. 8 | Operands are the values on which the operators perform the task. Here operand can be a direct value or variable or address of memory location. 9 | 10 | In the C programming language, expressions are divided into THREE types. 11 | 12 | - Infix Expression 13 | - Postfix Expression 14 | - Prefix Expression 15 | 16 | The above classification is based on the operator position in the expression. 17 | 18 | Infix Expression 19 | The expression in which the operator is used between operands is called infix expression. 20 | The infix expression has the following general structure. 21 | 22 | Operand1 Operator Operand2 23 | 24 | Postfix Expression 25 | The expression in which the operator is used after operands is called postfix expression. 26 | The postfix expression has the following general structure. 27 | 28 | Operand1 Operand2 Operator 29 | 30 | Prefix Expression 31 | The expression in which the operator is used before operands is called a prefix expression. 32 | The prefix expression has the following general structure. 33 | 34 | Operator Operand1 Operand2 35 | 36 | -------------------------------------------------------------------------------- /T07D10-0-develop/src/sort.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | int input(int **a, int *size); 5 | void output(int *a, int size); 6 | void bubbleSort(int *a, int size); 7 | 8 | int main() { 9 | int is_error = 0, n; 10 | int *data = NULL; 11 | is_error = input(&data, &n); 12 | if (is_error == 0) { 13 | bubbleSort(data, n); 14 | output(data, n); 15 | } else { 16 | printf("n/a"); 17 | } 18 | free(data); 19 | return 0; 20 | } 21 | 22 | void bubbleSort(int *a, int size) { 23 | for (int i = 0; i < size; i++) { 24 | for (int *p = a; p - a < size - 1; p++) { 25 | if (*p > *(p + 1)) { 26 | int tmp = *p; 27 | *p = *(p + 1); 28 | *(p + 1) = tmp; 29 | } 30 | } 31 | } 32 | } 33 | 34 | int input(int **a, int *size) { 35 | if ((scanf("%d", size) != 1) || (*size <= 0)) { 36 | return 1; 37 | } else { 38 | *a = (int *)calloc(*size, sizeof(int)); 39 | if (NULL == a) { 40 | printf("n/a"); 41 | return 1; 42 | } 43 | char c; 44 | for (int *p = *a; p - *a < *size; p++) { 45 | if ((scanf("%d%c", p, &c) != 2) || (c != ' ' && c != '\n')) { 46 | return 1; 47 | } 48 | } 49 | } 50 | return 0; 51 | } 52 | 53 | void output(int *a, int size) { 54 | for (int *p = a; p - a < size; p++) { 55 | printf("%d", *p); 56 | if (p - a != size - 1) { 57 | printf(" "); 58 | } 59 | } 60 | } 61 | -------------------------------------------------------------------------------- /T07D10-0-develop/src/sort_no_leak.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | int input(int **a, int *size); 5 | void output(int *a, int size); 6 | void bubbleSort(int *a, int size); 7 | 8 | int main() { 9 | int is_error = 0, n; 10 | int *data = NULL; 11 | is_error = input(&data, &n); 12 | if (is_error == 0) { 13 | bubbleSort(data, n); 14 | output(data, n); 15 | } else { 16 | printf("n/a"); 17 | } 18 | free(data); 19 | return 0; 20 | } 21 | 22 | void bubbleSort(int *a, int size) { 23 | for (int i = 0; i < size; i++) { 24 | for (int *p = a; p - a < size - 1; p++) { 25 | if (*p > *(p + 1)) { 26 | int tmp = *p; 27 | *p = *(p + 1); 28 | *(p + 1) = tmp; 29 | } 30 | } 31 | } 32 | } 33 | 34 | int input(int **a, int *size) { 35 | if ((scanf("%d", size) != 1) || (*size <= 0)) { 36 | return 1; 37 | } else { 38 | *a = (int *)calloc(*size, sizeof(int)); 39 | if (NULL == a) { 40 | printf("n/a"); 41 | return 1; 42 | } 43 | char c; 44 | for (int *p = *a; p - *a < *size; p++) { 45 | if ((scanf("%d%c", p, &c) != 2) || (c != ' ' && c != '\n')) { 46 | return 1; 47 | } 48 | } 49 | } 50 | return 0; 51 | } 52 | 53 | void output(int *a, int size) { 54 | for (int *p = a; p - a < size; p++) { 55 | printf("%d", *p); 56 | if (p - a != size - 1) { 57 | printf(" "); 58 | } 59 | } 60 | } 61 | -------------------------------------------------------------------------------- /T11D17-1-develop/src/dmanager_module.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | 5 | #include "door_struct.h" 6 | 7 | #define DOORS_COUNT 15 8 | #define MAX_ID_SEED 10000 9 | 10 | void initialize_doors(struct door* doors); 11 | void output(struct door* doors, int n); 12 | 13 | void sort(struct door* a, int size); 14 | 15 | int main() { 16 | struct door doors[DOORS_COUNT]; 17 | initialize_doors(doors); 18 | sort(doors, DOORS_COUNT); 19 | output(doors, DOORS_COUNT); 20 | 21 | return 0; 22 | } 23 | 24 | // Doors initialization function 25 | // ATTENTION!!! 26 | // DO NOT CHANGE! 27 | void initialize_doors(struct door* doors) { 28 | srand(time(0)); 29 | 30 | int seed = rand() % MAX_ID_SEED; 31 | for (int i = 0; i < DOORS_COUNT; i++) { 32 | doors[i].id = (i + seed) % DOORS_COUNT; 33 | doors[i].status = rand() % 2; 34 | } 35 | } 36 | 37 | void sort(struct door* a, int size) { 38 | for (int i = 0; i < size; i++) { 39 | a[i].status = 0; 40 | for (int j = 0; j < size; j++) { 41 | if (a[j].id > a[j + 1].id) { 42 | struct door tmp; 43 | tmp.id = a[j].id; 44 | a[j].id = a[j + 1].id; 45 | a[j + 1].id = tmp.id; 46 | } 47 | } 48 | } 49 | } 50 | 51 | void output(struct door* doors, int n) { 52 | for (int i = 0; i < n; i++) { 53 | printf("%d", doors[i].id); 54 | printf(", "); 55 | printf("%d", doors[i].status); 56 | if (i < n - 1) { 57 | printf("\n"); 58 | } 59 | } 60 | } -------------------------------------------------------------------------------- /T09D15-1-develop/src/main_executable_module/Makefile: -------------------------------------------------------------------------------- 1 | .PHONY: all clean rebuild 2 | 3 | all: main_executable_module.o data_io.o data_stat.o data_sort.o data_process.o decision.o 4 | gcc -o ../../build/Quest_3 main_executable_module.o data_io.o data_stat.o data_sort.o data_process.o decision.o 5 | 6 | main_executable_module.o: main_executable_module.c 7 | gcc -c main_executable_module.c 8 | data_io.o: ../data_libs/data_io.c 9 | gcc -c ../data_libs/data_io.c 10 | data_stat.o: ../data_libs/data_stat.c 11 | gcc -c ../data_libs/data_stat.c 12 | data_sort.o: ../data_libs/data_sort.c 13 | gcc -c ../data_libs/data_sort.c 14 | data_process.o: ../data_module/data_process.c 15 | gcc -c ../data_module/data_process.c 16 | decision.o: ../yet_another_decision_module/decision.c 17 | gcc -c ../yet_another_decision_module/decision.c 18 | 19 | data_process.so: data_process.o data_stat.o 20 | gcc -shared -o data_process.so data_process.o data_stat.o 21 | 22 | data_stat.a: data_stat.o 23 | ar r data_stat.a data_stat.o 24 | 25 | build_with_static: main_executable_module.o data_io.o data_stat.a data_sort.o data_process.o decision.o 26 | gcc -o ../../build/Quest_5 main_executable_module.o data_io.o data_stat.a data_sort.o data_process.o decision.o 27 | 28 | build_with_dynamic: main_executable_module.o data_io.o data_stat.o data_sort.o data_process.so data_process.o decision.o 29 | gcc -o ../../build/Quest_6 main_executable_module.o data_io.o data_stat.o data_sort.o data_process.so data_process.o decision.o 30 | mv data_process.so ../../build/ 31 | 32 | clean: 33 | rm -rf *.o *.a ../../build/*.so 34 | rm ../../build/Quest_* 35 | 36 | rebuild: clean all 37 | -------------------------------------------------------------------------------- /T03D03-0-develop/materials/7 principles of structural programming.md: -------------------------------------------------------------------------------- 1 | # Принципы структурного программирования 2 | 3 | Становление и развитие структурного программирования связано с именем Эдсгера Дейкстры. 4 | * Принцип 1. Следует отказаться от использования оператора безусловного перехода goto. 5 | * Принцип 2. Любая программа строится из трёх базовых управляющих конструкций: последовательность, ветвление, цикл. 6 | * Принцип 3. В программе базовые управляющие конструкции могут быть вложены друг в друга произвольным образом. Никаких других средств управления последовательностью выполнения операций не предусматривается. 7 | * Принцип 4. Повторяющиеся фрагменты программы можно оформить в виде подпрограмм (процедур и функций). Таким же образом (в виде подпрограмм) можно оформить логически целостные фрагменты программы, даже если они не повторяются. 8 | * Принцип 5. Каждую логически законченную группу инструкций следует оформить как блок. Блоки являются основой структурного программирования. 9 | * Принцип 6. Все перечисленные конструкции должны иметь один вход и один выход. 10 | * Принцип 7. Разработка программы ведётся пошагово, методом «сверху вниз» (top-down method). 11 | 12 | Следствия и дополнения вышеизложенных принципов: 13 | 14 | 1. Запрет на использование глобальных переменных 15 | 2. Не более одного выхода из функции. Исключение составляет предварительная проверка аргументов функции. 16 | 3. Не более одного выхода из цикла - это может быть как условие, так и ключевое слово break 17 | 4. Вложенность любых блоков не должна превышать 4 18 | 5. Размер функций ограничен по строкам и составляет 40-50 строк 19 | 20 | ![goto](../misc/images/GOTO.png) 21 | -------------------------------------------------------------------------------- /T06D09-0-master/materials/7 principles of structural programming.md: -------------------------------------------------------------------------------- 1 | # Принципы структурного программирования 2 | 3 | Становление и развитие структурного программирования связано с именем Эдсгера Дейкстры. 4 | * Принцип 1. Следует отказаться от использования оператора безусловного перехода goto. 5 | * Принцип 2. Любая программа строится из трёх базовых управляющих конструкций: последовательность, ветвление, цикл. 6 | * Принцип 3. В программе базовые управляющие конструкции могут быть вложены друг в друга произвольным образом. Никаких других средств управления последовательностью выполнения операций не предусматривается. 7 | * Принцип 4. Повторяющиеся фрагменты программы можно оформить в виде подпрограмм (процедур и функций). Таким же образом (в виде подпрограмм) можно оформить логически целостные фрагменты программы, даже если они не повторяются. 8 | * Принцип 5. Каждую логически законченную группу инструкций следует оформить как блок. Блоки являются основой структурного программирования. 9 | * Принцип 6. Все перечисленные конструкции должны иметь один вход и один выход. 10 | * Принцип 7. Разработка программы ведётся пошагово, методом «сверху вниз» (top-down method). 11 | 12 | Следствия и дополнения вышеизложенных принципов: 13 | 14 | 1. Запрет на использование глобальных переменных 15 | 2. Не более одного выхода из функции. Исключение составляет предварительная проверка аргументов функции. 16 | 3. Не более одного выхода из цикла - это может быть как условие, так и ключевое слово break 17 | 4. Вложенность любых блоков не должна превышать 4 18 | 5. Размер функций ограничен по строкам и составляет 40-50 строк 19 | 20 | ![goto](../misc/eng/images/GOTO.png) 21 | -------------------------------------------------------------------------------- /P01D06-0-develop/materials/7 principles of structural programming.md: -------------------------------------------------------------------------------- 1 | # Принципы структурного программирования 2 | 3 | Становление и развитие структурного программирования связано с именем Эдсгера Дейкстры. 4 | * Принцип 1. Следует отказаться от использования оператора безусловного перехода goto. 5 | * Принцип 2. Любая программа строится из трёх базовых управляющих конструкций: последовательность, ветвление, цикл. 6 | * Принцип 3. В программе базовые управляющие конструкции могут быть вложены друг в друга произвольным образом. Никаких других средств управления последовательностью выполнения операций не предусматривается. 7 | * Принцип 4. Повторяющиеся фрагменты программы можно оформить в виде подпрограмм (процедур и функций). Таким же образом (в виде подпрограмм) можно оформить логически целостные фрагменты программы, даже если они не повторяются. 8 | * Принцип 5. Каждую логически законченную группу инструкций следует оформить как блок. Блоки являются основой структурного программирования. 9 | * Принцип 6. Все перечисленные конструкции должны иметь один вход и один выход. 10 | * Принцип 7. Разработка программы ведётся пошагово, методом «сверху вниз» (top-down method). 11 | 12 | Следствия и дополнения вышеизложенных принципов: 13 | 14 | 1. Запрет на использование глобальных переменных 15 | 2. Не более одного выхода из функции. Исключение составляет предварительная проверка аргументов функции. 16 | 3. Не более одного выхода из цикла - это может быть как условие, так и ключевое слово break 17 | 4. Вложенность любых блоков не должна превышать 4 18 | 5. Размер функций ограничен по строкам и составляет 40-50 строк 19 | 20 | ![goto](../misc/eng/images/GOTO.png) 21 | -------------------------------------------------------------------------------- /P02D13-1-develop/materials/7 principles of structural programming.md: -------------------------------------------------------------------------------- 1 | # Принципы структурного программирования 2 | 3 | Становление и развитие структурного программирования связано с именем Эдсгера Дейкстры. 4 | * Принцип 1. Следует отказаться от использования оператора безусловного перехода goto. 5 | * Принцип 2. Любая программа строится из трёх базовых управляющих конструкций: последовательность, ветвление, цикл. 6 | * Принцип 3. В программе базовые управляющие конструкции могут быть вложены друг в друга произвольным образом. Никаких других средств управления последовательностью выполнения операций не предусматривается. 7 | * Принцип 4. Повторяющиеся фрагменты программы можно оформить в виде подпрограмм (процедур и функций). Таким же образом (в виде подпрограмм) можно оформить логически целостные фрагменты программы, даже если они не повторяются. 8 | * Принцип 5. Каждую логически законченную группу инструкций следует оформить как блок. Блоки являются основой структурного программирования. 9 | * Принцип 6. Все перечисленные конструкции должны иметь один вход и один выход. 10 | * Принцип 7. Разработка программы ведётся пошагово, методом «сверху вниз» (top-down method). 11 | 12 | Следствия и дополнения вышеизложенных принципов: 13 | 14 | 1. Запрет на использование глобальных переменных 15 | 2. Не более одного выхода из функции. Исключение составляет предварительная проверка аргументов функции. 16 | 3. Не более одного выхода из цикла - это может быть как условие, так и ключевое слово break 17 | 4. Вложенность любых блоков не должна превышать 4 18 | 5. Размер функций ограничен по строкам и составляет 40-50 строк 19 | 20 | ![goto](../misc/eng/images/GOTO.png) 21 | -------------------------------------------------------------------------------- /P03D20-1-develop/materials/7 principles of structural programming.md: -------------------------------------------------------------------------------- 1 | # Принципы структурного программирования 2 | 3 | Становление и развитие структурного программирования связано с именем Эдсгера Дейкстры. 4 | * Принцип 1. Следует отказаться от использования оператора безусловного перехода goto. 5 | * Принцип 2. Любая программа строится из трёх базовых управляющих конструкций: последовательность, ветвление, цикл. 6 | * Принцип 3. В программе базовые управляющие конструкции могут быть вложены друг в друга произвольным образом. Никаких других средств управления последовательностью выполнения операций не предусматривается. 7 | * Принцип 4. Повторяющиеся фрагменты программы можно оформить в виде подпрограмм (процедур и функций). Таким же образом (в виде подпрограмм) можно оформить логически целостные фрагменты программы, даже если они не повторяются. 8 | * Принцип 5. Каждую логически законченную группу инструкций следует оформить как блок. Блоки являются основой структурного программирования. 9 | * Принцип 6. Все перечисленные конструкции должны иметь один вход и один выход. 10 | * Принцип 7. Разработка программы ведётся пошагово, методом «сверху вниз» (top-down method). 11 | 12 | Следствия и дополнения вышеизложенных принципов: 13 | 14 | 1. Запрет на использование глобальных переменных 15 | 2. Не более одного выхода из функции. Исключение составляет предварительная проверка аргументов функции. 16 | 3. Не более одного выхода из цикла - это может быть как условие, так и ключевое слово break 17 | 4. Вложенность любых блоков не должна превышать 4 18 | 5. Размер функций ограничен по строкам и составляет 40-50 строк 19 | 20 | ![goto](../misc/eng/images/GOTO.png) 21 | -------------------------------------------------------------------------------- /T04D04-0-develop/materials/7 principles of structural programming.md: -------------------------------------------------------------------------------- 1 | # Принципы структурного программирования 2 | 3 | Становление и развитие структурного программирования связано с именем Эдсгера Дейкстры. 4 | * Принцип 1. Следует отказаться от использования оператора безусловного перехода goto. 5 | * Принцип 2. Любая программа строится из трёх базовых управляющих конструкций: последовательность, ветвление, цикл. 6 | * Принцип 3. В программе базовые управляющие конструкции могут быть вложены друг в друга произвольным образом. Никаких других средств управления последовательностью выполнения операций не предусматривается. 7 | * Принцип 4. Повторяющиеся фрагменты программы можно оформить в виде подпрограмм (процедур и функций). Таким же образом (в виде подпрограмм) можно оформить логически целостные фрагменты программы, даже если они не повторяются. 8 | * Принцип 5. Каждую логически законченную группу инструкций следует оформить как блок. Блоки являются основой структурного программирования. 9 | * Принцип 6. Все перечисленные конструкции должны иметь один вход и один выход. 10 | * Принцип 7. Разработка программы ведётся пошагово, методом «сверху вниз» (top-down method). 11 | 12 | Следствия и дополнения вышеизложенных принципов: 13 | 14 | 1. Запрет на использование глобальных переменных 15 | 2. Не более одного выхода из функции. Исключение составляет предварительная проверка аргументов функции. 16 | 3. Не более одного выхода из цикла - это может быть как условие, так и ключевое слово break 17 | 4. Вложенность любых блоков не должна превышать 4 18 | 5. Размер функций ограничен по строкам и составляет 40-50 строк 19 | 20 | ![goto](../misc/eng/images/GOTO.png) 21 | -------------------------------------------------------------------------------- /T05D08-0-develop/materials/7 principles of structural programming.md: -------------------------------------------------------------------------------- 1 | # Принципы структурного программирования 2 | 3 | Становление и развитие структурного программирования связано с именем Эдсгера Дейкстры. 4 | * Принцип 1. Следует отказаться от использования оператора безусловного перехода goto. 5 | * Принцип 2. Любая программа строится из трёх базовых управляющих конструкций: последовательность, ветвление, цикл. 6 | * Принцип 3. В программе базовые управляющие конструкции могут быть вложены друг в друга произвольным образом. Никаких других средств управления последовательностью выполнения операций не предусматривается. 7 | * Принцип 4. Повторяющиеся фрагменты программы можно оформить в виде подпрограмм (процедур и функций). Таким же образом (в виде подпрограмм) можно оформить логически целостные фрагменты программы, даже если они не повторяются. 8 | * Принцип 5. Каждую логически законченную группу инструкций следует оформить как блок. Блоки являются основой структурного программирования. 9 | * Принцип 6. Все перечисленные конструкции должны иметь один вход и один выход. 10 | * Принцип 7. Разработка программы ведётся пошагово, методом «сверху вниз» (top-down method). 11 | 12 | Следствия и дополнения вышеизложенных принципов: 13 | 14 | 1. Запрет на использование глобальных переменных 15 | 2. Не более одного выхода из функции. Исключение составляет предварительная проверка аргументов функции. 16 | 3. Не более одного выхода из цикла - это может быть как условие, так и ключевое слово break 17 | 4. Вложенность любых блоков не должна превышать 4 18 | 5. Размер функций ограничен по строкам и составляет 40-50 строк 19 | 20 | ![goto](../misc/eng/images/GOTO.png) 21 | -------------------------------------------------------------------------------- /T06D09-0-develop/materials/7 principles of structural programming.md: -------------------------------------------------------------------------------- 1 | # Принципы структурного программирования 2 | 3 | Становление и развитие структурного программирования связано с именем Эдсгера Дейкстры. 4 | * Принцип 1. Следует отказаться от использования оператора безусловного перехода goto. 5 | * Принцип 2. Любая программа строится из трёх базовых управляющих конструкций: последовательность, ветвление, цикл. 6 | * Принцип 3. В программе базовые управляющие конструкции могут быть вложены друг в друга произвольным образом. Никаких других средств управления последовательностью выполнения операций не предусматривается. 7 | * Принцип 4. Повторяющиеся фрагменты программы можно оформить в виде подпрограмм (процедур и функций). Таким же образом (в виде подпрограмм) можно оформить логически целостные фрагменты программы, даже если они не повторяются. 8 | * Принцип 5. Каждую логически законченную группу инструкций следует оформить как блок. Блоки являются основой структурного программирования. 9 | * Принцип 6. Все перечисленные конструкции должны иметь один вход и один выход. 10 | * Принцип 7. Разработка программы ведётся пошагово, методом «сверху вниз» (top-down method). 11 | 12 | Следствия и дополнения вышеизложенных принципов: 13 | 14 | 1. Запрет на использование глобальных переменных 15 | 2. Не более одного выхода из функции. Исключение составляет предварительная проверка аргументов функции. 16 | 3. Не более одного выхода из цикла - это может быть как условие, так и ключевое слово break 17 | 4. Вложенность любых блоков не должна превышать 4 18 | 5. Размер функций ограничен по строкам и составляет 40-50 строк 19 | 20 | ![goto](../misc/eng/images/GOTO.png) 21 | -------------------------------------------------------------------------------- /T07D10-0-develop/materials/7 principles of structural programming.md: -------------------------------------------------------------------------------- 1 | # Принципы структурного программирования 2 | 3 | Становление и развитие структурного программирования связано с именем Эдсгера Дейкстры. 4 | * Принцип 1. Следует отказаться от использования оператора безусловного перехода goto. 5 | * Принцип 2. Любая программа строится из трёх базовых управляющих конструкций: последовательность, ветвление, цикл. 6 | * Принцип 3. В программе базовые управляющие конструкции могут быть вложены друг в друга произвольным образом. Никаких других средств управления последовательностью выполнения операций не предусматривается. 7 | * Принцип 4. Повторяющиеся фрагменты программы можно оформить в виде подпрограмм (процедур и функций). Таким же образом (в виде подпрограмм) можно оформить логически целостные фрагменты программы, даже если они не повторяются. 8 | * Принцип 5. Каждую логически законченную группу инструкций следует оформить как блок. Блоки являются основой структурного программирования. 9 | * Принцип 6. Все перечисленные конструкции должны иметь один вход и один выход. 10 | * Принцип 7. Разработка программы ведётся пошагово, методом «сверху вниз» (top-down method). 11 | 12 | Следствия и дополнения вышеизложенных принципов: 13 | 14 | 1. Запрет на использование глобальных переменных 15 | 2. Не более одного выхода из функции. Исключение составляет предварительная проверка аргументов функции. 16 | 3. Не более одного выхода из цикла - это может быть как условие, так и ключевое слово break 17 | 4. Вложенность любых блоков не должна превышать 4 18 | 5. Размер функций ограничен по строкам и составляет 40-50 строк 19 | 20 | ![goto](../misc/eng/images/GOTO.png) 21 | -------------------------------------------------------------------------------- /T08D11-1-develop/materials/7 principles of structural programming.md: -------------------------------------------------------------------------------- 1 | # Принципы структурного программирования 2 | 3 | Становление и развитие структурного программирования связано с именем Эдсгера Дейкстры. 4 | * Принцип 1. Следует отказаться от использования оператора безусловного перехода goto. 5 | * Принцип 2. Любая программа строится из трёх базовых управляющих конструкций: последовательность, ветвление, цикл. 6 | * Принцип 3. В программе базовые управляющие конструкции могут быть вложены друг в друга произвольным образом. Никаких других средств управления последовательностью выполнения операций не предусматривается. 7 | * Принцип 4. Повторяющиеся фрагменты программы можно оформить в виде подпрограмм (процедур и функций). Таким же образом (в виде подпрограмм) можно оформить логически целостные фрагменты программы, даже если они не повторяются. 8 | * Принцип 5. Каждую логически законченную группу инструкций следует оформить как блок. Блоки являются основой структурного программирования. 9 | * Принцип 6. Все перечисленные конструкции должны иметь один вход и один выход. 10 | * Принцип 7. Разработка программы ведётся пошагово, методом «сверху вниз» (top-down method). 11 | 12 | Следствия и дополнения вышеизложенных принципов: 13 | 14 | 1. Запрет на использование глобальных переменных 15 | 2. Не более одного выхода из функции. Исключение составляет предварительная проверка аргументов функции. 16 | 3. Не более одного выхода из цикла - это может быть как условие, так и ключевое слово break 17 | 4. Вложенность любых блоков не должна превышать 4 18 | 5. Размер функций ограничен по строкам и составляет 40-50 строк 19 | 20 | ![goto](../misc/eng/images/GOTO.png) 21 | -------------------------------------------------------------------------------- /T09D15-1-develop/materials/7 principles of structural programming.md: -------------------------------------------------------------------------------- 1 | # Принципы структурного программирования 2 | 3 | Становление и развитие структурного программирования связано с именем Эдсгера Дейкстры. 4 | * Принцип 1. Следует отказаться от использования оператора безусловного перехода goto. 5 | * Принцип 2. Любая программа строится из трёх базовых управляющих конструкций: последовательность, ветвление, цикл. 6 | * Принцип 3. В программе базовые управляющие конструкции могут быть вложены друг в друга произвольным образом. Никаких других средств управления последовательностью выполнения операций не предусматривается. 7 | * Принцип 4. Повторяющиеся фрагменты программы можно оформить в виде подпрограмм (процедур и функций). Таким же образом (в виде подпрограмм) можно оформить логически целостные фрагменты программы, даже если они не повторяются. 8 | * Принцип 5. Каждую логически законченную группу инструкций следует оформить как блок. Блоки являются основой структурного программирования. 9 | * Принцип 6. Все перечисленные конструкции должны иметь один вход и один выход. 10 | * Принцип 7. Разработка программы ведётся пошагово, методом «сверху вниз» (top-down method). 11 | 12 | Следствия и дополнения вышеизложенных принципов: 13 | 14 | 1. Запрет на использование глобальных переменных 15 | 2. Не более одного выхода из функции. Исключение составляет предварительная проверка аргументов функции. 16 | 3. Не более одного выхода из цикла - это может быть как условие, так и ключевое слово break 17 | 4. Вложенность любых блоков не должна превышать 4 18 | 5. Размер функций ограничен по строкам и составляет 40-50 строк 19 | 20 | ![goto](../misc/eng/images/GOTO.png) 21 | -------------------------------------------------------------------------------- /T10D16-1-develop/materials/7 principles of structural programming.md: -------------------------------------------------------------------------------- 1 | # Принципы структурного программирования 2 | 3 | Становление и развитие структурного программирования связано с именем Эдсгера Дейкстры. 4 | * Принцип 1. Следует отказаться от использования оператора безусловного перехода goto. 5 | * Принцип 2. Любая программа строится из трёх базовых управляющих конструкций: последовательность, ветвление, цикл. 6 | * Принцип 3. В программе базовые управляющие конструкции могут быть вложены друг в друга произвольным образом. Никаких других средств управления последовательностью выполнения операций не предусматривается. 7 | * Принцип 4. Повторяющиеся фрагменты программы можно оформить в виде подпрограмм (процедур и функций). Таким же образом (в виде подпрограмм) можно оформить логически целостные фрагменты программы, даже если они не повторяются. 8 | * Принцип 5. Каждую логически законченную группу инструкций следует оформить как блок. Блоки являются основой структурного программирования. 9 | * Принцип 6. Все перечисленные конструкции должны иметь один вход и один выход. 10 | * Принцип 7. Разработка программы ведётся пошагово, методом «сверху вниз» (top-down method). 11 | 12 | Следствия и дополнения вышеизложенных принципов: 13 | 14 | 1. Запрет на использование глобальных переменных 15 | 2. Не более одного выхода из функции. Исключение составляет предварительная проверка аргументов функции. 16 | 3. Не более одного выхода из цикла - это может быть как условие, так и ключевое слово break 17 | 4. Вложенность любых блоков не должна превышать 4 18 | 5. Размер функций ограничен по строкам и составляет 40-50 строк 19 | 20 | ![goto](../misc/eng/images/GOTO.png) 21 | -------------------------------------------------------------------------------- /T11D17-1-develop/materials/7 principles of structural programming.md: -------------------------------------------------------------------------------- 1 | # Принципы структурного программирования 2 | 3 | Становление и развитие структурного программирования связано с именем Эдсгера Дейкстры. 4 | * Принцип 1. Следует отказаться от использования оператора безусловного перехода goto. 5 | * Принцип 2. Любая программа строится из трёх базовых управляющих конструкций: последовательность, ветвление, цикл. 6 | * Принцип 3. В программе базовые управляющие конструкции могут быть вложены друг в друга произвольным образом. Никаких других средств управления последовательностью выполнения операций не предусматривается. 7 | * Принцип 4. Повторяющиеся фрагменты программы можно оформить в виде подпрограмм (процедур и функций). Таким же образом (в виде подпрограмм) можно оформить логически целостные фрагменты программы, даже если они не повторяются. 8 | * Принцип 5. Каждую логически законченную группу инструкций следует оформить как блок. Блоки являются основой структурного программирования. 9 | * Принцип 6. Все перечисленные конструкции должны иметь один вход и один выход. 10 | * Принцип 7. Разработка программы ведётся пошагово, методом «сверху вниз» (top-down method). 11 | 12 | Следствия и дополнения вышеизложенных принципов: 13 | 14 | 1. Запрет на использование глобальных переменных 15 | 2. Не более одного выхода из функции. Исключение составляет предварительная проверка аргументов функции. 16 | 3. Не более одного выхода из цикла - это может быть как условие, так и ключевое слово break 17 | 4. Вложенность любых блоков не должна превышать 4 18 | 5. Размер функций ограничен по строкам и составляет 40-50 строк 19 | 20 | ![goto](../misc/eng/images/GOTO.png) 21 | -------------------------------------------------------------------------------- /T13D22-1-develop/materials/7 principles of structural programming.md: -------------------------------------------------------------------------------- 1 | # Принципы структурного программирования 2 | 3 | Становление и развитие структурного программирования связано с именем Эдсгера Дейкстры. 4 | * Принцип 1. Следует отказаться от использования оператора безусловного перехода goto. 5 | * Принцип 2. Любая программа строится из трёх базовых управляющих конструкций: последовательность, ветвление, цикл. 6 | * Принцип 3. В программе базовые управляющие конструкции могут быть вложены друг в друга произвольным образом. Никаких других средств управления последовательностью выполнения операций не предусматривается. 7 | * Принцип 4. Повторяющиеся фрагменты программы можно оформить в виде подпрограмм (процедур и функций). Таким же образом (в виде подпрограмм) можно оформить логически целостные фрагменты программы, даже если они не повторяются. 8 | * Принцип 5. Каждую логически законченную группу инструкций следует оформить как блок. Блоки являются основой структурного программирования. 9 | * Принцип 6. Все перечисленные конструкции должны иметь один вход и один выход. 10 | * Принцип 7. Разработка программы ведётся пошагово, методом «сверху вниз» (top-down method). 11 | 12 | Следствия и дополнения вышеизложенных принципов: 13 | 14 | 1. Запрет на использование глобальных переменных 15 | 2. Не более одного выхода из функции. Исключение составляет предварительная проверка аргументов функции. 16 | 3. Не более одного выхода из цикла - это может быть как условие, так и ключевое слово break 17 | 4. Вложенность любых блоков не должна превышать 4 18 | 5. Размер функций ограничен по строкам и составляет 40-50 строк 19 | 20 | ![goto](../misc/eng/images/GOTO.png) 21 | -------------------------------------------------------------------------------- /T05D08-0-develop/src/search.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #define NMAX 30 4 | 5 | int input(int *a, int *n); 6 | int search(int *a, int n); 7 | double mean(int *a, int n); 8 | double variance(int *a, int n); 9 | 10 | int main() { 11 | int n, data[NMAX]; 12 | if (input(data, &n) == 1) { 13 | printf("n/a"); 14 | return 1; 15 | } else { 16 | printf("%d", search(data, n)); 17 | } 18 | 19 | return 0; 20 | } 21 | 22 | int input(int *a, int *n) { 23 | if ((scanf("%d", n) != 1) || (*n <= 0) || (*n > NMAX)) { 24 | return 1; 25 | } else { 26 | char c; 27 | for (int *p = a; p - a < *n; p++) { 28 | if ((scanf("%d%c", p, &c) != 1) && (c != ' ' && c != '\n')) { 29 | return 1; 30 | } 31 | } 32 | } 33 | return 0; 34 | } 35 | 36 | double mean(int *a, int n) { 37 | double mean = 0; 38 | double probability = 1 / (double)n; 39 | for (int *p = a; p - a < n; p++) { 40 | mean += (double)*p * probability; 41 | } 42 | return mean; 43 | } 44 | 45 | double variance(int *a, int n) { 46 | double mean = 0, square_mean = 0, variance = 0; 47 | double probability = 1 / (double)n; 48 | for (int *p = a; p - a < n; p++) { 49 | mean += (double)*p * probability; 50 | square_mean += (double)(*p * *p) * probability; 51 | } 52 | variance = square_mean - mean * mean; 53 | return variance; 54 | } 55 | 56 | int search(int *a, int n) { 57 | double mean_v = mean(a, n); 58 | double variance_v = variance(a, n); 59 | for (int *p = a; p - a < n; p++) { 60 | if (*p >= mean_v && *p <= (mean_v + 3 * sqrt(variance_v)) && *p != 0 && *p % 2 == 0) { 61 | return *p; 62 | } 63 | } 64 | return 0; 65 | } 66 | -------------------------------------------------------------------------------- /P02D13-1-develop/materials/instructions_for_testing.md: -------------------------------------------------------------------------------- 1 | # Instructions for running tests. 2 | 3 | In addition to testing for correct output data, the autotest system will 4 | check your program and its source code for the following points: 5 | 6 | * **Style tests.** To check how much the beauty of your code matches 7 | for example, you can test your code using the _clang-format_ utility. 8 | The ```materials/linters``` folder contains the ```.clang-format``` file, which contains 9 | the necessary settings for the style test. This configuration file extends its action to all files that lie with it in the directory 10 | or in the directories below. So in order for these settings to apply to your source code files, 11 | copy ```.clang-format``` to the ```src``` folder. \ 12 | \ 13 | To run the style check, run the following command: \ 14 | ```clang-format -n src/sourcefile_name.c``` \ 15 | \ 16 | To download clang-format, enter one of the following commands in the terminal: \ 17 | ```brew install clang-format``` \ 18 | or if you have root rights (for Ubuntu / Linux Mint / Debian) \ 19 | ```sudo apt install clang-format``` 20 | 21 | 22 | * **Static code analysis.** Sometimes (or not quite sometimes) it happens that 23 | a correctly compiled C program runs completely incorrectly or terminates 24 | with an error trying to access the wrong memory area. To prevent this from happening 25 | errors at the stage of writing the program, use special utilities that analyze 26 | check your source code for potential errors. Our autotest system uses 27 | ```cppcheck``` for this. To install this utility, enter one of the following commands in the terminal: \ 28 | ```brew install cppcheck``` \ 29 | or if you have root rights (for Ubuntu / Linux Mint / Debian) \ 30 | ```sudo apt install cppcheck``` \ 31 | \ 32 | By installing cppcheck, you can test your source code: \ 33 | ```cppcheck --enable=all --suppress=missingIncludeSystem src/soursefile_name.c``` \ 34 | You can also check all the source code files in the directory at once: \ 35 | ```cppcheck --enable=all --suppress=missingIncludeSystem src/``` -------------------------------------------------------------------------------- /P01D06-0-develop/materials/instructions_for_testing.md: -------------------------------------------------------------------------------- 1 | # Instructions for running tests. 2 | 3 | In addition to testing for correct output data, the autotest system will 4 | check your program and its source code for the following points: 5 | 6 | * **Style tests.** To check how much the beauty of your code matches 7 | for example, you can test your code using the _clang-format_ utility. 8 | The ```materials/linters``` folder contains the ```.clang-format``` file, which contains 9 | the necessary settings for the style test. This configuration file extends its action to all files that lie with it in the directory 10 | or in the directories below. So in order for these settings to apply to your source code files, 11 | copy ```.clang-format``` to the ```src``` folder. \ 12 | \ 13 | To run the style check, run the following command: \ 14 | ```clang-format -n src/sourcefile_name.c``` \ 15 | \ 16 | To download clang-format, enter one of the following commands in the terminal: \ 17 | ```brew install clang-format``` \ 18 | or if you have root rights (for Ubuntu / Linux Mint / Debian) \ 19 | ```sudo apt install clang-format``` 20 | 21 | 22 | * **Static code analysis.** Sometimes (or not quite sometimes) it happens that 23 | a correctly compiled C program runs completely incorrectly or terminates 24 | with an error trying to access the wrong memory area. To prevent this from happening 25 | errors at the stage of writing the program, use special utilities that analyze 26 | check your source code for potential errors. Our autotest system uses 27 | ```cppcheck``` for this. To install this utility, enter one of the following commands in the terminal: \ 28 | ```brew install cppcheck``` \ 29 | or if you have root rights (for Ubuntu / Linux Mint / Debian) \ 30 | ```sudo apt install cppcheck``` \ 31 | \ 32 | By installing cppcheck, you can test your source code: \ 33 | ```cppcheck --enable=all --suppress=missingIncludeSystem src/soursefile_name.c``` \ 34 | You can also check all the source code files in the directory at once: \ 35 | ```cppcheck --enable=all --suppress=missingIncludeSystem src/``` 36 | -------------------------------------------------------------------------------- /P03D20-1-develop/materials/instructions_for_testing.md: -------------------------------------------------------------------------------- 1 | # Instructions for running tests. 2 | 3 | In addition to testing for correct output data, the autotest system will 4 | check your program and its source code for the following points: 5 | 6 | * **Style tests.** To check how much the beauty of your code matches 7 | for example, you can test your code using the _clang-format_ utility. 8 | The ```materials/linters``` folder contains the ```.clang-format``` file, which contains 9 | the necessary settings for the style test. This configuration file extends its action to all files that lie with it in the directory 10 | or in the directories below. So in order for these settings to apply to your source code files, 11 | copy ```.clang-format``` to the ```src``` folder. \ 12 | \ 13 | To run the style check, run the following command: \ 14 | ```clang-format -n src/sourcefile_name.c``` \ 15 | \ 16 | To download clang-format, enter one of the following commands in the terminal: \ 17 | ```brew install clang-format``` \ 18 | or if you have root rights (for Ubuntu / Linux Mint / Debian) \ 19 | ```sudo apt install clang-format``` 20 | 21 | 22 | * **Static code analysis.** Sometimes (or not quite sometimes) it happens that 23 | a correctly compiled C program runs completely incorrectly or terminates 24 | with an error trying to access the wrong memory area. To prevent this from happening 25 | errors at the stage of writing the program, use special utilities that analyze 26 | check your source code for potential errors. Our autotest system uses 27 | ```cppcheck``` for this. To install this utility, enter one of the following commands in the terminal: \ 28 | ```brew install cppcheck``` \ 29 | or if you have root rights (for Ubuntu / Linux Mint / Debian) \ 30 | ```sudo apt install cppcheck``` \ 31 | \ 32 | By installing cppcheck, you can test your source code: \ 33 | ```cppcheck --enable=all --suppress=missingIncludeSystem src/soursefile_name.c``` \ 34 | You can also check all the source code files in the directory at once: \ 35 | ```cppcheck --enable=all --suppress=missingIncludeSystem src/``` 36 | -------------------------------------------------------------------------------- /P01D06-0-develop/materials/instructions_for_testing_rus.md: -------------------------------------------------------------------------------- 1 | # Инструкция по запуску тестов. 2 | 3 | Помимо тестов на корректные выходные данные система автотестирования будет 4 | проверять вашу программу и ее исходный код по следующим пунктам: 5 | 6 | * **Стилевые тесты.** Чтобы проверить, насколько красота вашего кода соответствует 7 | стандартам, вы можете протестировать ваш код с помощью утилиты _clang-format_. В папке ```materials/linters``` лежит файл ```.clang-format```, который содержит необходимые настройки для стилевого теста. Данный конфигурационный файл распространяет свое действие на все файлы, которые лежат с ним в директории или в директориях ниже. Поэтому, чтобы данные настройки применились к вашим файлам с исходным кодом, скопируйте ```.clang-format``` в папку src. \ 8 | \ 9 | Чтобы запустить проверку на стиль, выполните следующую команду: \ 10 | ```clang-format -n src/sourcefile_name.c``` \ 11 | \ 12 | Чтобы скачать clang-format, введите в терминал одну из следующих команд: \ 13 | ```brew install clang-format``` \ 14 | или, если у вас есть root-права (для Ubuntu / Linux Mint / Debian) \ 15 | ```sudo apt install clang-format``` 16 | 17 | 18 | * **Статический анализ кода.** Иногда (или не совсем иногда) встречается такое, что 19 | корректно компилирующаяся C-программа работает совершенно неправильно или завершается 20 | с ошибкой попытки доступа не к своей области памяти. Чтобы предотвратить подобные 21 | ошибки на этапе написания программы, используют специальные утилиты, которые анализируют 22 | ваш исходный код на предмет потенциальных ошибок. Наша система автотестов использует 23 | для этого ```cppcheck```. Чтобы установить эту утилиту, введите в терминал одну из следующих команд: \ 24 | ```brew install cppcheck``` \ 25 | или, если у вас есть root-права (для Ubuntu / Linux Mint / Debian) \ 26 | ```sudo apt install cppcheck``` \ 27 | \ 28 | Установив cppcheck, вы можете протестировать ваш исходный код: \ 29 | ```cppcheck --enable=all --suppress=missingIncludeSystem src/soursefile_name.c``` \ 30 | Также можно проверить сразу все файлы с исходным кодом в директории: \ 31 | ```cppcheck --enable=all --suppress=missingIncludeSystem src/``` 32 | -------------------------------------------------------------------------------- /P02D13-1-develop/materials/instructions_for_testing_rus.md: -------------------------------------------------------------------------------- 1 | # Инструкция по запуску тестов. 2 | 3 | Помимо тестов на корректные выходные данные система автотестирования будет 4 | проверять вашу программу и ее исходный код по следующим пунктам: 5 | 6 | * **Стилевые тесты.** Чтобы проверить, насколько красота вашего кода соответствует 7 | стандартам, вы можете протестировать ваш код с помощью утилиты _clang-format_. В папке ```materials/linters``` лежит файл ```.clang-format```, который содержит необходимые настройки для стилевого теста. Данный конфигурационный файл распространяет свое действие на все файлы, которые лежат с ним в директории или в директориях ниже. Поэтому, чтобы данные настройки применились к вашим файлам с исходным кодом, скопируйте ```.clang-format``` в папку src. \ 8 | \ 9 | Чтобы запустить проверку на стиль, выполните следующую команду: \ 10 | ```clang-format -n src/sourcefile_name.c``` \ 11 | \ 12 | Чтобы скачать clang-format, введите в терминал одну из следующих команд: \ 13 | ```brew install clang-format``` \ 14 | или, если у вас есть root-права (для Ubuntu / Linux Mint / Debian) \ 15 | ```sudo apt install clang-format``` 16 | 17 | 18 | * **Статический анализ кода.** Иногда (или не совсем иногда) встречается такое, что 19 | корректно компилирующаяся C-программа работает совершенно неправильно или завершается 20 | с ошибкой попытки доступа не к своей области памяти. Чтобы предотвратить подобные 21 | ошибки на этапе написания программы, используют специальные утилиты, которые анализируют 22 | ваш исходный код на предмет потенциальных ошибок. Наша система автотестов использует 23 | для этого ```cppcheck```. Чтобы установить эту утилиту, введите в терминал одну из следующих команд: \ 24 | ```brew install cppcheck``` \ 25 | или, если у вас есть root-права (для Ubuntu / Linux Mint / Debian) \ 26 | ```sudo apt install cppcheck``` \ 27 | \ 28 | Установив cppcheck, вы можете протестировать ваш исходный код: \ 29 | ```cppcheck --enable=all --suppress=missingIncludeSystem src/soursefile_name.c``` \ 30 | Также можно проверить сразу все файлы с исходным кодом в директории: \ 31 | ```cppcheck --enable=all --suppress=missingIncludeSystem src/``` 32 | -------------------------------------------------------------------------------- /P03D20-1-develop/materials/instructions_for_testing_rus.md: -------------------------------------------------------------------------------- 1 | # Инструкция по запуску тестов. 2 | 3 | Помимо тестов на корректные выходные данные система автотестирования будет 4 | проверять вашу программу и ее исходный код по следующим пунктам: 5 | 6 | * **Стилевые тесты.** Чтобы проверить, насколько красота вашего кода соответствует 7 | стандартам, вы можете протестировать ваш код с помощью утилиты _clang-format_. В папке ```materials/linters``` лежит файл ```.clang-format```, который содержит необходимые настройки для стилевого теста. Данный конфигурационный файл распространяет свое действие на все файлы, которые лежат с ним в директории или в директориях ниже. Поэтому, чтобы данные настройки применились к вашим файлам с исходным кодом, скопируйте ```.clang-format``` в папку src. \ 8 | \ 9 | Чтобы запустить проверку на стиль, выполните следующую команду: \ 10 | ```clang-format -n src/sourcefile_name.c``` \ 11 | \ 12 | Чтобы скачать clang-format, введите в терминал одну из следующих команд: \ 13 | ```brew install clang-format``` \ 14 | или, если у вас есть root-права (для Ubuntu / Linux Mint / Debian) \ 15 | ```sudo apt install clang-format``` 16 | 17 | 18 | * **Статический анализ кода.** Иногда (или не совсем иногда) встречается такое, что 19 | корректно компилирующаяся C-программа работает совершенно неправильно или завершается 20 | с ошибкой попытки доступа не к своей области памяти. Чтобы предотвратить подобные 21 | ошибки на этапе написания программы, используют специальные утилиты, которые анализируют 22 | ваш исходный код на предмет потенциальных ошибок. Наша система автотестов использует 23 | для этого ```cppcheck```. Чтобы установить эту утилиту, введите в терминал одну из следующих команд: \ 24 | ```brew install cppcheck``` \ 25 | или, если у вас есть root-права (для Ubuntu / Linux Mint / Debian) \ 26 | ```sudo apt install cppcheck``` \ 27 | \ 28 | Установив cppcheck, вы можете протестировать ваш исходный код: \ 29 | ```cppcheck --enable=all --suppress=missingIncludeSystem src/soursefile_name.c``` \ 30 | Также можно проверить сразу все файлы с исходным кодом в директории: \ 31 | ```cppcheck --enable=all --suppress=missingIncludeSystem src/``` 32 | -------------------------------------------------------------------------------- /T08D11-1-develop/materials/matrices_rus.md: -------------------------------------------------------------------------------- 1 | # Расчёт определителя матрицы 2 | Пусть дана матрица **A2** 3 | 4 | ![matrix1](misc/matrix/matrix1.png) 5 | 6 | **Определитель матрицы** является одной из числовых характеристик квадратной матрицы. В математике он обозначается следующим образом: 7 | 8 | ![matrix2](misc/matrix/matrix2.png) 9 | 10 | ## Примеры рассчёта определителя матрицы 11 | 12 | ### Определитель матрицы 2х2 13 | 14 | Формула расчёта матрицы 2х2: 15 | 16 | ![matrix3](misc/matrix/matrix3.png) 17 | 18 | Пример расчёта матрицы 2х2: 19 | 20 | ![matrix4](misc/matrix/matrix4.png) 21 | 22 | ### Определитель матрицы 3х3 23 | 24 | Формула расчёта матрицы 3х3: 25 | 26 | ![matrix5](misc/matrix/matrix5.png) 27 | 28 | Пример расчёта матрицы 3х3: 29 | 30 | ![matrix6](misc/matrix/matrix6.png) 31 | 32 | Для получения итогового значения определителя матрицы пользуемся формулой для вычисления определителя матрицы 2х2. 33 | 34 | ### Определитель матрицы 4х4 35 | 36 | Формула расчёта матрицы 4х4: 37 | 38 | ![matrix7](misc/matrix/matrix7.png) 39 | 40 | Для получения итогового значения определителя матрицы пользуемся формулой для вычисления определителя матрицы 3х3. 41 | 42 | # Примеры рассчёта обратной матрицы 43 | 44 | Обратная матрица обозначается как имя матрицы в минус первой степени и рассчитывается по следующей формуле: 45 | 46 | ![matrix8](misc/matrix/matrix8.png), где ![matrix9](misc/matrix/matrix9.png) - определитель матрицы, а ![matrix10](misc/matrix/matrix10.png) - транспонированная матрица алгебраических дополнений. Обратной матрицы не существует, если определитель матрицы равен нулю. 47 | 48 | ## Расчёт матрицы алгебраических дополнений 49 | 50 | Пусть дана матрица: 51 | 52 | ![matrix11](misc/matrix/matrix11.png) 53 | 54 | Тогда матрица алгебраических дополнений будет равна: 55 | 56 | ![matrix12](misc/matrix/matrix12.png) 57 | 58 | Матрица алгебраических дополнений состоит из миноров. Рассмотрим несколько примеров нахождения миноров: 59 | 60 | ![matrix13](misc/matrix/matrix13.png) 61 | 62 | ## Транспонирование матрицы 63 | 64 | Далее необходимо полученную матрицу алгебраических дополнений транспонировать. Транспонированная матрица — это матрица полученная из исходной матрицы путём замены строк на столбцы. Ниже приведен пример с исходной матрицей алгеброических дополнений и полученной транспонированной матрицы: 65 | 66 | ![matrix14](misc/matrix/matrix14.png) 67 | 68 | 69 | -------------------------------------------------------------------------------- /T01D01-0-develop/src/ai_door_management_module.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | count=0 4 | 5 | echo 'Здравствуйте! Вы запустили модуль ИИ, контролирующий все двери комплекса.' 6 | echo 'Загрузка необходимых файлов с данными...' 7 | if [ -d "door_management_files" ]; then 8 | uname_out="$(uname -s)" 9 | case "${uname_out}" in 10 | Linux*) machine=Linux;; 11 | Darwin*) machine=Mac;; 12 | CYGWIN*) machine=Cygwin;; 13 | MINGW*) machine=MinGw;; 14 | *) machine="UNKNOWN:${unameOut}" 15 | esac 16 | 17 | cd door_management_files 18 | echo 19 | echo 20 | echo '-------------------------------------' 21 | echo 'Загрузка файлов конфигурации дверей...' 22 | echo 23 | if [ -d "door_configuration" ]; then 24 | cd door_configuration 25 | for file in `find . -maxdepth 1 -type f -name "*.conf"` 26 | do 27 | wc -l $file; 28 | if [ "$machine" == "Mac" ] 29 | then 30 | stat -f %z $file; 31 | else 32 | stat -c %s $file; 33 | fi 34 | 35 | cat $file; 36 | count=$[ $count + 1 ] 37 | done 38 | cd .. 39 | else 40 | echo "door_configuration: No such file or directory" 41 | fi 42 | 43 | echo 44 | echo 45 | echo '-------------------------------------' 46 | echo 'Загрузка карты дверей...' 47 | echo 48 | if [ -d "door_map" ]; then 49 | cd door_map 50 | cat door_map_1.1 51 | if [ $? -eq 0 ]; then 52 | count=$[ $count + 1 ] 53 | fi 54 | cd .. 55 | else 56 | echo "door_map: No such file or directory" 57 | fi 58 | 59 | echo 60 | echo 61 | echo '-------------------------------------' 62 | echo 'Чтение логов дверей...' 63 | echo 64 | if [ -d "door_logs" ]; then 65 | cd door_logs 66 | for file in `find . -maxdepth 1 -type f -name "*.log"` 67 | do 68 | wc -l $file; 69 | if [ "$machine" == "Mac" ] 70 | then 71 | stat -f %z $file; 72 | else 73 | stat -c %s $file; 74 | fi 75 | cat $file; 76 | count=$[ $count + 1 ] 77 | done 78 | cd .. 79 | else 80 | echo "door_logs: No such file or directory" 81 | fi 82 | 83 | cd .. 84 | else 85 | echo "door_management_files: No such file or directory" 86 | fi 87 | 88 | echo 89 | if [ $count -eq 34 ]; then 90 | ./ai_door_control.sh & 91 | else 92 | echo "Ошибка загрузки данных... Протокол ИИ прерван." 93 | fi 94 | -------------------------------------------------------------------------------- /T05D08-0-develop/src/stat.c: -------------------------------------------------------------------------------- 1 | #include 2 | #define NMAX 10 3 | 4 | int input(int *a, int *n); 5 | void output(int *a, int n); 6 | int max(int *a, int n); 7 | int min(int *a, int n); 8 | double mean(int *a, int n); 9 | double variance(int *a, int n); 10 | 11 | void output_result(int max_v, int min_v, double mean_v, double variance_v); 12 | 13 | int main() { 14 | int n, data[NMAX]; 15 | if (input(data, &n)) { 16 | printf("n/a"); 17 | return 1; 18 | } 19 | output(data, n); 20 | output_result(max(data, n), min(data, n), mean(data, n), variance(data, n)); 21 | 22 | return 0; 23 | } 24 | 25 | int input(int *a, int *n) { 26 | if ((scanf("%d", n) != 1) || (*n <= 0) || (*n > NMAX)) { 27 | return 1; 28 | } else { 29 | char c; 30 | for (int *p = a; p - a < *n; p++) { 31 | if ((scanf("%d%c", p, &c) != 1) && (c != ' ' && c != '\n')) { 32 | return 1; 33 | } 34 | } 35 | } 36 | return 0; 37 | } 38 | 39 | void output(int *a, int n) { 40 | for (int *p = a; p - a < n; p++) { 41 | printf("%d", *p); 42 | if (p - a != n - 1) { 43 | printf(" "); 44 | } 45 | } 46 | } 47 | 48 | int max(int *a, int n) { 49 | int max = *a; 50 | for (int *p = a; p - a < n; p++) { 51 | if (*p > max) { 52 | max = *p; 53 | } 54 | } 55 | return max; 56 | } 57 | 58 | int min(int *a, int n) { 59 | int min = *a; 60 | for (int *p = a; p - a < n; p++) { 61 | if (*p < min) { 62 | min = *p; 63 | } 64 | } 65 | return min; 66 | } 67 | 68 | double mean(int *a, int n) { 69 | double mean = 0; 70 | double probability = 1 / (double)n; 71 | for (int *p = a; p - a < n; p++) { 72 | mean += (double)*p * probability; 73 | } 74 | return mean; 75 | } 76 | 77 | double variance(int *a, int n) { 78 | double mean = 0, square_mean = 0, variance = 0; 79 | double probability = 1 / (double)n; 80 | for (int *p = a; p - a < n; p++) { 81 | mean += (double)*p * probability; 82 | square_mean += (double)(*p * *p) * probability; 83 | } 84 | variance = square_mean - mean * mean; 85 | return variance; 86 | } 87 | 88 | void output_result(int max_v, int min_v, double mean_v, double variance_v) { 89 | printf("\n%d %d %.6f %.6f", max_v, min_v, mean_v, variance_v); 90 | } 91 | -------------------------------------------------------------------------------- /T08D11-1-develop/materials/matrices.md: -------------------------------------------------------------------------------- 1 | # Matrix determinant calculation 2 | Let the matrix **A2** 3 | 4 | ![matrix1](misc/matrix/matrix1.png) 5 | 6 | **Matrix determinant** is one of the numerical characteristics of a square matrix. In mathematics, it is denoted as follows: 7 | 8 | ![matrix2](misc/matrix/matrix2.png) 9 | 10 | ## Examples of calculating matrix determinant 11 | 12 | ### 2x2 matrix determinant 13 | 14 | The formula for calculating the 2x2 matrix: 15 | 16 | ![matrix3](misc/matrix/matrix3.png) 17 | 18 | An example of calculating a 2x2 matrix: 19 | 20 | ![matrix4](misc/matrix/matrix4.png) 21 | 22 | ### 3x3 matrix determinant 23 | 24 | The formula for calculating the 3x3 matrix: 25 | 26 | ![matrix5](misc/matrix/matrix5.png) 27 | 28 | An example of calculating a 3x3 matrix: 29 | 30 | ![matrix6](misc/matrix/matrix6.png) 31 | 32 | To obtain the final value of the matrix determinant, we use the formula for calculating the determinant of a 2x2 matrix. 33 | 34 | ### 4x4 matrix determinant 35 | 36 | The formula for calculating the 4x4 matrix: 37 | 38 | ![matrix7](misc/matrix/matrix7.png) 39 | 40 | To obtain the final value of the matrix determinant, we use the formula for calculating the determinant of a 3x3 matrix. 41 | 42 | # Examples of calculating the inverse matrix 43 | 44 | The inverse matrix is ​​denoted as the name of the matrix to the minus first power and is calculated using the following formula: 45 | 46 | ![matrix8](misc/matrix/matrix8.png), where ![matrix9](misc/matrix/matrix9.png) is the determinant of the matrix, and ![matrix10](misc/matrix/matrix10.png) is the transposed matrix of algebraic additions . The inverse matrix does not exist if the determinant of the matrix is ​​zero. 47 | 48 | ## Calculation of the matrix of algebraic additions 49 | 50 | Let the matrix be given: 51 | 52 | ![matrix11](misc/matrix/matrix11.png) 53 | 54 | Then the matrix of algebraic additions will be equal to: 55 | 56 | ![matrix12](misc/matrix/matrix12.png) 57 | 58 | The matrix of algebraic additions consists of minors. Consider a few examples of finding minors: 59 | 60 | ![matrix13](misc/matrix/matrix13.png) 61 | 62 | ## Matrix transposition 63 | 64 | Next, it is necessary to transpose the resulting matrix of algebraic complements. A transposed matrix is ​​a matrix obtained from the original matrix by replacing rows with columns. Below is an example with the original matrix of algebraic complements and the resulting transposed matrix: 65 | 66 | ![matrix14](misc/matrix/matrix14.png) 67 | -------------------------------------------------------------------------------- /T13D22-1-develop/materials/instructions_for_testing.md: -------------------------------------------------------------------------------- 1 | # Instructions for running tests. 2 | 3 | In addition to testing for correct output data, the autotest system will 4 | check your program and its source code for the following points: 5 | 6 | * **Style tests.** To check how much the beauty of your code matches 7 | for example, you can test your code using the _clang-format_ utility. 8 | The ```materials/linters``` folder contains the ```.clang-format``` file, which contains 9 | the necessary settings for the style test. This configuration file extends its action to all files that lie with it in the directory 10 | or in the directories below. So in order for these settings to apply to your source code files, 11 | copy ```.clang-format``` to the ```src``` folder. \ 12 | \ 13 | To run the style check, run the following command: \ 14 | ```clang-format -n src/sourcefile_name.c``` \ 15 | \ 16 | To download clang-format, enter one of the following commands in the terminal: \ 17 | ```brew install clang-format``` \ 18 | or if you have root rights (for Ubuntu / Linux Mint / Debian) \ 19 | ```sudo apt install clang-format``` 20 | 21 | 22 | * **Test for correct operation with memory.** When writing C programs, it is very important to watch for memory leaks. To do this the _valgrind_ utility is quite often used in Unix-like operating systems. However OS X has some troubles with valgrind support, so it is possible to use _leaks_ utility instead. Go into we will not discuss the mechanism of their operation now - if you are interested, you can read about it on Google. 23 | 24 | To run your executable file using this utility, type in the terminal: \ 25 | ```leaks -atExit -- ./main.out | grep LEAK:``` 26 | 27 | Pay your attention that there is ```| grep LEAK:``` command. We use it to short leaks output to see only lines with leaks if they are there. If you want to see the whole output, just remove this command. 28 | 29 | When you run your executable file using _leaks_ you may see an error: 30 | >dyld: could not load inserted library ‘/usr/local/lib/libLeaksAtExit.dylib’ because image not found 31 | 32 | It’s because _leaks_ did not find _libLeaksAtExit.dylib_ library. \ 33 | You need to type the following commands in this case. 34 | ```sh 35 | cd /usr/local/lib 36 | sudo ln -s /Applications/Xcode.app/Contents/Developer/usr/lib/libLeaksAtExit.dylib 37 | ``` 38 | 39 | _Additionally:_ \ 40 | Use the ```-exclude``` option of _leaks_ to filter out leaks in functions with known memory leaks. 41 | This option helps reduce the amount of extra information reported by _leaks_. 42 | 43 | -------------------------------------------------------------------------------- /T13D22-1-develop/materials/instructions_for_testing_rus.md: -------------------------------------------------------------------------------- 1 | # Инструкция по запуску тестов. 2 | 3 | Помимо тестов на корректные выходные данные система автотестирования будет 4 | проверять вашу программу и ее исходный код по следующим пунктам: 5 | 6 | * **Стилевые тесты.** Чтобы проверить, насколько красота вашего кода соответствует 7 | стандартам, вы можете протестировать ваш код с помощью утилиты _clang-format_. В папке ```materials/linters``` лежит файл ```.clang-format```, который содержит необходимые настройки для стилевого теста. Данный конфигурационный файл распространяет свое действие на все файлы, которые лежат с ним в директории или в директориях ниже. Поэтому, чтобы данные настройки применились к вашим файлам с исходным кодом, скопируйте ```.clang-format``` в папку src. \ 8 | \ 9 | Чтобы запустить проверку на стиль, выполните следующую команду: \ 10 | ```clang-format -n src/sourcefile_name.c``` \ 11 | \ 12 | Чтобы скачать clang-format, введите в терминал одну из следующих команд: \ 13 | ```brew install clang-format``` \ 14 | или, если у вас есть root-права (для Ubuntu / Linux Mint / Debian) \ 15 | ```sudo apt install clang-format``` 16 | 17 | 18 | * **Тест на корректную работу с памятью.** При написании C-программ очень важно следить за утечками памяти. Для этого в Unix-подобных операционных системах довольно часто используют утилиту _valgrind_. Однако, на OS X имеются проблемы с поддержкой valgrind, поэтому вместо нее можно использовать утилиту _leaks_. Вдаваться в механизм работы этих утилит мы сейчас не будем - если интересно, можете почитать в гугле. 19 | 20 | Чтобы запустить ваш исполняемый файл с помощью этой утилиты, наберите в терминале: \ 21 | ```leaks -atExit -- ./main.out | grep LEAK:``` 22 | 23 | Обратите внимание на команду ```| grep LEAK:```. Мы используем ее для короткого вывода, чтобы видеть только линии с утечками, если они есть. Если вы хотите увидеть весь вывод, просто удалите эту команду. 24 | 25 | При запуске исполняемого файла с помощью _leaks_ может появиться сообщение об ошибке: 26 | >dyld: could not load inserted library ‘/usr/local/lib/libLeaksAtExit.dylib’ because image not found 27 | 28 | Ошибка возникает из-за того, что _leaks_ не может найти библиотеку _libLeaksAtExit.dylib_. \ 29 | В этом случае вам необходимо ввести следующие команды: 30 | ```sh 31 | cd /usr/local/lib 32 | sudo ln -s /Applications/Xcode.app/Contents/Developer/usr/lib/libLeaksAtExit.dylib 33 | ``` 34 | 35 | _Дополнительно:_ \ 36 | Используйте флаг ```-exclude``` утилиты _leaks_ для того, чтобы отфильтровать утечки в функциях, где известно об утечках памяти. Этот флаг позволяет уменьшить количество посторонней информации, сообщаемой _leaks_. 37 | 38 | -------------------------------------------------------------------------------- /T06D09-0-develop/src/key9part1.c: -------------------------------------------------------------------------------- 1 | /*------------------------------------ 2 | Здравствуй, человек! 3 | Чтобы получить ключ 4 | поработай с комментариями. 5 | -------------------------------------*/ 6 | 7 | #include 8 | #define NMAX 10 9 | 10 | int input(int *buffer, int *length); 11 | void output(int length, int number, int *numbers); 12 | int sum_numbers(int *buffer, int length); 13 | int find_numbers(int *buffer, int length, int number, int *numbers); 14 | 15 | /*------------------------------------ 16 | Функция получает массив данных 17 | через stdin. 18 | Выдает в stdout особую сумму 19 | и сформированный массив 20 | специальных элементов 21 | (выбранных с помощью найденной суммы): 22 | это и будет частью ключа 23 | -------------------------------------*/ 24 | int main() { 25 | int numbers[NMAX], buffer[NMAX], length, number; 26 | if (input(buffer, &length)) { 27 | printf("n/a"); 28 | return 1; 29 | } 30 | number = sum_numbers(buffer, length); 31 | int j = find_numbers(buffer, length, number, numbers); 32 | output(j, number, numbers); 33 | 34 | return 0; 35 | } 36 | 37 | /*------------------------------------ 38 | Функция должна находить 39 | сумму четных элементов 40 | с 0-й позиции. 41 | -------------------------------------*/ 42 | int sum_numbers(int *buffer, int length) { 43 | int sum = 0; 44 | 45 | for (int *p = buffer; p - buffer < length; p++) { 46 | if (*p != 0) { 47 | if (*p % 2 == 0) { 48 | sum = sum + *p; 49 | } 50 | } 51 | } 52 | return sum; 53 | } 54 | 55 | /*------------------------------------ 56 | Функция должна находить 57 | все элементы, на которые нацело 58 | делится переданное число и 59 | записывает их в выходной массив. 60 | -------------------------------------*/ 61 | int find_numbers(int *buffer, int length, int number, int *numbers) { 62 | int j = 0; 63 | for (int i = 0; i < length; i++) { 64 | if (buffer[i] != 0) { 65 | if (number % buffer[i] == 0) { 66 | numbers[j] = buffer[i]; 67 | j++; 68 | } 69 | } 70 | } 71 | return j; 72 | } 73 | 74 | int input(int *buffer, int *length) { 75 | if ((scanf("%d", length) != 1) || (*length <= 0) || (*length > NMAX)) { 76 | return 1; 77 | } else { 78 | char c; 79 | for (int *p = buffer; p - buffer < *length; p++) { 80 | if ((scanf("%d%c", p, &c) != 1) && (c != ' ' && c != '\n')) { 81 | return 1; 82 | } 83 | } 84 | } 85 | return 0; 86 | } 87 | 88 | void output(int length, int number, int *numbers) { 89 | printf("%d\n", number); 90 | for (int *p = numbers; p - numbers < length; p++) { 91 | printf("%d", *p); 92 | if (p - numbers != length - 1) { 93 | printf(" "); 94 | } 95 | } 96 | } -------------------------------------------------------------------------------- /T05D08-0-develop/materials/instructions_for_testing.md: -------------------------------------------------------------------------------- 1 | # Instructions for running tests. 2 | 3 | In addition to testing for correct output data, the autotest system will 4 | check your program and its source code for the following points: 5 | 6 | * **Style tests.** To check how much the beauty of your code matches 7 | for example, you can test your code using the _clang-format_ utility. 8 | The ```materials/linters``` folder contains the ```.clang-format``` file, which contains 9 | the necessary settings for the style test. This configuration file extends its action to all files that lie with it in the directory 10 | or in the directories below. So in order for these settings to apply to your source code files, 11 | copy ```.clang-format``` to the ```src``` folder. \ 12 | \ 13 | To run the style check, run the following command: \ 14 | ```clang-format -n src/sourcefile_name.c``` \ 15 | \ 16 | To download clang-format, enter one of the following commands in the terminal: \ 17 | ```brew install clang-format``` \ 18 | or if you have root rights (for Ubuntu / Linux Mint / Debian) \ 19 | ```sudo apt install clang-format``` 20 | 21 | * **Test for correct operation with memory.** When writing C programs, it is very important to watch for memory leaks. To do this the _valgrind_ utility is quite often used in Unix-like operating systems. However OS X has some troubles with valgrind support, so it is possible to use _leaks_ utility instead. Go into we will not discuss the mechanism of their operation now - if you are interested, you can read about it on Google. 22 | 23 | **_LEAKS_** 24 | 25 | To run your executable file using this utility, type in the terminal: \ 26 | ```leaks -atExit -- ./main.out | grep LEAK:``` 27 | 28 | Pay your attention that there is ```| grep LEAK:``` command. We use it to short leaks output to see only lines with leaks if they are there. If you want to see the whole output, just remove this command. 29 | 30 | When you run your executable file using _leaks_ you may see an error: 31 | >dyld: could not load inserted library ‘/usr/local/lib/libLeaksAtExit.dylib’ because image not found 32 | 33 | It’s because _leaks_ did not find _libLeaksAtExit.dylib_ library. \ 34 | You need to type the following commands in this case. 35 | ```sh 36 | cd /usr/local/lib 37 | sudo ln -s /Applications/Xcode.app/Contents/Developer/usr/lib/libLeaksAtExit.dylib 38 | ``` 39 | 40 | _Additionally:_ \ 41 | Use the ```-exclude``` option of _leaks_ to filter out leaks in functions with known memory leaks. 42 | This option helps reduce the amount of extra information reported by _leaks_. 43 | 44 | **_VALGRIND_** 45 | 46 | To install it on your computer, type one of the following commands: \ 47 | ```brew install valgrind``` \ 48 | or if you have root rights (for Ubuntu / Linux Mint / Debian) \ 49 | ```sudo apt install valgrind``` \ 50 | To run your executable file using this utility, type in the terminal: \ 51 | ```valgrind --tool=memcheck --leak-check=yes. /main. out``` 52 | 53 | It is strongly recommended not to use _valgrind_ utility in OS X, use _leaks_ utility instead. 54 | -------------------------------------------------------------------------------- /T06D09-0-develop/materials/instructions_for_testing.md: -------------------------------------------------------------------------------- 1 | # Instructions for running tests. 2 | 3 | In addition to testing for correct output data, the autotest system will 4 | check your program and its source code for the following points: 5 | 6 | * **Style tests.** To check how much the beauty of your code matches 7 | for example, you can test your code using the _clang-format_ utility. 8 | The ```materials/linters``` folder contains the ```.clang-format``` file, which contains 9 | the necessary settings for the style test. This configuration file extends its action to all files that lie with it in the directory 10 | or in the directories below. So in order for these settings to apply to your source code files, 11 | copy ```.clang-format``` to the ```src``` folder. \ 12 | \ 13 | To run the style check, run the following command: \ 14 | ```clang-format -n src/sourcefile_name.c``` \ 15 | \ 16 | To download clang-format, enter one of the following commands in the terminal: \ 17 | ```brew install clang-format``` \ 18 | or if you have root rights (for Ubuntu / Linux Mint / Debian) \ 19 | ```sudo apt install clang-format``` 20 | 21 | 22 | * **Test for correct operation with memory.** When writing C programs, it is very important to watch for memory leaks. To do this the _valgrind_ utility is quite often used in Unix-like operating systems. However OS X has some troubles with valgrind support, so it is possible to use _leaks_ utility instead. Go into we will not discuss the mechanism of their operation now - if you are interested, you can read about it on Google. 23 | 24 | **_LEAKS_** 25 | 26 | To run your executable file using this utility, type in the terminal: \ 27 | ```leaks -atExit -- ./main.out | grep LEAK:``` 28 | 29 | Pay your attention that there is ```| grep LEAK:``` command. We use it to short leaks output to see only lines with leaks if they are there. If you want to see the whole output, just remove this command. 30 | 31 | When you run your executable file using _leaks_ you may see an error: 32 | >dyld: could not load inserted library ‘/usr/local/lib/libLeaksAtExit.dylib’ because image not found 33 | 34 | It’s because _leaks_ did not find _libLeaksAtExit.dylib_ library. \ 35 | You need to type the following commands in this case. 36 | ```sh 37 | cd /usr/local/lib 38 | sudo ln -s /Applications/Xcode.app/Contents/Developer/usr/lib/libLeaksAtExit.dylib 39 | ``` 40 | 41 | _Additionally:_ \ 42 | Use the ```-exclude``` option of _leaks_ to filter out leaks in functions with known memory leaks. 43 | This option helps reduce the amount of extra information reported by _leaks_. 44 | 45 | **_VALGRIND_** 46 | 47 | To install it on your computer, type one of the following commands: \ 48 | ```brew install valgrind``` \ 49 | or if you have root rights (for Ubuntu / Linux Mint / Debian) \ 50 | ```sudo apt install valgrind``` \ 51 | To run your executable file using this utility, type in the terminal: \ 52 | ```valgrind --tool=memcheck --leak-check=yes. /main. out``` 53 | 54 | It is strongly recommended not to use _valgrind_ utility in OS X, use _leaks_ utility instead. 55 | -------------------------------------------------------------------------------- /T06D09-0-master/materials/instructions_for_testing.md: -------------------------------------------------------------------------------- 1 | # Instructions for running tests. 2 | 3 | In addition to testing for correct output data, the autotest system will 4 | check your program and its source code for the following points: 5 | 6 | * **Style tests.** To check how much the beauty of your code matches 7 | for example, you can test your code using the _clang-format_ utility. 8 | The ```materials/linters``` folder contains the ```.clang-format``` file, which contains 9 | the necessary settings for the style test. This configuration file extends its action to all files that lie with it in the directory 10 | or in the directories below. So in order for these settings to apply to your source code files, 11 | copy ```.clang-format``` to the ```src``` folder. \ 12 | \ 13 | To run the style check, run the following command: \ 14 | ```clang-format -n src/sourcefile_name.c``` \ 15 | \ 16 | To download clang-format, enter one of the following commands in the terminal: \ 17 | ```brew install clang-format``` \ 18 | or if you have root rights (for Ubuntu / Linux Mint / Debian) \ 19 | ```sudo apt install clang-format``` 20 | 21 | 22 | * **Test for correct operation with memory.** When writing C programs, it is very important to watch for memory leaks. To do this the _valgrind_ utility is quite often used in Unix-like operating systems. However OS X has some troubles with valgrind support, so it is possible to use _leaks_ utility instead. Go into we will not discuss the mechanism of their operation now - if you are interested, you can read about it on Google. 23 | 24 | **_LEAKS_** 25 | 26 | To run your executable file using this utility, type in the terminal: \ 27 | ```leaks -atExit -- ./main.out | grep LEAK:``` 28 | 29 | Pay your attention that there is ```| grep LEAK:``` command. We use it to short leaks output to see only lines with leaks if they are there. If you want to see the whole output, just remove this command. 30 | 31 | When you run your executable file using _leaks_ you may see an error: 32 | >dyld: could not load inserted library ‘/usr/local/lib/libLeaksAtExit.dylib’ because image not found 33 | 34 | It’s because _leaks_ did not find _libLeaksAtExit.dylib_ library. \ 35 | You need to type the following commands in this case. 36 | ```sh 37 | cd /usr/local/lib 38 | sudo ln -s /Applications/Xcode.app/Contents/Developer/usr/lib/libLeaksAtExit.dylib 39 | ``` 40 | 41 | _Additionally:_ \ 42 | Use the ```-exclude``` option of _leaks_ to filter out leaks in functions with known memory leaks. 43 | This option helps reduce the amount of extra information reported by _leaks_. 44 | 45 | **_VALGRIND_** 46 | 47 | To install it on your computer, type one of the following commands: \ 48 | ```brew install valgrind``` \ 49 | or if you have root rights (for Ubuntu / Linux Mint / Debian) \ 50 | ```sudo apt install valgrind``` \ 51 | To run your executable file using this utility, type in the terminal: \ 52 | ```valgrind --tool=memcheck --leak-check=yes. /main. out``` 53 | 54 | It is strongly recommended not to use _valgrind_ utility in OS X, use _leaks_ utility instead. 55 | -------------------------------------------------------------------------------- /T07D10-0-develop/materials/instructions_for_testing.md: -------------------------------------------------------------------------------- 1 | # Instructions for running tests. 2 | 3 | In addition to testing for correct output data, the autotest system will 4 | check your program and its source code for the following points: 5 | 6 | * **Style tests.** To check how much the beauty of your code matches 7 | for example, you can test your code using the _clang-format_ utility. 8 | The ```materials/linters``` folder contains the ```.clang-format``` file, which contains 9 | the necessary settings for the style test. This configuration file extends its action to all files that lie with it in the directory 10 | or in the directories below. So in order for these settings to apply to your source code files, 11 | copy ```.clang-format``` to the ```src``` folder. \ 12 | \ 13 | To run the style check, run the following command: \ 14 | ```clang-format -n src/sourcefile_name.c``` \ 15 | \ 16 | To download clang-format, enter one of the following commands in the terminal: \ 17 | ```brew install clang-format``` \ 18 | or if you have root rights (for Ubuntu / Linux Mint / Debian) \ 19 | ```sudo apt install clang-format``` 20 | 21 | * **Test for correct operation with memory.** When writing C programs, it is very important to watch for memory leaks. To do this the _valgrind_ utility is quite often used in Unix-like operating systems. However OS X has some troubles with valgrind support, so it is possible to use _leaks_ utility instead. Go into we will not discuss the mechanism of their operation now - if you are interested, you can read about it on Google. 22 | 23 | **_LEAKS_** 24 | 25 | To run your executable file using this utility, type in the terminal: \ 26 | ```leaks -atExit -- ./main.out | grep LEAK:``` 27 | 28 | Pay your attention that there is ```| grep LEAK:``` command. We use it to short leaks output to see only lines with leaks if they are there. If you want to see the whole output, just remove this command. 29 | 30 | When you run your executable file using _leaks_ you may see an error: 31 | >dyld: could not load inserted library ‘/usr/local/lib/libLeaksAtExit.dylib’ because image not found 32 | 33 | It’s because _leaks_ did not find _libLeaksAtExit.dylib_ library. \ 34 | You need to type the following commands in this case. 35 | ```sh 36 | cd /usr/local/lib 37 | sudo ln -s /Applications/Xcode.app/Contents/Developer/usr/lib/libLeaksAtExit.dylib 38 | ``` 39 | 40 | _Additionally:_ \ 41 | Use the ```-exclude``` option of _leaks_ to filter out leaks in functions with known memory leaks. 42 | This option helps reduce the amount of extra information reported by _leaks_. 43 | 44 | **_VALGRIND_** 45 | 46 | To install it on your computer, type one of the following commands: \ 47 | ```brew install valgrind``` \ 48 | or if you have root rights (for Ubuntu / Linux Mint / Debian) \ 49 | ```sudo apt install valgrind``` \ 50 | To run your executable file using this utility, type in the terminal: \ 51 | ```valgrind --tool=memcheck --leak-check=yes. /main. out``` 52 | 53 | It is strongly recommended not to use _valgrind_ utility in OS X, use _leaks_ utility instead. 54 | 55 | --------------------------------------------------------------------------------