JavaScript методы alert, prompt и confirm


Содержание материала:

Interaction: alert, prompt, confirm

In this part of the tutorial we cover JavaScript language “as is”, without environment-specific tweaks.

But we’ll still be using the browser as our demo environment, so we should know at least a few of its user-interface functions. In this chapter, we’ll get familiar with the browser functions alert , prompt and confirm .

alert

This shows a message and pauses script execution until the user presses “OK”.

The mini-window with the message is called a modal window. The word “modal” means that the visitor can’t interact with the rest of the page, press other buttons, etc. until they have dealt with the window. In this case – until they press “OK”.

prompt

The function prompt accepts two arguments:

It shows a modal window with a text message, an input field for the visitor, and the buttons OK/Cancel.

title The text to show the visitor. default An optional second parameter, the initial value for the input field.

The visitor may type something in the prompt input field and press OK. Or they can cancel the input by pressing Cancel or hitting the Esc key.

The call to prompt returns the text from the input field or null if the input was canceled.

The second parameter is optional, but if we don’t supply it, Internet Explorer will insert the text «undefined» into the prompt.

Run this code in Internet Explorer to see:

So, for prompts to look good in IE, we recommend always providing the second argument:

confirm

The function confirm shows a modal window with a question and two buttons: OK and Cancel.

The result is true if OK is pressed and false otherwise.

Summary

We covered 3 browser-specific functions to interact with visitors:

alert shows a message. prompt shows a message asking the user to input text. It returns the text or, if Cancel button or Esc is clicked, null . confirm shows a message and waits for the user to press “OK” or “Cancel”. It returns true for OK and false for Cancel/ Esc .

All these methods are modal: they pause script execution and don’t allow the visitor to interact with the rest of the page until the window has been dismissed.

There are two limitations shared by all the methods above:

  1. The exact location of the modal window is determined by the browser. Usually, it’s in the center.
  2. The exact look of the window also depends on the browser. We can’t modify it.

That is the price for simplicity. There are other ways to show nicer windows and richer interaction with the visitor, but if “bells and whistles” do not matter much, these methods work just fine.

лабы по информатике, егэ

лабораторные работы и задачи по программированию и информатике, егэ по информатике

JavaScript урок 2. Функции для работы с типами данных, методы ввода и вывода данных

JavaScript функции для работы с типами данных

Иногда в программе требуется преобразовать тип переменной. Рассмотрим основные функции, связанные с преобразованием типов:

преобразует указанную в параметре строку в целое число. Если есть второй параметр — система счисления — преобразование происходит по указанному основанию системы счисления (8, 10 или 16):

parseInt(«3.14») // результат = 3 parseInt(«-7.875») // результат = -7 parseInt(«435») // результат = 435 parseInt(«Вася») /* результат = NaN, то есть не является числом */ parseInt(«15» ,8) // результат = 13

преобразует указанную строку в число с плавающей разделительной точкой (десятичной):

parseFloat(«3.14») // результат = 3.14 parseFloat(«-7.875») // результат = -7.875 parseFloat («435») // результат = 435 parseFloat («Вася») /* результат = NaN, то есть не является числом */ parseFloat («17.5») // результат = 17.5

x = Number(x) // к числу x = String(x) // к строке x = Boolean(x) // к булеву типу

2. Компактные преобразования:

x = +x // к числу x = x + » // к строке x = !!x // к булеву типу


Функция javascript isNaN(значение)

служит для определения того, является ли значение выражения числом:

isNaN(123) /* результат false (то есть это — число) */ isNaN(«50 рублей») /* результат true (то есть это — не число) */

var a=8; var b=»pi»; var S=a*b; // S=NaN

В качестве значения переменной может быть undefined — не определено. Такое случается, когда переменная создана, но значение ей не присвоено:

var b; document.write(b); // b=undefined

Для того чтобы узнать текущий тип данных конкретной переменной в javascript используется функция typeof :

typeof 33 // возвращает строку «number», typeof «A String» // возвращает строку «string», typeof true // возвращает строку «boolean», typeof null // возвращает строку «object»

Функции для взаимодействия с пользователем: alert, prompt, confirm

Функции для взаимодействия с пользователем: alert, prompt, confirm

Здравствуйте! Прежде чем переходить дальше давайте разберем функции в JavaScript, предназначенные для взаимодействия с пользователем. Это такие функции как alert, prompt и confirm. С alert мы уже не раз сталкивались в примерах но а сейчас просто повторим с остальными двумя познакомимся впервые.

alert

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

Если запустить этот скрипт, то вы увидите окно с сообщением «Это сообщение» в данном случае функция alert выводит содержимое переменной msg.

Топ-пост этого месяца:  Урок 11. Библиотека ORM RedBeanPHP. Транзакции в RedBeanPHP

prompt

Функция prompt предназначена для запроса информации у пользователя, при этом она отображает информационное окно с текстовым полем для воода информации и кнопкой ОК. Введенную информацию от пользователя сохраняют в переменной. Пример:

Здесь функция prompt выводит окно с запросом данных у пользователя причем эта функция принимает 2 аргумента: первый это строка запроса будет отображаться в окне функции prompt выше над текстовым полем, второй необязательный аргумент это значение по умолчанию оно будет выводиться в текстовое поле, если пользователь ничего не введет именно это значение будет в переменной, в которой вы сохраняете результат работы данной функции. Результат работы данной функции мы сохраняем в переменную, которую затем передаем в функцию alert.

confirm

Эта функция в основном используется в условных операциях и предлагает пользователю сделать выбор, то есть она выводит диалоговое окно с каким-то вопросом и кнопками OK и CANCEL. И в зависимости от того какую кнопку нажмет пользователь выполнится тот или иной участок программы.

Итоги

  • alert выводит модальное окно с сообщением.
  • prompt выводит окно с сообщением и ожидает, пока пользователь введёт значение, а потом вернет значение, введенное пользователем или null, в том случае если ввод отменён нажата клавиша (CANCEL/Esc).
  • confirm окно с запросом и ожидает пока пользователь клацнет на кнопке «OK» или «CANCEL» и соответственно вернет true/false.

Задания

Создайте страницу, которая спрашивает имя и выводит его.

И на закрепление материала смотрите видео о функциях для работы с пользователем

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Описание методов alert, confirm и prompt в JavaScript

В этой статье мы изучим три интересных метода, а именно методы alert(), confirm() и prompt(). Они все предназначены для взаимодействия с пользователем.

Все эти три метода принадлежат объекту window(Окно браузера). И они могут вызываться таким образом: window.название_метода(); Но, JavaScript нам позволяет этот объект window не указать, а писать просто название метода.

метод alert()

Начнём мы с метода alert(). Данный метод, выводит указанное сообщение в окошко браузера пользователя. Это окошко отобразится поверх всей страницы, и пока пользователь не нажмёт на кнопку OK, оно не закроется.

Для демонстрации выведем какое-то сообщение с помощью метода alert()

Внутри метода мы можем указать любую строку, только без html тегов. Они здесь не обрабатываются, а выводятся как есть.

Если строка, которую хотим указать очень длинная, и мы хотим сделать переход на новую строку, то здесь html тег
не сработает. Здесь нужно использовать символ ‘\n’.

Данный метод используется часто для поиска ошибки в коде.


Процесс обработки кода идёт сверху вниз, поэтому для ловли ошибки, просто пишем метод alert() в предполагаемую область, где находится ошибка. И если alert() сработал, значит до строчки, где он написан, ошибок нет.

Дальше, нужно его перенести на одну строку или больше ниже. Сохраняем изменения, опять обновляем страницу в браузере, и смотрим, если alert() сработал, значит, ошибок до строчки, где он находится, нет, в противном случае, если он не сработал, ошибка находится в строку выше той, где он сейчас находится. Таким вот образом можно найти ошибку в коде.

метод confirm()

Этот метод используется для подтверждения ответа, на какой-то вопрос. Есть только два варианта ответа, да(OK) или нет(Cancel/Отмена). Если пользователь отвечает да, то метод возвращает истину(true), иначе он возвращает лож(false).

Для примера, выведем окошко с помощью метода confirm(), где спросим пользователя ‘Вы точно хотите покинуть страницу ?’. Если пользователь ответит да, то через метод alert() выведем такое сообщение ‘Пользователь хочет покинуть страницу’, иначе выведем другое сообщение ‘Пользователь НЕ хочет покинуть страницу’.

Таким вот образом работает метод confirm(). Он может использоваться в разных случаях. Например, перед тем как удалить что-то с сайта принято спросить пользователя, уверен ли он в свои действия. Или же перед тем как отправить форму, тоже можно спросить пользователя ‘Вы все заполнили правильно ?’, если он ответит да, то форма отправиться, иначе она не отправится.

Метод prompt()

И последний метод, которого мы изучим, это метод prompt(). Данный метод используется реже, чем остальные два метода. Он позволяет получить некую информацию от пользователя, которую он введёт в текстовое поле.

Как результат метод prompt() возвращает либо введённую строку, если пользователь нажал кнопку OK, либо null, если пользователь нажал на кнопку отмена.

Как параметр, то есть внутри скобок у данного метода мы можем написать указательную строку или вопрос, чтобы пользователь знал какую информацию необходимо ввести.

Например, попросим пользователя ответить на вопрос ‘Как Вас зовут?’. Введённое пользователем имя, отобразим на экран с помощью метода alert().

Сохраняем и открываем страницу в браузере.

Разумеется, в текстовое поле из метода prompt() можно ввести любую информацию. Эта информация будет возвращена как строка, даже в случае чисел или других спецсимволов.

Для примера попросим пользователя ввести две числа, чтобы потом умножить их. Будет некий калькулятор для умножения чисел.

Введённые числа являются строками, поэтому для правильного результата умножения, необходимо эти числа пройти через функцию Number(), которая преобразует их из строкового типа в нормальные числа.

Ну и на этом все. Теперь Вы знаете ещё три метода: alert(), confirm() и prompt(). Которых Вы смело можете использовать на практике.

Похожие статьи:

Понравилась статья?

Тогда поделитесь ею с друзьями и подпишитесь на новые интересные статьи.

Поделиться с друзьями:

Подписаться на новые статьи:

Поддержите пожалуйста мой проект!

Если у Вас есть какие-то вопросы или предложения, то можете писать их в комментариях или мне на почту sergiu1607@gmail.com. И если Вы заметили какую-то ошибку в статье, то прошу Вас, сообщите мне об этом, и в ближайшее время я всё исправлю.

Автор статьи: Мунтян Сергей

Копирование материалов с сайта sozdatisite.ru ЗАПРЕЩЕНО.

Дата добавления: 2020-09-07 09:17:56

АйТи бубен

Инструменты пользователя

Инструменты сайта

Содержание

Ввод/вывод данных JavaScript

В JavaScript реализовано 3 метода, позволяющие выводить пользователю диалоговые окна: alert, confirm, prompt.

Особенности методов alert, confirm, prompt: Конкретное место, где выводится модальное окно – обычно это центр браузера, и внешний вид окна выбирает браузер. Разработчик не может на это влиять. Нельзя вывести окно в своем, особо красивом, дизайне. Но это самый простой способ вывести сообщение или получить информацию от посетителя. Поэтому их используют в тех случаях, когда простота важна, а всякие «красивости» особой роли не играют.

Диалоговое окно метод alert

Метод alert используется для вывода простейшего диалогового окна, содержащего текст сообщения и единственную кнопку «Ok». Формат вызова данной функции:

Топ-пост этого месяца:  Web Worker JavaScript спецификация и основная информация для начинающих

Диалоговое окно метод confirm

Функция confirm позволяет вывести пользователю диалоговое окно, содержащее текст сообщения и кнопки «Ok» и «Cancel». Используется в тех случаях, когда пользователь должен сделать выбор. Формат вызова данной функции:

Функция confirm возвращает логическое значение в зависимости от нажатой пользователем кнопки: «Ok» соответствует значению true, «Cancel» — значению false. Как правило, результат работы функции присваивают переменной, для дальнейшего анализа, как это показано в примере выше.

Диалоговое окно метод prompt


Функция prompt позволяет вывести пользователю диалоговое окно запроса на ввод данных. Используется в тех случаях, когда пользователь должен ввести строку текста. Формат вызова данной функции:

Необходимо помнить, что функция prompt возвращает результат строкового типа. Поэтому, прежде чем его использовать в арифметических выражениях, необходимо выполнить преобразование типов к числовому. Это можно сделать при помощи следующих функций:

Однако, преобразование строки в число можно осуществить не во всех случаях. Поэтому, чтобы избавить себя от потенциальной ошибки, необходимо сначала проверить — можно ли выполнить такое преобразование. Для этих целей используется функция isNaN(строка). Данная функция возвращает истину, если строка не может быть преобразована в число, и ложь в противном случае.

Операции alert, prompt и confirm. Взаимодействие с пользователем в Javascript

В этой статье мы изучим три интересных метода, а именно методы alert(), confirm() и prompt(). Они все предназначены для взаимодействия с пользователем.

Все эти три метода принадлежат объекту window(Окно браузера). И они могут вызываться таким образом: window.название_метода(); Но, JavaScript нам позволяет этот объект window не указать, а писать просто название метода.

метод alert()

Начнём мы с метода alert(). Данный метод, выводит указанное сообщение в окошко браузера пользователя. Это окошко отобразится поверх всей страницы, и пока пользователь не нажмёт на кнопку OK, оно не закроется.

Для демонстрации выведем какое-то сообщение с помощью метода alert()

Внутри метода мы можем указать любую строку, только без html тегов. Они здесь не обрабатываются, а выводятся как есть.

Если строка, которую хотим указать очень длинная, и мы хотим сделать переход на новую строку, то здесь html тег
не сработает. Здесь нужно использовать символ ‘\n’.

Данный метод используется часто для поиска ошибки в коде.

Процесс обработки кода идёт сверху вниз, поэтому для ловли ошибки, просто пишем метод alert() в предполагаемую область, где находится ошибка. И если alert() сработал, значит до строчки, где он написан, ошибок нет.

Дальше, нужно его перенести на одну строку или больше ниже. Сохраняем изменения, опять обновляем страницу в браузере, и смотрим, если alert() сработал, значит, ошибок до строчки, где он находится, нет, в противном случае, если он не сработал, ошибка находится в строку выше той, где он сейчас находится. Таким вот образом можно найти ошибку в коде.

метод confirm()

Этот метод используется для подтверждения ответа, на какой-то вопрос. Есть только два варианта ответа, да(OK) или нет(Cancel/Отмена). Если пользователь отвечает да, то метод возвращает истину(true), иначе он возвращает лож(false).

Для примера, выведем окошко с помощью метода confirm(), где спросим пользователя ‘Вы точно хотите покинуть страницу ?’. Если пользователь ответит да, то через метод alert() выведем такое сообщение ‘Пользователь хочет покинуть страницу’, иначе выведем другое сообщение ‘Пользователь НЕ хочет покинуть страницу’.

Таким вот образом работает метод confirm(). Он может использоваться в разных случаях. Например, перед тем как удалить что-то с сайта принято спросить пользователя, уверен ли он в свои действия. Или же перед тем как отправить форму, тоже можно спросить пользователя ‘Вы все заполнили правильно ?’, если он ответит да, то форма отправиться, иначе она не отправится.

Метод prompt()

И последний метод, которого мы изучим, это метод prompt(). Данный метод используется реже, чем остальные два метода. Он позволяет получить некую информацию от пользователя, которую он введёт в текстовое поле.

Как результат метод prompt() возвращает либо введённую строку, если пользователь нажал кнопку OK, либо null, если пользователь нажал на кнопку отмена.

Как параметр, то есть внутри скобок у данного метода мы можем написать указательную строку или вопрос, чтобы пользователь знал какую информацию необходимо ввести.

Например, попросим пользователя ответить на вопрос ‘Как Вас зовут?’. Введённое пользователем имя, отобразим на экран с помощью метода alert().

Сохраняем и открываем страницу в браузере.

Разумеется, в текстовое поле из метода prompt() можно ввести любую информацию. Эта информация будет возвращена как строка, даже в случае чисел или других спецсимволов.

Для примера попросим пользователя ввести две числа, чтобы потом умножить их. Будет некий калькулятор для умножения чисел.

Введённые числа являются строками, поэтому для правильного результата умножения, необходимо эти числа пройти через функцию Number(), которая преобразует их из строкового типа в нормальные числа.

Ну и на этом все. Теперь Вы знаете ещё три метода: alert(), confirm() и prompt(). Которых Вы смело можете использовать на практике.

Похожие статьи:

  • Javascript массивы
  • Двумерные массивы в JavaScript

Понравилась статья?

Тогда поделитесь ею с друзьями и подпишитесь на новые интересные статьи.

Подписаться на новые статьи:

alert

Окно сообщения, которое выводится, является модальным окном. Слово «модальное» означает, что посетитель не может взаимодействовать со страницей, нажимать другие кнопки и т.п., пока не разберётся с окном. В данном случае – пока не нажмёт на «OK».

prompt


Функция prompt принимает два аргумента:

Она выводит модальное окно с заголовком title , полем для ввода текста, заполненным строкой по умолчанию default и кнопками OK/CANCEL.

Пользователь должен либо что-то ввести и нажать OK, либо отменить ввод кликом на CANCEL или нажатием Esc на клавиатуре.

Вызов prompt возвращает то, что ввёл посетитель – строку или специальное значение null , если ввод отменён.

Как и в случае с alert , окно prompt модальное.

confirm

confirm выводит окно с вопросом question с двумя кнопками: OK и CANCEL.

Результатом будет true

Особенности встроенных функций

Конкретное место, где выводится модальное окно с вопросом – обычно это центр браузера, и внешний вид окна выбирает браузер. Разработчик не может на это влиять.

С одной стороны – это недостаток, так как нельзя вывести окно в своем, особо красивом, дизайне.

Топ-пост этого месяца:  VirusTotal — онлайн проверка на вирусы файлов вашего компьютера, телефона и сайтов всеми

С другой стороны, преимущество этих функций по сравнению с другими, более сложными методами взаимодействия, которые мы изучим в дальнейшем – как раз в том, что они очень просты.

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

Возвращение из синхронного вызова функций alert, prompt и confirm

Применительно к другим языкам программирования, если вы хотите написать процедурный код и в некоторый момент сигнализировать об использовании чего-либо, запросить ввод данных или отобразить диалоговое окно подтверждения, это не является проблемой. Но если вы пишете приложение на JavaScript , это становится немножко сложнее.

Проблема

Браузеры имеют собственные реализации функций alert , prompt и JavaScript confirm , но этого недостаточно. Они выглядят совершенно по-разному в зависимости от того, какой браузер вы используете. А также трудны в локализации и настройке.

Если вы используете среду выполнения JavaScript NW.js в более ранних операционных системах, существуют такие проблемы, как опускание кнопки « Ok » вниз диалогового окна. Поэтому на практике лучше всегда избегать встроенных функций alert , prompt и confirm . Средства контроля качества кода, такие как eslint , по умолчанию выводят предупреждение, если вы пытаетесь использовать эти функции.

Частичное решение

Было создано много библиотек, чтобы решить данную проблему. Моя любимая вне всяких сомнений – sweetalert . Это хорошо написанная, простая и гибкая библиотека, которая предоставляет предупреждения, подсказки и подтверждения. Вызвать предупреждение с помощью sweetalert легко:

Но существует потенциальная проблема. Любое выводимое диалоговое сообщение является обязательно асинхронным. В результате вы не можете использовать их в процедурном коде без вложенности.

Давайте представим, что вы хотели бы, чтобы пользователь ввел свое имя, Затем вы хотите посчитать гласные буквы. После этого уведомить пользователя о количестве гласных в его имени, потом спросить пользователя, желает ли он увидеть свое имя с удаленными гласными. Если он сказал да, то с помощью методов alert confirm prompt и open JavaScript вывести сообщение, чтобы показать, как будет выглядеть имя. Здесь пять простых шагов. Как бы это выглядело при помощи sweetalert с обратными вызовами?

Как правило, вот что вы бы сделали при написании JavaScript . Вы бы пришли к большому количеству знаков пунктуации и обратных вызовов, вложенных в обратные вызовы.

Promises

promise-alert представляет собой библиотеку, которая оборачивает sweetalert и возвращает promise-объекты , поэтому вам не нужно запускать обратные вызовы. Код, представленный выше, с использованием promise-alert ( без JavaScript alert confirm ) выглядел бы так:

Несмотря на то, что я предпочитаю promise-объекты , а не обратные вызовы, признаю, что использование этого подхода не делает код лучше даже без JavaScript confirm !

Оптимальный способ

Если вы обернете свой код в функцию-генератор и запустите его с помощью библиотеки, наподобие co , то сможете писать синхронный код, который будет приостанавливаться в ожидании ввода данных пользователем.

Приведенный выше код, написанный при помощи promise-alert с функцией-генератором, будет выглядеть так:

Заключение

Теперь, используя генераторы с библиотекой promise-alert , можно писать синхронный процедурный код с предупреждениями, подсказками и диалоговыми окнами подтверждения без JavaScript alert confirm !

Недостаток этого подхода заключается в том, что генераторы еще не поддерживаются во всех браузерах. Но если вы используете Babel , то уже сегодня можете написать свой код, используя генераторы, и получить скомпилированный код, соответствующий широко поддерживаемому стандарту ES5 .

Или если вы пишете встроенное приложение JavaScript при помощи NW.js , то у вас уже есть доступ к генераторам без необходимости перекомпиляции.

Данная публикация представляет собой перевод статьи « Return of the Synchronous Alert, Prompt, and Confirm » , подготовленной дружной командой проекта Интернет-технологии.ру

Описание методов alert, confirm и prompt в JavaScript.

И снова я приветствую Вас в очередной теме посвященной языку JavaScript , в которой мы разберем методы alert, prompt, confrim . Данные методы являются встроенными в язык Javascript и помогают нам взаимодействовать с пользователем.
Alert выводит на экран браузера окно с определенной информацией, которое приостанавливает скрипт до момента нажатия пользователем кнопки ОК.
Prompt , как правило, выводит окно, в котором пользователю задают вопрос, на который он должен ответить в определенном текстовом поле, после чего нажать клавишу ОК. Также пользователь может ничего не вводить, нажав клавишу отмена.
Confirm также выводит окно, в котором пользователь уже не может вводить что-либо в текстовое поле, а может лишь нажать кнопку ОК или отмена.
А теперь после небольшого вступления перейдем к рассмотрению всего вышесказанного на практике.

jQuery Alert Dialogs — замена стандартным функциям Alert(), Confirm() и Prompt()

Плагин jQuery Alert Dialogs призван заменить основную функциональность стандартных предупреждений JavaScript, alert(), confirm(), и prompt() функций. Они полностью настраиваются с помощью CSS (это позволит выглядеть вашему сайту гораздо более привлекательно). И вы также можете настроить пользовательский заголовок для каждого диалогового окна.

Эти методы моделируют обычные модальные диалоговые окна. Они автоматически изменяют свое положение при изменении окна браузера. Если включить jQuery UI Draggable плагин, то окна можно перемещать, перетаскивая их за заголовки. В отличие от стандартных JavaScript функций, вы можете использовать HTML в сообщении. Например, чтобы задать переход на новую строку, вы можете использовать либо \n, либо .

Для работы плагина необходимы следующие скрипты:

Вызываются функции следующим образом:

* jAlert(message, [title, callback])
* jConfirm(message, [title, callback])
* jPrompt(message, [value, title, callback])

* This source code was highlighted with Source Code Highlighter .

Недостатки:
* Клавиши ENTER и ESC (подтвердить/отменить) не работают в WebKit-браузерах
* Draggable plugin на данный момент не работает в Opera
* В IE6 position: fixed не поддерживается.

Описание методов alert, confirm и prompt в JavaScript.

И снова я приветствую Вас в очередной теме посвященной языку JavaScript , в которой мы разберем методы alert, prompt, confrim . Данные методы являются встроенными в язык Javascript и помогают нам взаимодействовать с пользователем.
Alert выводит на экран браузера окно с определенной информацией, которое приостанавливает скрипт до момента нажатия пользователем кнопки ОК.
Prompt , как правило, выводит окно, в котором пользователю задают вопрос, на который он должен ответить в определенном текстовом поле, после чего нажать клавишу ОК. Также пользователь может ничего не вводить, нажав клавишу отмена.
Confirm также выводит окно, в котором пользователь уже не может вводить что-либо в текстовое поле, а может лишь нажать кнопку ОК или отмена.
А теперь после небольшого вступления перейдем к рассмотрению всего вышесказанного на практике.

Добавить комментарий