Не анализируй это...
Идут годы, а "федеральный интернет-экзамен" не перестаёт "радовать", хотя я посмотрел лишь очень малую и непосредственно связанную с программированием часть - хаотично надёрганные вопросики, делящиеся примерно на 5 видов:
- рассчитанные на полных дебилов (вроде того, как объявить переменную или вектор, сколько будет корень из 2 и т.п.);
- касающиеся не умения программировать, а знания особенностей и фантазий конкретного IDE (а ну, какие типы имеют файлы проекта и решения в Visual Studio? А какой комбинацией клавиш комментируется блок кода? - Я серьёзно :);
- головоломные и практически нерешаемые без 10-20-летнего опыта работы в крупных проектах. Много, например, из нового стандарта C++17, который не то, что преподаватели, ещё и разрабы-то не освоили :) Но зато кто-то где-то отчитался за "инновации";
- адекватные (самый редкий тип);
- прямо ошибочные, например:

крестиками помечены ответы, на которые тест заругался, как на неправильные, а зелёные галочки, типа, правильны

но Studio именно их признает верными, вопрос-то был, где некорректные шаблоны
Как видите, любимый авторами Studio признаёт ошибочными как раз 2 противоположных варианта, ну и я, естественно, ответил так же, удивившись потом, что "неправильно".
И ведь там ещё на 2 страницы текста, "обосновывающего", почему неправильное правильно :)
Ещё пример:

Это просто не запустится... пишите const char * в таких случаях, по крайней мере, в Studio
Стиль кодинга тоже замечателен. Если хотите запутать себя и врагов путена другого разраба, именно так и пишите.
Мешайте в кучу string
и char *
, лепите функции-головоломки с именами f
или pr
и т.д., вот пример шыдевра, но этот хоть скомпилируется:
#include <iostream> #include <string> using namespace std; string f(char* target) { size_t n = strlen (target); if (n>1) { char c = target[n-1]; memmove(target+1,target,n-1); *target=c; } return string(target); } string pr(char* s, short k) { string out={}; for (int i = 0; i < k; i++) { out = f(s); } return out; } int main() { string s2={},s1={}; string s="people want peace"; size_t i = s.find(" "); while (i) { s1=s.substr(0,i); s.erase(0,i+1); s1=pr((char *)s1.c_str(),i+1); s2 += s1; i = s.find(" "); if (i==string::npos) i=0; } cout << s2+s; //epeopltwanpeace return 0; }
В тему:
Ребёнок учит английский второй год. Ни о транскрипции, ни о правилах произношения - вообще ни о чём даже представления. Слова тоже не учат. Но должны выполнять какие-то задания на дом, сводящиеся к чтению нелепых песенок, о правилах чтения которых они ни малейшего понятия, повторюсь, не имеют.
И так у них ВСЁ, от 1-го класса до аспирантуры. С обязательностью ФГОС'ов "хороших" школ больше нет, не обольщайтесь. Они теперь обязаны учить по этому безумию.
В "кейс-части" ещё веселее:

условие задачи и подсчёт баллов по нему, а в "решении" за балл больше 39 ставят не 5, а 4!
Количество баллов, очевидно, может получаться (и получается) вещественным.
В "решении" при этом пишут:
Значения в столбце H рассчитываются по формуле:
=ЕСЛИ(G4<20;2;ЕСЛИ(G4<30;3;ЕСЛИ(G4<40;4;5)))сами себе противореча. Ведь "4" по условию ставится "от 30 до 39 баллов", а не за "больше 39".
Для составлявшего это "економиста" разницы между целым и вещественным числами, очевидно, нет :(
04.12.2019, 16:54 [1183 просмотра]