123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359 |
- //Дополнительное задание
- //Слепить все задания в один текст, таким образом что бы вначале происходил ввод названия задания, а потом с помощью if запускался код конкретного задания
- const exercise = +prompt(`Впишите номер задания и нажмите ОК.
- 1. Number: odd
- 2. String: lexics
- 3. Boolean, Boolean: if
- 4. Comparison: sizes
- 5. Ternary
- 6. Prompt: or
- 7. Confirm: or this days
- 8. Confirm: if this days
- 9. Default: or
- 10. Default: if
- 11. Login and password
- 12. Currency exchange
- 13. Scissors
- 14. Задание на черный пояс
- `)
- //Number: odd
- /* С помощью prompt узнайте число, введенное пользователем. С помощью if проверьте что число корректно преобразовано из строки. В случае ошибки выведите сообщение Выведите четное число или нет, используя if.*/
- //вариант 1. Через regexp
- //(дополнительно проверяет на пустую строку с любым кол-вом пробелов, реплейс для убирания пробела между занком - и числом, лишнрие пробелы по бокам, меняет запятую на точку в числе и т.д.)
- if (exercise === 1){
- const str = prompt('введи любое целое число. Положительное, отрицательное или 0');
- const regexp = /^(\s*)(-?)(\s*)(\d+)([\.,]?)(\d*)(\s*)$/;
- let strReplaced;
- if (str !== null) {
- strReplaced = +str.replace(regexp, '$2$4.$60');
- }
- if(!regexp.test(str)){
- alert(`ОШИБКА
- 1. нажал отмена
- 2. ввел пустую строку или строку с пробелами
- 3. ввел не целое число
- 4. ввел буквы
- 5. поставил пробел между цифрами или знаком -`);
-
- } else if (strReplaced === 0){
- alert(`
- Число "${strReplaced}" чётное!!!!
- Дадада. Ты офигеешь но "0" действительно считается чётным числом.
-
- Проверь сам...:
- https://uk.wikipedia.org/wiki/%D0%9F%D0%B0%D1%80%D0%BD%D1%96%D1%81%D1%82%D1%8C_%D1%87%D0%B8%D1%81%D0%BB%D0%B0_%D0%BD%D1%83%D0%BB%D1%8C
- `)
- } else if (strReplaced % 2 === 0){
- alert(`
- Число "${strReplaced}" чётное.
- `)
- }else{
- alert(`
- Число "${strReplaced}" не чётное.
- `)
- };
- };
- // Вариант 2. Проверка на число
- //(не сработает если пользователь введёт пустую строку с пробелами)
- /*
- let number = prompt('введи число');
- if(number !== "" && +number === +number && number !== null){
- alert('vse ok');
- }else{
- alert("balvan")}
-
- */
- //вариант 3. Ппроверка на число
- //(не сработает если пользователь введёт пустую строку с пробелами)
- /*
- let number = prompt('введи число');
- if(number == "" || isNaN(number) || number == null){
- alert('balvan');
- }else{
- alert("vse ok")}
- */
- //____________________________________________________
- //String: lexics
- /*Спросите у пользователя текст, и проверьте его на наличие некорректного слова или нескольких некорректных слов. Используйте метод indexOf (или includes) строки:*/
- if (exercise === 2){
- const str = prompt('напиши пару предложений, если будешь говорить "блин" я буду ругаться');
- if(str.includes("блин")){
- alert("я же предупреждал что узнаю!");
- }else {
- alert("ты молодец");
- }
- };
- //___________________________________________________
- //Boolean
- //Напишите код, который спрашивает те или иные вопросы с ответом "да"/"нет" с помощью confirm, и сохраняет ответы в переменных.
- //Boolean: if
- //Расширьте предыдущее задание условиями по полученным переменным условиями (if else). Например, если вы спрашиваете пол пользователя с помощью confirm, то по условию сделайте alert("Вы женщина") и alert("Вы мужчина")
- if (exercise === 3){
- const gender = confirm('Мужик?');
- if(gender){
- alert('мужик')
- }else{
- alert('не мужик')
- }
- const age = confirm('пенсия?');
- if(age){
- alert('пенсия')
- }else{
- alert('не пенсия')
- }
- const beer = confirm('пиво пьешь?');
- if(beer){
- alert('как там живот, растёт?')
- }else{
- alert('спортсмен или больной?')
- }
- }
- //__________________________________________________
- //Comparison: sizes
- //Сделайте перевод перевод из нашей системы размеров в американскую или любую на выбор. Используйте prompt, условия сравнения и alert.
- if (exercise === 4){
- const sizeUA = prompt('введи размер верхней одежды, платья, брюк в системе UA (40, 42, 44, .., 54), а я перевду в буквенную USA')
-
- const sizeUSA =
- sizeUA < 40 ? "Детский размер" :
- sizeUA <= 41 ? "S" :
- sizeUA <= 43 ? "M" :
- sizeUA <= 47 ? "L" :
- sizeUA <= 51 ? "XL" :
- sizeUA <= 55 ? "XXL" :
- "XXXL или более";
-
- alert(`ваш размер "${sizeUSA}" в системе USA`);
- }
- //________________________________________________
- //Ternary
- //Спросите у пользователя пол (confirm). Выведите с помощью alert "Вы мужчина" или "Вы женщина". Используйте тернарный оператор.
- if (exercise === 5){
- const gender = confirm("мужик? жми ок!");
- gender ? alert("хорош!") : alert("не расстраивайся сильно, тебе еще детей рожать");
- }
- //_________________________________________________
- //Prompt: or
- //Для задания Number: age используя ИЛИ || вывести сообщение об ошибке (alert) если пользователь не введет возраст или нажмет отмену (т. е. prompt выдаст пустую строку или null, интерпретируемую как false).
- if (exercise === 6){
- const age = prompt ("введите ваш возраст");
- !(age === ""|| isNaN(age) || age === null) || alert('бокопор');
- }
- //_________________________________________________
- //Confirm: or this days
- //C помощью этого же трюка (использование ИЛИ для запуска альтернативы) сделайте капризного робота, который в confirm спрашивает "шопинг?", а в случае отказа - выводить alert "ты - бяка".
- if (exercise === 7){
- const str = confirm ("шопинг?") || alert('бяка')
- }
- //_________________________________________________
- //Confirm: if this days
- //Сделать тоже самое с помощью if.
- if (exercise === 8){
- const shoping = confirm("шопинг?")
- if(!shoping) {
- alert('бяка');
- }
- }
- //________________________________________________
- // Default: or
- // Попросите пользователя ввести ФИО в три разныe переменныe. Используя ИЛИ || добавьте строки по умолчанию, которые будут сохраняться во внутренних переменных если пользователь ввел пустую строку или нажал "Отмена". Например, если вы на шаге ввода Фамилии нажмете Escape, фамилия будет "Иванов"
- if (exercise === 9){
- let name = prompt("Name");
- if (name === ""|| name === null || !isNaN(name)){
- name = "user";
- }
- let lastname = prompt('lastname');
- if (lastname === ""|| lastname === null || !isNaN(lastname)){
- lastname = "usernameov";
- }
- alert(`${name} ${lastname}`);
- }
- //________________________________________________
- //Default: if
- //Сделайте тоже самое с помощью if и else
- if (exercise === 10){
- let name = prompt( "Name" );
-
- if ( name === "" ){
- name = "user";
- }else if ( name === null ){
- name = "user";
- }else if ( !isNaN(name) ){
- name = "user";
- }
- let lastname = prompt( "LastName" );
-
- if ( lastname === "" ){
- lastname = "usernameov";
- }else if ( lastname === null ){
- lastname = "usernameov";
- }else if ( !isNaN(lastname) ){
- lastname = "usernameov";
- }
- alert(`${name} ${lastname}`);
- }
- //Login and password
- //Напишите код, который спрашивает логин, проверяет его на верность, в случае если логин верен, просит ввести пароль и проверяет его. В случае несовпадения логина или пароля выводить alert с текстом ошибки. В случае успешного логина - alert с поздравлением. Правильные логин: admin и пароль: qwerty. Используйте вложенные if и else.
- if (exercise === 11){
- const loginTrue = "admin";
- const passTrue = "qwerty";
- const login = prompt("login");
- if (login !== loginTrue){
- alert("Миша всЁ херня, давай по новой")
- }else{
- const passs = prompt("pass");
- if (passs !== passTrue){
- alert("если не вспомнишь пароль, тебе никто денег не даст");
- }else{
- alert("mission complet")
- }
- }
- }
- //____________________________________________________
- //Currency exchange
- /*Попросите пользователя ввести валюту (например, usd, eur, другие валюты добавить по вкусу) с помощью prompt.
- Также поинтересуйтесь купить или продать он желает (используйте confirm).
- С помощью нескольких if и тернарного оператора внутри каждого из if задайте переменную rate, определяющую курс конкретной валюты на покупку или продажу. Обратите внимание на место объявления переменной rate - она должна быть доступна в коде после всех этих if.
- Попросите пользователя ввести сумму на обмен
- Посчитайте и выведите результат путем умножения или деления на rate
- Дайте возможность пользователю вводить названия валют в любом регистре (UsD, eUR). Для этого в if используйте toUpperCase (или toLowerCase)*/
- if (exercise === 12){
- let currency = prompt(`введи валюту из спсика:
- USD
- EUR`);
- if (currency !== null) currency = currency.toUpperCase();
- const buy = confirm(`покупаете - "OK"
- продаете - "Отмена"`);
- let rate;
- if (currency === "USD"){
- buy ? rate = 41 : rate = 39
- }
- else if (currency === "EUR"){
- buy ? rate = 40 : rate = 38
- }else{
- alert("тебе стоит быть внимательнее, ты ввёл валюту которой у нас нет.")
- }
- if(rate){
- const summ = prompt ("введите сумму");
- if(buy){
- alert(`вам потребуется ${summ * rate} грн. для покупки`);
- }else{
- alert(`вы получите ${summ * rate} грн.`);
- }
- }
- }
- //______________________________________________________
- //Scissors
- //Сделайте игру "камень-ножницы-бумага". Пользователь вводит свой вариант через prompt, программа генерирует свой вариант через Math.random() и выводит через alert. Следующий alert выводит имя победителя или "ничья"
- if (exercise === 13){
- let userMove = prompt('напиши "камень", "ножницы" или "бумага" и посмотрим кто выиграет');
- if (userMove !==null) userMove = userMove.toLowerCase()
- if(userMove === "камень" || userMove === "ножницы" || userMove === "бумага"){
- let pcMove = Math.random() * 3;
- pcMove < 1 ? pcMove = "камень" :
- pcMove < 2 ? pcMove = "ножницы" :
- pcMove = "бумага";
- alert(`а у меня ${pcMove}!`);
- userMove === pcMove ? alert("ничья!") :
- userMove === "камень" && pcMove === "ножницы" ? alert("Ты выиграл :(") :
- userMove === "камень" && pcMove === "бумага" ? alert("Бумага круче камня, а ты неудачник!") :
- userMove === "ножницы" && pcMove === "камень" ? alert("Твои ножницы перед камнем ничто! отдыхай") :
- userMove === "ножницы" && pcMove === "бумага" ? alert("Ты разрезал меня на куски :(") :
- userMove === "бумага" && pcMove === "камень" ? alert("Никогда не понимал почему бумага выигрывает у камня :(") :
- userMove === "бумага" && pcMove === "ножницы" ? alert("Я разрезал тебя на куски!") : alert (false);
- }else{
- alert(`ты должен был ввести "камень", "ножницы" или "бумага". Таковы правила!!!!`)
- }
- }
- //________________________________________________
- //Задание на черный пояс
- //Сделайте игру "камень-ножницы-бумага", как описано выше, пользуясь логическими операциями (&&, ||, !), не используя if. Задание должно быть решено одним выражением
- if (exercise === 14){
- const userMove = +prompt (`Игра камень, ножницы бумага
- для выбора введи цифру и нажми ОК:
- 1 - камень
- 2 - ножницы
- 3 - бумага`)
- const pcMove = Math.ceil(Math.random() * 3);
- alert( `у меня выпало ${pcMove === 1 ? "камень" : pcMove === 2 ? "ножницы" : "бумага"} `)
- alert(
-
- ( ( userMove === 1 && pcMove == 2 || userMove == 2 && pcMove == 3 || userMove == 3 && pcMove == 1) && "победил человек" ) ||
- ( ( userMove === 2 && pcMove == 1 || userMove === 3 && pcMove == 2 || userMove === 1 && pcMove == 3) && "победил компьютер" ) ||
- "ничья"
- )
- }
-
- /* console.log(
-
- ((false || false || false) && "человек") ||
- ((false || false || false) && "компьютер") ||
- "ничья"
- )*/
|