Разное

Генератор примеров по математике – Генератор примеров по математике

Генератор примеров по математике

В помощь родителям — генератор примеров по математике, и заданий по русскому языку
Вы можете сгенерировать примеры любой сложности, а затем распечать их или решать в интерактивном режиме
Генератор примеров на сложение и вычитание. Можно настроить диапазон числел и ответов: до 10, до 20, до 100, примеры с трёхзначными, четёрыхзначными и пятизначными сичлами. Настраивается сложность примеров: с переходом через десяток или без перехода, сложение или вычитание, действия с «удобными» числами или примеры повышенной сложности… Генератор примеров с пропусками значений: нужно найти не просто сумму или разность, а слагаемые или вычитаемые. Протитип задач с иксами. Можно настроить диапазон чисел и сложность примеров…
Генератор неравенств: сравнение результатов примеров. Кроме диапазона чисел настраивается сложность примеров: на сколько отличаются правая и левая части, а также операции могут быть с «удобными» или «неудобными» числами… Генератор примеров на умножение и деление. Умножение на любые числа или на выбранное значение. Примеры на деление с остатком…
Уравнения с одним неизвестным — действия с умножением на скобку, с множителем у наизвестных.
Уравнения для 4 класса — с целыми числами.
Задачи на:
— расстояние, скорость и время
— вычисление периметра и площади
Задачи на то, как зная один параметр вычислить другой в различных вариациях.
Генератор заданий на словарные слова. Можно выбрать набор словарных слов (для 1 или 2 класса), добавить собственный набор словарных слов, и вывести их с прочерками вместо букв. Для каждого примера словарные слова перемешиваются.  
 
Примеры онлайн
 
Назначение генератора примеров

Назначение генератора — выдавать в автоматическом режиме примеры по математике и задания по русскому языку по заданным параметрам.

Выводятся примеры в 3 видах:

  • Готовый форматированный файл, готовый к печати из любого текстового редактора;
  • Вывод примеров для переноса в другие приложения, или для печати из браузера — с настриваемыми параметрами форматирования;
  • Интерактивные примеры для устного счёта с использованием, например, планшета, мобильного телефона, и т.п.

Настройка сложности примеров

Вы можете выбрать арифметические действия: только сложение, вычитание, или все действия.

Вы можете выбрать, какие числа используются будут использоваться в примерах и в ответах. Например: только однозначные числа, или числа до 20, до 100.

Так же можно регулировать «сложность» примеров — этот параметр отвечает за то, насколько «неудобными» в примерах будут числа.

Печать и вывод примеров

Готовые файлы для распечатки

Вы можете скачать примеры в виде готовых к распечатке файлов.

Для этого в блоке «Готовый файл для распечатки» установите количество страниц для вывода, нажмите «Изменить» и пройдите по ссылками «Файл заданий» или «Файл ответов». В файле заданий будут только задания с прочерками вместо ответов, а в файле ответов — примеры с ответами.

На каждой странице — 3 колонки по 34 примеров в каждой.
Для удобства, наверху у каждой колонки указан номер варианта (случайное число) — это номер совпадает в Файле заданий и Файле ответов.

Просто сохраните два файла на компьютере, а затем распечатайте их.

Печать из браузера или перенос в другое приложение

Вы можете распечатать примеры прямо из браузера.
Для этого в блоке «Свой формат печати» задайтие количество примеров, и нажмите «Изменить».

На открывшейся странице вы можете выбрать шрифт для печати, задать количество столбцов и примеров для вывода.

Воспользуйтесь меню «Файл > Предварительный просмотр» вашего браузера для контроля расположения примеров, а затем распечатайте примеры прямо из браузера.
Вы можете выбрать вариант «для ученика» — только задания или «для учителя» с ответами.

Интерактивная проверка устного счёта

Вы можете считывать примеры прямо с экрана планшета, мобильного телефона, и сразу проверять правильность решения.
Для этого в блоке «Интерактивные примеры» задайтие количество примеров, и нажмите «Изменить».

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

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

Мобильная версия

Для мобильных телефонов есть специальная — мобильная версия генератора примеров, которая позволяет решать примеры в интерактивном режиме: после решения ребёнок может сразу проверить правльность решения.

См. проект «Примеры онлайн»

l1158.ru

Примеры по математике — генератор примеров

Сколько всего нужно узнать и выучить ребенку за короткий срок:

выучить буквы и цифры, научиться читать, писать, считать и решать.

Притом, что способности у всех деток разные.

Кто-то схватывает все «на лету», кому-то требуется чуть больше времени.

Чтобы закрепить и улучшить начальные навыки счета у детей, на сайте  «Быть МАМОЙ» создан онлайн — Генератор, который создает примеры и уравнения по математике для детей дошкольного и младшего школьного возраста.

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

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

Генератор примеров и уравнений, имеет внутренние настройки, изменяя которые вы сможете создать примеры для детей разного возраста и уровня подготовки ( от 5 лет до 2-3 класса).

Чтобы получить и распечатать примеры по математике, вам нужно:

1. Задать (выбрать) параметры для заданий

  • по количеству примеров: 10, 20, 30, 60 (2листа), 90 (3 листа)
  • по виду задания: пример или уравнение
  • по функциям математических действий: сложение, вычитание, умножение и деление.
  • по диапазону чисел: от 1 до 100 (например — от 5 до 10, от 10 до 50 и т.п.)

2. Распечатать полученый файл. Предварительно вы можете сохранить файл с заданиями на компьютер или флешку.

ГЕНЕРАТОР ПРИМЕРОВ И УРАВНЕНИЙ

 

Если вы генерируете примеры в браузере «Firefox», возможно некорректное отображение pdf.файлов в результате генерации (генерируется пустая страница в клеточку, либо нет знаков математических действий)

В этом случае вам нужно:

1. Сохранить полученный (некорректный) документ на компьютер, а затем открыть и распечатать файл с примерами с вашего компьютера.
2. Открыть данную страницу в другом браузере (Chrome, Яндекс), скопировав адрес страницы и вставив его в адресную строку.

 

Используйте онлайн генератор примеров по математике, если:

— Ваш ребенок только начал изучать счет. Выберите самые начальные параметры для генерации. Чтобы получились самые простые примеры по математике.

— Вашему ребенку требуется дополнительная подготовка по математике.

— Вы собираетесь в длительную поездку. Решение примеров и уравнений будет  полезным занятием, которое поможет скоротать время в дороге.

 

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

 

Преимущества генератора математических примеров.

— Не нужно заранее покупать задачники и пособия по математике с примерами и уравнениями.

— Чтобы получить примеры для решения, не нужно предварительно скачивать программу на компьютер. Все примеры генерируются онлайн.

— Вы можете скачать файл с примерами на компьютер и распечатать его в любое время.

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

— Вы можете подобрать задания индивидуально для вашего ребенка в зависимости от его уровня подготовки.

 

Если у вас возникнут трудности или вопросы по использованию генератора примеров — не стесняйтесь, задавайте вопросы в комментариях.
Отзывы также приветствуются 🙂

 


Читайте похожие записи:

tobemum.ru

Генератор примеров-прописей по математике для начальной школы

Главная > Образование > Математика >

 

Приложение к странице

Математические прописи и примеры по арифметике

«Primo-Arithmetic» — это онлайновая программа, которая умеет придумывать примеры по арифметике и записывать их аккуратным почерком (точнее говоря, шрифтом Primo) на листке бумаги в клеточку. Цвет записи может быть черным или серым — в последнем случае у ребенка есть возможность дополнительно попрактиковаться в обводке цифр. Программа располжена по адресу:

https://nekin.info/prog/primo-arithmetic.html

Программа протестирована на современных версиях браузеров Mozilla Firefox (только Windows!), Google Chrome (Windows и Linux) и Opera (Windows и Linux). Корректная работа в других браузерах (в других операционных системах) не гарантирована.

Пройдя по указанной ссылке, вы попадете на веб-страницу, которую полностью занимает таблица с двумя большими ячейками (окнами) в средней части. Создание примеров-прописей осуществляется в два этапа.

Первый этап: генерация примеров в черновик

Нажмите левой кнопкой мыши кнопку «Генератор» (один или несколько раз). При этом в левом окне, которое служит черновиком, появятся сгенерированные примеры. Число примеров, генерируемых единовременно регулируется с помощью кнопки-индикатора «За раз».

Черновик можно отредактировать, добавляя или удаляя текст по своему усмотрению. Кроме того, предусмотрено два вида форматирования. (1) Фрагмент текста можно сделать бледным (для обводки), выделив его мышкой и нажав кнопку «Б». (2) Если же, вместо «Б», нажать кнопку «Ф», то фрагмент становится фантомным — на черновике он отображается как зачеркнутый, а в беловике он не будет отображаться вовсе, занимая, однако, место. Ответы в генерируемых примерах даны именно таким фантомным шрифтом.

Оба вида форматирования можно убрать повторным нажатием кнопок «Б» или «Ф».

Второй этап: создание прописей в беловике

Для того чтобы переписать черновик набело, нажмите кнопку «Прописи». Беловик с прописями появится в правом, более широком, окне.

Как быстро найти соответствующие друг другу примеры?

Сделав двойной щелчок левой кнопкой мыши по какому-либо примеру в черновике, мы сразу увидим этот же пример в беловике: он «высветится» желтым фоном.

Если такой же щелчок сделать по какому-либо примеру в беловике, то этот же пример «высветится» в черновике.

Печать и другие команды из группы «Файл»

Для того чтобы распечатать сгенерированные прописи, нужно воспользоваться командой Файл/Печать. При этом, собственно, печати, как таковой, еще не произойдет, но будет создана новая веб-страница с точным макетом прописей. Вот этот-то макет и следует далее распечатать на принтере обычными средствами вашего браузера. Следует иметь в виду, что макет создается под бумагу определенного формата (по умолчанию A4), который указан вверху макетной веб-страницы. Проследите, пожалуйста, за тем, чтобы этот формат совпадал с установками вашего принтера. В противном случае формат макета следует изменить с помощью настроек (см. ниже).

Кнопка «Файл» ведет также к следующим командам:

Новый — очищает левое окно от всякого текста.

Сохранить — сохраняет текст из черновика в файл на вашем компьютере.

Загрузить — загружает ранее сохраненный файл.

Образцы — открывает доступ к образцам примеров-прописей.

Настройки

Настройки задают тип и сложность генерируемых примеров, а также внешний вид прописей. Доступ к меню настроек открывается кнопкой «Настройки». Меню состоит из следующих пунктов:

Сложение/вычитание — здесь задаются параметры примеров на сложение и вычитание: в частности, в каком диапазоне должны находиться слагаемые и какой порог не может превышать сумма. Эти же параметры используются для примеров на вычитание, в которых сумма соответствует уменьшаемому, первое слагаемое — вычитаемому, а второе слагаемое — разности. Также тут задаются общая доля примеров на сложение/вычитание (по отношению ко всему числу генерируемых примеров) и относительная доля примеров на вычитание (в числе примеров на сложение/вычитание). Наконец, здесь можно потребовать от генератора, чтобы он ограничился только примерами без перехода через десяток, или же разрешить ему генерировать примеры на вычитание с отрицательной разностью (при этом уменьшаемое и вычитаемое меняются местами).

Умножение/деление — здесь задаются параметры примеров на умножение и деление: диапазон значений первого и второго сомножителей (которые в примерах на деление превращаются в делитель и частное), общая доля примеров на умножение/деление (по отношению к общему числу генерируемых примеров) и относительная доля примеров на деление (в числе примеров на умножение/деление). Здесь же можно выбрать, какой знак — дробную черту или двоеточие — использовать в качестве знака деления нацело, а также уточнить, что подразумевается под делением: деление с остатком или без.

В пункте Дополнительно задаются следующие параметры:

Число примеров, генерируемых за один раз;

Доля «уравнений» в общем числе примеров. На самом деле это не совсем уравнения: вместо переменной «икс» оставляется пробел, куда ребенок должен вписать подходящее число;

Доля примеров с «приписанными нулями». Этот параметр имеет следующий смысл. Как известно, сложность примера увеличится лишь ненамного, если к обоим слагаемым (или к одному из множителей) приписать некоторое количество нулей. Данный параметр позволяет приписывать нули к генерируемым уравнениям с заданной вероятностью. Если он равен нулю, то нули никогда не приписываются;

Максимальное число приписываемых нулей;

Доля примеров с «особым» значением суммы. Этот параметр влияет только на примеры на сложение и вычитание. Иногда желательно, чтобы ребенок потренировался складывать числа, которые дают в сумме число круглое или близкое к круглому, например 1000, 901, 802 и т.п. Соответственно, вычитание из подобных чисел также представляет особый интерес. Назовем такие числа «особыми». Этот параметр задает вероятность того, что сумма (уменьшаемое) окажется «особым» числом.

Текущий список «особых» чисел приведен тут же.

Добавить/удалить «особое» значение суммы можно введя то или иное число в соответствующее поле. Если введенного числа нет в списке, то оно будет туда добавлено. Если же введенное число уже есть, то оно будет из списка удалено.

Страница — здесь можно задать формат страницы и ширину полей.

Внешний вид — здесь задаются размер клетки, наклон шрифта и толщина линеек.

Цвет — здесь можно выбрать цвет для основного и бледного шрифта, а также линеек.

Сброс — по этой команде все настройки возвращаются к их первоначальным, стандартным значениям.

Особую группу настроек образуют Поправки. Дело в том, что ваш браузер, ваша операционная система и ваш принтер могут самопроизвольно вносить небольшие изменения в реальное расположение печатного материала на странице, сдвигая его в ту или иную сторону. Поэтому ширина полей, заданная в настройках, соблюдается, вообще говоря, лишь приблизительно. Если вы хотите, чтобы ширина полей соблюдалась точно, вам следует сделать пробную распечатку, установить насколько реальные размеры полей отличаются от желаемых и потом задать в Поправках коррекционные сдвиги по вертикали и горизонтали.

Если выйти из программы, а потом снова в нее войти, то все настройки сохраняются.

Большинство настроек (кроме цвета и коррекционных поправок) сохраняются также в файлах, создаваемых по команде Файл/Сохранить. При повторной загрузке этих файлов они восстанавливаются.

Прописи для левшей

В прописях для левшей буквы должны быть наклонены в другую сторону. Для этого достаточно в настройках (Настройки/Внешний вид) придать углу наклона отрицательное значение. Следует однако иметь в виду, что угол наклона в программе меняется с помощью математической операции skew (скос). Эта операция имеет тот побочный эффект, что толщина линий у букв может стать несколько неравномерной.

Обработка некиррилических символов

Если в тексте встречаются буквы латинского алфавита, то после генерации прописей они окрашиваются в левом окне в красный цвет, а в самих прописях отображаются шрифтом «Kalam» позаимствованным мною из набора Google Fonts.

Условия пользования (лицензия)

Представленный здесь генератор прописей — вместе со шрифтом Primo — предназначен для частного пользования и предоставляется бесплатно в том виде, как есть, без каких бы то ни было гарантий. Модификация, дальнейшее распространение и коммерческое использование возможны только по согласованию с правообладателем.

Примечание. Старая версия генератора примеров-прописей, реализованная как макрос в среде Microsoft Word, больше не поддерживается, однако всё еще доступна здесь.

 

 

www.nekin.info

Генератор простых арифметических примеров для чайников и не только / Habr

Привет!

В этой «статье», а вернее сказать очерке, покажу очень простой способ развлечься зная самые основы latex и python.

Зачем?


Ну, можно генерировать простые выражения для детей чтобы считали. Или просто так. Да хоть на обои поставить, если вы такой же фанатик, как и я.

Как это по идее должно работать?


Идея действительно очень простая, написать такую программу может абсолютно каждый. Мы хотим сгенерировать выражение, равное некоторому числу n (которое вводит пользователь). Любое число можно заменить на арифметическое выражение, например, 3 = 1 + 2. А 2 это 4 / 2. Вот так мы сгенерировали 3 = 1 + 4/2. Аналогично, мы введем несколько разных операций и завернем это в LaTeX, язык формул.Вам понадобится…

Одна неделя опыта в python и matplotlib. Я серьезно.


Основной механизм


Нам нужно распарсить выражение так, чтобы вытащить оттуда числа. Назовем наш класс как генератор проблем (нам всем его так не хватает!)
import random
from math import log
import math
import sys
sys.setrecursionlimit(1000)   # Эта магия делает нерабочий код рабочим


class ProblemGenerator:
    def extract_nums(self, exp):
        symbols = list(exp)
        NUM = "1234567890."
        for i in range(len(symbols)):
            symbols[i] = "N" if symbols[i] in NUM else "T"
        begins = []
        ends = []
        for i in range(len(symbols) - 1):
            fn = symbols[i] + symbols[i + 1]
            if fn == "TN":
                begins.append(i)
            elif fn == "NT":
                ends.append(i)
        if exp[-1] in NUM:
            ends.append(len(exp) - 1)
        if exp[0] in NUM:
            begins = [-1] + begins
        return [(x + 1, y + 1) for x, y in zip(begins, ends)]


Смысл функции extract_nums в том, чтобы получить n пар чисел (a, b), где a — позиция первого символа, b — позиция последнего + 1.

Например, если мы запустим следующий код:

gen = ProblemGenerator()
print(gen.extract_nums("13+256/355+25"))

Увидим:
[(0, 2), (3, 6), (7, 10), (11, 13)]

То есть это массив tuple. (0, 2) означает, что есть число между 0 (включительно) и 2 (не включительно).

Теперь нам хотелось бы сделать разные операторы, начнем с умножения и суммы. Объявим три функции

def unmin(*args, acc=2):
    r = []
    for arg in args:
        f = round(arg, acc)
        if f > 0:
            f = str(f)
        else:
            f = "(" + str(f) + ")"
        r.append(f)
    return r

def __c_sum(num):
    a = round(random.random() * 100, 3)
    b = num - a
    a, b = unmin(a, b)
    return a + " + " + b

def __c_mul(num):
    a = num / (random.random() * 100 + 10)
    if a == 0.0:
        b = random.random()
    else:
        b = num / a
    a, b = unmin(a, b)
    return a + " * " + b


Суть функции unmin не только в том, чтобы просто преобразовать все аргументы в строки, но и в том, чтобы заключить в скобки какой-то из операндов, если он меньше нуля. К примеру, мы получили числа a=3, b=-4. Если мы напишем
a = 3
b = -4
a, b = unmin(a, b)

То a=«3», b=»(-4)»

Ну а остальные функции понятные: __c_sum возвращает строку вида «13 + 4», а __c_mul «13 * 4».
Остается соединить эти две штуки и заменять каждое число в выражении на выражение.
Добавим в ProblemGenerator следующий код:

class ProblemGenerator:
...
    def __init__(self):
        self.funcs = []
    
    def add_expander(self, func):
        self.funcs.append(func)
    
    def complexify(self, num):
        return random.choice(self.funcs)(num)
    
    def __rxp__(self, exp):
        x, y = random.choice(self.extract_nums(exp))
        exp = exp[:x] + "(" + self.complexify(float(exp[x:y])) + ")" + exp[y:]
        return exp
    
    def randexpr(self, ans, steps):
        e = str(ans)
        for i in range(steps):
            e = self.__rxp__(e)
        return e


complexify принимает какое-то число, а возвращает строку — усложненное выражение. Например, если напишем:
gen = ProblemGenerator()
gen.add_expander(__c_sum)
print(gen.complexify(13))

Получим:
31.2 + (-18.2)

Как работает __rxp__? Мы выбираем позицию случайно числа из выражения (к примеру, если есть выражение «13+35/45», то допустим мы выбрали (3, 5)) и заменяем это число на выражение, равное этому числу. То есть хотелось бы:

«13+35/45» — рандомное число (3, 5)
«13+» + «(12 + 23)» + «/45»
«13+(12+23)/45»

Так и работает __rxp__
Ну а randexpr работает совсем просто. Например, если у нас четыре шага, то раскрывать выражение будет так:

13
(5.62 + 7.38)
((20.63 + (-15.01)) + 7.38)
((20.63 + (-(67.5 + (-52.49)))) + 7.38)
((20.63 + (-((15.16 + 52.34) + (-52.49)))) + 7.38)

Попробуем запустить:
gen = ProblemGenerator()
gen.add_expander(__c_sum)
gen.add_expander(__c_mul)
exp = gen.randexpr(1, 5)
print(exp)

Результат:
((6.63 + (56.62 + 16.8)) + (-((60.53 + 3.61) + 14.91)))

LaTeX


Как ни странно, осталось самое простое. Объявим целый ряд разных операторов LaTeX:
def __l_sum(num):
    a = 100 ** (random.random() * 2)
    b = num - a
    a, b = unmin(a, b)
    return a + " + " + b

def __l_div(num):
    a = num * (random.random() * 100 + 10)
    if a == 0.0:
        b = random.random()
    else:
        b = a / num
    a, b = unmin(a, b)
    return "\\frac{" + a + "}{" + b + "}"

def __l_pow(num):
    if num == 0:
        return str(random.randint(2, 7)) + "^{-\\infty}"
    a = random.randint(0, 10) + 3
    b = math.log(abs(num), a)
    a, b = unmin(a, b)
    return ("-" if num < 0 else "") + a + "^{" + b + "}"

def __l_sqrt(num):
    a = num ** 0.5
    a = unmin(a)[0]
    return "\\sqrt{" + a + "}"

def __l_int(num):
    patterns = [
        ("x^{2}", (3 * num) ** (1/3), "dx"),
        ("y^{3}", (4 * num) ** (1/4), "dy"),
        ("\sqrt{t}", (1.5 * num) ** (2/3), "dt")
    ]
    p, b, f = random.choice(patterns)
    b = str(round(b, 3))
    return "\\int_{0}^{" + b + "} " + p + " " + f

def __l_sig(num):
    a = random.randint(1, 10)
    b = random.randint(1, 10) + a
    s = sum([i for i in range(a, b + 1)])
    c = num / s
    a, b, c = unmin(a, b, c)
    return "\\sum_{i=" + a + "}^{" + b + "} i*" + c


Добавим все функции в gen:
gen = ProblemGenerator()
gen.add_expander(__l_sum) # Сумма двух чисел
gen.add_expander(__l_div)   # Дробь
gen.add_expander(__l_pow) # Степень
gen.add_expander(__l_sqrt) # Квадратный корень
gen.add_expander(__l_int)   # Определенный интеграл
gen.add_expander(__l_sig)   # Оператор сигма

И наконец добавим вывод результата:
import matplotlib.pyplot as plt
plt.axis("off")
latex_expression = gen.randexpr(1, 30)  # 30 раз заменяем. Выражение будет равно 1
plt.text(0.5, 0.5, "$" + latex_expression + "$", horizontalalignment='center', verticalalignment='center', fontsize=20)
plt.show()


Вот и всё.Весь код
import random
from math import log
import math
import sys
sys.setrecursionlimit(1000)


class ProblemGenerator:
    def extract_nums(self, exp):
        symbols = list(exp)
        NUM = "1234567890."
        for i in range(len(symbols)):
            symbols[i] = "N" if symbols[i] in NUM else "T"
        begins = []
        ends = []
        for i in range(len(symbols) - 1):
            fn = symbols[i] + symbols[i + 1]
            if fn == "TN":
                begins.append(i)
            elif fn == "NT":
                ends.append(i)
        if exp[-1] in NUM:
            ends.append(len(exp) - 1)
        if exp[0] in NUM:
            begins = [-1] + begins
        return [(x + 1, y + 1) for x, y in zip(begins, ends)]
    
    def __init__(self):
        self.funcs = []
    
    def add_expander(self, func):
        self.funcs.append(func)
    
    def complexify(self, num):
        return random.choice(self.funcs)(num)
    
    def __rxp__(self, exp):
        x, y = random.choice(self.extract_nums(exp))
        exp = exp[:x] + "(" + self.complexify(float(exp[x:y])) + ")" + exp[y:]
        return exp
    
    def randexpr(self, ans, steps):
        e = str(ans)
        for i in range(steps):
            e = self.__rxp__(e)
        return e

def unmin(*args, acc=2):
    r = []
    for arg in args:
        f = round(arg, acc)
        if f > 0:
            f = str(f)
        else:
            f = "(" + str(f) + ")"
        r.append(f)
    return r

def __c_sum(num):
    a = round(random.random() * 100, 3)
    b = num - a
    a, b = unmin(a, b)
    return a + " + " + b

def __c_mul(num):
    a = num / (random.random() * 100 + 10)
    if a == 0.0:
        b = random.random()
    else:
        b = num / a
    a, b = unmin(a, b, acc=5)
    return a + " * " + b

def __c_sub(num):
    a = num + 100 ** (random.random() * 2)
    b = (a - num)
    a, b = unmin(a, b)
    return a + " - " + b

def __c_log(num):
    fr = random.randint(300, 500)
    a = math.e ** (num / fr)
    a, fr = unmin(a, fr, acc=5)
    return "log(" + a + ") * " + fr

def __l_sum(num):
    a = 100 ** (random.random() * 2)
    b = num - a
    a, b = unmin(a, b)
    return a + " + " + b

def __l_div(num):
    a = num * (random.random() * 100 + 10)
    if a == 0.0:
        b = random.random()
    else:
        b = a / num
    a, b = unmin(a, b)
    return "\\frac{" + a + "}{" + b + "}"

def __l_pow(num):
    if num == 0:
        return str(random.randint(2, 7)) + "^{-\\infty}"
    a = random.randint(0, 10) + 3
    b = math.log(abs(num), a)
    a, b = unmin(a, b)
    return ("-" if num < 0 else "") + a + "^{" + b + "}"

def __l_sqrt(num):
    a = num ** 0.5
    a = unmin(a)[0]
    return "\\sqrt{" + a + "}"

def __l_int(num):
    patterns = [
        ("x^{2}", (3 * num) ** (1/3), "dx"),
        ("y^{3}", (4 * num) ** (1/4), "dy"),
        ("\sqrt{t}", (1.5 * num) ** (2/3), "dt")
    ]
    p, b, f = random.choice(patterns)
    b = str(round(b, 3))
    return "\\int_{0}^{" + b + "} " + p + " " + f

def __l_sig(num):
    a = random.randint(1, 10)
    b = random.randint(1, 10) + a
    s = sum([i for i in range(a, b + 1)])
    c = num / s
    a, b, c = unmin(a, b, c)
    return "\\sum_{i=" + a + "}^{" + b + "} i*" + c

gen = ProblemGenerator()
gen.add_expander(__l_sum)
gen.add_expander(__l_div)
gen.add_expander(__l_pow)
gen.add_expander(__l_sqrt)
gen.add_expander(__l_int)
gen.add_expander(__l_sig)

import matplotlib.pyplot as plt
plt.axis("off")
latex_expression = gen.randexpr(1, 30)  # 30 раз заменяем. Выражение будет равно 1
plt.text(0.5, 0.5, "$" + latex_expression + "$", horizontalalignment='center', verticalalignment='center', fontsize=15)
plt.show()



Результат (3 скриншота)

habr.com

НАЧАЛКА: Генератор примеров

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

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

Готовые примеры по математике генерируются на странице в клеточку, что позволяет ребенку тренировать не только устный  счет, но и правильное написание цифр.
Генератор примеров и уравнений, имеет внутренние настройки, изменяя которые вы сможете создать примеры для детей разного возраста и уровня подготовки ( от 5 лет до 2-3 класса).

Чтобы получить и распечатать примеры по математике, вам нужно:

1. Задать (выбрать) параметры для заданий

  • по количеству примеров: 10, 20, 30, 60 (2листа), 90 (3 листа)
  • по виду задания: пример или уравнение
  • по функциям математических действий: сложение, вычитание, умножение и деление.
  • по диапазону чисел: от 1 до 100 (например — от 5 до 10, от 10 до 50 и т.п.)

2. Распечатать полученый файл. Предварительно вы можете сохранить файл с заданиями на компьютер или флешку.

ГЕНЕРАТОР ПРИМЕРОВ И УРАВНЕНИЙ

Если вы генерируете примеры в браузере «Firefox», возможно некорректное отображение pdf.файлов в результате генерации (генерируется пустая страница в клеточку, либо нет знаков математических действий)

В этом случае вам нужно:

1. Сохранить полученный (некорректный) документ на компьютер, а затем открыть и распечатать файл с примерами с вашего компьютера.
2. Открыть данную страницу в другом браузере (Chrome, Яндекс), скопировав адрес страницы и вставив его в адресную строку.

Используйте онлайн генератор примеров по математике, если:

— Ваш ребенок только начал изучать счет. Выберите самые начальные параметры для генерации. Чтобы получились самые простые примеры по математике. — Вашему ребенку требуется дополнительная подготовка по математике.

— Вы собираетесь в длительную поездку. Решение примеров и уравнений будет  полезным занятием, которое поможет скоротать время в дороге.

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

Преимущества генератора математических примеров.

— Не нужно заранее покупать задачники и пособия по математике с примерами и уравнениями.

— Чтобы получить примеры для решения, не нужно предварительно скачивать программу на компьютер. Все примеры генерируются онлайн.

— Вы можете скачать файл с примерами на компьютер и распечатать его в любое время.

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

— Вы можете подобрать задания индивидуально для вашего ребенка в зависимости от его уровня подготовки.

okt-nachalka.blogspot.com

Задачи на скорость, расстояние, время

Образец задач:
От двух станций, расстояние между которыми 618 км, навстречу друг другу выехали два поезда. Скорость первого — 105 км/ч, скорость второго — 101 км/ч. Через какое время они встретятся?
Из двух населённых пунктов навстречу друг другу выехали два велосипедиста. Скорость первого — 9 км/ч, скорость второго — 10 км/ч. Они встретились через 2 часа. Найти расстояние между населёнными пунктами.
Длина прямоугольника 431 дм, а его ширина — 75 дм.
Найти периметр прямоугольника.
От двух пристаней, расстояние между которыми 160 км, навстречу друг другу отплыли два теплохода, и встретились через 2 часа. Скорость первого — 35 км/ч. Найдите скорость второго.
Ширина прямоугольника 194 м, а его длина — 256 м.
Найти периметр прямоугольника.
Из двух населённых пунктов навстречу друг другу выехали два велосипедиста. Скорость первого — 17 км/ч, скорость второго — 18 км/ч. Они встретились через 1 час. Найти расстояние между населёнными пунктами.
Ширина прямоугольника 311 см, а его длина — 389 см.
Найти периметр прямоугольника.
Ширина прямоугольника 524 м, а его длина — 7 км.
Найти периметр прямоугольника.
Длина прямоугольника 82 м, а его периметр — 18820 cм.
Найти ширину прямоугольника.
Длина прямоугольника 376 см, а его ширина — 63 см.
Найти периметр прямоугольника.
От двух пристаней, расстояние между которыми 138 км, навстречу друг другу отплыли два теплохода. Скорость первого — 46 км/ч, скорость второго — 23 км/ч. Через какое время они встретятся?
Длина прямоугольника 398 см, а его ширина — 112 см.
Найти периметр прямоугольника.
Длина прямоугольника 15 м, а его ширина — 137 дм.
Найти периметр прямоугольника.
Ширина прямоугольника 411 см, а его длина — 191 м.
Найти периметр прямоугольника.
От двух станций, расстояние между которыми 1332 км, навстречу друг другу выехали два поезда, и встретились через 9 часов. Скорость первого — 58 км/ч. Найдите скорость второго.
Из двух городов, расстояние между которыми 315 км, навстречу друг другу выехали для автомобиля. Скорость первого — 51 км/ч, скорость второго — 54 км/ч. Через какое время они встретятся?
Длина прямоугольника 327 км, а его ширина — 201 км.
Найти периметр прямоугольника.
Длина прямоугольника 160 дм, а его ширина — 149 дм.
Найти периметр прямоугольника.
Ширина прямоугольника 131 см, а его длина — 105 м.
Найти периметр прямоугольника.
Длина прямоугольника 13 м, а его периметр — 474 дм.
Найти ширину прямоугольника.
Из двух населённых пунктов, расстояние между которыми 68 км, навстречу друг другу выехали два велосипедиста, и встретились через 4 часа. Скорость первого — 8 км/ч. Найдите скорость второго.
От двух станций, расстояние между которыми 1520 км, навстречу друг другу выехали два поезда. Скорость первого — 57 км/ч, скорость второго — 95 км/ч. Через какое время они встретятся?
Ширина прямоугольника 269 см, а его длина — 37 м.
Найти периметр прямоугольника.
Ширина прямоугольника 108 см, а его длина — 55 м.
Найти периметр прямоугольника.
От двух пристаней навстречу друг другу отплыли два теплохода. Скорость первого — 48 км/ч, скорость второго — 29 км/ч. Теплоходы встретились через 3 часа. Найти расстояние между пристанями.
Из двух городов, расстояние между которыми 240 км, навстречу друг другу выехали для автомобиля, и встретились через 3 часа. Скорость первого автомобиля — 43 км/ч. Найдите скорость второго.
От двух станций навстречу друг другу выехали два поезда. Скорость первого — 50 км/ч, скорость второго — 57 км/ч. Поезда встретились через 5 часов. Найти расстояние между станциями.
Ширина прямоугольника 235 м, а его периметр — 1238 м.
Найти длину прямоугольника.
Из двух населённых пунктов, расстояние между которыми 108 км, навстречу друг другу выехали два велосипедиста, и встретились через 4 часа. Скорость первого — 12 км/ч. Найдите скорость второго.
Ширина прямоугольника 172 см, а его периметр — 4544 см.
Найти длину прямоугольника.
 

l1158.ru

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

Для получения правильного результата, необходимо указать генератору примеров диапазоны чисел, которые следует придумывать. Иными словами, нужно объяснить ему, что, например, Ваш ребенок проходил в школе операции только с числами до 10, чтобы придуманный генератором пример не ввел ребенка в ступор, и Вам не пришлось говорить «А, вы это еще не проходили, пропусти.»

Итак, переходим к настройке чисел. Числа в формуле обозначаются большими латинскими  буквами A, B, C и так далее. Под каждым числом формулы указаны его границы, например число А, а под ним стоит 1…99 — это значит, что генератор вместо А подставит цифру от 1 до 99:

Результат вычислений (ответ) обозначается знаком «.?.» и у него точно так же есть границы, потому что числа в формуле могут быть в пределах знаний ребенка, а ответ может выходить из этих границ. Простой пример: ребенок умеет считать только до 100, ограничиваем A, B и C от 1 до 99. Генератор придумывает пример: 20 + 35 + 77 = ? Таким образом получается, что числа A, B и C не превышают знаний ребенка, но ответ, который равен 132, еще пока ребенку не известен. Если же для ответа, который обозначается знаком «.?.», мы укажем границы 1…100, то генератор будет придумывать только такие примеры, результат (ответ) которых  не будет больше 100.

Для того, чтобы указать границы чисел A, B, C и т.п. или результата (ответа), нужно просто кликнуть левой кнопкой мыши на ту букву, границы которой Вы хотите указать. Появится всплывающее окно, которое предложит ввести диапазон от и до:

Введите диапазон, нажмите ОК и генератор примет Ваше желание к сведению.

ВНИМАНИЕ! Чем жестче рамки, которыми Вы ограничите числа и результат, тем сложнее будет генератору придумать корректные примеры. Будте разумны в ограничениях, иначе результата может не получиться вовсе. Постарайтесь не задавать генератору невыполнимых ограничений.

Таким же образом настраиваются все числа и результат в формуле. Теперь, когда основные ограничения указаны, можно создать примеры, согласно Вашим требованиям. Однако, есть еще один параметр, о котором стоит подумать: это Промежуточные вычисления.

Далее: настройка промежуточных вычислений

 

xn--5-7sbbdg7cakp.xn--p1ai