gitverse new year логотип

lab_4_9

Форк
0

7 месяцев назад
7 месяцев назад
7 месяцев назад
7 месяцев назад
7 месяцев назад
7 месяцев назад
7 месяцев назад
7 месяцев назад
7 месяцев назад
7 месяцев назад
7 месяцев назад
7 месяцев назад
7 месяцев назад
README.md

МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ
РОССИЙСКОЙ ФЕДЕРАЦИИ
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ
ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ
«САХАЛИНСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ»







Институт естественных наук и техносферной безопасности
Кафедра информатики
Гусев Владислав Михайлович





Лабораторная работа №9.«JS»
01.03.02 Прикладная математика и информатика













Научный руководитель
Соболев Евгений Игоревич




г. Южно-Сахалинск
2024 г.













Введение

HTML — стандартизированный язык гипертекстовой разметки документов для просмотра веб-страниц в браузере. Веб-браузеры получают HTML документ от сервера по протоколам HTTP/HTTPS или открывают с локального диска, далее интерпретируют код в интерфейс, который будет отображаться на экране монитора.

CSS — формальный язык описания внешнего вида документа, написанного с использованием языка разметки. Также может применяться к любым XML-документам, например, к SVG или XUL.

Задачи js

  1. Есть некоторая строка (var str = 'fgfggg';), что будет, если мы возьмем str[0]?
  2. Дана функция, она принимает в качестве аргументов строки '*', '1', 'b', '1c', реализуйте ее так, что бы она вернула строку '1*b*1c'
  3. Дано дерево, надо найти сумму всех вершин.
  4. Нарисовать стилями полукруг.
  5. Есть массив в котором лежат объекты с датами, отсортировать по датам.
  6. Есть несколько слов, определить состоят ли они из одних и тех же букв('кот', 'ток', 'окт')
  7. От них же. Числа от 1 до 100 лежат в массиве, они хаотично перемешанные, от туда изъяли одно число, надо найти, что это за число. алгоритм не должен превышать O(n^2) сложности.
  8. Реализовать сортировку пузырьком.
  9. Обратная польская нотация.
  10. Реализовать функцию является ли слово палендром.

Решения CSS

Файл 1.js

var str = 'fgfggg';
console.log(str[0]);

Файл 2.js

function formatString(separator, ...args) {
let result = '';
for (let i = 0; i < args.length; i++) {
if (args[i] !== '') {
if (result !== '') {
result += separator;
}
result += args[i];
}
}
return result;
}
console.log(formatString('*', '', '1', 'b', '1c'));

Файл 3.js

class TreeNode {
constructor(val, left = null, right = null) {
this.val = val;
this.left = left;
this.right = right;
}
}
function sumOfAllNodes(root) {
if (!root) {
return 0;
}
return root.val + sumOfAllNodes(root.left) + sumOfAllNodes(root.right);
}
const root = new TreeNode(1,
new TreeNode(2,
new TreeNode(4),
new TreeNode(10)),
new TreeNode(3,
null,
new TreeNode(6)));
console.log(sumOfAllNodes(root));

Файл 4.js

<!DOCTYPE html>
<html>
<head>
<title>Полукруг</title>
<style>
.semicircle {
width: 200px;
height: 100px;
background-color: #4CAF50;
border-radius: 100px 100px 0 0;
}
</style>
</head>
<body>
<div class="semicircle"></div>
</body>
</html>

Файл 5.js

const events = [
{ date: new Date('2023-05-15'), name: 'Event 1' },
{ date: new Date('2022-12-01'), name: 'Event 2' },
{ date: new Date('2023-03-20'), name: 'Event 3' },
{ date: new Date('2023-01-01'), name: 'Event 4' }
];
events.sort((a, b) => a.date.getTime() - b.date.getTime());
console.log(events);

Файл 6.js

function areAnagrams(words) {
function sortLetters(word) {
return word.split('').sort().join('');
}
const sortedWords = words.map(sortLetters);
return sortedWords.every((word, i) => word === sortedWords[0]);
}
const words = ['кот', 'ток', 'окт'];
console.log(areAnagrams(words));
const notAnagrams = ['кот', 'ток', 'око'];
console.log(areAnagrams(notAnagrams));

Файл 7.js

function findMissingNumber(numbers) {
const fullArray = Array.from({ length: 100 }, (_, i) => i + 1);
return fullArray.filter(num => !numbers.includes(num))[0];
}
const numbers = [1,2, 4, 3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 100];
const missingNumber = findMissingNumber(numbers);
console.log(missingNumber);

Файл 8.js

function bubbleSort(arr) {
const n = arr.length;
for (let i = 0; i < n - 1; i++) {
for (let j = 0; j < n - i - 1; j++) {
if (arr[j] > arr[j + 1]) {
// Меняем элементы местами
[arr[j], arr[j + 1]] = [arr[j + 1], arr[j]];
}
}
}
return arr;
}
// Пример использования
const unsortedArray = [64, 34, 25, 12, 22, 11, 90];
const sortedArray = bubbleSort(unsortedArray);
console.log(sortedArray);

Файл 9.js

class Stack {
constructor() {
this.items = [];
}
push(element) {
this.items.push(element);
}
pop() {
if (this.items.length === 0) {
return "Стек пуст";
}
return this.items.pop();
}
peek() {
return this.items[this.items.length - 1];
}
isEmpty() {
return this.items.length === 0;
}
clear() {
this.items = [];
}
}
function calculateRPN(expression) {
const stack = new Stack();
const tokens = expression.split(" ");
for (let token of tokens) {
if (!isNaN(parseFloat(token))) {
stack.push(parseFloat(token));
} else {
const b = stack.pop();
const a = stack.pop();
switch (token) {
case "+":
stack.push(a + b);
break;
case "-":
stack.push(a - b);
break;
case "*":
stack.push(a * b);
break;
case "/":
stack.push(a / b);
break;
default:
throw new Error("Неизвестная операция: " + token);
}
}
}
return stack.pop();
}
const rpnExpression = "5 3 + 2 * 2 +";
const result = calculateRPN(rpnExpression);
console.log(result);

Файл 10.js

function isPalindrome(word) {
word = word.replace(/\s/g, '').toLowerCase();
return word === word.split('').reverse().join('');
}
console.log(isPalindrome("Бел хлеб"));

Результат HTML

  1. Есть некоторая строка (var str = 'fgfggg';), что будет, если мы возьмем str[0]?
  2. Дана функция, она принимает в качестве аргументов строки '*', '1', 'b', '1c', реализуйте ее так, что бы она вернула строку '1*b*1c'
  3. Дано дерево, надо найти сумму всех вершин.
  4. Нарисовать стилями полукруг.
  5. Есть массив в котором лежат объекты с датами, отсортировать по датам.
  6. Есть несколько слов, определить состоят ли они из одних и тех же букв('кот', 'ток', 'окт')
  7. От них же. Числа от 1 до 100 лежат в массиве, они хаотично перемешанные, от туда изъяли одно число, надо найти, что это за число. алгоритм не должен превышать O(n^2) сложности.
  8. Реализовать сортировку пузырьком.
  9. Обратная польская нотация.
  10. Реализовать функцию является ли слово палендром.

Вывод

В ходе выполнения лабораторной работы по js были рассмотрены различные селекторы, которые позволяют выбирать и стилизовать определенные элементы на веб-странице. Также применены алгоритмы работы с циклами списками и другими структурами данных на js.

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.