"),console.log("Таблица стилей "+e+" добавлена")},window.addscript=function(e,s){document.write('
Ответ: нет, не поздно. Банк заданий по математике относительно стабилен, можно с высокой долей уверенности ожидать, что в следующем году часть с кратким ответом или не изменится, или просто поменяет порядок заданий. Бывает добавление, разделение или слияние одного-двух заданий; в любом случае, в каждом следующем году вряд ли кто-то будет разрабатывать банк заданий с нуля.
(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Можно подписаться реальным именем, можно ником.