Гид по технологиям

Печать таблицы умножения числа в разных языках программирования

5 min read Программирование Обновлено 03 Jan 2026
Таблица умножения в Python, C++, JavaScript и C
Таблица умножения в Python, C++, JavaScript и C

мальчик, играющий с таблицей умножения

О чём эта статья

Краткое руководство по печати таблицы умножения числа с примерами на четырёх языках. Подойдёт начинающим и тем, кто хочет быстро вспомнить синтаксис. Показываем: реализацию до 10, реализацию до заданного диапазона, тест-кейсы, варианты для интерактивного ввода и альтернативы (рекурсия, списковые выражения, векторизация).

Важно: все примеры используют целые числа, если вам нужны числа с плавающей точкой — см. раздел с крайними случаями.

Содержание

  • Печать таблицы до 10
  • Печать таблицы до заданного диапазона
  • Реализации: C++, Python, JavaScript, C
  • Альтернативные подходы и когда они уместны
  • Тест-кейсы и критерии приёмки
  • Краткий глоссарий и чек-листы для разных ролей

Печать таблицы умножения числа до 10

Задача

Дано число num. Нужно вывести таблицу умножения этого числа от 1 до 10. Пример: num = 5.

Ожидаемый вывод:

5 * 1 = 5
5 * 2 = 10
5 * 3 = 15
5 * 4 = 20
5 * 5 = 25
5 * 6 = 30
5 * 7 = 35
5 * 8 = 40
5 * 9 = 45
5 * 10 = 50

Подход

  1. Запустить цикл от 1 до 10.
  2. На каждой итерации умножать num на текущее значение итерации и выводить результат.

C++

// C++ программа: вывести таблицу умножения числа до 10
#include 
using namespace std;

// Функция печати таблицы умножения до 10
void printTable(int num) {
    for (int i = 1; i <= 10; ++i) {
        cout << num << " * " << i << " = " << num * i << endl;
    }
}

int main() {
    int num = 5;
    cout << "Число: " << num << endl;
    cout << "Таблица умножения для " << num << endl;
    printTable(num);
    return 0;
}

Вывод (пример):

Число: 5
Таблица умножения для 5
5 * 1 = 5
5 * 2 = 10
5 * 3 = 15
5 * 4 = 20
5 * 5 = 25
5 * 6 = 30
5 * 7 = 35
5 * 8 = 40
5 * 9 = 45
5 * 10 = 50

Python

# Python: вывести таблицу умножения числа до 10

# Функция печати таблицы умножения до 10
def printTable(num):
    for i in range(1, 11):
        print(f"{num} * {i} = {num * i}")

# Точка входа
if __name__ == "__main__":
    num = 5
    print("Число:", num)
    print("Таблица умножения для", num)
    printTable(num)

Вывод (пример):

Число: 5
Таблица умножения для 5
5 * 1 = 5
5 * 2 = 10
5 * 3 = 15
5 * 4 = 20
5 * 5 = 25
5 * 6 = 30
5 * 7 = 35
5 * 8 = 40
5 * 9 = 45
5 * 10 = 50

JavaScript (браузер)

// JavaScript: вывести таблицу умножения числа до 10 в документ

function printTable(num) {
  for (let i = 1; i <= 10; ++i) {
    document.write(num + " * " + i + " = " + num * i + "
"); } } // Пример var num = 5; document.write("Число: " + num + "
"); document.write("Таблица умножения для " + num + "
"); printTable(num);

Примечание: в Node.js вместо document.write используйте console.log или формируйте строку и отправляйте в поток вывода.

C

/* C программа: вывести таблицу умножения числа до 10 */
#include 

/* Функция печати таблицы умножения до 10 */
void printTable(int num) {
    for (int i = 1; i <= 10; ++i) {
        printf("%d * %d = %d\n", num, i, num * i);
    }
}

int main() {
    int num = 5;
    printf("Число: %d\n", num);
    printf("Таблица умножения для %d\n", num);
    printTable(num);
    return 0;
}

Печать таблицы умножения числа до заданного диапазона

Задача

Дано число num и целое положительное range. Нужно вывести таблицу умножения от 1 до range. Пример: num = 5, range = 14.

Ожидаемый вывод (пример): 5 1 = 5 … 5 14 = 70

Подход

  1. Запустить цикл от 1 до range включительно.
  2. Печать num * i на каждой итерации.

C++

// C++: таблица умножения до заданного диапазона
#include 
using namespace std;

void printTable(int num, int range) {
    for (int i = 1; i <= range; ++i) {
        cout << num << " * " << i << " = " << num * i << endl;
    }
}

int main() {
    int num = 5;
    int range = 14;
    cout << "Число: " << num << endl;
    cout << "Диапазон: " << range << endl;
    cout << "Таблица умножения для " << num << endl;
    printTable(num, range);
    return 0;
}

Python

# Python: таблица умножения до заданного диапазона

def printTable(num, r):
    for i in range(1, r + 1):
        print(f"{num} * {i} = {num * i}")

if __name__ == "__main__":
    num = 5
    r = 14
    print("Число:", num)
    print("Диапазон:", r)
    print("Таблица умножения для", num)
    printTable(num, r)

JavaScript

// JavaScript: таблица умножения до заданного диапазона
function printTable(num, range) {
  for (let i = 1; i <= range; ++i) {
    document.write(num + " * " + i + " = " + num * i + "
"); } } var num = 5; var range = 14; document.write("Число: " + num + "
"); document.write("Диапазон: " + range + "
"); document.write("Таблица умножения для " + num + "
"); printTable(num, range);

C

/* C: таблица умножения до заданного диапазона */
#include 

void printTable(int num, int range) {
    for (int i = 1; i <= range; ++i) {
        printf("%d * %d = %d\n", num, i, num * i);
    }
}

int main() {
    int num = 5;
    int range = 14;
    printf("Число: %d\n", num);
    printf("Диапазон: %d\n", range);
    printf("Таблица умножения для %d\n", num);
    printTable(num, range);
    return 0;
}

Альтернативные подходы и когда их использовать

  1. Рекурсия — понятна как учебный пример. Но для больших диапазонов возможен переполнение стека. Ментальная модель: рекурсия превращает цикл в цепочку вызовов.
  2. Списковые выражения и генераторы (Python) — удобно, если нужно собрать результаты в список для дальнейшей обработки: list comprehension, map.
  3. Векторизация (NumPy) — полезно, когда нужно быстро получить массив произведений и выполнять операции над ним. Ментальная модель: один вызов делает много умножений на С-уровне.
  4. Формирование таблицы как строки с выравниванием — полезно для вывода в консоль/лог или для учебных распечаток.

Когда это не подходит

  • Рекурсия не подходит для очень больших диапазонов (>10 000) из-за глубины стека.
  • Векторизация оправдана только при больших объёмах или при последующей математической обработке. Для простого вывода она избыточна.

Практические рекомендации и приёмы форматирования

  • Для красивого консольного вывода используйте форматирование по ширине (например, printf(“%2d * %2d = %3d\n”) или f-строки с форматами).
  • Для интерактивных программ проверяйте ввод: диапазон должен быть положительным; на отрицательных значениях логика остаётся валидной, но документируйте поведение.
  • Для многострочного HTML-вывода заменяйте переносы на теги
    или формируйте таблицу .

    Факт-бокс

    • Сложность алгоритма: O(n) умножений и O(n) выводов, где n — диапазон.
    • Для диапазона до 10 требуется 10 умножений и 10 выводов.

    Тест-кейсы и критерии приёмки

    Критерии приёмки

    • Функция корректно печатает значения от 1 до заданного диапазона включительно.
    • Для num = 0 все строки равны 0.
    • Для отрицательных num произведения соответствуют правилам умножения.
    • При нецелевом вводе (строка, вещественное число) — программа должна корректно обрабатывать или валидно отклонять ввод (в зависимости от ТЗ).

    Примеры тест-кейсов

    • num = 5, range = 10 → проверить стандартный вывод (см. примеры выше).
    • num = 0, range = 5 → все строки должны быть нулями.
    • num = -3, range = 4 → -3 1 = -3 … -3 4 = -12.
    • num = 7, range = 1 → только одна строка 7 * 1 = 7.

    Чек-лист по ролям

    Для начинающего

    • Понять цикл for.
    • Попробовать изменить num и range.
    • Написать тесты вручную.

    Для преподавателя

    • Попросить студентов реализовать вариант с рекурсией.
    • Обсудить ситуации переполнения стека и методы валидации.

    Для интервьюера

    • Попросить оптимизировать вывод (использование буфера вместо многократных sys.stdout.write).
    • Проверить обработку некорректного ввода.

    Мини-методология — как подойти к задаче быстро

    1. Определите интерфейс функции: какие аргументы, что возвращает (печатает или возвращает список строк).
    2. Реализуйте базовую версию с циклом for.
    3. Добавьте валидацию входных данных.
    4. Напишите 3 теста: базовый, нулевой, отрицательный.
    5. Оптимизируйте вывод при необходимости (буферизация).

    Краткий глоссарий (одна строка на термин)

    • Цикл for — повторение набора действий фиксированное число раз.
    • Рекурсия — функция, вызывающая саму себя для разбиения задачи на подзадачи.
    • Векторизация — применение операции ко всему массиву данных за один вызов.
    • Буферизация — накопление данных перед единоразовой отправкой в поток вывода.

    Примеры форматов и шаблоны

    Шаблон функции (универсальный, псевдокод):

    function printTable(num, range = 10):
        for i from 1 to range:
            output: num + " * " + i + " = " + (num * i)

    Простая диаграмма принятия решения

    flowchart TD
      A[Нужна таблица умножения?] --> B{Диапазон фиксирован до 10?}
      B -- Да --> C[Использовать простой цикл for]
      B -- Нет --> D{Диапазон большой и нужна обработка данных?}
      D -- Да --> E[Рассмотреть векторизацию 'NumPy' или буферизацию вывода]
      D -- Нет --> C
      C --> F[Вывести результат]
      E --> F

    Заключение

    В статье показаны простые и надёжные способы вывести таблицу умножения числа в четырёх популярных языках. Основной приём — цикл от 1 до N. Варианты включают рекурсию, списковые выражения и векторизацию. Тест-кейсы и критерии приёмки помогут проверить корректность реализации.

    Итоговые советы

    • Начните с малого: реализуйте вывод до 10.
    • Добавьте валидацию ввода и тесты.
    • Если нужно производить операции над результатами, возвращайте их в виде списка/массива вместо прямого печатания.

    Extras: если хотите — адаптируйте примеры под ввод пользователя (scanf/сin/input) и под формат вывода вашей платформы.

    Поделиться: X/Twitter Facebook LinkedIn Telegram
    Автор
    Редакция

    Похожие материалы

    RDP: полный гид по настройке и безопасности
    Инфраструктура

    RDP: полный гид по настройке и безопасности

    Android как клавиатура и трекпад для Windows
    Гайды

    Android как клавиатура и трекпад для Windows

    Советы и приёмы для работы с PDF
    Документы

    Советы и приёмы для работы с PDF

    Calibration в Lightroom Classic: как и когда использовать
    Фото

    Calibration в Lightroom Classic: как и когда использовать

    Отключить Siri Suggestions на iPhone
    iOS

    Отключить Siri Suggestions на iPhone

    Рисование таблиц в Microsoft Word — руководство
    Office

    Рисование таблиц в Microsoft Word — руководство