Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лаб_3_Ф Головков И.Е. 12002108

.docx
Скачиваний:
1
Добавлен:
26.06.2024
Размер:
22.74 Кб
Скачать

БЕЛГОРОДСКИЙ ГОСУДАРСТВЕННЫЙ НАЦИОНАЛЬНЫЙ

ИССЛЕДОВАТЕЛЬСКИЙ УНИВЕРСИТЕТ»

(НИУ «БелГУ»)

ИНСТИТУТ ИНЖЕНЕРНЫХ И ЦИФРОВЫХ ТЕХНОЛОГИЙ

Кафедра информационных и робототехнических систем

Отчет по лабораторной работе № 3

по дисциплине «Моделирование технических систем»

студента очного отделения

3 курса 12002108 группы

Головкова Игоря Евгеньевича

Проверила:

ст. пр. Скрипина Ирина Ивановна

БЕЛГОРОД, 2024

Лабораторная работа №3 (Frontend)

Работа с TypeScript

Цель работы

1. Изучить основы синтаксиса TypeScript

2. Изучить основы написания сложных типов-утилит на TypeScript

Задание для подготовки к работе

Изучить лекционный материал и теоретический материал настоящей

лабораторной работы.

Порядок выполнения работы

1. Изучить теоретический материал по лекции «TypeScript.

Улучшенный JavaScript»

2. Используя TypeScript, выполнить задания своего варианта.

Ход работы:

Задание №1

Реализовать вспомогательный тип If. Он принимает условие C и

типы T и F. Если условие C правдивое, верните тип T, иначе - F.

Например:

type A = If<true, "a", "b">; // 'a'

type B = If<false, "a", "b">; // 'b

Листинг решения:

type If<C extends boolean, T, F> = C extends true ? T : F;

type A = If<true, "first", "second">;

let variableOfA: A = "first";

console.log(variableOfA);

Задание №2

Напишите функцию, которая находит самую длинную строку общего

префикса среди массива строк.

Например:

["flower","flow","flight"]. “fl”

["dog","racecar","car"]. “”

Листинг решения:

function longestCommonPrefix(wordsList: string[]): string {

if (wordsList.length === 0) {

return "";

}

let prefix = wordsList[0];

for (let i = 1; i < wordsList.length; i++) {

while (wordsList[i].indexOf(prefix) !== 0) {

prefix = prefix.slice(0, prefix.length - 1);

if (prefix === "") {

return "";

}

}

}

return prefix;

}

// Примеры использования

console.log(longestCommonPrefix(["flower", "flow", "flight"])); // Выводит "fl"

console.log(longestCommonPrefix(["dog", "racecar", "car"])); // Выводит ""

Ссылка на pull request:

https://github.com/Brarion/front-course-bgu/pull/10