Опрос

Материал из Поле цифровой дидактики
Версия от 10:16, 21 мая 2026; Колокольцева Ксения Сергеевна (обсуждение | вклад) (Новая страница: «-- Опрос: Нравится ли вам греческий язык? function createPoll() print("========== ОПРОС ==========") print("Вопрос: Нравится ли вам греческий язык?") print("\nВарианты ответов:") print("1 - Да, очень нравится") print("2 - Нравится") print("3 - Нейтрально") print("4 - Не нравится") print("5 - Совсе...»)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)

-- Опрос: Нравится ли вам греческий язык?

function createPoll()

   print("========== ОПРОС ==========")
   print("Вопрос: Нравится ли вам греческий язык?")
   print("\nВарианты ответов:")
   print("1 - Да, очень нравится")
   print("2 - Нравится")
   print("3 - Нейтрально")
   print("4 - Не нравится")
   print("5 - Совсем не нравится")
   print("============================")
   
   local results = {
       [1] = 0,  -- Да, очень нравится
       [2] = 0,  -- Нравится
       [3] = 0,  -- Нейтрально
       [4] = 0,  -- Не нравится
       [5] = 0   -- Совсем не нравится
   }
   
   local total_votes = 0
   
   while true do
       print("\nВведите номер ответа (1-5) или 0 для выхода:")
       local input = io.read("*number")
       
       if input == 0 then
           break
       elseif input >= 1 and input <= 5 then
           results[input] = results[input] + 1
           total_votes = total_votes + 1
           print("✓ Спасибо за ваш голос!")
       else
           print("✗ Неверный ввод. Пожалуйста, введите число от 1 до 5.")
       end
   end
   
   -- Показ результатов
   print("\n========== РЕЗУЛЬТАТЫ ОПРОСА ==========")
   print("Всего голосов:", total_votes)
   print("----------------------------------------")
   
   if total_votes > 0 then
       local answers = {
           "Да, очень нравится",
           "Нравится", 
           "Нейтрально",
           "Не нравится",
           "Совсем не нравится"
       }
       
       for i = 1, 5 do
           local percentage = (results[i] / total_votes) * 100
           print(string.format("%s: %d голосов (%.1f%%)", 
               answers[i], results[i], percentage))
           
           -- Визуализация прогресса
           local bar_length = math.floor(percentage / 2)
           local bar = string.rep("█", bar_length)
           print(string.format("  [%-50s] %s", bar, ""))
       end
       
       -- Определение победителя
       local max_votes = 0
       local winning_answer = 0
       
       for i = 1, 5 do
           if results[i] > max_votes then
               max_votes = results[i]
               winning_answer = i
           end
       end
       
       print("\n🏆 Самый популярный ответ:", answers[winning_answer])
   else
       print("Голосов не было получено.")
   end
   
   print("========================================")

end

-- Запуск опроса createPoll()