123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335 |
- // Дополнительное задание
- // Слепить все задания в один текст, таким образом что бы вначале происходил ввод названия задания,
- // каждое задание при этом находится в отдельном case оператора switch.
- // Например case "currency calc" для калькулятора обмена валют.
- do {
- var Task = prompt('Введите название задания, которое хотите просмотреть.\n\nСписок выполненных заданий: \n1. switch: sizes\n2. switch: if\n3. prompt: or\n4. confirm: or this days\n5. confirm: if this days\n6. triple prompt\n7. default: or\n8. default: if\n9. login and password\n10. currency calc\n11. currency calc: improved\n12. currency calc: two rates\n13. currency calc: if\n14. scissors\n15. Задание на синий пояс\n16. real data').toLowerCase();
- switch (Task) {
- case 'switch: sizes':
- // Сделайте задание Comparison: sizes из предыдущего ДЗ используя switch.
- var clothesSize = +prompt('Введите размер одежды по украинским меркам:');
- switch (true) {
- case (clothesSize >= 40 && clothesSize < 42): alert('S');
- break;
- case (clothesSize >= 42 && clothesSize < 46): alert('M');
- break;
- case (clothesSize >= 46 && clothesSize < 50): alert('L');
- break;
- case (clothesSize >= 50 && clothesSize < 54): alert('XL');
- break;
- case (clothesSize == 54): alert('XXL');
- break;
- default: alert('Тут что-то не так...');
- }
- var Continue = window.confirm('Вы хотите продолжить?');
- break;
- case 'switch: if':
- // Перепишите пример ниже, используя if.
- let color = prompt("Введите цвет");
- /*switch (color){
- case "red": document.write("<div style='background-color: red;'>красный</div>");
- case "black": document.write("<div style='background-color: black; color: white;'>черный</div>");
- break;
- case "blue": document.write("<div style='background-color: blue;'>синий</div>");
- case "green": document.write("<div style='background-color: green;'>зеленый</div>");
- break;
- default: document.write("<div style='background-color: gray;'>Я не понял</div>");
- }*/
- if (color == 'red') {
- document.write("<div style='background-color: red;'>красный</div>");
- document.write("<div style='background-color: black; color: white;'>черный</div>");
- }
- else if (color == 'black') {
- document.write("<div style='background-color: black; color: white;'>черный</div>");
- }
- else if (color == 'blue') {
- document.write("<div style='background-color: blue;'>синий</div>");
- document.write("<div style='background-color: green;'>зеленый</div>");
- }
- else if (color == 'green') {
- document.write("<div style='background-color: green;'>зеленый</div>");
- }
- else {
- document.write("<div style='background-color: gray;'>Я не понял</div>");
- }
- var Continue = window.confirm('Вы хотите продолжить?');
- break;
- case 'prompt: or':
- // Для задания Number: age используя ИЛИ || вывести сообщение об ошибке (alert) если пользователь не введет возраст
- // или нажмет отмену (т. е. prompt выдаст пустую строку или null, интерпретируемую как false).
- var age = (+prompt('Сколько вам сейчас лет?') || alert('Ошибка, возраст не указан!'));
- var YearOfBirth = 2022 - age;
- alert(YearOfBirth || 'Ошибка, возраст не указан!');
- var Continue = window.confirm('Вы хотите продолжить?');
- break;
- case 'confirm: or this days':
- // C помощью этого же трюка сделайте капризного робота, который в confirm спрашивает "шопинг?",
- // а в случае отказа - выводить alert "ты - бяка".
- var Shopping = window.confirm('Шоппинг?');
- alert(Shopping || 'ты - бяка');
- var Continue = window.confirm('Вы хотите продолжить?');
- break;
- case 'confirm: if this days':
- // Сделать тоже самое с помощью if.
- var Shopping = window.confirm('Шоппинг?');
- if (Shopping == true) {
- alert('Yay!');
- }
- else {
- alert('ты - бяка');
- }
- var Continue = window.confirm('Вы хотите продолжить?');
- break;
- case 'triple prompt':
- // Трижды вызывать prompt, сохранить в переменные фамилию, имя и отчество. Вывести ФИО c помощью alert.
- var Surname = prompt('Surname:');
- var Name = prompt('Name:');
- var Fathername = prompt('Fathername:');
- alert(Surname + ' ' + Name + ' ' + Fathername);
- var Continue = window.confirm('Вы хотите продолжить?');
- break;
- case 'default: or':
- // Используя ИЛИ || добавьте имена по умолчанию, которые будут сохраняться во внутренних переменных
- // если пользователь ввел пустую строку или нажал "Отмена".
- // Например, если вы на шаге ввода Фамилии нажмете Escape, фамилия будет "Иванов"
- var Surname = (prompt('Surname:') || "Иванов");
- var Name = (prompt('Name:') || "Иван");
- var Fathername = (prompt('Fathername:') || "Иванович");
- alert(Surname + ' ' + Name + ' ' + Fathername);
- var Continue = window.confirm('Вы хотите продолжить?');
- break;
- case 'default: if':
- // Сделайте тоже самое с помощью if и else
- var Surname = prompt('Surname:');
- var Name = prompt('Name:');
- var Fathername = prompt('Fathername:');
- if (Surname == null) {
- Surname = "Иванов";
- }
- if (Name == null) {
- Name = "Иван";
- }
- if (Fathername == null) {
- Fathername = "Иванович";
- }
- alert(Surname + ' ' + Name + ' ' + Fathername);
- var Continue = window.confirm('Вы хотите продолжить?');
- break;
- case 'login and password':
- // Напишите код, который спрашивает логин, проверяет его на верность,
- // в случае если логин верен, просит ввести пароль и проверяет его.
- // В случае несовпадения логина или пароля выводить alert с текстом ошибки.
- // В случае успешного логина - alert с поздравлением. Правильные логин: admin и пароль: qwerty.
- // Используйте вложенные if и else.
- var login = prompt('Enter login:');
- var password = prompt('Enter password');
- if (login != 'admin') {
- alert('Wrong login!')
- }
- else {
- if (password == 'qwerty') {
- alert('Congratulations!');
- }
- else {
- alert('Wrong password!')
- }
- }
- var Continue = window.confirm('Вы хотите продолжить?');
- break;
- case 'currency calc':
- // Калькулятор обмена валют.
- // Первый prompt спрашивает валюту: "usd" или "eur".
- // С помощью switch установите обменный курс для валюты, выбранной пользователем, после чего
- // спросите величину и переведите её из гривны в выбранную на первом prompt валюту.
- // Выведите результат в alert()
- var Currency = prompt('usd or eur?');
- switch (Currency) {
- case 'usd': var Amount = prompt('Enter the amount of usd to be converted:');
- alert((Amount * 29.60).toFixed(4) + '$');
- break;
- case 'eur': var Amount = prompt('Enter the amount of eur to be converted:');
- alert((Amount * 31.08).toFixed(4) + '€');
- break;
- default: alert('Converting issue, please check the entered currency!');
- }
- var Continue = window.confirm('Вы хотите продолжить?');
- break;
- case 'currency calc: improved':
- // Улучшить предыдущее задание: сделать возможность ввода валюты
- // любыми буквами (usd, uSd, USD), используйте str.toLowerCase().
- var Currency = prompt('usd or eur?').toLowerCase();
- switch (Currency) {
- case 'usd': var Amount = prompt('Enter the amount of usd to be converted:');
- alert((Amount * 29.60).toFixed(4) + '$');
- break;
- case 'eur': var Amount = prompt('Enter the amount of eur to be converted:');
- alert((Amount * 31.08).toFixed(4) + '€');
- break;
- default: alert('Converting issue, please check the entered currency!');
- }
- var Continue = window.confirm('Вы хотите продолжить?');
- break;
- case 'currency calc: two rates':
- // Добавить возможность выбора обменного курса на продажу и покупку.
- // Используйте confirm для ввода пользователя и тернарный оператор для величины курса.
- var Currency = prompt('usd or eur?').toLowerCase();
- var Amount;
- switch (Currency) {
- case 'usd': window.confirm('Do you want to buy the currency?') ? (
- Amount = prompt('Enter the amount of $ to be converted:'),
- alert((Amount * 35.5058).toFixed(4) + '$')
- ) : (Amount = prompt('Enter the amount of $ to be converted:'),
- alert((Amount * 35.6328).toFixed(4) + '$'));
- break;
- case 'eur': window.confirm('Do you want to buy the currency?') ? (
- Amount = prompt('Enter the amount of € to be converted:'),
- alert((Amount * 37.3050).toFixed(4) + '€')
- ) : (Amount = prompt('Enter the amount of € to be converted:'),
- alert((Amount * 37.6362).toFixed(4) + '€'));
- break;
- default: alert('Converting issue, please check the entered currency!');
- }
- var Continue = window.confirm('Вы хотите продолжить?');
- break;
- case 'currency calc: if':
- // Сделать тоже самое на if
- var Currency = prompt('usd or eur?').toLowerCase();
- var Amount;
- switch (Currency) {
- case 'usd': var BuySell = window.confirm('Do you want to buy the currency?');
- if (BuySell == true) {
- Amount = prompt('Enter the amount of $ to be converted:');
- alert((Amount * 35.5058).toFixed(4) + '$');
- }
- else {
- Amount = prompt('Enter the amount of $ to be converted:');
- alert((Amount * 35.6328).toFixed(4) + '$');
- }
- break;
- case 'eur': var BuySell = window.confirm('Do you want to buy the currency?');;
- if (BuySell == true) {
- Amount = prompt('Enter the amount of € to be converted:');
- alert((Amount * 37.3050).toFixed(4) + '€');
- }
- else {
- Amount = prompt('Enter the amount of € to be converted:');
- alert((Amount * 37.6362).toFixed(4) + '€');
- }
- break;
- default: alert('Converting issue, please check the entered currency!');
- }
- var Continue = window.confirm('Вы хотите продолжить?');
- break;
- case 'scissors':
- // Сделайте игру "камень-ножницы-бумага".
- // Пользователь вводит свой вариант через prompt, программа генерирует свой вариант через Math.random()
- // и выводит через alert. Следующий alert выводит имя победителя или "ничья"
- // 'Paper' > 'Stone';
- // 'Paper' < 'Scissors';
- // 'Scissors' < 'Stone';
- do {
- var botVariables = ['Stone', 'Scissors', 'Paper'];
- var player = prompt('Enter Stone, Scissors or Paper');
- var bot = botVariables[Math.floor(Math.random() * botVariables.length)];
- alert(bot);
- if (player == bot) {
- alert('Ничья.');
- }
- else if (player == 'Stone' && bot == 'Scissors'
- || player == 'Scissors' && bot == 'Paper'
- || player == 'Paper' && bot == 'Stone') {
- alert('You win!');
- }
- else if (bot == 'Stone' && player == 'Scissors'
- || bot == 'Scissors' && player == 'Paper'
- || bot == 'Paper' && player == 'Stone') {
- alert('You lose!');
- }
- else {
- alert('Something\'s gone wrong...');
- }
- var doPlay = window.confirm('Do you want to replay?');
- }
- while (doPlay == true);
- var Continue = window.confirm('Вы хотите продолжить?');
- break;
- case 'Задание на синий пояс':
- // Сделать задания обмена валют используя ассоциативный массив (объект) подобной структуры.
- // Добавьте дополнительные поля при надобности. Для обращения к нужному полю используйте [].
- let ratios = {
- usdSell: 35.6328,
- usdBuy: 35.5058,
- eurSell: 37.6362,
- eurBuy: 37.3050,
- }
- var Currency = prompt('usd or eur?').toLowerCase();
- var Amount;
- switch (Currency) {
- case 'usd': window.confirm('Do you want to buy the currency?') ? (
- Amount = prompt('Enter the amount of $ to be converted:'),
- alert((Amount * ratios['usdBuy']).toFixed(4) + '$')
- ) : (Amount = prompt('Enter the amount of $ to be converted:'),
- alert((Amount * ratios['usdSell']).toFixed(4) + '$'));
- break;
- case 'eur': window.confirm('Do you want to buy the currency?') ? (
- Amount = prompt('Enter the amount of € to be converted:'),
- alert((Amount * ratios['eurBuy']).toFixed(4) + '€')
- ) : (Amount = prompt('Enter the amount of € to be converted:'),
- alert((Amount * ratios['eurSell']).toFixed(4) + '€'));
- break;
- default: alert('Converting issue, please check the entered currency!');
- }
- var Continue = window.confirm('Вы хотите продолжить?');
- break;
- case 'real data':
- // Иcпользуя заготовку ниже реализуйте перевод валют с реальными данными.
- alert('Press \'Esc\' or \'Cancel\' 4 times(it is a temporary bug, idk how to fix)');
- fetch('https://open.er-api.com/v6/latest/USD').then(res => res.json())
- .then(data => {
- var Currency = prompt('Enter the currency code in ISO 4217 standart.').toUpperCase();
- var Amount;
- Amount = prompt('Enter the amount of $ to be converted:');
- alert((Amount * data.rates[Currency]).toFixed(4) + ' ' + Currency);
- });
- var Continue = window.confirm('Вы хотите продолжить?');
- default: alert('Что-то пошло не так...\nПопробуйте еще раз.'); Continue = true;
- }
- } while (Continue == true);
|