Сделал первый урок и тест к нему
4
.gitignore
vendored
@ -1,2 +1,4 @@
|
||||
package-lock.json
|
||||
node_modules
|
||||
node_modules
|
||||
dist
|
||||
fonts
|
||||
2
dist/css/style.css
vendored
2
dist/css/style.css.map
vendored
2
dist/index.html
vendored
@ -1 +1 @@
|
||||
<!DOCTYPE html><html lang="ru"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><link rel="stylesheet" href="css/style.css"><title>Математическое моделирование</title></head><body><header><a href="index.html"><h1>Математическое моделирование</h1></a></header><main class="container"><nav><span>Вид работы: <button class="group-btn active" id="lessonsBtn">Урок</button><button class="group-btn" id="worksBtn">Самостоятельная работа</button></span></nav><div class="items row row-cols-1 row-cols sm-1 row-cols md-2 row-cols-lg-3" id="lessonsList"><div class="wrapper"><div class="item"><h2 class="header">Коробка</h2><p class="description">Найдите, при каком размере выреза коробка будет иметь максимальный объём.</p><a href="box.html">Приступить</a></div></div><div class="wrapper"><div class="item"><h2 class="header">Обои</h2><p class="description">Помогите покупателям быстро определить необходимое количество обоев.</p><a href="box.html">Приступить</a></div></div><div class="wrapper"><div class="item"><h2 class="header">Сбер касса</h2><p class="description">Проведите исследование очереди из бабушек у сбер кассы.</p><a href="box.html">Приступить</a></div></div><div class="wrapper"><div class="item"><h2 class="header">Стихотворение</h2><p class="description">Предлагается исследовать ситуацию и предложить реальные способы ускорения процесса заучивания стихотворения.</p><a href="box.html">Приступить</a></div></div><div class="wrapper"><div class="item"><h2 class="header">Дачник и собака</h2><p class="description">Исследовать процесс движения объектов: человека и собаки. Установить связь между расстояниями, пройденными объектами за одно и то же время. Определить путь, который пробежала собака.</p><a href="box.html">Приступить</a></div></div></div><div class="items row row-cols-1 row-cols sm-1 row-cols md-2 row-cols-lg-3 hidden" id="worksList"><div class="wrapper"><div class="item"><h2 class="header">Продукты для похода</h2><p class="description">Рассчитать необходимое количество продуктов на весь поход для 1 человека и для всей группы.</p><a href="box.html">Приступить</a></div></div><div class="wrapper"><div class="item"><h2 class="header">Награда</h2><p class="description">Сколько должен индрусский царь Шерам изобретателю шахмат из древней легенды?</p><a href="box.html">Приступить</a></div></div><div class="wrapper"><div class="item"><h2 class="header">Концентрация раствора</h2><p class="description">Составьте таблицу, по которой можно определить, как изменяется исходная концентрация при добавлении 1, 2, 3 и т. д. частей воды.</p><a href="box.html">Приступить</a></div></div><div class="wrapper"><div class="item"><h2 class="header">Буратино и папа Карло</h2><p class="description">Постройте модель изменения капитала в течение нескольких недель.</p><a href="box.html">Приступить</a></div></div><div class="wrapper"><div class="item"><h2 class="header">График тренировки</h2><p class="description">Исследуйте график тренеровок, состовляемый по правилам.</p><a href="box.html">Приступить</a></div></div><div class="wrapper"><div class="item"><h2 class="header">Аквариум</h2><p class="description">Сколько минут времени он затратит на переселение рыбок?</p><a href="box.html">Приступить</a></div></div></div></main><script src="js/index.js"></script></body></html>
|
||||
<!DOCTYPE html><html lang="ru"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><link rel="stylesheet" href="css/style.css"><title>Математическое моделирование</title></head><body><header><a href="index.html"><h1>Математическое моделирование</h1></a></header><main class="container"><nav><span>Вид работы: <button class="group-btn active" id="lessonsBtn">Урок</button><button class="group-btn" id="worksBtn">Самостоятельная работа</button></span></nav><div class="items row row-cols-1 row-cols sm-1 row-cols md-2 row-cols-lg-3" id="lessonsList"><div class="wrapper"><div class="item"><h2 class="header">Коробка</h2><p class="description">Найдите, при каком размере выреза коробка будет иметь максимальный объём.</p><a class="btn" href="box.html">Урок</a><a class="btn" href="boxTest.html">Тест</a></div></div><div class="wrapper"><div class="item"><h2 class="header">Обои</h2><p class="description">Помогите покупателям быстро определить необходимое количество обоев.</p><a class="btn" href="box.html">Урок</a><a class="btn" href="boxTest.html">Тест</a></div></div><div class="wrapper"><div class="item"><h2 class="header">Сбер касса</h2><p class="description">Проведите исследование очереди из бабушек у сбер кассы.</p><a class="btn" href="box.html">Урок</a><a class="btn" href="boxTest.html">Тест</a></div></div><div class="wrapper"><div class="item"><h2 class="header">Стихотворение</h2><p class="description">Предлагается исследовать ситуацию и предложить реальные способы ускорения процесса заучивания стихотворения.</p><a class="btn" href="box.html">Урок</a><a class="btn" href="boxTest.html">Тест</a></div></div><div class="wrapper"><div class="item"><h2 class="header">Дачник и собака</h2><p class="description">Исследовать процесс движения объектов: человека и собаки. Установить связь между расстояниями, пройденными объектами за одно и то же время. Определить путь, который пробежала собака.</p><a class="btn" href="box.html">Урок</a><a class="btn" href="boxTest.html">Тест</a></div></div></div><div class="items row row-cols-1 row-cols sm-1 row-cols md-2 row-cols-lg-3 hidden" id="worksList"><div class="wrapper"><div class="item"><h2 class="header">Продукты для похода</h2><p class="description">Рассчитать необходимое количество продуктов на весь поход для 1 человека и для всей группы.</p><a class="btn" href="box">Приступить</a></div></div><div class="wrapper"><div class="item"><h2 class="header">Награда</h2><p class="description">Сколько должен индрусский царь Шерам изобретателю шахмат из древней легенды?</p><a class="btn" href="box">Приступить</a></div></div><div class="wrapper"><div class="item"><h2 class="header">Концентрация раствора</h2><p class="description">Составьте таблицу, по которой можно определить, как изменяется исходная концентрация при добавлении 1, 2, 3 и т. д. частей воды.</p><a class="btn" href="box">Приступить</a></div></div><div class="wrapper"><div class="item"><h2 class="header">Буратино и папа Карло</h2><p class="description">Постройте модель изменения капитала в течение нескольких недель.</p><a class="btn" href="box">Приступить</a></div></div><div class="wrapper"><div class="item"><h2 class="header">График тренировки</h2><p class="description">Исследуйте график тренеровок, состовляемый по правилам.</p><a class="btn" href="box">Приступить</a></div></div><div class="wrapper"><div class="item"><h2 class="header">Аквариум</h2><p class="description">Сколько минут времени он затратит на переселение рыбок?</p><a class="btn" href="box">Приступить</a></div></div></div></main><script src="js/index.js"></script></body></html>
|
||||
33
dist/js/index.js
vendored
@ -1,31 +1,2 @@
|
||||
"use strict";
|
||||
|
||||
let colors = {
|
||||
green: "#54A48B",
|
||||
yellow: "#c0a761"
|
||||
};
|
||||
|
||||
let lessonsBtn = document.querySelector("#lessonsBtn");
|
||||
let worksBtn = document.querySelector("#worksBtn");
|
||||
|
||||
let lessonsList = document.querySelector("#lessonsList");
|
||||
let worksList = document.querySelector("#worksList");
|
||||
let header = document.querySelector("header");
|
||||
|
||||
lessonsBtn.addEventListener("click", (e) => {
|
||||
lessonsBtn.classList.add("active");
|
||||
worksBtn.classList.remove("active");
|
||||
|
||||
lessonsList.classList.remove("hidden");
|
||||
worksList.classList.add("hidden");
|
||||
header.style = "background-color: " + colors.green;
|
||||
})
|
||||
|
||||
worksBtn.addEventListener("click", (e) => {
|
||||
lessonsBtn.classList.remove("active");
|
||||
worksBtn.classList.add("active");
|
||||
|
||||
lessonsList.classList.add("hidden");
|
||||
worksList.classList.remove("hidden");
|
||||
header.style = "background-color: " + colors.yellow;
|
||||
})
|
||||
"use strict";var colors={green:"#54A48B",yellow:"#c0a761"},lessonsBtn=document.querySelector("#lessonsBtn"),worksBtn=document.querySelector("#worksBtn"),lessonsList=document.querySelector("#lessonsList"),worksList=document.querySelector("#worksList"),header=document.querySelector("header");lessonsBtn.addEventListener("click",function(s){lessonsBtn.classList.add("active"),worksBtn.classList.remove("active"),lessonsList.classList.remove("hidden"),worksList.classList.add("hidden"),header.style="background-color: "+colors.green}),worksBtn.addEventListener("click",function(s){lessonsBtn.classList.remove("active"),worksBtn.classList.add("active"),lessonsList.classList.add("hidden"),worksList.classList.remove("hidden"),header.style="background-color: "+colors.yellow});
|
||||
//# sourceMappingURL=index.js.map
|
||||
|
||||
56
gulpfile.js
@ -4,15 +4,21 @@ const sass = require('gulp-sass')(require('sass'));
|
||||
const sourcemaps = require('gulp-sourcemaps');
|
||||
const browserSync = require('browser-sync').create();
|
||||
const autoprefixer = require('gulp-autoprefixer');
|
||||
const concat = require('gulp-concat');
|
||||
// const concat = require('gulp-concat');
|
||||
// const gulpCopy = require('gulp-copy');
|
||||
const babel = require('gulp-babel');
|
||||
const uglify = require('gulp-uglify');
|
||||
const imagemin = require('gulp-imagemin')
|
||||
const del = require('del');
|
||||
|
||||
const html = () => {
|
||||
const html = (e) => {
|
||||
return gulp.src('./src/*.pug')
|
||||
.pipe(pug({}))
|
||||
.pipe(gulp.dest('./dist'));
|
||||
e();
|
||||
}
|
||||
exports.html = html;
|
||||
|
||||
exports.pug = html;
|
||||
|
||||
const css = () => {
|
||||
return gulp.src('./src/scss/**/*.scss')
|
||||
@ -23,9 +29,9 @@ const css = () => {
|
||||
.pipe(gulp.dest('./dist/css'))
|
||||
.pipe(browserSync.stream());
|
||||
}
|
||||
|
||||
exports.css = css;
|
||||
|
||||
|
||||
const browser_sync = () => {
|
||||
browserSync.init({
|
||||
server: {
|
||||
@ -33,15 +39,53 @@ const browser_sync = () => {
|
||||
}
|
||||
});
|
||||
gulp.watch("dist/*.html").on('change', browserSync.reload);
|
||||
gulp.watch("dist/**/*.js").on('change', browserSync.reload);
|
||||
}
|
||||
|
||||
exports.browser_sync = browser_sync;
|
||||
|
||||
|
||||
const js = () => {
|
||||
return gulp.src('src/**/*.js')
|
||||
.pipe(sourcemaps.init())
|
||||
.pipe(babel({
|
||||
presets: ['@babel/env']
|
||||
}))
|
||||
.pipe(uglify())
|
||||
.pipe(sourcemaps.write('.', {sourceRoot: '.src/'}))
|
||||
.pipe(gulp.dest('dist/'));
|
||||
}
|
||||
exports.js = js;
|
||||
|
||||
|
||||
const image = () => {
|
||||
return gulp.src('src/images/**/*.{svg, png, jpg}')
|
||||
.pipe(imagemin())
|
||||
.pipe(gulp.dest('dist/images'))
|
||||
}
|
||||
exports.image = image;
|
||||
|
||||
|
||||
const clean = (e) => {
|
||||
del.sync('dist');
|
||||
e();
|
||||
}
|
||||
exports.clean = clean;
|
||||
|
||||
|
||||
const fonts = () => {
|
||||
return gulp.src('./src/fonts/**/*.*').pipe(gulp.dest('dist/fonts/'));
|
||||
}
|
||||
exports.fonts = fonts;
|
||||
|
||||
|
||||
const watchFiles = () => {
|
||||
gulp.watch('./src/*.pug', gulp.series(html));
|
||||
gulp.watch('./src/**/*.pug', gulp.series(html));
|
||||
gulp.watch('./src/scss/**/*.scss', gulp.series(css));
|
||||
gulp.watch('./src/**/*.js', gulp.series(js));
|
||||
gulp.watch('./src/images/**/*.{svg, png, jpg}', gulp.series(image));
|
||||
}
|
||||
|
||||
exports.watch = watchFiles;
|
||||
|
||||
exports.build = gulp.series(clean, fonts, html, css, js, image);
|
||||
exports.server = gulp.parallel(browser_sync, watchFiles);
|
||||
34
package.json
@ -1,15 +1,39 @@
|
||||
{
|
||||
"dependencies": {
|
||||
"bootstrap": "^5.1.3",
|
||||
"gulp-pug": "^5.0.0",
|
||||
"gulp-sourcemaps": "^3.0.0"
|
||||
"name": "code",
|
||||
"version": "1.0.0",
|
||||
"description": "",
|
||||
"main": "index.js",
|
||||
"scripts": {
|
||||
"test": "echo \"Error: no test specified\" && exit 1"
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/zinchenko291/math-modeling.git"
|
||||
},
|
||||
"author": "zinchenko291",
|
||||
"license": "ISC",
|
||||
"bugs": {
|
||||
"url": "https://github.com/zinchenko291/math-modeling/issues"
|
||||
},
|
||||
"homepage": "https://github.com/zinchenko291/math-modeling#readme",
|
||||
"devDependencies": {
|
||||
"@babel/core": "^7.16.5",
|
||||
"@babel/preset-env": "^7.16.5",
|
||||
"browser-sync": "^2.27.7",
|
||||
"del": "^6.0.0",
|
||||
"gulp": "^4.0.2",
|
||||
"gulp-autoprefixer": "^8.0.0",
|
||||
"gulp-babel": "^8.0.0",
|
||||
"gulp-concat": "^2.6.1",
|
||||
"gulp-copy": "^4.0.1",
|
||||
"gulp-imagemin": "^7.1.0",
|
||||
"gulp-pug": "^5.0.0",
|
||||
"gulp-sass": "^5.0.0",
|
||||
"sass": "^1.43.4"
|
||||
"gulp-sourcemaps": "^3.0.0",
|
||||
"gulp-uglify": "^3.0.2",
|
||||
"sass": "^1.45.1"
|
||||
},
|
||||
"dependencies": {
|
||||
"bootstrap": "^5.1.3"
|
||||
}
|
||||
}
|
||||
|
||||
155
src/box.pug
Normal file
@ -0,0 +1,155 @@
|
||||
doctype html
|
||||
html(lang="ru")
|
||||
head
|
||||
include ./includes/head.pug
|
||||
link(rel="stylesheet", href="css/lessons.css")
|
||||
title Коробка
|
||||
body
|
||||
include includes/header.pug
|
||||
main.container
|
||||
h2 I этап. Постановка задачи
|
||||
h3 Описание задачи
|
||||
p Имеется квадратный лист картона. Из листа по углам вырезают четыре квадрата и склеивают коробку по сторонам вырезов. Какова должна быть сторона вырезаемого квадрата, чтобы коробка имела наибольшую вместимость? Какого размера надо взять лист, чтобы получить из него коробку с заданным максимальным объемом?
|
||||
h3 ЦЕЛЬ МОДЕЛИРОВАНИЯ
|
||||
p Определить максимальный объём коробки.
|
||||
|
||||
h2 II этап. Разработка модели
|
||||
h3 ИНФОРМАЦИОННАЯ МОДЕЛЬ
|
||||
table
|
||||
tr
|
||||
td(rowspan=2) <b>Объект</b>
|
||||
td(colspan=2) <b>Параметры</b>
|
||||
tr
|
||||
td <b>название</b>
|
||||
td <b>значение</b>
|
||||
tr
|
||||
td Картонный лист
|
||||
td <span>Длина стороны <img class="formula min7" src="images/a.svg" alt="a"></span>
|
||||
td Исходные данные
|
||||
tr
|
||||
td Вырез
|
||||
td <span>Шаг изменения <img class="formula" src="images/Greek_uc_delta.svg" alt="∆"/><img class="formula" src="images/b.svg" alt="b"/></span><br><span>Размер <img class="formula" src="images/b.svg" alt="b"/>
|
||||
td Исходные данные<br>Расчетные данные
|
||||
tr
|
||||
td Коробка
|
||||
td <span> Длина стороны дна <img class="formula min7" src="images/c.svg" alt="c"/></span><br><span>Площадь дна <img class="formula min9" src="images/S.svg" alt="S"/></span><br><span>Объём <img class="formula min7" src="images/V.svg" alt="V"/></span>
|
||||
td Расчетные данные<br>Расчетные данные<br>Результаты
|
||||
|
||||
p Для вывода формул математической модели составим геометрическую модель в виде чертежа с указанием исследуемых характеристик объекта.
|
||||
p Расчетные параметры объекта определяются по формулам:
|
||||
p
|
||||
|<img class="formula min9" src="images/equationC.svg" alt="c = a - 2b"> — длина стороны дна;<br>
|
||||
|<img class="formula" src="images/equationS.svg" alt="S = c^2"> — площадь дна;<br>
|
||||
|<img class="formula min8" src="images/equationV.svg" alt="V = Sb"> — объём.
|
||||
p Здесь, <img class="formula min7" src="images/a.svg" alt="a"> — длина стороны картонного листа, <img class="formula" src="images/b.svg" alt="b"/> — размер выреза. Первоначальный размер выреза <img class="formula" src="images/b0.svg" alt="b_0"/>. Последующие размеры выреза определяются по формуле <img class="formula" src="images/bi+1.svg" alt="b_{i+1} = b_i + ∆b">
|
||||
|
||||
h3 КОМПЬЮТЕРНАЯ МОДЕЛЬ
|
||||
p Для моделирования будем использовать язык моделирования python.
|
||||
p Для начала введём переменные. Их названия будут совпадать с информационной моделью.
|
||||
code a = int(input()) # Получаем и преобразуем данные в числовые значения<br>deltaB = int(input())
|
||||
p Попробуем проследить, как будет изменятся объём с увеличением размера выреза
|
||||
pre
|
||||
code
|
||||
|b = deltaB # При b = 0, объём в любом случае равен нулю,
|
||||
| #поэтому сразу переходим к следующему значению
|
||||
|V = 0 # Изначально объём коробки равен 0
|
||||
|for i in range(20): # Для начала попробуем 20 итераций цикла
|
||||
| c = a - 2 * b
|
||||
| S = c * c
|
||||
| print(f"Объём = {S * b}, при b = {b}") # Выводим значения в консоль
|
||||
| b += deltaB
|
||||
p Начальные данные: a = 40, deltaB = 1
|
||||
details
|
||||
summary Вывод программы
|
||||
pre
|
||||
|Объём = 1444, при b = 1
|
||||
|Объём = 2592, при b = 2
|
||||
|Объём = 3468, при b = 3
|
||||
|Объём = 4096, при b = 4
|
||||
|Объём = 4500, при b = 5
|
||||
|Объём = 4704, при b = 6
|
||||
|Объём = 4732, при b = 7
|
||||
|Объём = 4608, при b = 8
|
||||
|Объём = 4356, при b = 9
|
||||
|Объём = 4000, при b = 10
|
||||
|Объём = 3564, при b = 11
|
||||
|Объём = 3072, при b = 12
|
||||
|Объём = 2548, при b = 13
|
||||
|Объём = 2016, при b = 14
|
||||
|Объём = 1500, при b = 15
|
||||
|Объём = 1024, при b = 16
|
||||
|Объём = 612, при b = 17
|
||||
|Объём = 288, при b = 18
|
||||
|Объём = 76, при b = 19
|
||||
|Объём = 0, при b = 20
|
||||
p Можно заметить, что со объём сначала возрастает, а затем убывает. Значит можно отследить точку максимума.
|
||||
pre
|
||||
code
|
||||
|b = deltaB
|
||||
|V = 0
|
||||
|while True:
|
||||
|c = a - 2 * b
|
||||
|S = c * c
|
||||
|if (S * b) < V:
|
||||
| b -= deltaB
|
||||
| c = a - 2 * b
|
||||
| S = c * c
|
||||
| print(f"Объём = {S * b}, при b = {b}")
|
||||
| break # Если получившийся объём меньше,
|
||||
| # чем прошлый, то завершаем цикл
|
||||
|V = S * b
|
||||
|b += deltaB
|
||||
p В теории программа должна вывести "Объём = 4732, при b = 7"
|
||||
pre
|
||||
code
|
||||
|<i class=grey>console</i>
|
||||
|40
|
||||
|1
|
||||
|Объём = 4732, при b = 7
|
||||
p Наша программа показала правильный вариант.<br>Предлагаю сделать её более наглядной, выводя в консоль размер выреза, длину стороны дна, площадь дна и объём.<br>Вернёмся к первому варианту кода.
|
||||
pre
|
||||
code
|
||||
|b = deltaB
|
||||
|V = 0
|
||||
|c = a - 2 * b
|
||||
|while c >= 0: # ограничимся только положительным c
|
||||
| c = a - 2 * b
|
||||
| S = c * c
|
||||
| print(f'Размер выреза = {"%.2f" % b}, ', end='')
|
||||
| print(f'длина стороны = {"%.2f" % c}, ', end='')
|
||||
| print(f'площадь = {"%.2f" % S}, ', end='')
|
||||
| print(f'объём = {"%.2f" % (S * b)}')
|
||||
| b += deltaB
|
||||
|
|
||||
|# Запись "%.2f" % b ограничивает количество знаков после запятой
|
||||
|# Иначе мы бы увидели число вида "1.6666666666666667",
|
||||
|# зачем захламлять консоль
|
||||
details
|
||||
summary Вывод программы
|
||||
pre
|
||||
|40
|
||||
|1
|
||||
|Размер выреза = 1.00, длина стороны = 38.00, площадь = 1444.00, объём = 1444.00
|
||||
|Размер выреза = 2.00, длина стороны = 36.00, площадь = 1296.00, объём = 2592.00
|
||||
|Размер выреза = 3.00, длина стороны = 34.00, площадь = 1156.00, объём = 3468.00
|
||||
|Размер выреза = 4.00, длина стороны = 32.00, площадь = 1024.00, объём = 4096.00
|
||||
|Размер выреза = 5.00, длина стороны = 30.00, площадь = 900.00, объём = 4500.00
|
||||
|Размер выреза = 6.00, длина стороны = 28.00, площадь = 784.00, объём = 4704.00
|
||||
|Размер выреза = 7.00, длина стороны = 26.00, площадь = 676.00, объём = 4732.00
|
||||
|Размер выреза = 8.00, длина стороны = 24.00, площадь = 576.00, объём = 4608.00
|
||||
|Размер выреза = 9.00, длина стороны = 22.00, площадь = 484.00, объём = 4356.00
|
||||
|Размер выреза = 10.00, длина стороны = 20.00, площадь = 400.00, объём = 4000.00
|
||||
|Размер выреза = 11.00, длина стороны = 18.00, площадь = 324.00, объём = 3564.00
|
||||
|Размер выреза = 12.00, длина стороны = 16.00, площадь = 256.00, объём = 3072.00
|
||||
|Размер выреза = 13.00, длина стороны = 14.00, площадь = 196.00, объём = 2548.00
|
||||
|Размер выреза = 14.00, длина стороны = 12.00, площадь = 144.00, объём = 2016.00
|
||||
|Размер выреза = 15.00, длина стороны = 10.00, площадь = 100.00, объём = 1500.00
|
||||
|Размер выреза = 16.00, длина стороны = 8.00, площадь = 64.00, объём = 1024.00
|
||||
|Размер выреза = 17.00, длина стороны = 6.00, площадь = 36.00, объём = 612.00
|
||||
|Размер выреза = 18.00, длина стороны = 4.00, площадь = 16.00, объём = 288.00
|
||||
|Размер выреза = 19.00, длина стороны = 2.00, площадь = 4.00, объём = 76.00
|
||||
|Размер выреза = 20.00, длина стороны = 0.00, площадь = 0.00, объём = 0.00
|
||||
|Размер выреза = 21.00, длина стороны = -2.00, площадь = 4.00, объём = 84.00
|
||||
p С помощью этого кода можно будет пройти дальнейшие тесты.
|
||||
div.btnWrapper
|
||||
a.btn(href="boxTest.html") Тест
|
||||
128
src/boxTest.pug
Normal file
@ -0,0 +1,128 @@
|
||||
mixin list
|
||||
option ---
|
||||
option увеличивается
|
||||
option уменьшается
|
||||
option сначала увеличивается, затем уменьшается
|
||||
option сначала уменьшается, затем увеличивается
|
||||
|
||||
doctype html
|
||||
html(lang="en")
|
||||
head
|
||||
include ./includes/head.pug
|
||||
title Коробка - тест
|
||||
body
|
||||
include ./includes/header.pug
|
||||
main.container
|
||||
ol
|
||||
li.question
|
||||
p Проследите, как изменяется с увеличением выреза:
|
||||
ul
|
||||
li длина стороны дна
|
||||
select.questionInput(data-answer="c09d854f4fbd684f26386d51cb76620cebdd83e97c6c4f04fb2b5267662cd694") #[+list]<br>
|
||||
li площадь дна
|
||||
select.questionInput(data-answer="c09d854f4fbd684f26386d51cb76620cebdd83e97c6c4f04fb2b5267662cd694") #[+list]<br>
|
||||
li объём коробки
|
||||
select.questionInput(data-answer="45e438e5fe6f76a12a8ba308332cb7e84f384c2adb6263a9e01e04d1e8afb43d") #[+list]
|
||||
li.question
|
||||
p Найдите наибольший объём коробки и соответствующий вырез, при:
|
||||
table
|
||||
tr
|
||||
td(colspan=3) Шаг изменения выреза = 1
|
||||
tr
|
||||
td Длина стороны листа
|
||||
td Вырез
|
||||
td Объём
|
||||
tr
|
||||
td 40
|
||||
td
|
||||
input.questionInput(type="text" data-answer="7902699be42c8a8e46fbbb4501726517e86b22c56a189f7625a6da49081b2451")
|
||||
td
|
||||
input.questionInput(type="text" data-answer="c1f713b07141998057941915d7beacaa0efe62e1e3e0e0ded7f03b981759ec95")
|
||||
span.help Введите целое число без дробной части
|
||||
li.question
|
||||
p Найдите наибольший объём коробки и соответствующий вырез, при:
|
||||
table
|
||||
tr
|
||||
td(colspan=3) Шаг изменения выреза = 1
|
||||
tr
|
||||
td Длина стороны листа
|
||||
td Вырез
|
||||
td Объём
|
||||
tr
|
||||
td 40
|
||||
td
|
||||
input.questionInput(type="text" data-answer="7902699be42c8a8e46fbbb4501726517e86b22c56a189f7625a6da49081b2451")
|
||||
td
|
||||
input.questionInput(type="text" data-answer="c1f713b07141998057941915d7beacaa0efe62e1e3e0e0ded7f03b981759ec95")
|
||||
tr
|
||||
td 60
|
||||
td
|
||||
input.questionInput(type="text" data-answer="4a44dc15364204a80fe80e9039455cc1608281820fe2b24f1e5233ade6af1dd5")
|
||||
td
|
||||
input.questionInput(type="text" data-answer="2570901c76653e578fecf066b5fc3fa1619f1a051e928e39797bab1b1342bf40")
|
||||
tr
|
||||
td 80
|
||||
td
|
||||
input.questionInput(type="text" data-answer="3fdba35f04dc8c462986c992bcf875546257113072a909c162f7e470e581e278")
|
||||
td
|
||||
input.questionInput(type="text" data-answer="b5ee7fadca909a41e9d7cfd30bec010979f938f1930aceb48fc3101a7709c8e6")
|
||||
span.help Введите целое число без дробной части
|
||||
li.question
|
||||
p Найдите наибольший объём коробки и соответствующий вырез, при:
|
||||
table
|
||||
tr
|
||||
td(colspan=3) Шаг изменения выреза = 0.3
|
||||
tr
|
||||
td Длина стороны листа
|
||||
td Вырез
|
||||
td Объём
|
||||
tr
|
||||
td 40
|
||||
td
|
||||
input.questionInput(type="text" data-answer="63d1a279ef708611d2d7b3f2f1759471d5c29badb6238012e97265028aa09444")
|
||||
td
|
||||
input.questionInput(type="text" data-answer="a99bc772aa92390a11d9e4b8fc870cdbfc8566946eb437dd8212801e601a33cd")
|
||||
tr
|
||||
td 60
|
||||
td
|
||||
input.questionInput(type="text" data-answer="b41b81976c2f1f8b7aec5281ddb04656360f46c7ffd232dde0d91ed73af96bba")
|
||||
td
|
||||
input.questionInput(type="text" data-answer="18ccef5ab9f07595b3141f79571d5776aa87ef7e14795cd75e8f86a56f368912")
|
||||
tr
|
||||
td 80
|
||||
td
|
||||
input.questionInput(type="text" data-answer="c89e092e57afbc04cd0fe199afcf04d9e79e330773cda6632adb908699f1ec14")
|
||||
td
|
||||
input.questionInput(type="text" data-answer="13f76bb0b140b089ab021808324d248de32c9072b7f03854306732be5883b64b")
|
||||
span.help Введите число из консоли
|
||||
li.question
|
||||
p Подберите размер исходного картонного листа, если дан максимальный объём коробки:
|
||||
table
|
||||
tr
|
||||
td Длина стороны листа
|
||||
td Вырез
|
||||
td Объём
|
||||
tr
|
||||
td
|
||||
input.questionInput(type="text" data-type="box")
|
||||
td
|
||||
input.questionInput.b(type="text" data-type="box" data-volume="3500")
|
||||
td 3500
|
||||
tr
|
||||
td
|
||||
input.questionInput(type="text" data-type="box")
|
||||
td
|
||||
input.questionInput.b(type="text" data-type="box" data-volume="5000")
|
||||
td 5000
|
||||
tr
|
||||
td
|
||||
input.questionInput(type="text" data-type="box")
|
||||
td
|
||||
input.questionInput.b(type="text" data-type="box" data-volume="12000")
|
||||
td 12000
|
||||
details
|
||||
summary.help Подсказка
|
||||
span.help В этом задании можно использовать метод половинного деления.
|
||||
button.big#checkAnswers Проверить
|
||||
script(src="js/sha256.js")
|
||||
script(src="js/test.js")
|
||||
19
src/images/Greek_uc_delta.svg
Normal file
@ -0,0 +1,19 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
<svg xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" width="400" height="400" id="svg4611" sodipodi:version="0.32" inkscape:version="0.92.4 (5da689c313, 2019-01-14)" version="1.0" sodipodi:docname="Greek_uc_delta.svg">
|
||||
<defs id="defs4613"/>
|
||||
<sodipodi:namedview id="base" pagecolor="#ffffff" bordercolor="#666666" borderopacity="1.0" gridtolerance="10000" guidetolerance="10" objecttolerance="1.6" inkscape:pageopacity="0.0" inkscape:pageshadow="2" inkscape:zoom="0.7" inkscape:cx="390.90919" inkscape:cy="190.61883" inkscape:document-units="px" inkscape:current-layer="layer1" inkscape:object-bbox="true" inkscape:object-points="true" inkscape:object-nodes="true" inkscape:grid-points="true" inkscape:window-width="1920" inkscape:window-height="1017" inkscape:window-x="-8" inkscape:window-y="-8" width="400px" height="400px" showgrid="false" inkscape:window-maximized="1"/>
|
||||
<metadata id="metadata4616">
|
||||
<rdf:RDF>
|
||||
<cc:Work rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g inkscape:label="Layer 1" inkscape:groupmode="layer" id="layer1" transform="translate(-256.6798,-531.7963)">
|
||||
<g aria-label="Δ" style="font-style:normal;font-weight:normal;line-height:0%;font-family:'Times New Roman';text-align:start;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" id="text5540">
|
||||
<path d="m 332.21552,840.36768 118.75,-270.89844 h 6.64062 L 569.71552,840.36768 Z M 523.03583,823.76611 443.93427,629.23486 358.38739,823.76611 Z" style="font-size:400px;line-height:1.25;text-align:center;text-anchor:middle" id="path814"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.2 KiB |
2
src/images/S.svg
Normal file
@ -0,0 +1,2 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="11.096px" height="13.160px" viewBox="0 -705 613 727" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path id="MJX-12-TEX-I-53" d="M308 24Q367 24 416 76T466 197Q466 260 414 284Q308 311 278 321T236 341Q176 383 176 462Q176 523 208 573T273 648Q302 673 343 688T407 704H418H425Q521 704 564 640Q565 640 577 653T603 682T623 704Q624 704 627 704T632 705Q645 705 645 698T617 577T585 459T569 456Q549 456 549 465Q549 471 550 475Q550 478 551 494T553 520Q553 554 544 579T526 616T501 641Q465 662 419 662Q362 662 313 616T263 510Q263 480 278 458T319 427Q323 425 389 408T456 390Q490 379 522 342T554 242Q554 216 546 186Q541 164 528 137T492 78T426 18T332 -20Q320 -22 298 -22Q199 -22 144 33L134 44L106 13Q83 -14 78 -18T65 -22Q52 -22 52 -14Q52 -11 110 221Q112 227 130 227H143Q149 221 149 216Q149 214 148 207T144 186T142 153Q144 114 160 87T203 47T255 29T308 24Z"></path></defs><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="matrix(1 0 0 -1 0 0)"><g data-mml-node="math"><g data-mml-node="mi"><use xlink:href="#MJX-12-TEX-I-53"></use></g></g></g></svg>
|
||||
|
After Width: | Height: | Size: 1.1 KiB |
2
src/images/V.svg
Normal file
@ -0,0 +1,2 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="13.920px" height="12.760px" viewBox="0 -683 769 705" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path id="MJX-58-TEX-I-56" d="M52 648Q52 670 65 683H76Q118 680 181 680Q299 680 320 683H330Q336 677 336 674T334 656Q329 641 325 637H304Q282 635 274 635Q245 630 242 620Q242 618 271 369T301 118L374 235Q447 352 520 471T595 594Q599 601 599 609Q599 633 555 637Q537 637 537 648Q537 649 539 661Q542 675 545 679T558 683Q560 683 570 683T604 682T668 681Q737 681 755 683H762Q769 676 769 672Q769 655 760 640Q757 637 743 637Q730 636 719 635T698 630T682 623T670 615T660 608T652 599T645 592L452 282Q272 -9 266 -16Q263 -18 259 -21L241 -22H234Q216 -22 216 -15Q213 -9 177 305Q139 623 138 626Q133 637 76 637H59Q52 642 52 648Z"></path></defs><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="matrix(1 0 0 -1 0 0)"><g data-mml-node="math"><g data-mml-node="mi"><use xlink:href="#MJX-58-TEX-I-56"></use></g></g></g></svg>
|
||||
|
After Width: | Height: | Size: 1.0 KiB |
2
src/images/a.svg
Normal file
@ -0,0 +1,2 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="9.576px" height="8.160px" viewBox="0 -441 529 451" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path id="MJX-10-TEX-I-61" d="M33 157Q33 258 109 349T280 441Q331 441 370 392Q386 422 416 422Q429 422 439 414T449 394Q449 381 412 234T374 68Q374 43 381 35T402 26Q411 27 422 35Q443 55 463 131Q469 151 473 152Q475 153 483 153H487Q506 153 506 144Q506 138 501 117T481 63T449 13Q436 0 417 -8Q409 -10 393 -10Q359 -10 336 5T306 36L300 51Q299 52 296 50Q294 48 292 46Q233 -10 172 -10Q117 -10 75 30T33 157ZM351 328Q351 334 346 350T323 385T277 405Q242 405 210 374T160 293Q131 214 119 129Q119 126 119 118T118 106Q118 61 136 44T179 26Q217 26 254 59T298 110Q300 114 325 217T351 328Z"></path></defs><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="matrix(1 0 0 -1 0 0)"><g data-mml-node="math"><g data-mml-node="mi"><use xlink:href="#MJX-10-TEX-I-61"></use></g></g></g></svg>
|
||||
|
After Width: | Height: | Size: 985 B |
2
src/images/b.svg
Normal file
@ -0,0 +1,2 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="7.768px" height="12.760px" viewBox="0 -694 429 705" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path id="MJX-9-TEX-I-62" d="M73 647Q73 657 77 670T89 683Q90 683 161 688T234 694Q246 694 246 685T212 542Q204 508 195 472T180 418L176 399Q176 396 182 402Q231 442 283 442Q345 442 383 396T422 280Q422 169 343 79T173 -11Q123 -11 82 27T40 150V159Q40 180 48 217T97 414Q147 611 147 623T109 637Q104 637 101 637H96Q86 637 83 637T76 640T73 647ZM336 325V331Q336 405 275 405Q258 405 240 397T207 376T181 352T163 330L157 322L136 236Q114 150 114 114Q114 66 138 42Q154 26 178 26Q211 26 245 58Q270 81 285 114T318 219Q336 291 336 325Z"></path></defs><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="matrix(1 0 0 -1 0 0)"><g data-mml-node="math"><g data-mml-node="mi"><use xlink:href="#MJX-9-TEX-I-62"></use></g></g></g></svg>
|
||||
|
After Width: | Height: | Size: 934 B |
2
src/images/b0.svg
Normal file
@ -0,0 +1,2 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="48.256px" height="15.560px" viewBox="0 -694 2666.1 859.6" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path id="MJX-26-TEX-I-62" d="M73 647Q73 657 77 670T89 683Q90 683 161 688T234 694Q246 694 246 685T212 542Q204 508 195 472T180 418L176 399Q176 396 182 402Q231 442 283 442Q345 442 383 396T422 280Q422 169 343 79T173 -11Q123 -11 82 27T40 150V159Q40 180 48 217T97 414Q147 611 147 623T109 637Q104 637 101 637H96Q86 637 83 637T76 640T73 647ZM336 325V331Q336 405 275 405Q258 405 240 397T207 376T181 352T163 330L157 322L136 236Q114 150 114 114Q114 66 138 42Q154 26 178 26Q211 26 245 58Q270 81 285 114T318 219Q336 291 336 325Z"></path><path id="MJX-26-TEX-N-30" d="M96 585Q152 666 249 666Q297 666 345 640T423 548Q460 465 460 320Q460 165 417 83Q397 41 362 16T301 -15T250 -22Q224 -22 198 -16T137 16T82 83Q39 165 39 320Q39 494 96 585ZM321 597Q291 629 250 629Q208 629 178 597Q153 571 145 525T137 333Q137 175 145 125T181 46Q209 16 250 16Q290 16 318 46Q347 76 354 130T362 333Q362 478 354 524T321 597Z"></path><path id="MJX-26-TEX-N-3D" d="M56 347Q56 360 70 367H707Q722 359 722 347Q722 336 708 328L390 327H72Q56 332 56 347ZM56 153Q56 168 72 173H708Q722 163 722 153Q722 140 707 133H70Q56 140 56 153Z"></path></defs><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="matrix(1 0 0 -1 0 0)"><g data-mml-node="math"><g data-mml-node="msub"><g data-mml-node="mi"><use xlink:href="#MJX-26-TEX-I-62"></use></g><g data-mml-node="mn" transform="translate(429, -150) scale(0.707)"><use xlink:href="#MJX-26-TEX-N-30"></use></g></g><g data-mml-node="mo" transform="translate(1110.3, 0)"><use xlink:href="#MJX-26-TEX-N-3D"></use></g><g data-mml-node="mn" transform="translate(2166.1, 0)"><use xlink:href="#MJX-26-TEX-N-30"></use></g></g></g></svg>
|
||||
|
After Width: | Height: | Size: 1.8 KiB |
2
src/images/bi+1.svg
Normal file
@ -0,0 +1,2 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="111.632px" height="16.720px" viewBox="0 -716 6167.6 924" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path id="MJX-66-TEX-I-62" d="M73 647Q73 657 77 670T89 683Q90 683 161 688T234 694Q246 694 246 685T212 542Q204 508 195 472T180 418L176 399Q176 396 182 402Q231 442 283 442Q345 442 383 396T422 280Q422 169 343 79T173 -11Q123 -11 82 27T40 150V159Q40 180 48 217T97 414Q147 611 147 623T109 637Q104 637 101 637H96Q86 637 83 637T76 640T73 647ZM336 325V331Q336 405 275 405Q258 405 240 397T207 376T181 352T163 330L157 322L136 236Q114 150 114 114Q114 66 138 42Q154 26 178 26Q211 26 245 58Q270 81 285 114T318 219Q336 291 336 325Z"></path><path id="MJX-66-TEX-I-69" d="M184 600Q184 624 203 642T247 661Q265 661 277 649T290 619Q290 596 270 577T226 557Q211 557 198 567T184 600ZM21 287Q21 295 30 318T54 369T98 420T158 442Q197 442 223 419T250 357Q250 340 236 301T196 196T154 83Q149 61 149 51Q149 26 166 26Q175 26 185 29T208 43T235 78T260 137Q263 149 265 151T282 153Q302 153 302 143Q302 135 293 112T268 61T223 11T161 -11Q129 -11 102 10T74 74Q74 91 79 106T122 220Q160 321 166 341T173 380Q173 404 156 404H154Q124 404 99 371T61 287Q60 286 59 284T58 281T56 279T53 278T49 278T41 278H27Q21 284 21 287Z"></path><path id="MJX-66-TEX-N-2B" d="M56 237T56 250T70 270H369V420L370 570Q380 583 389 583Q402 583 409 568V270H707Q722 262 722 250T707 230H409V-68Q401 -82 391 -82H389H387Q375 -82 369 -68V230H70Q56 237 56 250Z"></path><path id="MJX-66-TEX-N-31" d="M213 578L200 573Q186 568 160 563T102 556H83V602H102Q149 604 189 617T245 641T273 663Q275 666 285 666Q294 666 302 660V361L303 61Q310 54 315 52T339 48T401 46H427V0H416Q395 3 257 3Q121 3 100 0H88V46H114Q136 46 152 46T177 47T193 50T201 52T207 57T213 61V578Z"></path><path id="MJX-66-TEX-N-3D" d="M56 347Q56 360 70 367H707Q722 359 722 347Q722 336 708 328L390 327H72Q56 332 56 347ZM56 153Q56 168 72 173H708Q722 163 722 153Q722 140 707 133H70Q56 140 56 153Z"></path><path id="MJX-66-TEX-N-394" d="M51 0Q46 4 46 7Q46 9 215 357T388 709Q391 716 416 716Q439 716 444 709Q447 705 616 357T786 7Q786 4 781 0H51ZM507 344L384 596L137 92L383 91H630Q630 93 507 344Z"></path></defs><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="matrix(1 0 0 -1 0 0)"><g data-mml-node="math"><g data-mml-node="msub"><g data-mml-node="mi"><use xlink:href="#MJX-66-TEX-I-62"></use></g><g data-mml-node="TeXAtom" transform="translate(429, -150) scale(0.707)"><g data-mml-node="mi"><use xlink:href="#MJX-66-TEX-I-69"></use></g><g data-mml-node="mo" transform="translate(345, 0)"><use xlink:href="#MJX-66-TEX-N-2B"></use></g><g data-mml-node="mn" transform="translate(1123, 0)"><use xlink:href="#MJX-66-TEX-N-31"></use></g></g></g><g data-mml-node="mo" transform="translate(1904.4, 0)"><use xlink:href="#MJX-66-TEX-N-3D"></use></g><g data-mml-node="msub" transform="translate(2960.2, 0)"><g data-mml-node="mi"><use xlink:href="#MJX-66-TEX-I-62"></use></g><g data-mml-node="mi" transform="translate(429, -150) scale(0.707)"><use xlink:href="#MJX-66-TEX-I-69"></use></g></g><g data-mml-node="mo" transform="translate(3905.4, 0)"><use xlink:href="#MJX-66-TEX-N-2B"></use></g><g data-mml-node="mi" transform="translate(4905.6, 0)"><use xlink:href="#MJX-66-TEX-N-394"></use></g><g data-mml-node="mi" transform="translate(5738.6, 0)"><use xlink:href="#MJX-66-TEX-I-62"></use></g></g></g></svg>
|
||||
|
After Width: | Height: | Size: 3.3 KiB |
2
src/images/c.svg
Normal file
@ -0,0 +1,2 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="7.840px" height="8.200px" viewBox="0 -442 433 453" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path id="MJX-11-TEX-I-63" d="M34 159Q34 268 120 355T306 442Q362 442 394 418T427 355Q427 326 408 306T360 285Q341 285 330 295T319 325T330 359T352 380T366 386H367Q367 388 361 392T340 400T306 404Q276 404 249 390Q228 381 206 359Q162 315 142 235T121 119Q121 73 147 50Q169 26 205 26H209Q321 26 394 111Q403 121 406 121Q410 121 419 112T429 98T420 83T391 55T346 25T282 0T202 -11Q127 -11 81 37T34 159Z"></path></defs><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="matrix(1 0 0 -1 0 0)"><g data-mml-node="math"><g data-mml-node="mi"><use xlink:href="#MJX-11-TEX-I-63"></use></g></g></g></svg>
|
||||
|
After Width: | Height: | Size: 810 B |
2
src/images/deltaB.svg
Normal file
@ -0,0 +1,2 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="22.840px" height="13.160px" viewBox="0 -716 1262 727" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path id="MJX-8-TEX-N-394" d="M51 0Q46 4 46 7Q46 9 215 357T388 709Q391 716 416 716Q439 716 444 709Q447 705 616 357T786 7Q786 4 781 0H51ZM507 344L384 596L137 92L383 91H630Q630 93 507 344Z"></path><path id="MJX-8-TEX-I-62" d="M73 647Q73 657 77 670T89 683Q90 683 161 688T234 694Q246 694 246 685T212 542Q204 508 195 472T180 418L176 399Q176 396 182 402Q231 442 283 442Q345 442 383 396T422 280Q422 169 343 79T173 -11Q123 -11 82 27T40 150V159Q40 180 48 217T97 414Q147 611 147 623T109 637Q104 637 101 637H96Q86 637 83 637T76 640T73 647ZM336 325V331Q336 405 275 405Q258 405 240 397T207 376T181 352T163 330L157 322L136 236Q114 150 114 114Q114 66 138 42Q154 26 178 26Q211 26 245 58Q270 81 285 114T318 219Q336 291 336 325Z"></path></defs><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="matrix(1 0 0 -1 0 0)"><g data-mml-node="math"><g data-mml-node="mi"><use xlink:href="#MJX-8-TEX-N-394"></use></g><g data-mml-node="mi" transform="translate(833, 0)"><use xlink:href="#MJX-8-TEX-I-62"></use></g></g></g></svg>
|
||||
|
After Width: | Height: | Size: 1.2 KiB |
2
src/images/equationC.svg
Normal file
@ -0,0 +1,2 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="80.488px" height="14.048px" viewBox="0 -694 4447 776" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path id="MJX-20-TEX-I-63" d="M34 159Q34 268 120 355T306 442Q362 442 394 418T427 355Q427 326 408 306T360 285Q341 285 330 295T319 325T330 359T352 380T366 386H367Q367 388 361 392T340 400T306 404Q276 404 249 390Q228 381 206 359Q162 315 142 235T121 119Q121 73 147 50Q169 26 205 26H209Q321 26 394 111Q403 121 406 121Q410 121 419 112T429 98T420 83T391 55T346 25T282 0T202 -11Q127 -11 81 37T34 159Z"></path><path id="MJX-20-TEX-N-3D" d="M56 347Q56 360 70 367H707Q722 359 722 347Q722 336 708 328L390 327H72Q56 332 56 347ZM56 153Q56 168 72 173H708Q722 163 722 153Q722 140 707 133H70Q56 140 56 153Z"></path><path id="MJX-20-TEX-I-61" d="M33 157Q33 258 109 349T280 441Q331 441 370 392Q386 422 416 422Q429 422 439 414T449 394Q449 381 412 234T374 68Q374 43 381 35T402 26Q411 27 422 35Q443 55 463 131Q469 151 473 152Q475 153 483 153H487Q506 153 506 144Q506 138 501 117T481 63T449 13Q436 0 417 -8Q409 -10 393 -10Q359 -10 336 5T306 36L300 51Q299 52 296 50Q294 48 292 46Q233 -10 172 -10Q117 -10 75 30T33 157ZM351 328Q351 334 346 350T323 385T277 405Q242 405 210 374T160 293Q131 214 119 129Q119 126 119 118T118 106Q118 61 136 44T179 26Q217 26 254 59T298 110Q300 114 325 217T351 328Z"></path><path id="MJX-20-TEX-N-2212" d="M84 237T84 250T98 270H679Q694 262 694 250T679 230H98Q84 237 84 250Z"></path><path id="MJX-20-TEX-N-32" d="M109 429Q82 429 66 447T50 491Q50 562 103 614T235 666Q326 666 387 610T449 465Q449 422 429 383T381 315T301 241Q265 210 201 149L142 93L218 92Q375 92 385 97Q392 99 409 186V189H449V186Q448 183 436 95T421 3V0H50V19V31Q50 38 56 46T86 81Q115 113 136 137Q145 147 170 174T204 211T233 244T261 278T284 308T305 340T320 369T333 401T340 431T343 464Q343 527 309 573T212 619Q179 619 154 602T119 569T109 550Q109 549 114 549Q132 549 151 535T170 489Q170 464 154 447T109 429Z"></path><path id="MJX-20-TEX-I-62" d="M73 647Q73 657 77 670T89 683Q90 683 161 688T234 694Q246 694 246 685T212 542Q204 508 195 472T180 418L176 399Q176 396 182 402Q231 442 283 442Q345 442 383 396T422 280Q422 169 343 79T173 -11Q123 -11 82 27T40 150V159Q40 180 48 217T97 414Q147 611 147 623T109 637Q104 637 101 637H96Q86 637 83 637T76 640T73 647ZM336 325V331Q336 405 275 405Q258 405 240 397T207 376T181 352T163 330L157 322L136 236Q114 150 114 114Q114 66 138 42Q154 26 178 26Q211 26 245 58Q270 81 285 114T318 219Q336 291 336 325Z"></path></defs><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="matrix(1 0 0 -1 0 0)"><g data-mml-node="math"><g data-mml-node="mi"><use xlink:href="#MJX-20-TEX-I-63"></use></g><g data-mml-node="mo" transform="translate(710.8, 0)"><use xlink:href="#MJX-20-TEX-N-3D"></use></g><g data-mml-node="mi" transform="translate(1766.6, 0)"><use xlink:href="#MJX-20-TEX-I-61"></use></g><g data-mml-node="mo" transform="translate(2517.8, 0)"><use xlink:href="#MJX-20-TEX-N-2212"></use></g><g data-mml-node="mn" transform="translate(3518, 0)"><use xlink:href="#MJX-20-TEX-N-32"></use></g><g data-mml-node="mi" transform="translate(4018, 0)"><use xlink:href="#MJX-20-TEX-I-62"></use></g></g></g></svg>
|
||||
|
After Width: | Height: | Size: 3.1 KiB |
2
src/images/equationS.svg
Normal file
@ -0,0 +1,2 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="50.376px" height="17.480px" viewBox="0 -883.9 2783.1 965.9" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path id="MJX-22-TEX-I-53" d="M308 24Q367 24 416 76T466 197Q466 260 414 284Q308 311 278 321T236 341Q176 383 176 462Q176 523 208 573T273 648Q302 673 343 688T407 704H418H425Q521 704 564 640Q565 640 577 653T603 682T623 704Q624 704 627 704T632 705Q645 705 645 698T617 577T585 459T569 456Q549 456 549 465Q549 471 550 475Q550 478 551 494T553 520Q553 554 544 579T526 616T501 641Q465 662 419 662Q362 662 313 616T263 510Q263 480 278 458T319 427Q323 425 389 408T456 390Q490 379 522 342T554 242Q554 216 546 186Q541 164 528 137T492 78T426 18T332 -20Q320 -22 298 -22Q199 -22 144 33L134 44L106 13Q83 -14 78 -18T65 -22Q52 -22 52 -14Q52 -11 110 221Q112 227 130 227H143Q149 221 149 216Q149 214 148 207T144 186T142 153Q144 114 160 87T203 47T255 29T308 24Z"></path><path id="MJX-22-TEX-N-3D" d="M56 347Q56 360 70 367H707Q722 359 722 347Q722 336 708 328L390 327H72Q56 332 56 347ZM56 153Q56 168 72 173H708Q722 163 722 153Q722 140 707 133H70Q56 140 56 153Z"></path><path id="MJX-22-TEX-I-63" d="M34 159Q34 268 120 355T306 442Q362 442 394 418T427 355Q427 326 408 306T360 285Q341 285 330 295T319 325T330 359T352 380T366 386H367Q367 388 361 392T340 400T306 404Q276 404 249 390Q228 381 206 359Q162 315 142 235T121 119Q121 73 147 50Q169 26 205 26H209Q321 26 394 111Q403 121 406 121Q410 121 419 112T429 98T420 83T391 55T346 25T282 0T202 -11Q127 -11 81 37T34 159Z"></path><path id="MJX-22-TEX-N-32" d="M109 429Q82 429 66 447T50 491Q50 562 103 614T235 666Q326 666 387 610T449 465Q449 422 429 383T381 315T301 241Q265 210 201 149L142 93L218 92Q375 92 385 97Q392 99 409 186V189H449V186Q448 183 436 95T421 3V0H50V19V31Q50 38 56 46T86 81Q115 113 136 137Q145 147 170 174T204 211T233 244T261 278T284 308T305 340T320 369T333 401T340 431T343 464Q343 527 309 573T212 619Q179 619 154 602T119 569T109 550Q109 549 114 549Q132 549 151 535T170 489Q170 464 154 447T109 429Z"></path></defs><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="matrix(1 0 0 -1 0 0)"><g data-mml-node="math"><g data-mml-node="mi"><use xlink:href="#MJX-22-TEX-I-53"></use></g><g data-mml-node="mo" transform="translate(890.8, 0)"><use xlink:href="#MJX-22-TEX-N-3D"></use></g><g data-mml-node="msup" transform="translate(1946.6, 0)"><g data-mml-node="mi"><use xlink:href="#MJX-22-TEX-I-63"></use></g><g data-mml-node="mn" transform="translate(433, 413) scale(0.707)"><use xlink:href="#MJX-22-TEX-N-32"></use></g></g></g></g></svg>
|
||||
|
After Width: | Height: | Size: 2.5 KiB |
2
src/images/equationV.svg
Normal file
@ -0,0 +1,2 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="56.912px" height="14.248px" viewBox="0 -705 3144.6 787" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><path id="MJX-23-TEX-I-56" d="M52 648Q52 670 65 683H76Q118 680 181 680Q299 680 320 683H330Q336 677 336 674T334 656Q329 641 325 637H304Q282 635 274 635Q245 630 242 620Q242 618 271 369T301 118L374 235Q447 352 520 471T595 594Q599 601 599 609Q599 633 555 637Q537 637 537 648Q537 649 539 661Q542 675 545 679T558 683Q560 683 570 683T604 682T668 681Q737 681 755 683H762Q769 676 769 672Q769 655 760 640Q757 637 743 637Q730 636 719 635T698 630T682 623T670 615T660 608T652 599T645 592L452 282Q272 -9 266 -16Q263 -18 259 -21L241 -22H234Q216 -22 216 -15Q213 -9 177 305Q139 623 138 626Q133 637 76 637H59Q52 642 52 648Z"></path><path id="MJX-23-TEX-N-3D" d="M56 347Q56 360 70 367H707Q722 359 722 347Q722 336 708 328L390 327H72Q56 332 56 347ZM56 153Q56 168 72 173H708Q722 163 722 153Q722 140 707 133H70Q56 140 56 153Z"></path><path id="MJX-23-TEX-I-53" d="M308 24Q367 24 416 76T466 197Q466 260 414 284Q308 311 278 321T236 341Q176 383 176 462Q176 523 208 573T273 648Q302 673 343 688T407 704H418H425Q521 704 564 640Q565 640 577 653T603 682T623 704Q624 704 627 704T632 705Q645 705 645 698T617 577T585 459T569 456Q549 456 549 465Q549 471 550 475Q550 478 551 494T553 520Q553 554 544 579T526 616T501 641Q465 662 419 662Q362 662 313 616T263 510Q263 480 278 458T319 427Q323 425 389 408T456 390Q490 379 522 342T554 242Q554 216 546 186Q541 164 528 137T492 78T426 18T332 -20Q320 -22 298 -22Q199 -22 144 33L134 44L106 13Q83 -14 78 -18T65 -22Q52 -22 52 -14Q52 -11 110 221Q112 227 130 227H143Q149 221 149 216Q149 214 148 207T144 186T142 153Q144 114 160 87T203 47T255 29T308 24Z"></path><path id="MJX-23-TEX-I-62" d="M73 647Q73 657 77 670T89 683Q90 683 161 688T234 694Q246 694 246 685T212 542Q204 508 195 472T180 418L176 399Q176 396 182 402Q231 442 283 442Q345 442 383 396T422 280Q422 169 343 79T173 -11Q123 -11 82 27T40 150V159Q40 180 48 217T97 414Q147 611 147 623T109 637Q104 637 101 637H96Q86 637 83 637T76 640T73 647ZM336 325V331Q336 405 275 405Q258 405 240 397T207 376T181 352T163 330L157 322L136 236Q114 150 114 114Q114 66 138 42Q154 26 178 26Q211 26 245 58Q270 81 285 114T318 219Q336 291 336 325Z"></path></defs><g stroke="currentColor" fill="currentColor" stroke-width="0" transform="matrix(1 0 0 -1 0 0)"><g data-mml-node="math"><g data-mml-node="mi"><use xlink:href="#MJX-23-TEX-I-56"></use></g><g data-mml-node="mo" transform="translate(1046.8, 0)"><use xlink:href="#MJX-23-TEX-N-3D"></use></g><g data-mml-node="mi" transform="translate(2102.6, 0)"><use xlink:href="#MJX-23-TEX-I-53"></use></g><g data-mml-node="mi" transform="translate(2715.6, 0)"><use xlink:href="#MJX-23-TEX-I-62"></use></g></g></g></svg>
|
||||
|
After Width: | Height: | Size: 2.7 KiB |
4
src/includes/head.pug
Normal file
@ -0,0 +1,4 @@
|
||||
meta(charset="UTF-8")
|
||||
meta(http-equiv="X-UA-Compatible", content="IE=edge")
|
||||
meta(name="viewport", content="width=device-width, initial-scale=1.0")
|
||||
link(rel="stylesheet", href="css/style.css")
|
||||
3
src/includes/header.pug
Normal file
@ -0,0 +1,3 @@
|
||||
header
|
||||
a(href="index.html")
|
||||
h1 Математическое моделирование
|
||||
60
src/includes/lessons.pug
Normal file
@ -0,0 +1,60 @@
|
||||
-
|
||||
let lessons_items = [
|
||||
[
|
||||
'Коробка',
|
||||
'Найдите, при каком размере выреза коробка будет иметь максимальный объём.',
|
||||
'box'
|
||||
],
|
||||
[
|
||||
'Обои',
|
||||
'Помогите покупателям быстро определить необходимое количество обоев.',
|
||||
'box'
|
||||
],
|
||||
[
|
||||
'Сбер касса',
|
||||
'Проведите исследование очереди из бабушек у сбер кассы.',
|
||||
'box'
|
||||
],
|
||||
[
|
||||
'Стихотворение',
|
||||
'Предлагается исследовать ситуацию и предложить реальные способы ускорения процесса заучивания стихотворения.',
|
||||
'box'
|
||||
],
|
||||
[
|
||||
'Дачник и собака',
|
||||
'Исследовать процесс движения объектов: человека и собаки. Установить связь между расстояниями, пройденными объектами за одно и то же время. Определить путь, который пробежала собака.',
|
||||
'box'
|
||||
]
|
||||
]
|
||||
let works_items = [
|
||||
[
|
||||
'Продукты для похода',
|
||||
'Рассчитать необходимое количество продуктов на весь поход для 1 человека и для всей группы.',
|
||||
'box'
|
||||
],
|
||||
[
|
||||
'Награда',
|
||||
'Сколько должен индрусский царь Шерам изобретателю шахмат из древней легенды?',
|
||||
'box'
|
||||
],
|
||||
[
|
||||
'Концентрация раствора',
|
||||
'Составьте таблицу, по которой можно определить, как изменяется исходная концентрация при добавлении 1, 2, 3 и т. д. частей воды.',
|
||||
'box'
|
||||
],
|
||||
[
|
||||
'Буратино и папа Карло',
|
||||
'Постройте модель изменения капитала в течение нескольких недель.',
|
||||
'box'
|
||||
],
|
||||
[
|
||||
'График тренировки',
|
||||
'Исследуйте график тренеровок, состовляемый по правилам.',
|
||||
'box'
|
||||
],
|
||||
[
|
||||
'Аквариум',
|
||||
'Сколько минут времени он затратит на переселение рыбок?',
|
||||
'box'
|
||||
]
|
||||
]
|
||||
@ -1,92 +1,29 @@
|
||||
doctype html
|
||||
html(lang="ru")
|
||||
head
|
||||
meta(charset="UTF-8")
|
||||
meta(http-equiv="X-UA-Compatible", content="IE=edge")
|
||||
meta(name="viewport", content="width=device-width, initial-scale=1.0")
|
||||
link(rel="stylesheet", href="css/style.css")
|
||||
include ./includes/head.pug
|
||||
title Математическое моделирование
|
||||
body
|
||||
header
|
||||
a(href="index.html")
|
||||
h1 Математическое моделирование
|
||||
include includes/header.pug
|
||||
main.container
|
||||
nav
|
||||
span Вид работы:
|
||||
button#lessonsBtn.group-btn.active Урок
|
||||
button#worksBtn.group-btn Самостоятельная работа
|
||||
-
|
||||
let lessons_items = [
|
||||
[
|
||||
'Коробка',
|
||||
'Найдите, при каком размере выреза коробка будет иметь максимальный объём.',
|
||||
'box.html'
|
||||
],
|
||||
[
|
||||
'Обои',
|
||||
'Помогите покупателям быстро определить необходимое количество обоев.',
|
||||
'box.html'
|
||||
],
|
||||
[
|
||||
'Сбер касса',
|
||||
'Проведите исследование очереди из бабушек у сбер кассы.',
|
||||
'box.html'
|
||||
],
|
||||
[
|
||||
'Стихотворение',
|
||||
'Предлагается исследовать ситуацию и предложить реальные способы ускорения процесса заучивания стихотворения.',
|
||||
'box.html'
|
||||
],
|
||||
[
|
||||
'Дачник и собака',
|
||||
'Исследовать процесс движения объектов: человека и собаки. Установить связь между расстояниями, пройденными объектами за одно и то же время. Определить путь, который пробежала собака.',
|
||||
'box.html'
|
||||
]
|
||||
]
|
||||
let works_items = [
|
||||
[
|
||||
'Продукты для похода',
|
||||
'Рассчитать необходимое количество продуктов на весь поход для 1 человека и для всей группы.',
|
||||
'box.html'
|
||||
],
|
||||
[
|
||||
'Награда',
|
||||
'Сколько должен индрусский царь Шерам изобретателю шахмат из древней легенды?',
|
||||
'box.html'
|
||||
],
|
||||
[
|
||||
'Концентрация раствора',
|
||||
'Составьте таблицу, по которой можно определить, как изменяется исходная концентрация при добавлении 1, 2, 3 и т. д. частей воды.',
|
||||
'box.html'
|
||||
],
|
||||
[
|
||||
'Буратино и папа Карло',
|
||||
'Постройте модель изменения капитала в течение нескольких недель.',
|
||||
'box.html'
|
||||
],
|
||||
[
|
||||
'График тренировки',
|
||||
'Исследуйте график тренеровок, состовляемый по правилам.',
|
||||
'box.html'
|
||||
],
|
||||
[
|
||||
'Аквариум',
|
||||
'Сколько минут времени он затратит на переселение рыбок?',
|
||||
'box.html'
|
||||
]
|
||||
]
|
||||
include includes/lessons.pug
|
||||
#lessonsList.items.row.row-cols-1.row-cols.sm-1.row-cols.md-2.row-cols-lg-3
|
||||
for item in lessons_items
|
||||
.wrapper
|
||||
.item
|
||||
h2.header= item[0]
|
||||
p.description= item[1]
|
||||
a(href= item[2]) Приступить
|
||||
a(href= item[2]+".html").btn Урок
|
||||
a(href= item[2]+"Test.html").btn Тест
|
||||
#worksList.items.row.row-cols-1.row-cols.sm-1.row-cols.md-2.row-cols-lg-3.hidden
|
||||
for item in works_items
|
||||
.wrapper
|
||||
.item
|
||||
h2.header= item[0]
|
||||
p.description= item[1]
|
||||
a(href= item[2]) Приступить
|
||||
a(href= item[2]).btn Приступить
|
||||
script(src="js/index.js")
|
||||
127
src/js/sha256.js
Normal file
@ -0,0 +1,127 @@
|
||||
/**
|
||||
*
|
||||
* Secure Hash Algorithm (SHA256)
|
||||
* http://www.webtoolkit.info/
|
||||
*
|
||||
* Original code by Angel Marin, Paul Johnston.
|
||||
*
|
||||
**/
|
||||
|
||||
function SHA256(s){
|
||||
|
||||
var chrsz = 8;
|
||||
var hexcase = 0;
|
||||
|
||||
function safe_add (x, y) {
|
||||
var lsw = (x & 0xFFFF) + (y & 0xFFFF);
|
||||
var msw = (x >> 16) + (y >> 16) + (lsw >> 16);
|
||||
return (msw << 16) | (lsw & 0xFFFF);
|
||||
}
|
||||
|
||||
function S (X, n) { return ( X >>> n ) | (X << (32 - n)); }
|
||||
function R (X, n) { return ( X >>> n ); }
|
||||
function Ch(x, y, z) { return ((x & y) ^ ((~x) & z)); }
|
||||
function Maj(x, y, z) { return ((x & y) ^ (x & z) ^ (y & z)); }
|
||||
function Sigma0256(x) { return (S(x, 2) ^ S(x, 13) ^ S(x, 22)); }
|
||||
function Sigma1256(x) { return (S(x, 6) ^ S(x, 11) ^ S(x, 25)); }
|
||||
function Gamma0256(x) { return (S(x, 7) ^ S(x, 18) ^ R(x, 3)); }
|
||||
function Gamma1256(x) { return (S(x, 17) ^ S(x, 19) ^ R(x, 10)); }
|
||||
|
||||
function core_sha256 (m, l) {
|
||||
var K = new Array(0x428A2F98, 0x71374491, 0xB5C0FBCF, 0xE9B5DBA5, 0x3956C25B, 0x59F111F1, 0x923F82A4, 0xAB1C5ED5, 0xD807AA98, 0x12835B01, 0x243185BE, 0x550C7DC3, 0x72BE5D74, 0x80DEB1FE, 0x9BDC06A7, 0xC19BF174, 0xE49B69C1, 0xEFBE4786, 0xFC19DC6, 0x240CA1CC, 0x2DE92C6F, 0x4A7484AA, 0x5CB0A9DC, 0x76F988DA, 0x983E5152, 0xA831C66D, 0xB00327C8, 0xBF597FC7, 0xC6E00BF3, 0xD5A79147, 0x6CA6351, 0x14292967, 0x27B70A85, 0x2E1B2138, 0x4D2C6DFC, 0x53380D13, 0x650A7354, 0x766A0ABB, 0x81C2C92E, 0x92722C85, 0xA2BFE8A1, 0xA81A664B, 0xC24B8B70, 0xC76C51A3, 0xD192E819, 0xD6990624, 0xF40E3585, 0x106AA070, 0x19A4C116, 0x1E376C08, 0x2748774C, 0x34B0BCB5, 0x391C0CB3, 0x4ED8AA4A, 0x5B9CCA4F, 0x682E6FF3, 0x748F82EE, 0x78A5636F, 0x84C87814, 0x8CC70208, 0x90BEFFFA, 0xA4506CEB, 0xBEF9A3F7, 0xC67178F2);
|
||||
var HASH = new Array(0x6A09E667, 0xBB67AE85, 0x3C6EF372, 0xA54FF53A, 0x510E527F, 0x9B05688C, 0x1F83D9AB, 0x5BE0CD19);
|
||||
var W = new Array(64);
|
||||
var a, b, c, d, e, f, g, h, i, j;
|
||||
var T1, T2;
|
||||
|
||||
m[l >> 5] |= 0x80 << (24 - l % 32);
|
||||
m[((l + 64 >> 9) << 4) + 15] = l;
|
||||
|
||||
for ( var i = 0; i<m.length; i+=16 ) {
|
||||
a = HASH[0];
|
||||
b = HASH[1];
|
||||
c = HASH[2];
|
||||
d = HASH[3];
|
||||
e = HASH[4];
|
||||
f = HASH[5];
|
||||
g = HASH[6];
|
||||
h = HASH[7];
|
||||
|
||||
for ( var j = 0; j<64; j++) {
|
||||
if (j < 16) W[j] = m[j + i];
|
||||
else W[j] = safe_add(safe_add(safe_add(Gamma1256(W[j - 2]), W[j - 7]), Gamma0256(W[j - 15])), W[j - 16]);
|
||||
|
||||
T1 = safe_add(safe_add(safe_add(safe_add(h, Sigma1256(e)), Ch(e, f, g)), K[j]), W[j]);
|
||||
T2 = safe_add(Sigma0256(a), Maj(a, b, c));
|
||||
|
||||
h = g;
|
||||
g = f;
|
||||
f = e;
|
||||
e = safe_add(d, T1);
|
||||
d = c;
|
||||
c = b;
|
||||
b = a;
|
||||
a = safe_add(T1, T2);
|
||||
}
|
||||
|
||||
HASH[0] = safe_add(a, HASH[0]);
|
||||
HASH[1] = safe_add(b, HASH[1]);
|
||||
HASH[2] = safe_add(c, HASH[2]);
|
||||
HASH[3] = safe_add(d, HASH[3]);
|
||||
HASH[4] = safe_add(e, HASH[4]);
|
||||
HASH[5] = safe_add(f, HASH[5]);
|
||||
HASH[6] = safe_add(g, HASH[6]);
|
||||
HASH[7] = safe_add(h, HASH[7]);
|
||||
}
|
||||
return HASH;
|
||||
}
|
||||
|
||||
function str2binb (str) {
|
||||
var bin = Array();
|
||||
var mask = (1 << chrsz) - 1;
|
||||
for(var i = 0; i < str.length * chrsz; i += chrsz) {
|
||||
bin[i>>5] |= (str.charCodeAt(i / chrsz) & mask) << (24 - i%32);
|
||||
}
|
||||
return bin;
|
||||
}
|
||||
|
||||
function Utf8Encode(string) {
|
||||
string = string.replace(/\r\n/g,"\n");
|
||||
var utftext = "";
|
||||
|
||||
for (var n = 0; n < string.length; n++) {
|
||||
|
||||
var c = string.charCodeAt(n);
|
||||
|
||||
if (c < 128) {
|
||||
utftext += String.fromCharCode(c);
|
||||
}
|
||||
else if((c > 127) && (c < 2048)) {
|
||||
utftext += String.fromCharCode((c >> 6) | 192);
|
||||
utftext += String.fromCharCode((c & 63) | 128);
|
||||
}
|
||||
else {
|
||||
utftext += String.fromCharCode((c >> 12) | 224);
|
||||
utftext += String.fromCharCode(((c >> 6) & 63) | 128);
|
||||
utftext += String.fromCharCode((c & 63) | 128);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return utftext;
|
||||
}
|
||||
|
||||
function binb2hex (binarray) {
|
||||
var hex_tab = hexcase ? "0123456789ABCDEF" : "0123456789abcdef";
|
||||
var str = "";
|
||||
for(var i = 0; i < binarray.length * 4; i++) {
|
||||
str += hex_tab.charAt((binarray[i>>2] >> ((3 - i%4)*8+4)) & 0xF) +
|
||||
hex_tab.charAt((binarray[i>>2] >> ((3 - i%4)*8 )) & 0xF);
|
||||
}
|
||||
return str;
|
||||
}
|
||||
|
||||
s = Utf8Encode(s);
|
||||
return binb2hex(core_sha256(str2binb(s), s.length * chrsz));
|
||||
|
||||
}
|
||||
59
src/js/test.js
Normal file
@ -0,0 +1,59 @@
|
||||
function reciveGrade(correctAnswers, totalAnswers) {
|
||||
let percent = correctAnswers / totalAnswers * 100;
|
||||
if (percent < 50) return 2;
|
||||
|
||||
percent = 2 * percent - 100;
|
||||
if (percent >= 90) return 5;
|
||||
else if (percent < 90 && percent >= 45) return 4;
|
||||
else return 3;
|
||||
}
|
||||
|
||||
let btn = document.querySelector("#checkAnswers");
|
||||
let elems = document.querySelectorAll(".questionInput");
|
||||
|
||||
const checkAnswers = (e) => {
|
||||
if (e.which == 1 || e.code == "Enter" || e.code == "NumpadEnter") {
|
||||
let counter = 0;
|
||||
let totalQuestions = elems.length;
|
||||
elems.forEach((item, i, arr) => {
|
||||
|
||||
if (item.dataset.type == undefined) {
|
||||
if (SHA256(item.value) == item.dataset.answer) {
|
||||
counter++;
|
||||
item.classList.remove("wrong");
|
||||
} else {
|
||||
item.classList.add("wrong");
|
||||
}
|
||||
} else {
|
||||
switch (item.dataset.type) {
|
||||
case "box":
|
||||
if (!item.classList.contains("b")) {
|
||||
totalQuestions--;
|
||||
} else{
|
||||
const f = (a, b) => {return a*a*b - 4*a*b*b + 4*b*b*b}
|
||||
let error = 5;
|
||||
let V = f(Number(arr[i-1].value), Number(item.value))
|
||||
console.log(V);
|
||||
if ( Number(item.dataset.volume) - error <= V && V <= Number(item.dataset.volume) + error ){
|
||||
counter++;
|
||||
item.parentElement.parentElement.classList.remove("wrong");
|
||||
}
|
||||
else {
|
||||
item.parentElement.parentElement.classList.add("wrong");
|
||||
}
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
});
|
||||
alert(`Правильно ${counter} из ${totalQuestions}\nОценка: ${reciveGrade(counter, totalQuestions)}`);
|
||||
}
|
||||
}
|
||||
|
||||
btn.addEventListener("click", checkAnswers);
|
||||
document.addEventListener("keydown", checkAnswers);
|
||||
@ -1,5 +1,10 @@
|
||||
$green: #54A48B;
|
||||
$darkGreen: #3b7261;
|
||||
$white: #ffffff;
|
||||
$grey: #ebebeb;
|
||||
$darkGrey: #a7a7a7;
|
||||
$black: #171717;
|
||||
$yellow: #c0a761;
|
||||
$yellow: #c0a761;
|
||||
$darkYellow: #837242;
|
||||
$whiteRed: #ffd1d1;
|
||||
$red: #c06161;
|
||||
@ -25,4 +25,11 @@
|
||||
font-weight: bold;
|
||||
font-style: normal;
|
||||
font-display: swap;
|
||||
}
|
||||
@font-face {
|
||||
font-family: "JetBrainsMono";
|
||||
src: url(../fonts/JetBrainsMono/JetBrainsMono-Regular.ttf);
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
font-display: swap;
|
||||
}
|
||||
47
src/scss/_index.scss
Normal file
@ -0,0 +1,47 @@
|
||||
.items {
|
||||
margin-top: 15px;
|
||||
|
||||
.wrapper {
|
||||
padding: 0 40px;
|
||||
margin-bottom: 40px;
|
||||
}
|
||||
}
|
||||
|
||||
.item {
|
||||
background-color: $white;
|
||||
border-radius: $border-radius;
|
||||
box-shadow: 5px 5px 5px rgba($color: #000000, $alpha: 0.1);
|
||||
text-align: center;
|
||||
padding-bottom: 15px;
|
||||
|
||||
.header {
|
||||
border-radius: $border-radius $border-radius 0 0;
|
||||
background-color: $green;
|
||||
color: $white;
|
||||
font-weight: bold;
|
||||
font-size: 26px;
|
||||
padding: 5px 0;
|
||||
}
|
||||
|
||||
.description {
|
||||
margin: 10px;
|
||||
line-height: 1.3;
|
||||
}
|
||||
|
||||
a.btn {
|
||||
display: inline-block;
|
||||
margin: 0px 10px;
|
||||
}
|
||||
}
|
||||
|
||||
#worksList {
|
||||
.item {
|
||||
.header {
|
||||
background-color: $yellow;
|
||||
}
|
||||
a.btn {
|
||||
background-color: $yellow;
|
||||
border-bottom-color: $darkYellow;
|
||||
}
|
||||
}
|
||||
}
|
||||
64
src/scss/_lessons.scss
Normal file
@ -0,0 +1,64 @@
|
||||
$margin-vertical: 15px;
|
||||
|
||||
div.btnWrapper {
|
||||
text-align: center;
|
||||
margin: $margin-vertical;
|
||||
a {font-size: 30px;}
|
||||
}
|
||||
main {
|
||||
h2 {
|
||||
font-size: 30px;
|
||||
}
|
||||
h3 {
|
||||
font-size: 25px;
|
||||
text-transform: uppercase;
|
||||
}
|
||||
}
|
||||
|
||||
code {
|
||||
display: block;
|
||||
margin: $margin-vertical 0;
|
||||
background: #fff;
|
||||
padding: 10px;
|
||||
border-radius: $border-radius;
|
||||
font-family: "JetBrainsMono";
|
||||
font-size: 17px;
|
||||
|
||||
pre {
|
||||
font-family: "JetBrainsMono";
|
||||
font-size: 17px;
|
||||
}
|
||||
}
|
||||
p {
|
||||
margin: $margin-vertical 0;
|
||||
}
|
||||
|
||||
.grey {
|
||||
color: $darkGrey;
|
||||
}
|
||||
|
||||
table, th, td {
|
||||
border: 1px solid $black;
|
||||
border-collapse: collapse;
|
||||
background-color: $white;
|
||||
|
||||
padding: 10px;
|
||||
}
|
||||
sub {
|
||||
font-size: 17px;
|
||||
}
|
||||
|
||||
img.formula {
|
||||
display: inline;
|
||||
height: 1em;
|
||||
|
||||
&.min7 {
|
||||
height: .7em;
|
||||
}
|
||||
&.min8 {
|
||||
height: .8em;
|
||||
}
|
||||
&.min9 {
|
||||
height: .9em;
|
||||
}
|
||||
}
|
||||
@ -2,11 +2,18 @@ $border-radius: 10px;
|
||||
|
||||
@mixin btn {
|
||||
border: none;
|
||||
border-bottom: 3px solid $darkGreen;
|
||||
border-radius: $border-radius;
|
||||
background-color: $green;
|
||||
color: $white;
|
||||
padding: 5px 10px;
|
||||
padding: .3em .5em;
|
||||
cursor: pointer;
|
||||
text-decoration: none;
|
||||
|
||||
&:active {
|
||||
border: none;
|
||||
transform: translate(0, .1em);
|
||||
}
|
||||
}
|
||||
|
||||
.hidden {
|
||||
|
||||
40
src/scss/_test.scss
Normal file
@ -0,0 +1,40 @@
|
||||
table, th, td {
|
||||
border: 1px solid $black;
|
||||
border-collapse: collapse;
|
||||
background-color: $white;
|
||||
|
||||
padding: 10px;
|
||||
}
|
||||
.question {
|
||||
margin: 20px 0;
|
||||
}
|
||||
|
||||
@mixin questInputFont {
|
||||
font-family: "JetBrainsMono", sans-serif;
|
||||
font-size: 17px;
|
||||
}
|
||||
input.questionInput, select.questionInput {
|
||||
border-radius: 5px;
|
||||
background-color: $white;
|
||||
border: 1px solid $darkGrey;
|
||||
@include questInputFont();
|
||||
}
|
||||
input.questionInput {
|
||||
padding: 0 5px;
|
||||
}
|
||||
input.questionInput.wrong, select.questionInput.wrong {
|
||||
border: 2px solid $red;
|
||||
border-radius: 5px;
|
||||
&:focus-visible {
|
||||
outline: 1px solid rgba($color: $red, $alpha: 0.3);
|
||||
}
|
||||
}
|
||||
tr.wrong {
|
||||
td {
|
||||
background-color: $whiteRed;
|
||||
}
|
||||
}
|
||||
span.help, summary.help {
|
||||
margin: none;
|
||||
color: $darkGrey;
|
||||
}
|
||||
@ -1,18 +1,17 @@
|
||||
@import "../../node_modules/bootstrap/scss/bootstrap-grid.scss";
|
||||
|
||||
@import "colors";
|
||||
@import "settings";
|
||||
@import "fonts";
|
||||
@import "colors";
|
||||
@import "promt";
|
||||
|
||||
@import "index";
|
||||
@import "lessons";
|
||||
@import "test";
|
||||
|
||||
* {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
box-sizing: border-box;
|
||||
|
||||
font-family: "Roboto", sans-serif;
|
||||
font-weight: normal;
|
||||
font-size: 20px;
|
||||
color: $black;
|
||||
}
|
||||
@ -49,9 +48,11 @@ header {
|
||||
|
||||
main {
|
||||
margin-top: 20px;
|
||||
font-family: "Roboto", sans-serif;
|
||||
line-height: 1.3;
|
||||
}
|
||||
|
||||
button {
|
||||
button, a.btn {
|
||||
@include btn;
|
||||
|
||||
&.group-btn {
|
||||
@ -82,52 +83,10 @@ button {
|
||||
background-color: $black;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.items {
|
||||
margin-top: 15px;
|
||||
|
||||
.wrapper {
|
||||
padding: 0 40px;
|
||||
margin-bottom: 40px;
|
||||
}
|
||||
}
|
||||
|
||||
.item {
|
||||
background-color: $white;
|
||||
border-radius: $border-radius;
|
||||
box-shadow: 5px 5px 5px rgba($color: #000000, $alpha: 0.1);
|
||||
text-align: center;
|
||||
padding-bottom: 15px;
|
||||
|
||||
.header {
|
||||
border-radius: $border-radius $border-radius 0 0;
|
||||
background-color: $green;
|
||||
color: $white;
|
||||
font-weight: bold;
|
||||
font-size: 26px;
|
||||
padding: 5px 0;
|
||||
}
|
||||
|
||||
.description {
|
||||
margin: 10px;
|
||||
line-height: 1.3;
|
||||
}
|
||||
|
||||
a {
|
||||
display: inline-block;
|
||||
@include btn;
|
||||
text-decoration: none;
|
||||
}
|
||||
}
|
||||
|
||||
#worksList {
|
||||
.item {
|
||||
.header {
|
||||
background-color: $yellow;
|
||||
}
|
||||
a {
|
||||
background-color: $yellow;
|
||||
}
|
||||
&.big {
|
||||
display: block;
|
||||
margin: $margin-vertical auto;
|
||||
font-size: 30px;
|
||||
}
|
||||
}
|
||||