Линейные алгоритмы - Урок информатики для 8 класса
💻 Информатика 8 класс

Линейные алгоритмы: когда программа идёт по прямой

Сейчас мы разберёмся, как писать программы, которые выполняют команды одну за другой — как рецепт любимого блюда или инструкция по прохождению уровня в игре. Это называется линейный алгоритм. Представь, что ты учишь компьютер делать что-то полезное, и он слушается каждой твоей команды строго по порядку.

Линейный алгоритм — это когда команды выполняются строго по порядку, как шаги по дорожке

Что такое линейный алгоритм?

Давай представим, что ты запускаешь любимую игру. Что происходит? Компьютер по порядку: загружает файлы → проверяет подключение → запускает главное меню. Одно за другим, без перепрыгиваний.

💡 Определение

Линейный алгоритм — это последовательность команд, которые выполняются строго одна за другой, от начала до конца. Никаких развилок, никаких повторений — просто прямая дорога от старта до финиша.

🤔 Как это работает в программе?

В Python (и в любом другом языке программирования) компьютер читает твой код сверху вниз, строчка за строчкой. Написал команды — они выполнятся именно в том порядке, в котором ты их расположил.

Структура линейного алгоритма: начало → действия → конец

Структура линейного алгоритма: начало → действия → конец

Основные команды Python для линейных алгоритмов

Чтобы писать программы, нужно знать базовые команды. Давай разберём самые важные!

📢 Вывод информации — print()

Это как отправить сообщение в чат. Программа показывает текст на экране.

print("Привет, мир!")
print("Добро пожаловать в программирование")

Что произойдёт? На экране появятся две строки текста — именно то, что ты написал в кавычках.

⌨️ Ввод данных — input()

Это как когда игра спрашивает: "Введи своё имя". Программа ждёт, пока ты что-то напишешь.

name = input("Как тебя зовут? ")
print("Приятно познакомиться,", name)

Обрати внимание: мы сохранили то, что ввёл пользователь, в переменную name. Переменная — это такая коробочка, в которой хранится информация.

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

Представь, что переменная — это именованная коробка. Ты можешь положить туда число, текст или что-то ещё, а потом использовать это в программе.

age = 14
city = "Москва"
height = 1.65
Переменные — это именованные коробочки для хранения данных

Переменные — это именованные "коробочки" для хранения данных

Типы данных в Python

Компьютер различает разные виды информации. Давай разберёмся, какие бывают типы данных.

Тип данных Название Что хранит Пример
int Целое число Числа без дробной части 42, -7, 1000
float Вещественное число Числа с дробной частью 3.14, -0.5, 2.0
str Строка Текст в кавычках "Привет", "Python"
bool Логический Истина или ложь True, False

⚠️ Почему это важно?

Если ты спросишь у пользователя его возраст через input(), Python получит строку, даже если человек ввёл число! Чтобы работать с числами, нужно преобразовать строку:

age = input("Сколько тебе лет? ") # это строка!
age = int(age) # теперь это целое число
print("Через 5 лет тебе будет", age + 5)

Арифметические операции — математика в коде

Python отлично умеет считать! Вот основные операции:

Операция Символ Пример Результат
Сложение + 5 + 3 8
Вычитание - 10 - 4 6
Умножение * 7 * 2 14
Деление / 15 / 3 5.0
Целочисленное деление // 17 // 5 3
Остаток от деления % 17 % 5 2
Возведение в степень ** 2 ** 3 8
Арифметические операции — основа математических вычислений в программе

Арифметические операции — основа математических вычислений в программе

📐 Пример: Калькулятор площади комнаты

# Программа вычисляет площадь прямоугольной комнаты
length = float(input("Введи длину комнаты (в метрах): "))
width = float(input("Введи ширину комнаты (в метрах): "))

area = length * width

print("Площадь комнаты:", area, "квадратных метров")

Что здесь происходит?

  1. Спрашиваем длину и ширину
  2. Преобразуем ввод в вещественные числа (float)
  3. Вычисляем площадь (длина × ширина)
  4. Выводим результат

Работа со строками

Строки — это не только простой текст. С ними можно делать много интересного!

➕ Склеивание строк (конкатенация)

Можно соединять строки с помощью +:

first_name = "Иван"
last_name = "Петров"
full_name = first_name + " " + last_name
print("Полное имя:", full_name)
# Полное имя: Иван Петров

✖️ Умножение строк

Да-да, строки можно "умножать"!

laugh = "ха" * 5
print(laugh)
# хахахахаха

🔧 Полезные функции для строк

Функция Что делает Пример
len(s) Длина строки len("Привет")6
s.upper() Все буквы заглавные "привет".upper()"ПРИВЕТ"
s.lower() Все буквы строчные "ПРИВЕТ".lower()"привет"
s[i] Символ на позиции i "Python"[0]"P"

🔢 Пример: Работа с кодами символов

# Программа показывает код буквы и соседние буквы
letter = input("Введи букву: ")
code = ord(letter) # получаем код символа

# Формируем строку из трёх букв: предыдущая, текущая, следующая
result = chr(code - 1) + letter + chr(code + 1)

print("Код буквы", letter, "равен", code)
print("Строка из трёх букв:", result)

Что такое ord() и chr()?

  • ord(symbol) — возвращает числовой код символа
  • chr(code) — возвращает символ по его коду

Практические примеры программ

Давай напишем несколько реальных программ!

Пример 1

💱 Конвертер валют

# Программа конвертирует рубли в доллары
print("=== Конвертер валют ===")

rubles = float(input("Введи сумму в рублях: "))
rate = 90.5 # курс доллара (примерный)

dollars = rubles / rate

print(f"{rubles} рублей = {dollars:.2f} долларов")

Обрати внимание: .2f в f-строке означает "два знака после запятой".

Программа может конвертировать валюты, выполняя простые арифметические операции

Программа может конвертировать валюты, выполняя простые арифметические операции

Пример 2

🎮 Создание никнейма для игры

# Программа создаёт игровой никнейм
print("=== Генератор никнеймов ===")

name = input("Твоё имя: ")
fav_number = input("Любимое число: ")
fav_animal = input("Любимое животное: ")

nickname = name[:3].upper() + "_" + fav_animal + fav_number

print("Твой крутой никнейм:", nickname)

Что такое name[:3]? Это срез строки — берём первые 3 символа.

Пример 3

⚖️ Вычисление ИМТ (индекса массы тела)

# Программа вычисляет индекс массы тела
print("=== Калькулятор ИМТ ===")

weight = float(input("Твой вес (кг): "))
height = float(input("Твой рост (м): "))

imt = weight / (height ** 2)

print(f"Твой ИМТ: {imt:.1f}")
Пример 4

💌 Форматирование текста

# Программа создаёт красивое приглашение
print("=== Генератор приглашений ===")

guest_name = input("Имя гостя: ")
event = input("Название мероприятия: ")
date = input("Дата (например, 15 марта): ")

invitation = f"""
╔════════════════════════════════╗
║ ПРИГЛАШЕНИЕ                    ║
╠════════════════════════════════╣
║                                ║
║ Дорогой(ая) {"{guest_name}"}!  ║
║                                ║
║ Приглашаем тебя на:            ║
║ {"{event}"}                    ║
║                                ║
║ Дата: {"{date}"}               ║
║                                ║
╚════════════════════════════════╝
"""

print(invitation)
Линейные программы решают реальные задачи: от конвертации валют до создания приглашений

Линейные программы решают реальные задачи: от конвертации валют до создания приглашений

Распространённые ошибки и как их избежать

Давайте разберём типичные ошибки начинающих программистов и научимся их избегать.

❌ Ошибка 1: Забыл преобразовать тип данных

# ❌ НЕПРАВИЛЬНО
age = input("Возраст: ")
next_year = age + 1 # Ошибка! age — это строка
# ✅ ПРАВИЛЬНО
age = int(input("Возраст: "))
next_year = age + 1

❌ Ошибка 2: Деление на ноль

# ❌ НЕПРАВИЛЬНО
result = 10 / 0 # Программа упадёт с ошибкой!
# ✅ ПРАВИЛЬНО
divisor = float(input("Делитель: "))
if divisor != 0:
    result = 10 / divisor
    print("Результат:", result)
else:
    print("Нельзя делить на ноль!")

❌ Ошибка 3: Неправильные кавычки

# ❌ НЕПРАВИЛЬНО
name = 'Иван's code' # Кавычка внутри строки сломает код
# ✅ ПРАВИЛЬНО
name = "Иван's code" # Используй разные кавычки
# или
name = 'Иван\'s code' # Экранируй символ с помощью \

📌 Самое главное

Давайте подведём итоги того, что мы узнали:

Линейный алгоритм — это последовательность команд, которые выполняются строго по порядку, одна за другой.
Основные команды Python: print() — вывод информации, input() — получение данных, переменные — хранилища для данных.
Типы данных: int (целые числа), float (дробные числа), str (строки), bool (логические значения).
Арифметические операции: +, -, *, /, //, %, ** — с их помощью программы выполняют вычисления.
Всегда преобразуй типы данных! input() возвращает строку, используй int() или float() для работы с числами.

🎯 Проверь себя

Давай проверим, насколько хорошо ты разобрался в теме! Попробуй решить эти задачки:

Задача 1: Обмен значениями

Напиши программу, которая запрашивает два числа a и b, а затем меняет их местами и выводит результат. Как ты думаешь, понадобится ли третья переменная?

Задача 2: Секунды в часы и минуты

Пользователь вводит количество секунд. Программа должна перевести их в формат "X часов Y минут Z секунд".

Подсказка: используй операции // и %.

Задача 3: Генератор паролей

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

Например: первые 3 буквы имени + год задом наперёд + первая буква цвета. Придумай свой вариант!

Задача 4: Стоимость покупки

Пользователь вводит цену товара и количество. Программа вычисляет итоговую стоимость и применяет скидку 10%, если сумма больше 1000 рублей. Сколько нужно заплатить?

Задача 5: Создай свой пример!

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

Может, калькулятор времени на дорогу в школу? Или счётчик сэкономленных карманных денег? Объясни идею другу!

Вопрос 6: Что делает функция input()?

Объясни своими словами, как работает функция input() и какой тип данных она возвращает.

Вопрос 7: В чём разница между / и //?

Чем отличается обычное деление (/) от целочисленного деления (//)?

Проверь: что вернёт 17 / 5 и 17 // 5?

Вопрос 8: Что такое переменная?

Объясни, что такое переменная в программировании. Приведи пример из жизни.

Вопрос 9: Для чего нужны ord() и chr()?

Расскажи, что делают функции ord() и chr(). Где их можно применить?

Вопрос 10: Почему важно преобразование типов?

Почему нельзя просто написать age = input("Возраст: ") + 1?

Что произойдёт и как это исправить?

💡 Практические задания

Попробуй применить полученные знания на практике!

📝 Задание 1: Визитная карточка

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

Подсказка: используй f-строки для форматирования!

🧮 Задание 2: Калькулятор времени

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

Пример: ввод 125 минут → вывод "2 часа 5 минут"

💰 Задание 3: Накопления

Программа спрашивает, сколько денег ты откладываешь в неделю, и вычисляет, сколько накопится за месяц, за полгода и за год.

🎂 Задание 4: Вычисление возраста

Пользователь вводит год своего рождения. Программа вычисляет и выводит:

  • Сколько лет сейчас
  • Сколько будет через 10 лет
  • В каком году исполнится 18 лет

📏 Задание 5: Конвертер единиц

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

Пример: 15000 см = 150 м = 0.15 км

🎨 Задание 6: ASCII-арт

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

*************
* АЛЕКСАНДР *
*************
Ты освоил линейные алгоритмы — теперь можешь создавать свои первые полезные программы!

Ты освоил линейные алгоритмы — теперь можешь создавать свои первые полезные программы!

🚀 Поздравляем! Ты только что прошёл один из самых важных уроков программирования. Линейные алгоритмы — это фундамент, на котором строится всё остальное. Дальше будет ещё интереснее: научимся делать выбор (ветвления), повторять действия (циклы) и создавать настоящие проекты!

Продолжай практиковаться, экспериментируй с кодом, не бойся ошибок — именно на них учатся лучше всего. Удачи, будущий программист! 💻

Информатика — твой билет в цифровое будущее