Практическая работа №1
Основные теоретические положения
Section titled “Основные теоретические положения”1. Переменные и константы
Для хранения данных в JavaScript используются переменные и константы.
let age = 18;const name = "Alex";let используется для объявления переменных, значение которых может изменяться.
let count = 10;count = 15;console.log(count);const используется для объявления значений, которым после инициализации нельзя присвоить новое значение.
const pi = 3.14;console.log(pi);В современном JavaScript для объявления переменных рекомендуется использовать let и const.
2. Основные типы данных
К основным типам данных JavaScript относятся:
number— числа;string— строки;boolean— логические значенияtrueиfalse;undefined— значение не определено;null— отсутствие значения;bigint— целые числа произвольной длины;symbol— уникальные значения.
Для определения типа значения используется оператор typeof.
const age = 18;const username = "Alex";const isStudent = true;let result;const selectedUser = null;console.log(typeof age);console.log(typeof username);console.log(typeof isStudent);console.log(typeof result);console.log(typeof selectedUser);3. Арифметические операторы
Основные арифметические операторы JavaScript:
+— сложение;-— вычитание;*— умножение;/— деление;%— остаток от деления;**— возведение в степень.
Пример:
const a = 10;const b = 3;console.log(a + b);console.log(a - b);console.log(a * b);console.log(a / b);console.log(a % b);console.log(a ** b);4. Преобразование типов
Для явного преобразования значений используются функции:
Number()— преобразование в число;String()— преобразование в строку;Boolean()— преобразование в логическое значение;parseInt()— преобразование строки в целое число;parseFloat()— преобразование строки в дробное число.
Пример:
const value = "25";const number = Number(value);console.log(number);console.log(typeof number);Если значение невозможно преобразовать в число, результатом может быть NaN.
const result = Number("JavaScript");console.log(result);console.log(Number.isNaN(result));5. Особенности выполнения операций с различными типами
Оператор + используется как для сложения чисел, так и для объединения строк.
console.log(10 + 5);console.log("10" + "5");console.log("10" + 5);console.log(10 + "5");Результат:
15105105105При выполнении некоторых других арифметических операций JavaScript может автоматически преобразовывать строковые значения в числа.
console.log("10" - 5);console.log("10" * 2);console.log("10" / 2);Поэтому при выполнении вычислений необходимо учитывать тип используемых данных.
Задания для выполнения
Section titled “Задания для выполнения”Часть 1. Исследование типов данных и операций
Задание 1.1. Работа с переменными и типами данных
Создайте файл practice-1.js.
Объявите следующие переменные:
const firstName = "Иван";const age = 18;const height = 1.82;const isStudent = true;let middleName;const address = null;Для каждой переменной выведите:
- значение переменной;
- тип значения с использованием оператора
typeof.
Пример:
console.log(firstName);console.log(typeof firstName);Определите, какой тип JavaScript возвращает оператор typeof для значения null.
Задание 1.2. Исследование арифметических операций
До запуска программы определите предполагаемый результат каждого выражения:
console.log(10 + 5);console.log("10" + "5");console.log("10" + 5);console.log(10 + "5");console.log("10" - 5);console.log("10" * 2);console.log("10" / 2);console.log(10 % 3);console.log(2 ** 5);Запишите предполагаемые результаты.
После этого запустите программу и сравните полученные значения со своими предположениями.
Для каждого несовпадения объясните причину.
Задание 1.3. Преобразование типов данных
Даны следующие значения:
const value1 = "125";const value2 = "15.7";const value3 = "JavaScript";const value4 = "";const value5 = true;const value6 = false;Для каждого значения выполните преобразование с использованием:
Number()String()Boolean()Выведите:
- исходное значение;
- результат преобразования;
- тип полученного значения.
По результатам работы заполните таблицу:
| Исходное значение | Number() | String() | Boolean() |
|---|---|---|---|
"125" | |||
"15.7" | |||
"JavaScript" | |||
"" | |||
true | |||
false |
Задание 1.4. Работа с Number(), parseInt() и parseFloat()
Определите результаты выполнения следующих выражений:
Number("25");parseInt("25");Number("25.7");parseInt("25.7");Number("25px");parseInt("25px");Number("12.5px");parseFloat("12.5px");Ответьте на вопросы:
- Чем отличаются
Number()иparseInt()? - Как работает
parseFloat()? - В каких случаях результатом становится
NaN?
Часть 2. Индивидуальное задание
Вариант 1. Стоимость заказа
Даны следующие значения:
const price = 1499;const quantity = 3;const discount = 10;Рассчитайте:
- стоимость товаров без скидки;
- размер скидки в рублях;
- итоговую стоимость заказа.
Результат должен выводиться в следующем виде:
Цена товара: 1499 руб.Количество: 3Стоимость без скидки: 4497 руб.Скидка: 449.7 руб.Итого: 4047.3 руб.Все вычисления должны выполняться программой.
Вариант 2. Среднее значение
Даны результаты четырёх измерений:
const value1 = 18.5;const value2 = 21.3;const value3 = 19.8;const value4 = 20.4;Рассчитайте:
- среднее арифметическое всех измерений;
- разницу между каждым измерением и средним значением.
Пример вывода:
Среднее значение: ...Отклонение первого измерения: ...Отклонение второго измерения: ...Отклонение третьего измерения: ...Отклонение четвертого измерения: ...Вариант 3. Работа со временем
Дано количество секунд:
const totalSeconds = 7384;Определите:
- количество полных часов;
- количество полных минут после выделения часов;
- количество оставшихся секунд.
Для выполнения задания используйте арифметические операции и оператор %.
Результат должен иметь следующий вид:
7384 секунд = 2 ч. 3 мин. 4 сек.Вариант 4. Расчёт стоимости поездки
Создайте программу расчёта стоимости автомобильной поездки.
Исходные данные:
const distance = 450;const fuelConsumption = 8.2;const fuelPrice = 63.5;где:
distance— расстояние поездки в километрах;fuelConsumption— расход топлива на 100 км;fuelPrice— стоимость одного литра топлива.
Программа должна рассчитать:
- необходимое количество топлива;
- стоимость топлива;
- стоимость поездки туда и обратно;
- стоимость поездки на одного человека, если расходы делятся между четырьмя людьми.
Выведите исходные данные и результаты расчётов в понятном виде.
После выполнения измените исходные данные:
const distance = 720;const fuelConsumption = 7.4;const fuelPrice = 65.2;Повторно выполните программу.
Изменение исходных данных не должно требовать изменения формул.
Вариант 5. Конвертер единиц
В одной программе выполните следующие преобразования:
- километры в мили;
- градусы Цельсия в градусы Фаренгейта;
- гигабайты в мегабайты.
Используйте следующие соотношения:
1 км = 0.621371 мили1 ГБ = 1024 МБF = C × 9 / 5 + 32Исходные значения должны храниться в отдельных переменных.
Пример результата:
10 км = 6.21371 мили25 °C = 77 °F8 ГБ = 8192 МБВариант 6. Расчёт времени загрузки файла
Даны:
const fileSize = 1500;const speed = 80;где:
fileSize— размер файла в мегабайтах;speed— скорость соединения в мегабитах в секунду.
Учтите:
1 байт = 8 битРассчитайте:
- размер файла в мегабитах;
- время загрузки файла в секундах;
- количество полных минут;
- количество оставшихся секунд.
Результат должен быть представлен в понятном виде:
Размер файла: 1500 МБСкорость соединения: 80 Мбит/сВремя загрузки: ... сек.Приблизительно: ... мин. ... сек.Контрольные вопросы
Section titled “Контрольные вопросы”- В чём различие между
letиconst? - Для чего используется оператор
typeof? - Какие основные типы данных существуют в JavaScript?
- Почему выражение
"10" + 5возвращает строку? - Для чего используется функция
Number()? - Чем
Number()отличается отparseInt()? - Что представляет собой значение
NaN? - Для чего используется оператор
%? - Какой результат возвращает
typeof null? - Почему при выполнении математических операций важно учитывать тип данных?
Рекомендуемая литература
Section titled “Рекомендуемая литература”- MDN Web Docs — JavaScript Guide.
- MDN Web Docs — JavaScript data types and data structures.
- Флэнаган Д. JavaScript. Подробное руководство.
- Хавербеке М. Выразительный JavaScript.