Ответ: нет, не поздно. Банк заданий по математике относительно стабилен, можно с высокой долей уверенности ожидать, что в следующем году часть В или не изменится, или просто поменяет порядок заданий (как между 2013 и 2014).
По уточнённым данным, готовится деление на профильный и базовый уровень. Тренажёр по проекту профильному уровню доступен через меню "Предметы". Обновление от 17 июля 2015 года: изменения, конечно, были, некоторые задания усложнились, но в следующем году вряд ли кто-то будет разрабатывать банк заданий с нуля. Так что верной дорогой идём, товарищи!
(function(){
NAinfo.requireApiVersion(0, 0);
})();
Если там по каким-то причинам её нет, просто скопируйте отсюда.
(function(){
NAinfo.requireApiVersion(0, 0);
alert('Привет!');
})();
и нажмите кнопку "Составить задание по программе" под полем ввода. Задание как таковое не составится, но браузер выдаст сообщение "Привет!". Грабли: если выскочило сообщение "Нужно указать путь к загружаемому файлу!", значит, Вы нажали не ту кнопку. Надо нажать ту, которая под, а не ту, которая над!
(function(){
NAinfo.requireApiVersion(0, 0);
})();
Это заголовок замыкания и проверка версии NApi, они нам в рамках этой инструкции неинтересны. Набирать текст нашего шаблона мы будем между второй и четвёртой строчками:
(function(){
'use strict';
NAinfo.requireApiVersion(0, 0);
/*Вот здесь!*/
})();
(function(){
'use strict';
NAinfo.requireApiVersion(0, 0);
NAtask.setTask({
text: 'В среднем за день во время конференции расходуется 70 пакетиков чая. Конференция длится 4 дня. В пачке чая 100 пакетиков. Какого наименьшего количества пачек чая хватит на все дни конференции?',
});
})();
Выполняем. Появилась задача, но ответ на неё даже нельзя проверить.
(function(){
'use strict';
NAinfo.requireApiVersion(0, 0);
NAtask.setTask({
text: 'В среднем за день во время конференции расходуется 70 пакетиков чая. Конференция длится 4 дня. В пачке чая 100 пакетиков. Какого наименьшего количества пачек чая хватит на все дни конференции?',
answers: 3,
});
})();
Уже лучше: после того, как задание составлено, в поле "Ответ" можно ввести ответ (Кэп!), и тренажёр проверит его правильность. Потренируйтесь вводить ответ, если нужно :-)
(function(){
'use strict';
NAinfo.requireApiVersion(0, 0);
NAtask.setTask({
text: 'В среднем за день во время конференции расходуется 70 пакетиков чая. '+
'Конференция длится 4 дня. В пачке чая 100 пакетиков. '+
'Какого наименьшего количества пачек чая хватит на все дни конференции?',
answers: 3,
});
})();
Обратите внимание: знак + должен находиться на верхней строке (подобно переносу в словах), а слева перед каждой перенесённой частью строки делается отступ (например, 4 или 8 пробелов, но лучше - таб). Для программиста расставить отступы - это как помыть руки перед едой.
(function(){
'use strict';
NAinfo.requireApiVersion(0, 0);
NAtask.setTask({
text: 'В среднем за день во время конференции расходуется 70 пакетиков чая. '+
'Конференция длится 4 дня. В пачке чая 100 пакетиков. '+
'Какого наименьшего количества пачек чая хватит на все дни конференции?',
answers: (70*4/100).ceil(),
});
})();
Запись (число).ceil() сообщает компьютеру, что число нужно округлить в большую сторону. Чтобы округлить число в меньшую сторону, напишите (число).floor() , а чтобы по обычным правилам округления - используйте (число).round()
(function(){
'use strict';
NAinfo.requireApiVersion(0, 0);
NAtask.setTask({
text: 'В среднем за день во время конференции расходуется 70 пакетиков '+'чая'+'. '+
'Конференция длится 4 дня. В пачке '+'чая'+' 100 пакетиков. '+
'Какого наименьшего количества пачек '+'чая'+' хватит на все дни конференции?',
answers: (70*4/100).ceil(),
});
})();
(function(){
'use strict';
NAinfo.requireApiVersion(0, 0);
var napitka='чая';
NAtask.setTask({
text: 'В среднем за день во время конференции расходуется 70 пакетиков '+'чая'+'. '+
'Конференция длится 4 дня. В пачке '+'чая'+' 100 пакетиков. '+
'Какого наименьшего количества пачек '+'чая'+' хватит на все дни конференции?',
answers: (70*4/100).ceil(),
});
})();
Обратите внимание: точка с запятой должна присутствовать после каждого выражения, хотя в JavaScript нет жесткого правила по их расстановке, мы рекомендуем, для лучшей читаемости кода, их ставить.
(function(){
'use strict';
NAinfo.requireApiVersion(0, 0);
var napitka='чая';
NAtask.setTask({
text: 'В среднем за день во время конференции расходуется 70 пакетиков '+napitka+'. '+
'Конференция длится 4 дня. В пачке '+napitka+' 100 пакетиков. '+
'Какого наименьшего количества пачек '+napitka+' хватит на все дни конференции?',
answers: (70*4/100).ceil(),
});
})();
Пока всё осталось как есть. Кофе появится на следующем шаге.
(function(){
'use strict';
NAinfo.requireApiVersion(0, 0);
//Кстати, если в строке стоит двойная дробь // - то всё, что идёт после этой дроби и до конца строки,
//превращается в комментарий
var napitka=['чая','кофе'].iz();//Вернёт случайным образом 'чая' или 'кофе'
NAtask.setTask({
text: 'В среднем за день во время конференции расходуется 70 пакетиков '+napitka+'. '+
'Конференция длится 4 дня. В пачке '+napitka+' 100 пакетиков. '+
'Какого наименьшего количества пачек '+napitka+' хватит на все дни конференции?',
answers: (70*4/100).ceil(),
});
})();
Здесь запись ['чая','кофе'] - это массив строк, а функция iz() случайным образом выбирает элемент из массива. Велосипед: эта функция входит в библиотеку chas-lib и не является стандартной.
(function(){
'use strict';
NAinfo.requireApiVersion(0, 0);
var napitka=['чая','кофе'].iz();//Вернёт случайным образом 'чая' или 'кофе'
var meropr=['конференция','мероприятие','слёт'].iz();
NAtask.setTask({
text: 'В среднем за день во время конференции расходуется 70 пакетиков '+napitka+'. '+
'Конференция длится 4 дня. В пачке '+napitka+' 100 пакетиков. '+
'Какого наименьшего количества пачек '+napitka+' хватит на все дни конференции?',
answers: (70*4/100).ceil(),
});
})();
(function(){
'use strict';
NAinfo.requireApiVersion(0, 0);
var napitka=['чая','кофе'].iz();//Вернёт случайным образом 'чая' или 'кофе'
var meropr=['конференция','мероприятие','слёт'].iz();
meropr=sklonlxkand(meropr);
NAtask.setTask({
text: 'В среднем за день во время конференции расходуется 70 пакетиков '+napitka+'. '+
'Конференция длится 4 дня. В пачке '+napitka+' 100 пакетиков. '+
'Какого наименьшего количества пачек '+napitka+' хватит на все дни конференции?',
answers: (70*4/100).ceil(),
});
})();
(function(){
'use strict';
NAinfo.requireApiVersion(0, 0);
var napitka=['чая','кофе'].iz();//Вернёт случайным образом 'чая' или 'кофе'
var meropr=sklonlxkand(['конференция','мероприятие','слёт'].iz());
NAtask.setTask({
text: 'В среднем за день во время конференции расходуется 70 пакетиков '+napitka+'. '+
'Конференция длится 4 дня. В пачке '+napitka+' 100 пакетиков. '+
'Какого наименьшего количества пачек '+napitka+' хватит на все дни конференции?',
answers: (70*4/100).ceil(),
});
})();
(function(){
'use strict';
NAinfo.requireApiVersion(0, 0);
var napitka=['чая','кофе'].iz();//Вернёт случайным образом 'чая' или 'кофе'
var meropr=sklonlxkand(['конференция','мероприятие','слёт'].iz());
NAtask.setTask({
text: 'В среднем за день во время '+meropr.re+' расходуется 70 пакетиков '+napitka+'. '+
meropr.ie+' длится 4 дня. В пачке '+napitka+' 100 пакетиков. '+
'Какого наименьшего количества пачек '+napitka+' хватит на все дни '+meropr.re+'?',
answers: (70*4/100).ceil(),
});
})();
Первая буква после точки - падеж, вторая - число (транслитом). Т. е. meropr.re - это родительный падеж единственного числа слова, содержащегося в переменной meropr, и предварительно подготовленного с помощью sklonlxkand (это важно!).
(function(){
'use strict';
NAinfo.requireApiVersion(0, 0);
var napitka=['чая','кофе'].iz();//Вернёт случайным образом 'чая' или 'кофе'
var meropr=sklonlxkand(['конференция','мероприятие','слёт'].iz());
NAtask.setTask({
text: 'В среднем за день во время '+meropr.re+' расходуется 70 пакетиков '+napitka+'. '+
meropr.ie.toZagl()+' длится 4 дня. В пачке '+napitka+' 100 пакетиков. '+
'Какого наименьшего количества пачек '+napitka+' хватит на все дни '+meropr.re+'?',
answers: (70*4/100).ceil(),
});
})();
Обратите внимание: мы последовательно применили взятие именительного падежа и "вставку" заглавной буквы: meropr.ie.toZagl() Такой код на жаргоне называют "лапшой". Порядок операций важен!
(function(){
'use strict';
NAinfo.requireApiVersion(0, 0);
var napitka=['чая','кофе'].iz();//Вернёт случайным образом 'чая' или 'кофе'
var meropr=sklonlxkand(['конференция','мероприятие','слёт'].iz());
NAtask.setTask({
text: 'В среднем за день во время '+meropr.re+' расходуется 70 пакетиков '+napitka+'. '+
meropr.ie.toZagl()+' длится '+'4 дня'+'. В пачке '+napitka+' 100 пакетиков. '+
'Какого наименьшего количества пачек '+napitka+' хватит на все дни '+meropr.re+'?',
answers: (70*4/100).ceil(),
});
})();
(function(){
'use strict';
NAinfo.requireApiVersion(0, 0);
var napitka=['чая','кофе'].iz();//Вернёт случайным образом 'чая' или 'кофе'
var meropr=sklonlxkand(['конференция','мероприятие','слёт'].iz());
NAtask.setTask({
text: 'В среднем за день во время '+meropr.re+' расходуется 70 пакетиков '+napitka+'. '+
meropr.ie.toZagl()+' длится '+chislitlx(4,'день')+'. В пачке '+napitka+' 100 пакетиков. '+
'Какого наименьшего количества пачек '+napitka+' хватит на все дни '+meropr.re+'?',
answers: (70*4/100).ceil(),
});
})();
(function(){
'use strict';
NAinfo.requireApiVersion(0, 0);
var napitka=['чая','кофе'].iz();//Вернёт случайным образом 'чая' или 'кофе'
var meropr=sklonlxkand(['конференция','мероприятие','слёт'].iz());
var dni=4;
NAtask.setTask({
text: 'В среднем за день во время '+meropr.re+' расходуется 70 пакетиков '+napitka+'. '+
meropr.ie.toZagl()+' длится '+chislitlx(dni,'день')+'. В пачке '+napitka+' 100 пакетиков. '+
'Какого наименьшего количества пачек '+napitka+' хватит на все дни '+meropr.re+'?',
answers: (70*dni/100).ceil(),
});
})();
(function(){
'use strict';
NAinfo.requireApiVersion(0, 0);
var napitka=['чая','кофе'].iz();//Вернёт случайным образом 'чая' или 'кофе'
var meropr=sklonlxkand(['конференция','мероприятие','слёт'].iz());
var dni=sluchch(2,10);
NAtask.setTask({
text: 'В среднем за день во время '+meropr.re+' расходуется 70 пакетиков '+napitka+'. '+
meropr.ie.toZagl()+' длится '+chislitlx(dni,'день')+'. В пачке '+napitka+' 100 пакетиков. '+
'Какого наименьшего количества пачек '+napitka+' хватит на все дни '+meropr.re+'?',
answers: (70*dni/100).ceil(),
});
})();
Помните: выбор диапазона случайных значений доверяется автору шаблона! Сверяйтесь с Обзадом ;-)
(function(){
'use strict';
NAinfo.requireApiVersion(0, 0);
var napitka=['чая','кофе'].iz();//Вернёт случайным образом 'чая' или 'кофе'
var meropr=sklonlxkand(['конференция','мероприятие','слёт'].iz());
var dni=sluchch(2,10);
var pak=sluchch(50,200);
NAtask.setTask({
text: 'В среднем за день во время '+meropr.re+' расходуется 70 пакетиков '+napitka+'. '+
meropr.ie.toZagl()+' длится '+chislitlx(dni,'день')+'. В пачке '+napitka+' '+chislitlx(pak,'пакетик')+'. '+
'Какого наименьшего количества пачек '+napitka+' хватит на все дни '+meropr.re+'?',
answers: (70*dni/pak).ceil(),
});
})();
(function(){
'use strict';
NAinfo.requireApiVersion(0, 0);
var napitka=['чая','кофе'].iz();//Вернёт случайным образом 'чая' или 'кофе'
var meropr=sklonlxkand(['конференция','мероприятие','слёт'].iz());
var dni=sluchch(2,10);
var pak=sluchch(50,200,10);
NAtask.setTask({
text: 'В среднем за день во время '+meropr.re+' расходуется 70 пакетиков '+napitka+'. '+
meropr.ie.toZagl()+' длится '+chislitlx(dni,'день')+'. В пачке '+napitka+' '+chislitlx(pak,'пакетик')+'. '+
'Какого наименьшего количества пачек '+napitka+' хватит на все дни '+meropr.re+'?',
answers: (70*dni/pak).ceil(),
});
})();
(function(){
'use strict';
NAinfo.requireApiVersion(0, 0);
var napitka=['чая','кофе'].iz();//Вернёт случайным образом 'чая' или 'кофе'
var meropr=sklonlxkand(['конференция','мероприятие','слёт'].iz());
var up=sklonlxkand(['пачка','коробка','упаковка'].iz())
var dni=sluchch(2,10);
var pak=sluchch(50,200,10);
var rash=sluchch(20,100);
NAtask.setTask({
text: 'В среднем за день во время '+meropr.re+' расходуется '+chislitlx(rash,'пакетик')+' '+napitka+'. '+
meropr.ie.toZagl()+' длится '+chislitlx(dni,'день')+'. В '+up.pe+' '+napitka+' '+chislitlx(pak,'пакетик')+'. '+
'Какого наименьшего количества '+up.rm+' '+napitka+' хватит на все дни '+meropr.re+'?',
answers: (rash*dni/pak).ceil(),
});
})();
(function(){
'use strict';
NAinfo.requireApiVersion(0, 0);
var napitka=['чая','кофе'].iz();
var meropr=sklonlxkand(['конференция','мероприятие','слёт'].iz());
var up=sklonlxkand(['пачка','коробка','упаковка'].iz())
var dni=sluchch(2,10);
var pak=sluchch(50,200,10);
var rash=sluchch(20,100);
var ans = (rash*dni/pak).ceil(); //для удобства поместим правильный ответ в отдельную переменную
var n = 3; //создаем переменную, в которой мы укажем, сколько неправильных ответов нужно сгенерировать
var wrAns = []; //создаем пока что пустой массив, в который мы поместим неправильные ответы
for(var i=0; i < n; i++){ //с помощью цикла создаем n неправильных ответов
var iskl = wrAns.concat(ans); //переменная, в которой мы будем хранить исключения для
//генерации неправильных ответов, они нужны, чтобы избежать повторений
//метод concat создает новый массив, объединяя текущий массив с элементом или другим массивом
wrAns.push(slKrome(iskl, 1, ans+(n+1))); //функция slKrome создает случайное число, отличное от
//первого параметра (первый параметр может быть числом, строкой, массивом или функцией),
//второй и третий параметры - это диапазон генерации, а четвертый параметр - шаг (по умолчанию это 1).
//В правой границе диапазона мы добавляем n+1 для того, чтобы всегда можно было составить n
//неправильных ответов
}
alert(wrAns); //убеждаемся, что все ответы неправильные и не повторяются
NAtask.setTask({
text: 'В среднем за день во время '+meropr.re+' расходуется '+chislitlx(rash,'пакетик')+' '+napitka+'. '+
meropr.ie.toZagl()+' длится '+chislitlx(dni,'день')+'. В '+up.pe+' '+napitka+' '+chislitlx(pak,'пакетик')+'. '+
'Какого наименьшего количества '+up.rm+' '+napitka+' хватит на все дни '+meropr.re+'?',
answers: ans, //указываем переменную с ответом
});
})();
(function(){
'use strict';
NAinfo.requireApiVersion(0, 0);
var napitka=['чая','кофе'].iz();
var meropr=sklonlxkand(['конференция','мероприятие','слёт'].iz());
var up=sklonlxkand(['пачка','коробка','упаковка'].iz())
var dni=sluchch(2,10);
var pak=sluchch(50,200,10);
var rash=sluchch(20,100);
var ans = (rash*dni/pak).ceil();
var n = 3;
var wrAns = [];
for(var i=0; i < n; i++){
var iskl = wrAns.concat(ans);
wrAns.push(slKrome(iskl, 1, ans+(n+1)));
}
NAtask.setTask({
text: 'В среднем за день во время '+meropr.re+' расходуется '+chislitlx(rash,'пакетик')+' '+napitka+'. '+
meropr.ie.toZagl()+' длится '+chislitlx(dni,'день')+'. В '+up.pe+' '+napitka+' '+chislitlx(pak,'пакетик')+'. '+
'Какого наименьшего количества '+up.rm+' '+napitka+' хватит на все дни '+meropr.re+'?',
answers: ans,
wrongAnswers: wrAns, //помещаем в свойство подготовленный список неправильных ответов
});
AtoB(); //перемешиваем ответы и создаем тест
})();
(function(){
'use strict';
NAinfo.requireApiVersion(0, 0);
var napitka=['чая','кофе'].iz();
var meropr=sklonlxkand(['конференция','мероприятие','слёт'].iz());
var up=sklonlxkand(['пачка','коробка','упаковка'].iz())
var dni=sluchch(2,10);
var pak=sluchch(50,200,10);
var rash=sluchch(20,100);
var ans = (rash*dni/pak).ceil();
var n = 5; //генерируем пять неправильных ответов
var wrAns = [];
for(var i=0; i < n; i++){
var iskl = wrAns.concat(ans);
wrAns.push(slKrome(iskl, 1, ans+(n+1)));
}
NAtask.setTask({
text: 'В среднем за день во время '+meropr.re+' расходуется '+chislitlx(rash,'пакетик')+' '+napitka+'. '+
meropr.ie.toZagl()+' длится '+chislitlx(dni,'день')+'. В '+up.pe+' '+napitka+' '+chislitlx(pak,'пакетик')+'. '+
'Какого наименьшего количества '+up.rm+' '+napitka+' хватит на все дни '+meropr.re+'?',
answers: ans,
wrongAnswers: wrAns,
});
AtoB(n); //укажем, что мы хотим использовать n=5 неправильных ответов
})();
(function(){
'use strict';
NAinfo.requireApiVersion(0, 0);
var napitka=['чая','кофе'].iz();//Вернёт случайным образом 'чая' или 'кофе'
var meropr=sklonlxkand(['конференция','мероприятие','слёт'].iz());
var up=sklonlxkand(['пачка','коробка','упаковка'].iz())
var dni=sluchch(2,10);
var pak=sluchch(50,200,10);
var rash=sluchch(20,100);
NAtask.setTask({
text: 'В среднем за день во время '+meropr.re+' расходуется '+chislitlx(rash,'пакетик')+' '+napitka+'. '+
meropr.ie.toZagl()+' длится '+chislitlx(dni,'день')+'. В '+up.pe+' '+napitka+' '+chislitlx(pak,'пакетик')+'. '+
'Какого наименьшего количества '+up.rm+' '+napitka+' хватит на все дни '+meropr.re+'?',
answers: (rash*dni/pak).ceil(),
analys: 'Для того, чтобы расчитать наименьшее количество коробок '+napitka+', необходимо найти общее '+
'количество пакетиков '+napitka+', которое израсходуется за все дни '+meropr.re+', поделить это '+
'число на количество пакетиков в одной '+up.pe+' и округлить в большую сторону:'+
'$$\\frac{rd}{p}=\\frac{'+rash+'\\cdot'+dni+'}{'+pak+'}=\\frac{'+(rash*dni)+'}{'+pak+'}='+
(rash*dni/pak).toFixed(2)+'\\approx'+(rash*dni/pak).ceil()+',$$ где $r$ - количество пакетиков '+
napitka+', которое расходуется за один день, $d$ - количество дней '+meropr.re+', а $p$ - количество '+
'пакетиков в одной '+up.pe+'.',
});
})();
(function(){
'use strict';
NAinfo.requireApiVersion(0, 0);
var napitka=['чая','кофе'].iz();//Вернёт случайным образом 'чая' или 'кофе'
var meropr=sklonlxkand(['конференция','мероприятие','слёт'].iz());
var up=sklonlxkand(['пачка','коробка','упаковка'].iz())
var dni=sluchch(2,10);
var pak=sluchch(50,200,10);
var rash=sluchch(20,100);
NAtask.setTask({
text: 'В среднем за день во время '+meropr.re+' расходуется '+chislitlx(rash,'пакетик')+' '+napitka+'. '+
meropr.ie.toZagl()+' длится '+chislitlx(dni,'день')+'. В '+up.pe+' '+napitka+' '+chislitlx(pak,'пакетик')+'. '+
'Какого наименьшего количества '+up.rm+' '+napitka+' хватит на все дни '+meropr.re+'?',
answers: (rash*dni/pak).ceil(),
analys: 'Для того, чтобы расчитать наименьшее количество коробок '+napitka+', необходимо найти общее '+
'количество пакетиков '+napitka+', которое израсходуется за все дни '+meropr.re+', поделить это '+
'число на количество пакетиков в одной '+up.pe+' и округлить в большую сторону:'+
'$$\\frac{rd}{p}=\\frac{'+rash+'\\cdot'+dni+'}{'+pak+'}=\\frac{'+(rash*dni)+'}{'+pak+'}='+
(rash*dni/pak).toFixed(2)+'\\approx'+(rash*dni/pak).ceil()+',$$ где $r$ - количество пакетиков '+
napitka+', которое расходуется за один день, $d$ - количество дней '+meropr.re+', а $p$ - количество '+
'пакетиков в одной '+up.pe+'.',
});
})();
//Обзад 77339
//NickKolok
Можно подписаться реальным именем, можно ником.