Алгоритмы и исполнители

ссылки на онлайн компиляторы:
dev.bot
online compiler
tutorial-center

Алгоритмы, 5 класс

🚀Алгоритмы, обучающий материал для 5 класса

⚠️ Важное замечание

Так как мы работаем в онлайн-редакторе, вместо ввода данных мы будем использовать предустановленные значения, случайные числа и менять код прямо в редакторе, чтобы изменить значения.

📘 Глава 0: Знакомство с языком Lua

Что такое программирование?

Программирование — это искусство общения с компьютером на его языке. Сегодня мы будем говорить на языке Lua (произносится “лу-а”) — это простой и мощный язык, который используется в играх и приложениях.

1. Первая программа — “Привет, мир!”

print(“Привет, мир!”)

Что происходит:

  • print() — команда для вывода текста на экран
  • "Привет, мир!" — текст в кавычках
  • -- — знак комментария (компьютер игнорирует всё после него)

2. Переменные — “коробочки для данных”

— Создаём переменные имя = “Саша” — Текст всегда в кавычках! возраст = 12 — Числа без кавычек рост = 150.5 — Дробные числа тоже можно любимый_цвет = “синий” — Используем переменные print(“Привет, “ .. имя) print(“Тебе “ .. возраст .. ” лет”) print(“Твой рост: “ .. рост .. ” см”)

3. Математические операции

— Основные операции a = 10 b = 3 print(“a + b = “, a + b) — Сложение: 13 print(“a – b = “, a – b) — Вычитание: 7 print(“a * b = “, a * b) — Умножение: 30 print(“a / b = “, a / b) — Деление: 3.333… print(“a % b = “, a % b) — Остаток от деления: 1 — Степени print(“2 в степени 3 = “, 2 ^ 3) — 8 print(“Квадратный корень из 9 = “, 9 ^ 0.5) — 3 — Порядок операций (как в математике) print(“2 + 3 * 4 = “, 2 + 3 * 4) — 14, а не 20! print(“(2 + 3) * 4 = “, (2 + 3) * 4) — 20

4. Конкатенация — соединение текста

— Конкатенация – сложение текстовых строк — Используется оператор .. (две точки) часть1 = “Привет, “ часть2 = “мир!” полное_приветствие = часть1 .. часть2 print(полное_приветствие) — Привет, мир! — Конкатенация текста и чисел имя = “Кирилл” баллы = 95 сообщение = имя .. ” набрал “ .. баллы .. ” баллов” print(сообщение) — Кирилл набрал 95 баллов

📗 Глава 1: Линейный алгоритм (Последовательность)

Это когда команды выполняются друг за другом, от первой до последней, как шаги в инструкции.

print(“=== Линейный алгоритм ===”) print(“Привет! Я робот Луа.”) print(“Давай познакомимся!”) — Вместо ввода данных используем заранее заданное значение name = “Саша” — Поменяй здесь свое имя! print(“Привет, “ .. name .. “!”) age = 12 — Поменяй возраст color = “синий” — Поменяй цвет print(name .. “, тебе “ .. age .. ” лет”) print(“Твой любимый цвет – “ .. color) print(“Наше приключение начинается!”)

📝 Практическое задание 1: “Мой день”

Создай программу, которая по шагам описывает твой распорядок дня.

Измени значения под себя!

Подсказка

Используй переменные для времени, еды, количества уроков и любимой игры.

💡 Пример решения

print(“=== Мой день ===”) wake_up = “7:30” breakfast = “омлет” lessons = 5 game = “роблокс” print(“1. Просыпаюсь в “ .. wake_up) print(“2. Завтракаю “ .. breakfast) print(“3. Учусь “ .. lessons .. ” уроков”) print(“4. Играю в “ .. game) print(“5. Сплю”)

🌿 Глава 2: Ветвление (Выбор)

Это когда программа принимает решение и выполняет разные команды в зависимости от условия.

print(“=== Ветвление ===”) print(“Проверка погоды для прогулки”) — Измени это значение: 1 = солнечно, 2 = дождь, 3 = снег weather = 1 — ПОПРОБУЙ: поменяй на 2 или 3 if weather == 1 then print(“☀️ Солнечно! Идем гулять!”) activity = “кататься на велосипеде” elseif weather == 2 then print(“🌧️ Дождь. Остаемся дома”) activity = “смотреть фильм” elseif weather == 3 then print(“❄️ Снег! Лепим снеговика!”) activity = “играть в снежки” else print(“🤔 Непонятная погода”) activity = “читать книгу” end print(“Сегодня будем: “ .. activity)

📝 Практическое задание 2: “Оценка в дневнике”

Создай программу, которая дает совет в зависимости от оценки (от 1 до 5).

💡 Пример решения

print(“=== Оценка в дневнике ===”) — Измени оценку от 1 до 5 grade = 4 — ПОПРОБУЙ: 1, 2, 3, 4, 5 print(“Твоя оценка: “ .. grade) if grade == 5 then print(“🎉 Отлично! Можно играть 2 часа!”) elseif grade == 4 then print(“👍 Хорошо! Можно играть 1 час”) elseif grade == 3 then print(“⚠️ Нужно повторить тему”) elseif grade == 2 then print(“📚 Срочно учить уроки!”) elseif grade == 1 then print(“🚨 Родителям сообщить!”) else print(“? Такой оценки не бывает”) end

🔁 Глава 3: Цикл с параметром (Счётчик)

Повторяем одно и то же действие заранее известное количество раз.

print(“=== Цикл с параметром ===”) print(“Обратный отсчет запуска ракеты!”) — Цикл от 10 до 1 for i = 10, 1, –1 do if i > 5 then print(i .. “… (готовимся)”) else print(i .. “!!! (почти полетели)”) end end print(“🚀 ПОЕХАЛИ!”)

📝 Практическое задание 3: “Календарь декабря”

Создай программу, которая показывает дни до Нового Года.

💡 Пример решения

print(“=== Календарь декабря ===”) print(“Дни до Нового Года:”) — Измени начальный день today = 15 — ПОПРОБУЙ: поменяй на 20, 25, 31 for day = today, 31 do days_left = 31 – day if day == 31 then print(day .. ” декабря – С НОВЫМ ГОДОМ! 🎄”) elseif days_left == 1 then print(day .. ” декабря – 1 день до праздника!”) else print(day .. ” декабря – “ .. days_left .. ” дней до праздника”) end end

🔄 Глава 4: Цикл с условием (Пока)

Повторяем действие, пока условие истинно. Мы не всегда знаем, сколько раз нужно повторить.

print(“=== Цикл с условием ===”) print(“Игра: Угадай число”) — Загадываем число от 1 до 10 secret_number = 7 — ПОПРОБУЙ: поменяй это число attempts = 0 max_attempts = 5 found = false print(“Я загадал число от 1 до 10”) print(“У тебя “ .. max_attempts .. ” попыток”) — Пробуем разные варианты автоматически guess = 1 while not found and attempts < max_attempts do attempts = attempts + 1 print(“\nПопытка “ .. attempts .. “: я думаю это “ .. guess) if guess == secret_number then print(“✅ Угадал! Это действительно “ .. secret_number) found = true elseif guess < secret_number then print(“📈 Слишком мало!”) guess = guess + 2 — увеличиваем догадку else print(“📉 Слишком много!”) guess = guess – 1 — уменьшаем догадку end end if not found then print(“\n💀 Попытки закончились! Это было число “ .. secret_number) end

🏆 Итоговый проект: Игра “Квест в замке”

print(“=== КВЕСТ В ЗАМКЕ ===”) print(“Ты в древнем замке. Нужно найти сокровище!”) print(“————————————————“) — Настройки игры (можно менять!) rooms = {“Прихожая”, “Библиотека”, “Кухня”, “Тронный зал”, “Сокровищница”} current_room = 1 treasure_room = 5 keys_found = 0 steps = 0 print(“Ты в комнате: “ .. rooms[current_room]) — Игровой цикл while current_room ~= treasure_room and steps < 10 do steps = steps + 1 print(“\n— Шаг “ .. steps .. ” —“) print(“Ключей найдено: “ .. keys_found .. ” из 3″) — Автоматическое “принятие решений” по условиям if current_room == 1 then print(“Перед тобой две двери: левая (1) и правая (2)”) — Автовыбор if keys_found < 1 then choice = 1 print(“Иду в левую дверь…”) else choice = 2 print(“Иду в правую дверь…”) end elseif current_room == 2 then print(“Ты в библиотеке. Видишь старую книгу.”) keys_found = keys_found + 1 print(“🎉 Нашел ключ! Теперь ключей: “ .. keys_found) end — Переход в следующую комнату current_room = current_room + 1 if current_room <= #rooms then print(“Перехожу в: “ .. rooms[current_room]) end end — Конец игры print(“\n” .. string.rep(“=”, 30)) if current_room == treasure_room then print(“🎊 ПОБЕДА! Ты нашел сокровища замка!”) print(“💰 Золото: “ .. (keys_found * 100) .. ” монет”) else print(“💀 Поражение! Закончились шаги.”) print(“Сокровище было в: “ .. rooms[treasure_room]) end print(“Статистика:”) print(“- Шагов сделано: “ .. steps) print(“- Ключей найдено: “ .. keys_found)

📚 Шпаргалка по Lua для онлайн-компилятора

Команда Что делает Пример
print() Выводит текст print("Привет")
= Присваивает значение x = 10
if then else end Условие if x > 5 then print("Много") end
for i = 1, N do end Цикл счётчик for i = 1, 5 do print(i) end
while условие do end Цикл с условием while x < 10 do x = x + 1 end
math.random(a, b) Случайное число num = math.random(1, 10)
.. Соединяет текст "Привет, " .. name

🎯 Как экспериментировать с кодом

  1. Меняй числа — найдите все переменные и поменяйте их значения
  2. Меняй условия — попробуйте разные варианты в if/else
  3. Меняй границы циклов — увеличьте или уменьшите количество повторов
  4. Добавляйте свои команды print() — чтобы видеть, что происходит
  5. Комбинируйте — добавьте ветвление внутрь цикла или наоборот

🌟 Советы начинающим программистам

  • Начинай с простого — сначала убедись, что понимаешь каждую строку
  • Добавляй print() — если что-то не работает, выводи промежуточные значения
  • Используй комментарии — отмечай, что делает каждая часть кода
  • Не бойся ошибок — они показывают, где нужно разобраться лучше
  • Фантазируй — программирование это творчество!

Удачи в программировании! Помни — лучший способ научиться это экспериментировать! 🚀

Прокрутить вверх