moving all labs to old dir

This commit is contained in:
2026-02-26 21:55:48 +10:00
parent 76555d27a4
commit 4f1c66e838
132 changed files with 0 additions and 0 deletions

112
old/hw/hw6/hw6.js Normal file
View File

@@ -0,0 +1,112 @@
let templates = [
[
"X--X----",
"-XXX-X--",
"----X---",
"----X---",
"------XX",
"----XX--",
"X-------",
"-XX--X--"
],
[
"---XX---",
"----X-X-",
"---XX---",
"---X----",
"-X------",
"X----X-X",
"--X--X--",
"-X----XX"
],
[
"-X-X----",
"---X-X--",
"X-XX--X-",
"--X-X---",
"------X",
"--------",
"X-----X-",
"-X-X---X"
],
[
"-XX-X---",
"-----X--",
"----X---",
"-----X-X",
"-X-X--X-",
"-XX----X",
"-X------",
"XX------"
], [
"----XX-X",
"X-------",
"--------",
"-----XX-",
"---X-X--",
"-X---XX-",
"-X-X----",
"----XXX-"
], [
"XX------",
"-----X--",
"-------X",
"-X-X----",
"X-X----X",
"-X-X-X-X",
"----X-X-",
"-X------"
],
];
const squareSize = templates[0].length;
//convert to arrays for mutability
let temp = []
for (let n = 0; n < templates.length; n++) {
temp.push([])
for (let i = 0; i < squareSize; i++) {
temp[n].push([]);
for (let j = 0; j < squareSize; j++) {
temp[n][i].push(templates[n][i][j] == "X" ? 1 : 0);
}
}
}
templates = temp;
const encodedMsg = "Р_НАЙА_СЛЗДЕОСЖСТОИКНОЛЬЛЬТКУЮО__КЗАЕВАОКАЧОЖЗ_УЧАСМОДУ_ТЮЖЕ";
function rotateTemplate(template) {
for (let i = 0; i < squareSize; i++) {
for (let j = 0; j < i; j++) {
let temp = template[i][j];
template[i][j] = template[j][i];
template[j][i] = temp;
}
}
for (let i = 0; i < squareSize; i++) {
for (let j = 0; j < squareSize / 2; j++) {
let temp = template[i][j];
template[i][j] = template[i][(squareSize - 1) - j];
template[i][(squareSize - 1) - j] = temp;
}
}
}
for (let n = 0; n < templates.length; n++) {
let out = ""
for (let rot = 0; rot < 4; rot++) {
for (let i = 0; i < squareSize; i++) {
for (let j = 0; j < squareSize; j++) {
if (templates[n][i][j]) {
out += encodedMsg[i * squareSize + j];
}
}
}
rotateTemplate(templates[n]);
}
console.log(out);
console.log("=======");
}

BIN
old/hw/hw7/favicon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

108
old/hw/hw7/hw7.css Normal file
View File

@@ -0,0 +1,108 @@
.desctription-heading{
font-size: medium;
text-align: center;
}
.main-container {
display: flex;
gap: 20px;
align-items: flex-start;
}
.scheme-image{
flex: 1;
max-width: 400px;
height: auto;
object-fit: contain;
}
.controls-container {
display: flex;
flex-direction: column;
gap: 20px;
flex: 1;
min-width: 300px;
max-width: 400px;
}
.inputs{
min-width: 300px;
}
.outputs{
min-width: 300px;
}
.radio-label{
display: inline-block;
}
p{
line-height: 0;
}
.max-w{
width: 100%;
}
.bad-input-tooltip {
display: block;
background: #ffffff;
color: #721c24;
border: 1px solid #8f0c19;
padding: 4px 8px;
max-width: 220px;
white-space: normal;
}
.bad-input-highlight {
outline: 2px solid #990917;
}
.hidden{
display: none;
}
body{
display: flex;
flex-direction: column;
gap: 20px;
}
table {
width: 100%;
border-collapse: collapse;
margin: 16px 0;
}
th, td {
border: 1px solid #ccc;
text-align: left;
}
th {
background-color: #f5f5f5;
font-weight: bold;
}
tr:nth-child(even) {
background-color: #fafafa;
}
@media (max-width: 800px) {
.main-container {
flex-direction: column;
align-items: center;
}
.scheme-image {
max-width: 100%;
width: 100%;
}
.controls-container {
width: 100%;
max-width: none;
}
.inputs, .outputs {
min-width: unset;
width: 100%;
}
}

71
old/hw/hw7/hw7.html Normal file
View File

@@ -0,0 +1,71 @@
<html>
<head>
<title>калькулятор равнобедренного треугольника</title>
<link rel="stylesheet" href="./hw7.css">
<link rel="icon" href="favicon.ico">
<link rel="stylesheet" href="https://unpkg.com/xp.css/dist/98.css"
>
</head>
<body>
<h3 class="desctription-heading">калькулятор равнобедренного треугольника</h3>
<div class="main-container">
<div class="image-container">
<img src="./imgs/type1.png" class="scheme-image" id="schemeImageA">
<img src="./imgs/type2.png" class="scheme-image hidden" id="schemeImageB">
</div>
<div class="controls-container">
<div class="inputs" id="inputsForm">
<p>Выберете варинат входных данных:</p>
<input type="radio" name="input-type" id="radioButtonA" checked>
<label class="radio-label" for="radioButtonA">
<span>боковая сторона и угол при основании</span>
</label><br>
<input type="radio" name="input-type" id="radioButtonB">
<label class="radio-label" for="radioButtonB">
<span>основание и прилежащий к нему угол</span>
</label>
<form>
<fieldset id="inputTypeFieldsetA">
<legend>входные данные</legend>
<label for="equalSideLength">Длина боковой стороны B:<span class="bad-input-tooltip hidden" id="equalSideLengthErr"></span></label><br>
<input class="max-w" type="number" min="0" id="equalSideLength">
<br>
<label for="baseAngle">Угол при основании α (в градусах):<span class="bad-input-tooltip hidden" id="baseAngleErr"></span></label><br>
<input class="max-w" type="number" min="0" max="180" id="baseAngle">
</fieldset>
<fieldset id="inputTypeFieldsetB" class="hidden">
<legend>входные данные</legend>
<label for="baseSideLength">Длина основания A:<span class="bad-input-tooltip hidden" id="baseSideLengthErr"></span></label><br>
<input class="max-w" type="number" min="0" id="baseSideLength">
<br>
<label for="baseAdjacentAngle">Угол прилежащий основанию β:<span class="bad-input-tooltip hidden" id="baseAdjacentAngleErr"></span></label><br>
<input class="max-w" type="number" min="0" max="180" id="baseAdjacentAngle">
</fieldset>
<fieldset id="outputsFieldset">
<legend>что вычислить</legend>
<span class="bad-input-tooltip hidden" id="outputValuesErr"><br></span>
<input type="checkbox" name="output-valuesR" id="outputValuesR" checked>
<label for="outputValuesR">радиус вписанной окружности</label><br>
<input type="checkbox" name="output-valuesH" id="outputValuesH" checked>
<label for="outputValuesH">высоты треугольника</label><br>
<input type="checkbox" name="output-valuesL" id="outputValuesL" checked>
<label for="outputValuesL">длины сторон треугольника</label><br>
</fieldset>
<button id="calculateButton" disabled>Вычислить</button>
<button id="clearButton">Отчислить</button>
</form>
</div>
<table class="outputs hidden" id="outputsTable">
</table>
</div>
</div>
</body>
<script src="./hw7.js">
</script>
</html>

357
old/hw/hw7/hw7.js Normal file
View File

@@ -0,0 +1,357 @@
let elements = {
radioA: document.getElementById('radioButtonA'),
radioB: document.getElementById('radioButtonB'),
fieldsetA: document.getElementById('inputTypeFieldsetA'),
fieldsetB: document.getElementById('inputTypeFieldsetB'),
imageA: document.getElementById('schemeImageA'),
imageB: document.getElementById('schemeImageB'),
inputsForm: document.getElementById('inputsForm'),
equalSideLength: document.getElementById('equalSideLength'),
equalSideLengthErr: document.getElementById('equalSideLengthErr'),
baseAngle: document.getElementById('baseAngle'),
baseAngleErr: document.getElementById('baseAngleErr'),
baseSideLength: document.getElementById('baseSideLength'),
baseSideLengthErr: document.getElementById('baseSideLengthErr'),
baseAdjacentAngle: document.getElementById('baseAdjacentAngle'),
baseAdjacentAngleErr: document.getElementById('baseAdjacentAngleErr'),
outputsFieldset: document.getElementById('outputsFieldset'),
outputValuesErr: document.getElementById('outputValuesErr'),
outputR: document.getElementById('outputValuesR'),
outputH: document.getElementById('outputValuesH'),
outputL: document.getElementById('outputValuesL'),
calculateButton: document.getElementById('calculateButton'),
clearButton: document.getElementById('clearButton'),
outputsTable: document.getElementById('outputsTable')
}
console.log("loaded js!");
let currentModeIsA = true;
let outputFields = {};
let inputsA = {
l: null,
angle: null
};
let inputsB = {
l: null,
angle: null
};
function highlightErrorElement(errorFieldIndex, add = true) {
let fields = [
elements.equalSideLength,
elements.baseAngle,
elements.baseSideLength,
elements.baseAdjacentAngle,
outputsFieldset
];
if (fields[errorFieldIndex]) {
if (add) {
fields[errorFieldIndex].classList.add("bad-input-highlight");
}
else {
fields[errorFieldIndex].classList.remove("bad-input-highlight");
}
}
}
function setErrTooltip(errorFieldIndex, tooltip) {
let errElem = [
elements.equalSideLengthErr,
elements.baseAngleErr,
elements.baseSideLengthErr,
elements.baseAdjacentAngleErr,
elements.outputValuesErr
][errorFieldIndex];
if (errElem) {
highlightErrorElement(errorFieldIndex, tooltip !== "");
if (tooltip !== "") {
errElem.classList.remove("hidden");;
}
else {
errElem.classList.add("hidden");;
}
if (errorFieldIndex == 4) {
tooltip += "<br>"
}
errElem.innerHTML = tooltip;
}
}
function deg2rad(degrees) {
return degrees * (Math.PI / 180);
}
function getCalculations() {
let heights = [];//base related, side realted
let lengths = [];// base side
let radius = 0;
let baseAngle = 0;
let sideAngle = 0;
if (currentModeIsA) {
lengths[0] = 2 * Math.sin(deg2rad(inputsA.angle) / 2) * inputsA.l;
lengths[1] = inputsA.l;
baseAngle = inputsA.angle;
sideAngle = (180 - baseAngle) / 2;
}
else {
lengths[0] = inputsB.l;
lengths[1] = inputsB.l / (2 * Math.cos(deg2rad(inputsB.angle)));
sideAngle = inputsB.angle;
baseAngle = 180 - 2 * sideAngle;
}
let a = lengths[0];
let b = lengths[1];
let p = (a + b + b) / 2;
radius = Math.sqrt((p - a) * (p - b) * (p - b) / p);
heights[0] = lengths[1] * Math.sin(deg2rad(sideAngle));
heights[1] = lengths[0] * Math.sin(deg2rad(baseAngle));
return {
radius: radius,
heights: heights,
lengths: lengths
};
}
function updateCheckboxes() {
outputFields["radius"] = elements.outputR.checked;
outputFields["heights"] = elements.outputH.checked;
outputFields["lengths"] = elements.outputL.checked;
let ret = !outputFields.radius && !outputFields.heights && !outputFields.lengths;
if (ret) {
setErrTooltip(4, "Выберите хотя бы один параметр для вывода.");
} else {
setErrTooltip(4, "");
}
updateCalculateButton();
}
function updateCalculateButton() {
let ret = false;
if (currentModeIsA) {
ret = inputsA["l"] !== null && inputsA["angle"] !== null
}
else {
ret = inputsB["l"] !== null && inputsB["angle"] !== null
}
ret &= elements.outputR.checked || elements.outputH.checked || elements.outputL.checked;
elements.calculateButton.disabled = !ret;
}
function switchInputs(selectA) {
if (selectA) {
elements.imageA.classList.remove("hidden");
elements.imageB.classList.add("hidden");
elements.fieldsetA.classList.remove("hidden");
elements.fieldsetB.classList.add("hidden");
}
else {
elements.imageA.classList.add("hidden");
elements.imageB.classList.remove("hidden");
elements.fieldsetA.classList.add("hidden");
elements.fieldsetB.classList.remove("hidden");
}
updateCalculateButton();
}
function displayTable(calcResults) {
let table = elements.outputsTable;
table.innerHTML = ""; // Clear previous content
let header = "<tr><th>Параметр</th><th>Значение</th></tr>";
let rows = "";
if (outputFields.radius) {
rows += `<tr><td>R</td><td>${calcResults.radius.toFixed(3)}</td></tr>`;
}
if (outputFields.heights) {
rows += `<tr><td>h1</td><td>${calcResults.heights[0].toFixed(3)}</td></tr>`;
rows += `<tr><td>h2</td><td>${calcResults.heights[1].toFixed(3)}</td></tr>`;
}
if (outputFields.lengths) {
rows += `<tr><td>A</td><td>${calcResults.lengths[0].toFixed(3)}</td></tr>`;
rows += `<tr><td>B</td><td>${calcResults.lengths[1].toFixed(3)}</td></tr>`;
}
table.innerHTML = header + rows;
if (rows === "") {
table.innerHTML = `<h3>Выберите параметры для вычислений, сейчас таблица пустая</h3>`;
}
table.classList.remove("hidden");
}
function clearCurrentInputs() {
if (currentModeIsA) {
elements.equalSideLength.value = null;
elements.baseAngle.value = null;
setErrTooltip(0, "");
setErrTooltip(1, "");
inputsA = {
l: null,
angle: null
};
}
else {
inputsB = {
l: null,
angle: null
};
setErrTooltip(2, "");
setErrTooltip(3, "");
elements.baseSideLength.value = null;
elements.baseAdjacentAngle.value = null;
}
elements.outputsTable.classList.add("hidden");
updateCalculateButton()
}
function check180Angle(angleString) {
let angle = parseFloat(angleString);
if (isNaN(angle)) {
return "Введите корректное число";
}
if (angle <= 0) {
return "Угол должен быть больше 0";
}
if (angle >= 180) {
return "Угол должен быть меньше 180";
}
return "";
}
function check90Angle(angleString) {
let angle = parseFloat(angleString);
if (isNaN(angle)) {
return "Введите корректное число";
}
if (angle <= 0) {
return "Угол должен быть больше 0";
}
if (angle >= 90) {
return "Угол должен быть меньше 90";
}
return "";
}
function checkLength(lengthString) {
let length = parseFloat(lengthString);
if (!isFinite(length)) {
return "Введите корректное число";
}
if (length <= 0) {
return "Длина должна быть больше 0";
}
return "";
}
function handleSwitchInputs(event) {
if (event.target.id[event.target.id.length - 1].toLowerCase() == "a") {
currentModeIsA = true;
switchInputs(true);
console.log("Switching inputs to A");
}
else {
currentModeIsA = false;
switchInputs(false);
console.log("Switching inputs to B");
}
}
function handleInputsUpdate(event) {
switch (event.target.id) {
case "equalSideLength":
{
const err = checkLength(event.target.value);
setErrTooltip(0, err);
if (err === "") {
inputsA.l = parseFloat(event.target.value);
} else {
inputsA.l = null;
}
}
break;
case "baseAngle":
{
const err = check180Angle(event.target.value);
setErrTooltip(1, err);
if (err === "") {
inputsA.angle = parseFloat(event.target.value);
} else {
inputsA.angle = null;
}
}
break;
case "baseSideLength":
{
const err = checkLength(event.target.value);
setErrTooltip(2, err);
if (err === "") {
inputsB.l = parseFloat(event.target.value);
} else {
inputsB.l = null;
}
}
break;
case "baseAdjacentAngle":
{
const err = check90Angle(event.target.value);
setErrTooltip(3, err);
if (err === "") {
inputsB.angle = parseFloat(event.target.value);
} else {
inputsB.angle = null;
}
}
break;
default:
console.log(event.target.id)
break;
}
updateCalculateButton();
}
function handleFieldsetEvent(event) {
if (event.target.type === 'radio') {
handleSwitchInputs(event);
} else if (event.target.type === 'number') {
handleInputsUpdate(event);
}
}
elements.inputsForm.addEventListener('change', handleFieldsetEvent);
elements.inputsForm.addEventListener('input', handleFieldsetEvent);
elements.outputsFieldset.addEventListener('change', (event) => {
if (event.target.type === 'checkbox') {
updateCheckboxes();
}
});
elements.clearButton.addEventListener('click', (event) => {
event.preventDefault();
clearCurrentInputs()
});
elements.calculateButton.addEventListener('click', (event) => {
event.preventDefault();
displayTable(getCalculations());
});
// чтобы не сконфузило
updateCheckboxes();
switchInputs(elements.radioA.checked);

BIN
old/hw/hw7/imgs/type1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 73 KiB

BIN
old/hw/hw7/imgs/type2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 73 KiB

View File

@@ -0,0 +1,40 @@
CN Tower, Торонто, Канада
553,3-метровая телевизионная башня. Была самым высоким свободно стоящим сооружением в мире с 1976 по 2007 год,
а также до сих пор остаётся таковым в Западном полушарии. Является символом Торонто.
Земляные работы для сооружения железобетонной конструкции с последующим
натяжением арматуры весом 130 000 т начались 12 февраля 1973 г., а уже 2 апреля 1975 г. возведение башни было завершено.
Башня используется для телекоммуникационных нужд. Кроме того, башня используется как обзорная площадка.
Также на башне имеется вращающийся ресторан.
На высоте 447 м находится астрономическая обсерватория.
Бурдж-Халифа, Дубай, ОАЭ
Небоскрёб высотой 828 метров, самое высокое сооружение в мире. Форма здания напоминает сталагмит.
Строительство небоскрёба началось в 2004 году и шло со скоростью 1—2 этажа в неделю. Ежедневно на строительстве
работало до 12 000 рабочих. На его создание ушло около 320 тыс. м³ бетона и более 60 тыс. тонн стальной арматуры.
Бетонные работы были завершены после возведения 160 этажа, далее шла сборка 180-метрового шпиля из металлических
конструкций.
Специально для «Бурдж-Халифа» была разработана особая марка бетона, который выдерживает температуру до +50 °C.
Бетонную смесь укладывали только ночью, а в раствор добавляли лёд.
Небесное дерево, Токио, Япония
Телевизионная башня в районе Сумида самая высокая среди телебашен мира. Высота телебашни вместе с антенной составляет 634 метра.
Высота башни была выбрана так, чтобы цифры: 6 (на старом японском «му»), 3 («са»), 4 («си») были созвучны «Мусаси» —
названию исторической области, где находится современный Токио.
Здание напоминает пятиярусную пагоду, что хорошо сочетается с историческим районом Асакуса на другом берегу реки.
Основание башни напоминает штатив; с высоты примерно 350 м она имеет цилиндрическую форму, позволяющую наслаждаться
панорамными видами реки и города.
Имеются две наблюдательные площадки: одна на высоте 350 м (вместимостью 2000 человек), другая на высоте 450 м
(вместимостью 900 человек).

File diff suppressed because one or more lines are too long

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

View File

@@ -0,0 +1,208 @@
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Лабораторная работа Bootstrap</title>
<link href="css/bootstrap.min.css" rel="stylesheet">
<script src="js/bootstrap.bundle.min.js"></script>
<style>
.lead{
text-align: justify;
}
@media (max-width: 576px) {
.lead{
font-size: 1rem;
}
}
</style>
</head>
<body>
<header>
<nav class="navbar navbar-expand-md bg-light navbar-light">
<!-- Заголовок -->
<a class="navbar-brand" href="#">Топ высотных зданий</a>
<!-- Кнопка для свернутого меню -->
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#menu">
<span class="navbar-toggler-icon"></span>
</button>
<!-- меню -->
<div class="collapse navbar-collapse" id="menu">
<ul class="navbar-nav">
<li class="nav-item">
<a class="nav-link active" href="#">Главная</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Список зданий</a>
</li>
<li class="nav-item">
<a class="nav-link disabled" href="#">Контакты</a>
</li>
</ul>
<!-- форма для поиска -->
<form class="d-flex">
<input class="form-control" type="text" placeholder="Найти">
<button class="btn btn-outline-success" type="submit">Найти</button>
</form>
</div>
</nav>
</header>
<div class="row gy-3 text-center d-none d-md-flex">
<div class="col-lg-2 col-md-4 col-6 img-fluid img-thumbnail">
<img src="images/image1.jpg" alt="">
</div>
<div class="col-lg-2 col-md-4 col-6 img-fluid img-thumbnail">
<img src="images/image2.jpg" alt="">
</div>
<div class="col-lg-2 col-md-4 col-6 img-fluid img-thumbnail">
<img src="images/image12.jpg" alt="">
</div>
<div class="col-lg-2 col-md-4 col-6 img-fluid img-thumbnail">
<img src="images/image4.jpg" alt="">
</div>
<div class="col-lg-2 col-md-4 col-6 img-fluid img-thumbnail">
<img src="images/image5.jpg" alt="">
</div>
<div class="col-lg-2 col-md-4 col-6 img-fluid img-thumbnail">
<img src="images/image6.jpg" alt="">
</div>
</div>
<div id="gallery" class="carousel slide carousel-dark d-block d-md-none " data-bs-ride="carousel">
<!-- Содержимое галереи -->
<div class="carousel-inner">
<div class="carousel-item active">
</div>
<div class="carousel-item ">
<img src="images/image1.jpg" class="d-block mx-auto" alt="">
</div>
<div class="carousel-item">
<img src="images/image2.jpg" class="d-block mx-auto" alt="">
</div>
<div class="carousel-item">
<img src="images/image12.jpg" class="d-block mx-auto" alt="">
</div>
<div class="carousel-item">
<img src="images/image4.jpg" class="d-block mx-auto" alt="">
</div>
<div class="carousel-item">
<img src="images/image5.jpg" class="d-block mx-auto" alt="">
</div>
<div class="carousel-item">
<img src="images/image6.jpg" class="d-block mx-auto" alt="">
</div>
</div>
<!-- Кнопки управления -->
<button class="carousel-control-prev" type="button" data-bs-target="#gallery" data-bs-slide="prev">
<span class="carousel-control-prev-icon" aria-hidden="true"></span>
<span class="visually-hidden">Предыдущий</span>
</button>
<button class="carousel-control-next" type="button" data-bs-target="#gallery" data-bs-slide="next">
<span class="carousel-control-next-icon" aria-hidden="true"></span>
<span class="visually-hidden">Следующий</span>
</button>
</div>
<main class="container">
<div class="row">
<div class="col-md-9">
<h2>
CN Tower, <span class="text-muted">Торонто, Канада</span>
</h2>
<p class="lead">
553,3-метровая телевизионная башня. Была самым высоким свободно стоящим сооружением в мире с 1976 по
2007 год,
а также до сих пор остаётся таковым в Западном полушарии. Является символом Торонто.
</p>
<p class="lead">
Земляные работы для сооружения железобетонной конструкции с последующим
натяжением арматуры весом 130 000 т начались 12 февраля 1973 г., а уже 2 апреля 1975 г. возведение
башни было завершено.
</p>
<p class="lead">
Башня используется для телекоммуникационных нужд. Кроме того, башня используется как обзорная
площадка.
Также на башне имеется вращающийся ресторан.
</p>
<p class="lead">
На высоте 447 м находится астрономическая обсерватория.
</p>
</div>
<div class="col-md-3">
<img src="images/image9.jpg">
</div>
</div>
<div class="row order flex-row-reverse">
<div class="col-md-9">
<h2>
Бурдж-Халифа, <span class="text-muted">Дубай, ОАЭ</span>
</h2>
<p class="lead">
Небоскрёб высотой 828 метров, самое высокое сооружение в мире. Форма здания напоминает сталагмит.
</p>
<p class="lead">
Строительство небоскрёба началось в 2004 году и шло со скоростью 1—2 этажа в неделю. Ежедневно на строительстве
работало до 12 000 рабочих. На его создание ушло около 320 тыс. м³ бетона и более 60 тыс. тонн стальной арматуры.
Бетонные работы были завершены после возведения 160 этажа, далее шла сборка 180-метрового шпиля из металлических
конструкций.
</p>
<p class="lead">
Специально для «Бурдж-Халифа» была разработана особая марка бетона, который выдерживает температуру до +50 °C.
Бетонную смесь укладывали только ночью, а в раствор добавляли лёд.
</p>
</div>
<div class="col-md-3">
<img src="images/image13.jpg">
</div>
</div>
<div class="row">
<div class="col-md-9">
<h2>
Небесное дерево, <span class="text-muted">Токио, Япония</span>
</h2>
<p class="lead">
Телевизионная башня в районе Сумида самая высокая среди телебашен мира. Высота телебашни вместе с антенной составляет 634 метра.
Высота башни была выбрана так, чтобы цифры: 6 (на старом японском «му»), 3 («са»), 4 («си») были созвучны «Мусаси» —
названию исторической области, где находится современный Токио.
</p>
<p class="lead">
Здание напоминает пятиярусную пагоду, что хорошо сочетается с историческим районом Асакуса на другом берегу реки.
Основание башни напоминает штатив; с высоты примерно 350 м она имеет цилиндрическую форму, позволяющую наслаждаться
панорамными видами реки и города.
</p>
<p class="lead">
Имеются две наблюдательные площадки: одна на высоте 350 м (вместимостью 2000 человек), другая на высоте 450 м
(вместимостью 900 человек).
</p>
</div>
<div class="col-md-3">
<img src="images/image11.jpg">
</div>
</div>
</main>
</body>
</html>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

1
old/labs/fake-lab5/.gitignore vendored Normal file
View File

@@ -0,0 +1 @@
node_modules

6695
old/labs/fake-lab5/package-lock.json generated Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,30 @@
{
"name": "template_pug",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"build": "webpack --mode production",
"serve": "webpack serve --open --mode development",
"dev": "webpack --mode development",
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [],
"author": "",
"license": "ISC",
"devDependencies": {
"chokidar": "^4.0.3",
"css-loader": "^6.8.1",
"filemanager-webpack-plugin": "^8.0.0",
"glob": "^11.0.3",
"html-webpack-plugin": "^5.5.3",
"pug": "^2.0.4",
"pug-loader": "^2.4.0",
"style-loader": "^3.3.3",
"stylus": "^0.61.0",
"stylus-loader": "^7.1.3",
"webpack": "^5.89.0",
"webpack-cli": "^5.1.4",
"webpack-dev-server": "^4.15.1"
}
}

View File

@@ -0,0 +1,36 @@
block variables
- var title = 'Самые высокие здания и сооружения'
-
var dictMenu = {'Главная': 'index.html',
'Небоскребы' : "#",
'Башни': "#",
'Список': "#"
}
- var listImages = ['image1.jpg', 'image2.jpg', 'image3.jpg', 'image4.jpg', 'image5.jpg']
-
var listSections = [
{'header' : 'Бурдж-Халифа в Дубае, ОАЭ',
'image' : 'image7.jpg',
'text' : 'Небоскрёб высотой 828 метров, самое высокое сооружение в мире. Форма здания напоминает сталагмит.'
},
{'header' : 'Токийское небесное дерево, Япония',
'image' : 'image6.jpg',
'text' : 'Телевизионная башня в районе Сумида самая высокая среди телебашен мира. Высота телебашни вместе с антенной составляет 634 метра.'
},
{'header' : 'CN Tower, Канада',
'image' : 'image8.jpg',
'text' : 'Си-Эн Тауэр — самое высокое свободно стоящее сооружение в мире с 1976 по 2007 год. Его высота составляет 553,33 метра.'
}
]
-
var structures = [
{
menuItem: "Ворота Запада, США",
pict: "image1_big.jpg",
firstP: `Арка в Сент-Луисе, также известная под именем «Врата на запад» — мемориал, являющийся частью Джефферсоновского национального экспансиального мемориала, а также визитной карточкой Сент-Луиса, штат Миссури, США.`,
secondP: `Арка была спроектирована финско-американским архитектором Ээро Саариненом в 1947 году. Её высота 192 метра в самой высокой точке, ширина её основания также 192 метра.
Таким образом арка является самым высоким памятником на территории США. Её строительство началось 12 февраля 1963 года и было закончено 28 октября 1965 года. Памятник открылся для посетителей 24 июля 1967 года.`
}
]

View File

@@ -0,0 +1,20 @@
include ../components/data.pug
mixin createMenu(menu, active)
each value, key in menu
if active == key
a.active(href= value)= key
else
a(href= value)= key
mixin createMenuBuild(menu, active)
each value, key in menu
a(href= value)= key
a.active(href= "")= active
mixin createSection()
each item in listSections
section
h3= item.header
img(src= require("../images/" + item.image))
p= item.text
a(href="#") &hellip;

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 162 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

View File

@@ -0,0 +1 @@
import './styles/main.styl'

View File

@@ -0,0 +1,19 @@
extends template
block nav
title #{structures[0].menuItem}
nav
+createMenuBuild(dictMenu, structures[0].menuItem)
block header
h2= structures[0].menuItem
block content
img.big(src= require("../images/" + structures[0].pict))
section
p= structures[0].firstP
p= structures[0].secondP

View File

@@ -0,0 +1,19 @@
extends template
block nav
nav
+createMenu(dictMenu, 'Главная')
block content
div.images
each pict in listImages
a(href= "building.html")
img(src= require("../images/" + pict))
article
each item in listSections
section
h3= item.header
img(src= require("../images/" + item.image))
p= item.text
a(href="#") &hellip;

View File

@@ -0,0 +1,18 @@
include ../components/mixin.pug
include ../components/data.pug
doctype html
html(lang="ru")
head
title #{title}
body
block header
h2= title
block nav
block content
block footer
footer
h4 &copy; Пример html-страницы

View File

@@ -0,0 +1,86 @@
colorText = #6f6d6d
back(size)
background-color #f1f1f1
box-shadow 4px 5px 10px rgba(0, 0, 0, 0.4)
padding: size + "%"
margin 0 0 1% 0
html
color colorText
nav
back(0)
text-align right
& a
display inline-block
padding 1%
color colorText
text-decoration: none
&:hover
&.active
background-color #f87777
color #f8f8f8
div.images
display grid
grid-template-columns repeat(5, 1fr)
grid-gap 0.5%
back(1)
overflow hidden
& img
width: 100%
@media (max-width: 600px)
grid-template-rows repeat(5, 1fr)
grid-template-columns 1fr
justify-items center
article
width 80%
margin auto
display grid
grid-template-columns repeat(3, 1fr)
grid-gap 4%
overflow hidden
@media (max-width: 600px)
grid-template-rows repeat(3, 1fr)
grid-template-columns 1fr
& section
display grid
grid-template-columns 1fr 2fr
grid-gap 2%
align-items center
back(2)
& h3
grid-column 1/3
margin 0
text-align center
& img
width: 100%
footer
background-color colorText
color white
@media (max-width: 600px)
margin 3vh 0
& h4
padding:10px
.big
width 50vw
@media (max-width: 600px)
width 100vw
section
display grid
grid-template-columns 1fr 1fr
@media (max-width: 600px)
grid-template-columns 1fr

View File

@@ -0,0 +1,69 @@
const HtmlWebpackPlugin = require("html-webpack-plugin");
const FileManagerPlugin = require("filemanager-webpack-plugin");
const path = require("path");
const fs = require("fs");
const pagesDir = path.join(__dirname, "src", "pages");
const pages = fs.readdirSync(pagesDir).filter(file => file.endsWith(".pug"));
module.exports = {
output: {
path: path.join(__dirname, "dist"),
filename: "index.[contenthash].js",
assetModuleFilename: path.join("images", "[name].[contenthash][ext]"),
},
entry: path.join(__dirname, "src", "index.js"),
module: {
rules: [
{
test: /\.pug$/,
loader: "pug-loader",
},
{
test: /\.(png|jpg|jpeg|gif)$/i,
type: "asset/resource",
},
{
test: /\.svg$/,
type: "asset/resource",
generator: {
filename: path.join("icons", "[name].[contenthash][ext]"),
},
},
{
test: /\.styl$/,
use: [
{
loader: "style-loader",
},
{
loader: "css-loader",
},
{
loader: "stylus-loader",
},
],
},
],
},
plugins: [
...pages.map(
(page) =>
new HtmlWebpackPlugin({
template: path.join(pagesDir, page),
filename: page.replace(".pug", ".html"),
})
),
new FileManagerPlugin({
events: {
onStart: {
delete: ["dist"],
},
},
}),
],
devServer: {
watchFiles: path.join(__dirname, "src"),
port: 9000,
},
};

23
old/labs/lab2/lab2.css Normal file
View File

@@ -0,0 +1,23 @@
.main-block{
margin: auto;
width: 90%;
background-color: lightgreen;
}
.info-block{
display: inline-block;
margin:15px;
width: 180px;
}
.info-block-header{
padding: 5px;
background-color: white;
display: inline-block;
font-weight: bold;
}
.info-block-text{
padding: 5px;
background-color: white;
}

42
old/labs/lab2/lab2.html Normal file
View File

@@ -0,0 +1,42 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>
Lab 2
</title>
<link rel="stylesheet" href="./lab2.css">
</head>
<body>
<div class="main-block">
<div class="info-block">
<div class="info-block-header">C</div>
<div class="info-block-text">разработан в 19691973 годах сотрудником Bell Labs Деннисом Ритчи.</div>
</div>
<div class="info-block">
<div class="info-block-header">JavaScript </div>
<div class="info-block-text">разработан в 1996 году, автор - американский программист Брендан Айк.</div>
</div>
<div class="info-block">
<div class="info-block-header">Prolog </div>
<div class="info-block-text">разработан в 1972 году, автор - французский программист Ален Колмероэ.</div>
</div>
<div class="info-block">
<div class="info-block-header">Python </div>
<div class="info-block-text">создан в 19891991 годах голландским программистом Гвидо ван Россумом.</div>
</div>
<div class="info-block">
<div class="info-block-header">Java </div>
<div class="info-block-text">разработан в 19901996 годах канадским программистом Джеймсом Гослингом.</div>
</div>
<div class="info-block">
<div class="info-block-header">Ruby </div>
<div class="info-block-text">разработан в 1993-1995 годах, автор - японский программист Юкихиро Мацумото.</div>
</div>
</div>
</body>

55
old/labs/lab3/lab3.css Normal file
View File

@@ -0,0 +1,55 @@
h3{
text-align: center;
margin: 1vh;
}
.content{
background-color: lightgreen;
display: flex;
flex-direction: row;
flex-wrap: nowrap;
padding:10px;
}
.topic > b{
display: block;
width: 40%;
}
.topic * {
display: inline-block;
}
.content :first-child b, .content :first-child a{
background-color: lightgreen;
}
.topic{
/* width:calc(50%-10px); */
padding:5px 10px;
margin: 10px ;
background-color: white;
}
@media (max-width:800px) {
.content{
flex-direction: column;
}
}
/* grid part */
p{
margin: 5px auto;
max-width: 600px;
display: grid;
grid-template-rows: 1fr 1fr;
grid-template-columns: 1fr 1fr;
grid-gap: 5px;
}
p > a{
background-color: lightgray;
text-decoration: none;
color: black;
text-align: center;
}
p> :first-child{
background-color: lightgreen;
}

34
old/labs/lab3/lab3.html Normal file
View File

@@ -0,0 +1,34 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>
Lab 3
</title>
<link rel="stylesheet" href="./lab3.css">
</head>
<body>
<h3>Языки программирования</h3>
<p>
<a href="#">Python</a>
<a href="#">C</a>
<a href="#">Java</a>
<a href="#">JavaScript</a>
</p>
<div class="content">
<div class="topic">
<b>Python</b> создан в 19891991 годах голландским программистом <a href="#"> Гвидо ван Россумом</a>.
</div>
<div class="topic">
<b>C</b> разработан в 19691973 годах сотрудником Bell Labs <a href="#"> Деннисом Ритчи</a>.
</div>
<div class="topic">
<b>Java</b> разработан в 19901996 годах канадским программистом <a href="#"> Джеймсом Гослингом</a>.
</div>
<div class="topic">
<b>JavaScript</b> разработан в 1996 году, автор - американский программист <a href="#">Брендан Айк</a>.
</div>
</div>
</body>

6
old/labs/lab4/css/bootstrap.min.css vendored Normal file

File diff suppressed because one or more lines are too long

BIN
old/labs/lab4/images/c.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

99
old/labs/lab4/index.html Normal file
View File

@@ -0,0 +1,99 @@
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Лабораторная работа Bootstrap</title>
<link href="css/bootstrap.min.css" rel="stylesheet">
<script src="js/bootstrap.bundle.min.js"></script>
<style>
.lead {
text-align: justify;
}
</style>
</head>
<body class="container">
<div class="row bg-lg-light justify-content-center">
<div class="col-sm-12 col-md-6 col-xl-4 p-4 text-center">
<h3 class="bg-light d-sm-block d-lg-inline my-0 p-2">
JavaScript
</h3>
<div class="bg-light d-lg-flex align-self-center">
<p class="lead px-2 m-0">
разработан в 1996 году, автор - американский программист Брендан Айк.
</p>
<img src="images/javascript.jpg" class="d-block m-auto w-50">
</div>
</div>
</div>
<div class="row bg-lg-light justify-content-center">
<div class="col-sm-12 col-md-6 col-xl-4 p-4 text-center">
<h3 class="bg-light d-sm-block d-lg-inline my-0 p-2">
Java
</h3>
<div class="bg-light d-lg-flex align-self-center">
<p class="lead px-2 m-0"></p>
разработан в 19901996 годах канадским программистом Джеймсом Гослингом.
</p>
<img src="images/java.jpg" class="d-block m-auto w-50">
</div>
</div>
<div class="col-sm-12 col-md-6 col-xl-4 p-4 text-center">
<h3 class="bg-light d-sm-block d-lg-inline my-0 p-2">
C
</h3>
<div class="bg-light d-lg-flex align-self-center">
<p class="lead px-2 m-0">
разработан в 19691973 годах сотрудником Bell Labs Деннисом Ритчи.
</p>
<img src="images/c.jpg" class="d-block m-auto w-50">
</div>
</div>
</div>
<div class="row bg-lg-light justify-content-center">
<div class="col-sm-12 col-md-6 col-xl-4 p-4 text-center">
<h3 class="bg-light d-sm-block d-lg-inline my-0 p-2">
Prolog
</h3>
<div class="bg-light d-lg-flex align-self-center">
<p class="lead px-2 m-0">
разработан в 1972 году, автор - французский программист Ален Колмероэ.
</p>
<img src="images/prolog.jpg" class="d-block m-auto w-50">
</div>
</div>
<div class="col-sm-12 col-md-6 col-xl-4 p-4 text-center">
<h3 class="bg-light d-sm-block d-lg-inline my-0 p-2">
Python
</h3>
<div class="bg-light d-lg-flex align-self-center">
<p class="lead px-2 m-0">
создан в 19891991 годах голландским программистом Гвидо ван Россумом.
</p>
<img src="images/python.jpg" class="d-block m-auto w-50">
</div>
</div>
<div class="col-sm-12 col-md-6 col-xl-4 p-4 text-center">
<h3 class="bg-light d-sm-block d-lg-inline my-0 p-2">
Ruby
</h3>
<div class="bg-light d-lg-flex align-self-center">
<p class="lead px-2 m-0">
разработан в 1993-1995 годах, автор - японский программист Юкихиро Мацумото.
</p>
<img src="images/ruby.jpg" class="d-block m-auto w-50">
</div>
</div>
</div>
</body>
</html>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

1
old/labs/lab5/.gitignore vendored Normal file
View File

@@ -0,0 +1 @@
node_modules

6695
old/labs/lab5/package-lock.json generated Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,30 @@
{
"name": "template_pug",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"build": "webpack --mode production",
"serve": "webpack serve --open --mode development",
"dev": "webpack --mode development",
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [],
"author": "",
"license": "ISC",
"devDependencies": {
"chokidar": "^4.0.3",
"css-loader": "^6.8.1",
"filemanager-webpack-plugin": "^8.0.0",
"glob": "^11.0.3",
"html-webpack-plugin": "^5.5.3",
"pug": "^2.0.4",
"pug-loader": "^2.4.0",
"style-loader": "^3.3.3",
"stylus": "^0.61.0",
"stylus-loader": "^7.1.3",
"webpack": "^5.89.0",
"webpack-cli": "^5.1.4",
"webpack-dev-server": "^4.15.1"
}
}

View File

@@ -0,0 +1 @@
import './styles/main.styl'

View File

@@ -0,0 +1,5 @@
head
title Lab 5
body
p.first-green-letter Текст Текст
p.first-green-letter Второй параграф

View File

@@ -0,0 +1,7 @@
text(size, color)
&:first-letter
font-size size
color color
.first-green-letter
text(2em,green)

View File

@@ -0,0 +1,69 @@
const HtmlWebpackPlugin = require("html-webpack-plugin");
const FileManagerPlugin = require("filemanager-webpack-plugin");
const path = require("path");
const fs = require("fs");
const pagesDir = path.join(__dirname, "src", "pages");
const pages = fs.readdirSync(pagesDir).filter(file => file.endsWith(".pug"));
module.exports = {
output: {
path: path.join(__dirname, "dist"),
filename: "index.[contenthash].js",
assetModuleFilename: path.join("images", "[name].[contenthash][ext]"),
},
entry: path.join(__dirname, "src", "index.js"),
module: {
rules: [
{
test: /\.pug$/,
loader: "pug-loader",
},
{
test: /\.(png|jpg|jpeg|gif)$/i,
type: "asset/resource",
},
{
test: /\.svg$/,
type: "asset/resource",
generator: {
filename: path.join("icons", "[name].[contenthash][ext]"),
},
},
{
test: /\.styl$/,
use: [
{
loader: "style-loader",
},
{
loader: "css-loader",
},
{
loader: "stylus-loader",
},
],
},
],
},
plugins: [
...pages.map(
(page) =>
new HtmlWebpackPlugin({
template: path.join(pagesDir, page),
filename: page.replace(".pug", ".html"),
})
),
new FileManagerPlugin({
events: {
onStart: {
delete: ["dist"],
},
},
}),
],
devServer: {
watchFiles: path.join(__dirname, "src"),
port: 9000,
},
};

19
old/labs/lab6/lab6.js Normal file
View File

@@ -0,0 +1,19 @@
function areNumbersEqual(num1,num2,percision){
return Math.abs(num1 - num2) < percision;
}
func=(...args) => {
const percision=0.1E-2;
args.sort();
let out = "";
let lastElem = null;
for (let i = 0; i < args.length-1; i++){
if (areNumbersEqual(args[i],args[i+1],percision) && (!areNumbersEqual(args[i],lastElem,percision) || lastElem === null)){
lastElem = args[i];
out += lastElem+" ";
}
}
return out;
}
console.log(func(-0.0009111,0,-0.0009111,-0.009111,-0,1.1,1.101,2.0001,2))

20
old/labs/lab7/lab7.html Normal file
View File

@@ -0,0 +1,20 @@
<body>
<h3>Языки программирования</h3>
<ul>
<li><a href ="">Python</a></li>
<li><a href ="">C</a></li>
<li><a id="test" href ="">Java</a></li>
<li><a href ="">JavaScript</a></li>
</ul>
</body>
<script>
let elem = document.getElementById("test");
elem = elem.parentNode;
while(elem.parentElement!==null){
let newElem =document.createElement(elem.children[0].tagName);
newElem.innerHTML= "Новый Элемент";
elem.appendChild(newElem);
elem=elem.parentNode;
}
</script>

View File

@@ -0,0 +1,34 @@
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<title>task 1</title>
</head>
<body>
<h3><i>Возможности HTML</i></h3>
<hr width='30%' align=left>
<ol>
<li> Выделение текста:
<ul type=circle>
<li>жирным;</li>
<li>курсивным;</li>
</ul>
</li>
<li>Характеристика шрифта.</li>
<li><a href=#>Вставка рисунков. </a></li>
<li> Оформление текста:
<ul type=circle>
<li>заголовки; </li>
<li>абзацы;</li>
<li>списки.</li>
</ul>
</li>
</ol>
<hr align=left width=30%>
<p align="justify">Средствами HTML осуществляется переход на другие страницы сети Интернет.</p>
</body>
</html>

View File

@@ -0,0 +1,57 @@
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<title>Пройдите тест</title>
</head>
<body>
<h2>Пройдите тест</h2>
<form>
<ol>
<li>
Что будет выведено в окно браузера после выполнения оператора:<br>
<code>document.write("&lt;strong&gt;a&lt;sub&gt;i&lt;/sub&gt; = 2&lt;sup&gt;i&lt;/sup&gt;&lt;/strong&gt;")</code>
<br><br>
<input type="radio" name="q1" id="q1a" value="a1">
<label for="q1a">a<sub>i</sub> = 2<sup>i</sup></label><br>
<input type="radio" name="q1" id="q1b" value="a2">
<label for="q1b"><strong>a<sub>i</sub> = 2<sub>i</sub></strong></label><br>
<input type="radio" name="q1" id="q1c" value="a3">
<label for="q1c"><strong>a<sub>i</sub> = 2i</strong></label><br>
<input type="radio" name="q1" id="q1d" value="a4">
<label for="q1d">a<sup>i</sup> = 2<sup>i</sup></label>
</li>
<br>
<li>
Отметьте верные названия переменных:<br>
<input type="checkbox" id="q2a" name="q2" value="name">
<label for="q2a">name</label><br>
<input type="checkbox" id="q2b" name="q2" value="name+age">
<label for="q2b">name+age</label><br>
<input type="checkbox" id="q2c" name="q2" value="nameAge">
<label for="q2c">nameAge</label><br>
<input type="checkbox" id="q2d" name="q2" value="3name">
<label for="q2d">3name</label><br>
<input type="checkbox" id="q2e" name="q2" value="name(age)">
<label for="q2e">name(age)</label>
</li>
<br>
<li>
Какое значение получит переменная <code>result</code> после выполнения следующих операторов:<br>
<code>
let a = 7;<br>
let b = 4;<br>
let result = a % 3 + b % 2;
</code>
<br>
Ответ: <input type="text" name="q3" size="5">
</li>
</ol>
<button type="submit">Закончить тестирование</button>
<button type="reset">Повторить тестирование</button>
</form>
</body>
</html>

View File

@@ -0,0 +1,26 @@
.menuItem {
text-align: center;
}
#menu ul {
padding-left: 0;
margin: .5%;
}
#menu li {
display: inline-block;
width: 16%;
background: #F00;
}
#menu a {
text-decoration: none;
color: white;
}
.pict {
width: 70%;
background: rgba(0, 255, 0, .5);
margin: 5px auto;
padding: 5px 0;
}

View File

@@ -0,0 +1,33 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Задание 2</title>
<style>
h1,
h2 {
text-align: center;
color: maroon;
}
ins {
text-decoration: underline;
}
i {
font-style: italic;
}
</style>
</head>
<body>
<h1>
<ins>Основы HTML</ins>
</h1>
<h2>
<i>Оглавление</i>
</h2>
</body>
</html>

View File

@@ -0,0 +1,28 @@
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<title>Задание 3</title>
<style>
.blue-bold {
font-weight: bold;
color: blue;
}
.big-font{
font-size: 20px;
color: green;
}
.center-red {
color: red;
text-align: center;
}
</style>
</head>
<body>
<p class="blue-bold">Каскадность CSS:</p>
<ul>
<li class="center-red">расширение свойств;</li>
<li class="big-font center-red">переопределение свойств.</li>
</ul>
</body>
</html>

View File

@@ -0,0 +1,81 @@
<!DOCTYPE HTML>
<html>
<head>
<meta charset=utf-8">
<title>Task 4</title>
<style>
div {
box-sizing: border-box;
background: lightblue;
text-align: center;
margin: 5px 5px;
}
.menu{
text-align: end;
}
.menu > div{
width: 100px;
height: 50px;
display: inline-block;
background: violet;
}
.gray {
background: gainsboro;
}
.w50 {
width: 48%;
display: inline-block;
height: 250px;
}
.top {
width: 70%;
margin: 0 auto 20px;
}
.left {
display: inline-block;
width: 63%
}
.left .part {
height: 80px;
}
.right {
float: right;
width: 35%;
height: 340px;
}
</style>
</head>
<body>
<div class="menu">
<div>меню1</div>
<div>меню2</div>
<div>меню3</div>
<div>меню4</div>
</div>
<div class="top">
<div class="gray w50"><span>рисунок 1</span></div>
<div class="gray w50"><span>рисунок 2</span></div>
</div>
<div class="main">
<div class="left">
<div class="gray part"><span>часть 1.1</span></div>
<div class="gray part"><span>часть 1.2</span></div>
<div class="gray part"><span>часть 1.3</span></div>
<div class="gray part"><span>часть 1.4</span></div>
</div>
<div class="gray right"><span>часть 2</span></div>
</div>
</body>
</html>

View File

@@ -0,0 +1,23 @@
.main > p:last-child{
color:green;
}
/*
<div class="menu">
<ol>
<li><a href="#">Комбинация селекторов</a></li>
<li><a href="#">Селекторы атрибутов</a></li>
</ol>
<p>CSS селекторы</p>
</div>
<div class="main">
<h2>Комбинация селекторов</h2>
<img src="tree.png">
<p> Различают следующие виды селекторов: </p>
<ol>
<li><a href="#">вложенный селектор;</a></li>
<li><a href="#">родительский селектор;</a></li>
</ol>
<p> Соединение селекторов</p> --- ВОТ ЕГО КРАСИМ!!!
</div>
*/

View File

@@ -0,0 +1,24 @@
.main li > [href="#"] {
color:green
}
/*
<div class="menu">
<ul>
<li><a href="a1.html">Комбинация селекторов</a></li>
<li><a href="#">Селекторы атрибутов</a></li>
</ul>
<p>CSS селекторы</p>
</div>
<div class="main">
<h2>Комбинация селекторов</h2>
<img src="tree.png">
<p> Различают следующие виды селекторов: </p>
<ol>
<li><a href="#">вложенный селектор;</a></li>
<li><a href="b1.html">родительский селектор;</a></li>
</ol>
<p> <a href="#"> Соединение селекторов </a></p>
</div>
*/

View File

@@ -0,0 +1,24 @@
h2, ol >li:nth-child(2) , ol + p{
color: green;
}
/*
<div class="menu">
<ul>
<li><a href="a1.html">Комбинация селекторов</a></li>
<li><a href="#">Селекторы атрибутов</a></li>
</ul>
</div>
<div class="main">
<h2>Комбинация селекторов</h2> ---
<img src="tree.png">
<p> Различают следующие виды селекторов: </p>
<ol>
<li><a href="#">вложенный селектор;</a></li>
<li><a href="#">родительский селектор;</a></li> ---
<li><a href="#">соседний селектор</a></li>
</ol>
<p> <a href="#"> Соединение селекторов </a></p> ---
</div>
*/

View File

@@ -0,0 +1,8 @@
div > a > img{
width: 10vw;
}
div > a {
display: inline-block;
}

View File

@@ -0,0 +1,8 @@
div > a > img{
width: 10vw;
min-width: 170px;
}
div > a {
min-width: 170px;
display: inline-block;
}

View File

@@ -0,0 +1,26 @@
div > a > img{
width: 10vw;
min-width: 170px;
}
div > a {
min-width: 170px;
}
div {
display: flex;
}
@media (max-width: 600px) {
div {
flex-direction: column;
align-items: center;
}
div > a {
width: 80vw;
max-width: 300px;
min-width: 0;
}
div > a > img {
width: 80vw;
max-width: 300px;
min-width: 0;
}
}

View File

@@ -0,0 +1,24 @@
<div class="container">
<div>1</div>
<div>2</div>
<div>3</div>
<div>4</div>
<div>5</div>
<div>6</div>
<div>7</div>
<div>8</div>
</div>
<style>
.container {
display: flex;
flex-wrap: no-wrap;
background: LightGreen;
}
.container div {
min-width: 120px;
height: 50px;
margin: 5px;
border: solid thin green;
}
</style>

View File

@@ -0,0 +1,38 @@
<style>
.pict {
display: flex;
flex-wrap: nowrap;
justify-content: center;
align-items: center;
}
.pict a img {
min-width:280px;
min-height:280px;
}
@media (max-width: 1000px) {
.pict {
flex-wrap: wrap;
}
}
@media (max-width: 700px) {
.pict {
flex-direction: column;
align-items: center;
}
}
</style>
<hr>
<div class="pict">
<a href="#"><img src="images/image_1.jpg"></a>
<a href="#"><img src="images/image_2.jpg"></a>
<a href="#"><img src="images/image_3.jpg"></a>
<a href="#"><img src="images/image_4.jpg"></a>
<a href="#"><img src="images/image_5.jpg"></a>
</div>
<hr>

View File

@@ -0,0 +1,46 @@
<style>
.pict {
display: flex;
flex-wrap: nowrap;
justify-content: center;
align-items: center;
}
.pict a img {
min-width: 280px;
min-height: 280px;
}
.big {
min-width: 330px;
min-height: 330px;
}
@media (max-width: 1000px) {
.pict {
flex-wrap: wrap;
}
.big {
min-width: 280px;
min-height: 280px;
}
}
@media (max-width: 700px) {
.pict {
flex-direction: column;
align-items: center;
}
}
</style>
<hr>
<div class="pict">
<a href="#"><img src="images/image_1.jpg"></a>
<a href="#"><img src="images/image_2.jpg"></a>
<a href="#" class="big"><img src="images/image_3.jpg"></a>
<a href="#"><img src="images/image_4.jpg"></a>
<a href="#"><img src="images/image_5.jpg"></a>
</div>
<hr>

View File

@@ -0,0 +1,34 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Bootstrap Template</title>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css" rel="stylesheet">
<style>
.col{
background: lightgray;
border: solid thin grey;
}
.row{
border: solid thin red;
}
</style>
</head>
<body class="container-fluid">
<div class="row m-2">
<div class="col-6 col-md-3 col-lg-2 h-2 p-3 bg-light"><h3>aboba</h3></div>
<div class="col-6 col-md-3 col-lg-2 h-2 p-3 bg-light"><h3>aboba</h3></div>
<div class="col-6 col-md-3 col-lg-2 h-2 p-3 bg-light"><h3>aboba</h3></div>
<div class="col-6 col-md-3 col-lg-2 h-2 p-3 bg-light"><h3>aboba</h3></div>
<div class="col-6 col-md-3 col-lg-2 h-2 p-3 bg-light"><h3>aboba</h3></div>
<div class="col-6 col-md-3 col-lg-2 h-2 p-3 bg-light"><h3>aboba</h3></div>
</div>
</body>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/js/bootstrap.bundle.min.js"></script>
</html>

View File

@@ -0,0 +1,38 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Bootstrap Template</title>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css" rel="stylesheet">
<style>
.col {
background: lightgray;
border: solid thin grey;
}
.row {
border: solid thin red;
}
</style>
</head>
<body>
<div class="container d-flex align-items end">
<h5 class="bg-light">Ворота на запад</h5>
<p>192-метровая арка в Сент-Луисе (штат Миссури, США)</p>
<img src="images/image1.jpg" alt="">
</div>
<div class="container d-grid justify-content-center">
<h5 class="bg-light">Ворота на запад</h5>
<p>192-метровая арка в Сент-Луисе (штат Миссури, США)</p>
<img src="images/image1.jpg" alt="">
</div>
</body>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/js/bootstrap.bundle.min.js"></script>
</html>

View File

@@ -0,0 +1,44 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Bootstrap Template</title>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css" rel="stylesheet">
<style>
.col {
background: lightgray;
border: solid thin grey;
}
.row {
border: solid thin red;
}
</style>
</head>
<body>
<div class="container"></div>
<div class="row p-2 border justify-content-between">
<div class="col-12 col-md-7 p-2 m-md-2 border bg-primary text-white">
Строка 1, столбец 1
</div>
<div class="col-12 col-md-3 p-2 m-md-2 border">
Строка 1, столбец 2
</div>
</div>
<div class="row p-2 border justify-content-between">
<div class="col-12 col-md-3 p-2 m-md-2 border">
Строка 2, столбец 1
</div>
<div class="col-12 col-md-7 bg-primary text-white col p-2 m-md-2 border">
Строка 2, столбец 2
</div>
</div>
</div>
</body>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/js/bootstrap.bundle.min.js"></script>
</html>

View File

@@ -0,0 +1,22 @@
...
<body>
<div class="main">
<div class="main__card">
<div class="main__card-header">Заголовок</div>
<div class="main__card-image main__card-image--position_right">Рисунок</div>
<div class="card__content"></div>
</div>
<div class="main__card">
<div class="main__card-header">Заголовок</div>
<div class="main__card-content"></div>
</div>
<div class="main__card">
<div class="main__card-image main__card-image--position_left">Рисунок</div>
<div class="main__card-header">Заголовок</div>
<div class="main__card-content"></div>
</div>
</div>
</body>

View File

@@ -0,0 +1,10 @@
ol#list(type="I")
li Препроцессоры HTML
ul(type="disc")
li.first
a(href="#") Haml
li Pug
li Препроцессоры CSS
ul(type="circle")
li.first SAAS
li Stylus

View File

@@ -0,0 +1,9 @@
ol#list(type="I")
li Препроцессоры HTML
ul(type="disc")
li.first: a(href="#") Haml
li Pug
li Препроцессоры CSS
ul(type="circle")
li.first SAAS
li Stylus

View File

@@ -0,0 +1,10 @@
- var tag = 'h'
- var i = 1
#{tag+i} Уровень #{i}
- i++
#{tag+i} Уровень #{i}
- i++
#{tag+i} Уровень #{i}
- i++
#{tag+i} Уровень #{i}

View File

@@ -0,0 +1,6 @@
- var products ={"Товар":"Цена","ручка":30.5, "карандаш":50, "альбом":156, "тетрадь":21.5, "ластик":10.2}
table
each name,price in products
tr
td= name
td= price

View File

@@ -0,0 +1,8 @@
table
- for(var i=0;i<10;i++)
tr
- for(var j=0;j<10;j++)
- if((i + j) % 2 == 0)
td.white
- else
td.black

View File

@@ -0,0 +1,12 @@
mixin createList(listType, items, tag)
- var dispListType = "ul"
- if (listType == "ol")
- dispListType = "ol"
#{dispListType}.list
each item in items
li
#{tag} #{item}
// Вызов миксина
+createList('ul', ['Python', 'JavaScript', 'Java'], 'strong')

View File

@@ -0,0 +1,5 @@
size=1%
section
box-shadow: size size (2*size) rgba(0,0,0,0.5)
padding:size*2
margin:size*4

View File

@@ -0,0 +1,10 @@
.block
display flex
flex-wrap wrap
p
display inline-block
background gray
&:hover
color green
&:hover
color red

View File

@@ -0,0 +1,19 @@
.block {
color: blue;
}
.block .menu {
color: navy;
}
.block .menu a {
color: red;
}
.block .menu h1 {
color: green;
}
.block:hover {
color: white;
}

View File

@@ -0,0 +1,7 @@
style-tag(tagName, color_)
& {tagName}
color: color_
div
style-tag(ul,Navy)

View File

@@ -0,0 +1,8 @@
color-inv(r,g,b)
color: rgb(255 - r,255 - g ,255 - b)
a
color-inv(1,2,3)
// оказывается пробелы обязательны при вычилеениях, иначе парсер ругается. неожиданно получислоь

View File

@@ -0,0 +1,2 @@
alert("Hello, world!");
document.write("Hello, world!");

View File

@@ -0,0 +1,6 @@
let _name = "Алина";
let email = "alina@test.ru";
let message = `Доброго времени суток, ${_name}! Мы отправили Вам приглашение на почту ${email}.`;
document.write(`<h3>${message}</h3>`);

Some files were not shown because too many files have changed in this diff Show More