Web #4 Ввод, обработка и вывод

Информационные процессы 

Существуют такие информационные процессы (ИП):
  • получение информации
  • обработка информации
  • передача информации
  • поиск информации
  • хранение информации
  • защита информации
В первое время программирования мы будем заниматься первыми тремя ИП:
Программа получает информацию от пользователя, обрабатывает её и передаёт результат пользователю:

Try it out

1. В этот раз будем работать не с консоли браузера, а прописывать javascript-код в html-страницу.
Создайте новую папку в папке с вашими сайтами, назовите её "Javascript - 4". Откройте папку при помощи любимого редактора. В ней создайте файл index.html с таким содержанием:
<!DOCTYPE html>
<html lang="ru">
<head>
    <meta charset="utf-8">
    <title>Javascript 4</title>
</head>
<body>
<script>

</script>
</body>
</html>
Обратите внимание на новый тег <script> – внутри него мы будем прописывать js-код.

2. Для того, чтобы что-то выводить в консоль, используется команда console.log(). Введите такой код внутри script:
let greetings = "hello from html!";
console.log(greetings);
Сохраните страницу и откройте её в браузере. Если панель с консолью у вас не открыта, откройте её. Как видите, мы можем выводить в консоль разную информацию.

3. Добавим команду для вывода информации не в консоль, а в всплывающее окно:
let greetings = "hello from html!";
console.log(greetings);
alert(greetings);

4. Как же получить данные от пользователя? Есть команда prompt(). Очистим js-код и заменим его новой диалоговой программой:
let name = prompt("Как вас зовут?");
alert("Привет, " + name);
Программа называется диалоговой, потому что между пользователем и компьютером происходит обмен информацией – своего рода диалог.

5. А если от пользователя нужно много данных? Легко:
let name = prompt("Как вас зовут?");

alert("Привет, " + name);

let age = prompt("Сколько вам лет?", 18); // 18 – число, которое будет стоять в поле для ввода по умолчанию
let nextAge = age+1;
alert("Привет, " + name + "! Через год вам будет " + nextAge + " лет!");
Но здесь есть ошибка! Вместо того, чтобы увеличить возраст на 1, происходит конкатенация, прибавляя пару сотен лет. Для того, чтобы объяснить программе, что age – это число, а не текст, нужно добавить символ "+" перед prompt:
let age = +prompt("Сколько вам лет?");

6. Посмотрим, как можно проводить разные математические операции. Очистите написанный до этого js-код.
6.1. Поделим введённое пользователем число пополам:
let number= +prompt("Введите ваше число и наша невероятно умная программа поделит его пополам!", 14); 
let rezult = number/2;
alert("Половинка вашего числа"+number+" = "+rezult); // Смотрите, как активно используется конкатенация!
6.2. Познакомимся с операцией расчёта остатка от деления:
alert(number%5) // Посмотрите, как работает эта команда

В конспект

Ввод текстовой информации:

let name = prompt("Как вас зовут?", "Имя по умолчанию");

Ввод числовой информации:

let number = +prompt("Введите число");

Комментарий в js-коде:

// Однострочный комментарий
/* А этот комментарий 
может занимать
несколько строк
*/

Вывод информации на экран:

alert("Информация");

Задачи

Внимание! Готовые скрипты для выполнения задач сохраняйте в отдельные файлы, отмеченные номером задачи, например: index1.html – для задачи №1, index2.html – для задачи №2.

Задача 4.1*. Квадрат числа.
Ввод: число (по умолчанию, 2)
Вывод: произведение числа самого на себя
Пример:
Ввод: 4
Вывод: 16

Задача 4.2*. Степени числа.
Ввод: число (по умолчанию, 2)
Вывод: степени этого числа от 1 до 5
Пример:
Ввод: 2
Вывод: степени 2 = 2, 4, 8, 16, 32

Задача 4.3*. Простой калькулятор. Программа просит ввести два числа. После их ввода программа выводит их сумму, разницу, умножение и деление.
Ввод: первое число (по умолчанию, 1), второе число (по умолчанию, 1)
Вывод: сумма, разница, умножение и деление
Пример:
Ввод: 2, 5
Вывод: сумма = 7, разница = -3, умножение = 10, деление = 0.4

Задача 4.4*. Пользователь вводит количество минут, программа считает, сколько это в секундах.
Ввод: число минут (по умолчанию, 1)
Вывод: число секунд
Пример:
Ввод: 2
Вывод: в 2 мин 120 сек

Задача 4.5*. Конвертер валют: пользователь вводит сумму в долларах, программа выводит, сколько это будет в грн (по курсу 1 долл = 25 грн).
Ввод: число в долларах (по умолчанию, 1)
Вывод: число в гривнах
Пример:
Ввод: 2
Вывод: 2 долл = 50 грн

Задача 4.6*. Программа считывает двузначное число и выводит последнюю цифру. Вам понадобится оператор остатка от деления.
Пример:
Ввод: 58
Вывод: 8

Задача 4.7*. Пользователь вводит величину Z, выражающую объем информации в байтах. Перевести Z в более крупные единицы измерения информации.
Пример:
Ввод: 10000000
Вывод:
10000 КБ
10 МБ
0,01 ГБ

Задача 4.8*. Пользователь вводит расстояние L в сантиметрах. Найти количество полных метров в нем , используя операцию округления к меньшему целому: Math.floor(metres)
Пример:
Ввод: 450
Вывод: 4 м

Задача 4.9*. Вычислить длину окружности и площадь круга одного и того же заданного радиуса R, который вводит пользователь
Пример:
Ввод: 3
Вывод: Длина окружности = 18,849
Площадь круга = 28,2735

Дополнительные задачи

Доп. задача 4.0*. Даны три числа a, b, c. Найти среднее арифметическое квадратов этих чисел Значения a, b и c ввести с экрана

Доп. задача 4.1**. Вычислить Z = (v1 + v2 + v3)/3, где v1,v2,v3 – объемы шаров с радиусами R1, R2, R3 соответственно. Значения радиусов ввести с экрана.

Доп. задача 4.2*.  Пользователь вводит координаты двух точек. Программа рассчитывает дистанцию между этими точками.
Для того, чтобы найти длину отрезка между точками (x1, y1), (x2, y2) используйте формулу:
Картинки по запросу формула длины отрезка по координатам

Доп. задача 4.3**. Программа считывает двузначное число и выводит через пробел каждую цифру отдельно. Вам понадобится оператор остатка от деления.
Пример:
Ввод: 57
Вывод: 5 7

Доп. задача 4.4**. Программа считывает трёхзначное число и выводит через пробел каждую цифру отдельно.
Пример:
Ввод: 573
Вывод: 5 7 3


.

Комментарии