Обзор: 10 дней JavaScript

Эта серия статей посвящена изучению и практике JavaScript. К каждому заданию прилагается учебная статья, и вы можете просмотреть эти статьи, щелкнув вкладку «Темы» вверху или значок статьи в правом меню.

День 0: Привет, мир!

В редакторе ниже предусмотрена функция приветствия. У него есть один параметр,. Выполните следующие задачи, чтобы выполнить это задание:

  1. Используйте console.log() для печати Hello, World! в новой строке консоли, которая также известна как стандартный вывод или стандартный вывод. Код для этой части задачи уже предоставлен в редакторе.
  2. Используйте console.log() для печати содержимого (т. Е. Аргумента, переданного в main).

Вы получили это!

Формат ввода

Тип данных Параметр ОписаниеstringОдна строка текста, содержащая одно или несколько слов, разделенных пробелами.

Формат вывода

Выведите следующие две строки вывода:

  1. В первой строке выведите Hello, World! (это предусмотрено для вас в редакторе).
  2. Во второй строке выведите содержимое.

Пример ввода 0

Welcome to 10 Days of JavaScript!

Пример вывода 0

Hello, World!
Welcome to 10 Days of JavaScript!

Объяснение 0

Мы напечатали две строки вывода:

  1. Мы напечатали буквальную строку Hello, World!, используя код, предоставленный в редакторе.
  2. Значение, переданное нашей основной функции в этом примере, было Welcome to 10 Days of JavaScript!. Затем мы передали нашу переменную в console.log, который распечатал содержимое.
'use strict';
process.stdin.resume();
process.stdin.setEncoding('utf-8');
let inputString = '';
let currentLine = 0;
process.stdin.on('data', inputStdin => {
    inputString += inputStdin;
});
process.stdin.on('end', _ => {
    inputString = inputString.trim().split('\n').map(string => {
        return string.trim();
    });
    
    main();    
});
function readLine() {
    return inputString[currentLine++];
}
/**
*   A line of code that prints "Hello, World!" on a new line is provided in the editor. 
*   Write a second line of code that prints the contents of 'parameterVariable' on a new line.
*
* Parameter:
*   parameterVariable - A string of text.
**/
function greeting(parameterVariable) {
    // This line prints 'Hello, World!' to the console:
    console.log('Hello, World!');
    console.log(parameterVariable)
// Write a line of code that prints parameterVariable to stdout using console.log:
    
}
function main() {
    const parameterVariable = readLine();
    
    greeting(parameterVariable);
}

День 0: Типы данных

Переменные с именами firstInteger, firstDecimal, и firstString объявлены для вас в редакторе ниже. Вы должны использовать оператор для выполнения следующей последовательности операций:

  1. Преобразуйте secondInteger в целое число (тип Number), затем просуммируйте его с помощью firstInteger и распечатайте результат в новой строке, используя console.log.
  2. Преобразуйте secondDecimal в число с плавающей запятой (тип Number), затем просуммируйте его с помощью firstDecimal и распечатайте результат в новой строке, используя console.log.
  3. Выведите объединение firstString и secondString в новую строку, используя console.log. Обратите внимание, что сначала необходимо напечатать firstString.

Формат ввода

Формат вывода

Выведите следующие три строки вывода:

  1. В первой строке выведите сумму firstInteger и целочисленное представление secondInteger.
  2. Во второй строке выведите сумму firstDecimal и представление secondDecimal с плавающей запятой.
  3. В третьей строке выведите firstString, соединенный с secondString. Вы должны вывести firstString перед secondString.

Пример ввода 0

12
4.32
is the best place to learn and practice coding!

Пример вывода 0

16
8.32
HackerRank is the best place to learn and practice coding!

Объяснение 0

Суммируя целые числа 4 и 12, мы получаем целое число 16.
Суммируя числа с плавающей запятой 4,0 и 4,32, мы получаем 8,32. Когда мы объединяем HackerRank с is the best place to learn and practice coding!, мы получаем HackerRank is the best place to learn and practice coding!.

Вы не справитесь с этой задачей, если попытаетесь присвоить переменным значения Sample Case вместо выполнения приведенных выше инструкций.

'use strict';
process.stdin.resume();
process.stdin.setEncoding('utf-8');
let inputString = '';
let currentLine = 0;
process.stdin.on('data', inputStdin => {
    inputString += inputStdin;
});
process.stdin.on('end', _ => {
    inputString = inputString.trim().split('\n').map(string => {
        return string.trim();
    });
    
    main();    
});
function readLine() {
    return inputString[currentLine++];
}
/**
*   The variables 'firstInteger', 'firstDecimal', and 'firstString' are declared for you -- do not modify them.
*   Print three lines:
*   1. The sum of 'firstInteger' and the Number representation of 'secondInteger'.
*   2. The sum of 'firstDecimal' and the Number representation of 'secondDecimal'.
*   3. The concatenation of 'firstString' and 'secondString' ('firstString' must be first).
*
* Parameter(s):
*   secondInteger - The string representation of an integer.
*   secondDecimal - The string representation of a floating-point number.
*   secondString - A string consisting of one or more space-separated words.
**/
function performOperation(secondInteger, secondDecimal, secondString) {
    // Declare a variable named 'firstInteger' and initialize with integer value 4.
    const firstInteger = 4;
    
    // Declare a variable named 'firstDecimal' and initialize with floating-point value 4.0.
    const firstDecimal = 4.0;
    
    // Declare a variable named 'firstString' and initialize with the string "HackerRank".
    const firstString = 'HackerRank ';
    
    // Write code that uses console.log to print the sum of the 'firstInteger' and 'secondInteger' (converted to a Number        type) on a new line.
    
    console.log(parseInt(secondInteger) + parseInt(firstInteger));
    // Write code that uses console.log to print the sum of 'firstDecimal' and 'secondDecimal' (converted to a Number            type) on a new line.
    
    console.log(parseFloat(secondDecimal) + parseFloat(firstDecimal));
    // Write code that uses console.log to print the concatenation of 'firstString' and 'secondString' on a new line. The        variable 'firstString' must be printed first.
    console.log(firstString + secondString)
}
function main() {
    const secondInteger = readLine();
    const secondDecimal = readLine();
    const secondString = readLine();
    
    performOperation(secondInteger, secondDecimal, secondString);
}

День 1: Арифметические операторы

Выполните следующие функции в редакторе ниже:

  1. getArea(length, width): вычислить и вернуть площадь прямоугольника со сторонами length и width.
  2. getPerimeter(length, width): вычислить и вернуть периметр прямоугольника со сторонами length и width.

Значения, возвращаемые этими функциями, выводятся на стандартный вывод заблокированным кодом заглушки в редакторе.

Формат ввода

Ограничения

  • 1 ≤ длина, ширина ≤ 1000
  • длина и ширина масштабируются максимум до трех десятичных знаков.

Формат вывода

Пример ввода 0

3
4.5

Пример вывода 0

13.5
15

Объяснение 0

Площадь прямоугольника длина x ширина = 3 x 4,5 = 13,5.
Периметр прямоугольника равен 2. (длина + ширина) = 2. (3 + 4.5) = 15.

'use strict';
process.stdin.resume();
process.stdin.setEncoding('utf-8');
let inputString = '';
let currentLine = 0;
process.stdin.on('data', inputStdin => {
    inputString += inputStdin;
});
process.stdin.on('end', _ => {
    inputString = inputString.trim().split('\n').map(string => {
        return string.trim();
    });
    
    main();    
});
function readLine() {
    return inputString[currentLine++];
}
/**
*   Calculate the area of a rectangle.
*
*   length: The length of the rectangle.
*   width: The width of the rectangle.
*   
* Return a number denoting the rectangle's area.
**/
function getArea(length, width) {
    let area;
    // Write your code here
    
    return area;
}
/**
*   Calculate the perimeter of a rectangle.
* 
* length: The length of the rectangle.
*   width: The width of the rectangle.
*   
* Return a number denoting the perimeter of a rectangle.
**/
function getPerimeter(length, width) {
    let perimeter;
    // Write your code here
    
    return perimeter;
}
function main() {
    const length = +(readLine());
    const width = +(readLine());
    
    console.log(getArea(length, width));
    console.log(getPerimeter(length, width));
}

День 1: Функции

Реализуйте функцию с именем factorial с одним параметром: целым числом n. Он должен возвращать значение n! (т. Е. n факториал).

Формат ввода

Заблокированный код заглушки в редакторе считывает одно целое число,, из стандартного ввода и передает его в функцию с именем факториал.

Ограничения

  • 1 ≤ n ≤ 10

Формат вывода

Функция должна возвращать значение n!.

Пример ввода 0

4

Пример вывода 0

24

Объяснение 0

Возвращаем значение 4! = 4 х 3 х 2 х 1 = 24.

'use strict';
process.stdin.resume();
process.stdin.setEncoding('utf-8');
let inputString = '';
let currentLine = 0;
process.stdin.on('data', inputStdin => {
    inputString += inputStdin;
});
process.stdin.on('end', _ => {
    inputString = inputString.trim().split('\n').map(string => {
        return string.trim();
    });
    
    main();    
});
function readLine() {
    return inputString[currentLine++];
}
/*
 * Create the function factorial here
 */
function factorial(x) 
   { if (x === 0){
        return 1;
   }
   return x * factorial(x-1);    
}
function main() {
    const n = +(readLine());
    
    console.log(factorial(n));
}

День 1: Let и Const

Задача

  1. Объявите постоянную переменную, PI и присвойте ей значение Math.PI. Вы не пройдете этот вызов, если переменная не будет объявлена ​​как константа и названа PI (в верхнем регистре).
  2. Прочтите число r, обозначающее радиус круга от стандартного ввода.
  3. Используйте PI и r для вычисления площади и периметр окружности радиуса r.
  4. Напечатайте область как первую строку вывода и выведите периметр как вторую строку вывода.

Формат ввода

Единственное целое число r, обозначающее радиус круга.

Ограничения

  • 0 < r ≤ 100
  • r - число с плавающей запятой, масштабированное до не более 3 десятичных знаков.

Формат вывода

Выведите следующие две строки:

  1. В первой строке выведите площадь круга радиуса r.
  2. Во второй строке выведите периметр окружности радиуса r.

Пример ввода 0

2.6

Пример вывода 0

21.237166338267002
16.336281798666924

Объяснение 0

Учитывая радиус r = 2,6, вычисляем следующее:

  • площадь = π. (r x r ) = 21,2377166338267002
  • периметр = 2.π.r = 16,336281798666924

Затем мы печатаем область как первую строку вывода и периметр как вторую строку вывода.

'use strict';
process.stdin.resume();
process.stdin.setEncoding('utf-8');
let inputString = '';
let currentLine = 0;
process.stdin.on('data', inputStdin => {
    inputString += inputStdin;
});
process.stdin.on('end', _ => {
    inputString = inputString.trim().split('\n').map(string => {
        return string.trim();
    });
    
    main();    
});
function readLine() {
    return inputString[currentLine++];
}
function main() {
    // Write your code here. Read input using 'readLine()' and print output using 'console.log()'.
    var a = readLine();
    
    // Print the area of the circle:
    console.log(Math.PI * a * a);
    // Print the perimeter of the circle:
console.log(2 * Math.PI * a);
    try {    
        // Attempt to redefine the value of constant variable PI
        PI = 0;
        // Attempt to print the value of PI
        console.log(PI);
    } catch(error) {
        console.error("You correctly declared 'PI' as a constant.");
    }
}