🚀Алгоритмы, обучающий материал для 5 класса
⚠️ Важное замечание
Так как мы работаем в онлайн-редакторе, вместо ввода данных мы будем использовать предустановленные значения, случайные числа и менять код прямо в редакторе, чтобы изменить значения.
📘 Глава 0: Знакомство с языком Lua
Что такое программирование?
Программирование — это искусство общения с компьютером на его языке. Сегодня мы будем говорить на языке Lua (произносится “лу-а”) — это простой и мощный язык, который используется в играх и приложениях.
1. Первая программа — “Привет, мир!”
print(“Привет, мир!”)
Что происходит:
print() — команда для вывода текста на экран
"Привет, мир!" — текст в кавычках
-- — знак комментария (компьютер игнорирует всё после него)
2. Переменные — “коробочки для данных”
имя = “Саша”
возраст = 12
рост = 150.5
любимый_цвет = “синий”
print(“Привет, “ .. имя)
print(“Тебе “ .. возраст .. ” лет”)
print(“Твой рост: “ .. рост .. ” см”)
3. Математические операции
a = 10
b = 3
print(“a + b = “, a + b)
print(“a – b = “, a – b)
print(“a * b = “, a * b)
print(“a / b = “, a / b)
print(“a % b = “, a % b)
print(“2 в степени 3 = “, 2 ^ 3)
print(“Квадратный корень из 9 = “, 9 ^ 0.5)
print(“2 + 3 * 4 = “, 2 + 3 * 4)
print(“(2 + 3) * 4 = “, (2 + 3) * 4)
4. Конкатенация — соединение текста
часть1 = “Привет, “
часть2 = “мир!”
полное_приветствие = часть1 .. часть2
print(полное_приветствие)
имя = “Кирилл”
баллы = 95
сообщение = имя .. ” набрал “ .. баллы .. ” баллов”
print(сообщение)
📗 Глава 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(“Проверка погоды для прогулки”)
weather = 1
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(“=== Оценка в дневнике ===”)
grade = 4
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(“Обратный отсчет запуска ракеты!”)
for i = 10, 1, –1 do
if i > 5 then
print(i .. “… (готовимся)”)
else
print(i .. “!!! (почти полетели)”)
end
end
print(“🚀 ПОЕХАЛИ!”)
📝 Практическое задание 3: “Календарь декабря”
Создай программу, которая показывает дни до Нового Года.
💡 Пример решения
print(“=== Календарь декабря ===”)
print(“Дни до Нового Года:”)
today = 15
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(“Игра: Угадай число”)
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 |
🎯 Как экспериментировать с кодом
- Меняй числа — найдите все переменные и поменяйте их значения
- Меняй условия — попробуйте разные варианты в if/else
- Меняй границы циклов — увеличьте или уменьшите количество повторов
- Добавляйте свои команды print() — чтобы видеть, что происходит
- Комбинируйте — добавьте ветвление внутрь цикла или наоборот
🌟 Советы начинающим программистам
- Начинай с простого — сначала убедись, что понимаешь каждую строку
- Добавляй print() — если что-то не работает, выводи промежуточные значения
- Используй комментарии — отмечай, что делает каждая часть кода
- Не бойся ошибок — они показывают, где нужно разобраться лучше
- Фантазируй — программирование это творчество!
Удачи в программировании! Помни — лучший способ научиться это экспериментировать! 🚀