БлогNot. Не анализируй это...

Не анализируй это...

Идут годы, а "федеральный интернет-экзамен" не перестаёт "радовать", хотя я посмотрел лишь очень малую и непосредственно связанную с программированием часть - хаотично надёрганные вопросики, делящиеся примерно на 5 видов:

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

крестиками помечены ответы, на которые тест заругался, как на неправильные, а зелёные галочки, типа, правильны
крестиками помечены ответы, на которые тест заругался, как на неправильные, а зелёные галочки, типа, правильны
но Studio именно их признает верными, вопрос-то был, где некорректные шаблоны
но Studio именно их признает верными, вопрос-то был, где некорректные шаблоны

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

И ведь там ещё на 2 страницы текста, "обосновывающего", почему неправильное правильно :)

Ещё пример:

Это просто не запустится... пишите const char * в таких случаях, по крайней мере, в Studio
Это просто не запустится... пишите 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!
условие задачи и подсчёт баллов по нему, а в "решении" за балл больше 39 ставят не 5, а 4!

Количество баллов, очевидно, может получаться (и получается) вещественным.

В "решении" при этом пишут:

Значения в столбце H рассчитываются по формуле:

=ЕСЛИ(G4<20;2;ЕСЛИ(G4<30;3;ЕСЛИ(G4<40;4;5)))

сами себе противореча. Ведь "4" по условию ставится "от 30 до 39 баллов", а не за "больше 39".

Для составлявшего это "економиста" разницы между целым и вещественным числами, очевидно, нет :(


теги: программирование studio ошибка тест маразм образование

04.12.2019, 16:54; рейтинг: 17