Timkor

cities

Jan 12th, 2021
742
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. <script src="https://zero.p2p.shpp.me/console.js"></script>
  2. <script>
  3.     // Спитайте в людини 10 назв міст, по черзі.
  4.     // Після цього спитайте про її рідне місто.
  5.  
  6.     // Якщо виявиться, що програма знає її рідне місто,
  7.     //  то повинна вивести ОДИН напис "я знаю твоє місто!"
  8.     // Якщо виявиться, що програма не знає її рідне місто,
  9.     //  то повинна вивести ОДИН напис "я НЕ знаю твоє місто!"
  10.  
  11.     let cities = [];
  12.    
  13.     // окремо ввод загальних даних від користувача
  14.     for (let i = 0; i < 10; i++) {
  15.         cities[i] = prompt('Назви 10 міст, введіть місто під номером ' + i);
  16.     }
  17.  
  18.     // окремо ввод ключових даних від користувача
  19.     let nativeCity = prompt('З я кого ти міста?');
  20.    
  21.      // окремо робимо аналіз даних та отримаємо головну відповідь - чи знаємо рідне місце
  22.     let answer = ""; // спочатку можна let answer = "я НЕ знаю твоє місто!"; бо дійсно ще не знаємо
  23.     let flag = true; // флаг це загальна назва, тобото ім'я краще "чиЗнаємо" ну і присвоїти false, бо ні, ще не знаємо.
  24.     for (let i = 0; i < cities.length && flag === true; i++) { // тоді буде проза: i < cities.length && !isNativeCityKnown
  25.         if (cities[i] === nativeCity) {
  26.             //answer = "я знаю твоє місто!" //  вивід на підставі флагової змінної краще зробити окремо (декомпозувати)
  27.             flag = false;
  28.         }
  29.     }
  30.    
  31.     // окремо обираємо візуальний результат для користувача на підставі флагу
  32.     if (isNativeCityKnown) {
  33.         answer = "я знаю твоє місто!";
  34.     }
  35.    
  36.     // окремо вивод
  37.     console.put(answer);
  38.  
  39. </script>
  40.  
  41. /* декомпозиція коду - коли кожний фрагмент (потім кожна функція, кожний метод, кожний класс, кожний модуль і т.д. роблять одну свою справу, не змішуючи  легше писати, читати, підтримувати код */
RAW Paste Data