Справочник от Автор24
Поделись лекцией за скидку на Автор24

Информационные технологии в математике

  • 👀 444 просмотра
  • 📌 377 загрузок
Выбери формат для чтения
Загружаем конспект в формате pdf
Это займет всего пару минут! А пока ты можешь прочитать работу в формате Word 👇
Конспект лекции по дисциплине «Информационные технологии в математике» pdf
Mathcad в рамках курса «Информационные технологии в математике» Лекция 2. Вычисление и типы данных Задание переменных Переменная — это именованный объект данных. Используя ее имя, можно обращаться к соответствующему объекту из любого участка документа, расположенного ниже выражения задания переменной. Переменные помогают делать расчеты более простыми, понятными и компактными, поэтому без них не обходится решение ни одной неэлементарной задачи. Для того чтобы определить некоторую переменную, выполните следующую последовательность действий:  наберите имя переменной;  введите оператор присваивания. Сделать это можно либо нажатием кнопки Definition (Присваивание) панели Calculator (Калькулятор) или Evaluation (Вычисления) семейства Math (Математические), либо при помощи сочетания «горячих» клавиш Shift+;. В том случае, если переменная определяется в документе впервые, вы можете нажать клавишу простого равенства («=»);  на место черного маркера, появившегося справа от оператора присваивания, введите значение вашей переменной. Чаще всего переменную приходится определять как число. Сделать, однако, это можно поразному. Наиболее простой вариант — непосредственно присвоить переменной значение, равное некоторому действительному или мнимому числу. Пример 1. Присваивание переменной численного значения: y  x  12 3 7  2 5 i Можно определить переменную через число, заданное как некоторое конкретное значение функции или алгебраического выражения. Пример 2. Определение переменной через значение функции x   y  sin ( x)  1 x Пример 3. Присваивание переменной матричного значения  1 2   3 4 A   Пример 3. Определение переменной как строки String := "Mathcad" !!! Значение переменной в Mathcad можно и переопределить: для этого операцию нового присваивания нужно провести правее или ниже старого присваивания. В том случае, если все присваивания в документе должны быть отображены при помощи простого равенства, выполните команду Tools > Worksheet Options > Display (Инструменты > Опции документа > Отображение). Здесь в списке Definition (Определение) выберите строку Equal (Равенство). При этом вы измените принятые по умолчанию установки документа, и все вводимые в дальнейшем определения будут отображаться как «=». Кстати, при выделении формулы, оператор присваивания в которой представлен в виде простого равенства, отобразится именно определенная по умолчанию его стандартная форма. Эта особенность необходима для того, чтобы существовала возможность отличить оператор присваивания от оператора глобального определения, логического равенства или численного вывода, которые могут принимать ту же форму. Функции Функции в Mathcad делятся на две группы:  функции пользователя;  встроенные функции. Техника использования функций обоих типов абсолютно идентична, а вот задание отличается принципиально. Задание функций пользователя Для этого необходимо выполнить приведенную последовательность действий:  введите имя функции;  после имени функции следует ввести пару круглых скобок, где через запятую нужно прописать все переменные, от которых зависит функция;  введите оператор присваивания «:=»;  на месте черного маркера справа от введенного оператора присваивания задайте вид вашей функции. Пример 5. Задание функции пользователя a  2 b  3 f ( x y )  cos  a 3  b  4 Встроенные функции Встроенные функции – это функции, заданные изначально. Что бы их использовать, необходимо просто корректно набрать имена функций с клавиатуры или математических панелей. Иначе можно ввести функцию со специальной панели Insert function (Вставить функцию), воспользовавшись кнопкой f x  со стандартной панели. Также для того, чтобы вызвать данную панель, можно использовать сочетание клавиш Ctrl+Shift+F или Ctrl+E. И, наконец, ссылка на нее имеется в меню Insert (Вставка). Синтаксис при задании имен переменных и функций Задавать имена переменных и функций в Mathcad можно практически произвольным образом. Однако некоторые ограничения, о которых нужно иметь представление, все же имеются. Изложению этого вопроса посвящен данный раздел. Перечислим для начала, какие символы можно использовать при определении имени функции или переменной.  Строчные и прописные буквы  Числа от 0 до 9, если они стоят не в начале имени.  Греческие буквы.  Символы бесконечности, штриха, подчеркивания, процента, если они располагаются не в начале имени функции.  Нижний индекс. При задании последнего имеется некоторая тонкость. Дело в том, что для того чтобы задать индекс, не несущий математического смысла элемента некоторого массива, нельзя использовать клавишу «[» или соответствующую ей команду меню Matrix (Матричные). Для задания простого текстового индекса нажмите, поставив курсор в конец слова, клавишу «.». При этом курсор опустится на пол строчки вниз, и вы сможете набрать текст индекса. Например: xoplja  45 Проведение расчета численно При работе в Mathcad нужно очень четко понимать, что в программе реализовано два принципиально разных подхода к вычислениям — численный и символьный. Более традиционный и простой тип расчета — численный. Он характеризуется тем, что подсчет значения функции или выражения производится приблизительно, для чего используются специальные численные алгоритмы. Символьный же подсчет происходит так же, как и при решении задач на бумаге (то есть используются разного рода аналитические преобразования). В этом разделе мы подробно обсудим особенности численных расчетов. В качестве численного оператора вывода выступает обычное «=». Ввод с клавиатуры, с математических панелей: Пример 6. Расчет численного значения выражения x   y  45 3 2 2 y  sin ( x) y  sin ( x) 3  8.251 10  x   103  8.251 tan   x  5 tan   Пример 7. Расчет численного значения  5  функции 2 f ( x y )  x y 2  cos  x y   x y  f ( 3  8)  0.448 f      2 Особенности представления чисел и проведения арифметических расчетов Величина 1.798  10 308 является приблизительным значением искомой машинной бесконечности. Это связано с ограниченной точностью хранения численной информации в формате с плавающей точкой. Если при расчете системой будет получено значение, большее машинной бесконечности, то она не сможет разместить его в отведенных на число 64 битах. Соответственно, при этом возникнет сбой и будет возвращено сообщение об ошибке. Сообщение гласит «При попытке вычислить это выражение найдено число со степенью большей, чем 1СГ307» Ограничение имеется не только на положительное значение показателя степени числа с плавающей точкой, но и на отрицательное. Машинным нулем по умолчанию является числа, по модулю меньшие 10-15. !!! Если необходимо снизить порог нуля, то откройте закладку Tolerance (Точность) панели Result Format (Формат результата) (открывается командой Result меню Format). На этой закладке найдите окошко Zero threshold (Порог нуля). По умолчанию в него введено значение 15. Его вы можете заменить любым другим числом от 0 до 307 (при этом ни одна формула не должна быть выделена). Иногда при расчетах возникает ситуация деления на ноль. При численных расчетах оперировать понятием «бесконечность» невозможно, поэтому система выдаст сообщение об ошибке: «Found a singularity while evaluating this expression. You may be dividing by zero» — «При вычислении этого выражения обнаружена неопределенность. Возможно, вы делите на 0». Чтобы оперировать выражениями, в которые входит бесконечность (или при вычислении которых бесконечность получается), расчет следует проводить символьно. Самой большой странностью численной арифметики в Mathcad является то, что при делении 0 на 0 в результате получается 0: Формат вывода численного результата При стандартных установках численный ответ отображается только до третьего знака после запятой. Это связано как с тем, что на практике, как правило, более высокой точности и не требуется, так и с тем, что многие численные алгоритмы (например, решения уравнений) при обычных настройках работают именно с такой погрешностью. Точность же расчета численных значений алгебраических выражений или встроенных функций (а также их сочетаний) постоянна при любых величинах системных переменных и составляет 15 знаков после запятой. Поэтому при желании вы можете получить и более точное, нежели при стандартных настройках, значение вашей переменной или функции. Для этого поставьте курсор на текст ответа и выполните двойной левый щелчок мышью. При этом откроется закладка Number Format (Формат числа) панели Result Format (Формат результата). В окошке параметра Number of decimal places (Число десятичных позиций) данной закладки определите, с точностью до какого знака после запятой (от 0 до 15) должен быть отображен результат. Кстати, открыть панель Result Format можно и при помощи соответствующей команды меню Format. Причем между изменениями вида результата этими двумя способами имеется существенное различие: в первом случае изменения коснуться только одной формулы, во втором – всего документа. sin 1000   3.214126 10  13 В Mathcad существуют несколько типов представления численного результата. Выбрать можно в списке Format в закладке Number Format. General (Основной). По умолчанию, определяет количество отображаемых знаков после запятой, порядковый порог (Exponential threshold), визуализацию незначащих нуле (Show trailing zeros). Decimal (Десятичный). Результат только в десятичной дроби. Пример. Представление результата вдесятичном формате General Decimal Scientific (Научный). Число отображается только со степенью таким образом, чтобы целая часть мантиссы состояла из одного символа. Количество десятичных знаков и отображение незначащих нулей результата определяется пользователем. Кроме того, существует возможность представления числа в техническом формате (параметр Show exponents as E±000 (Показывать показатель степени как Е+000)). Engineering (Инженерный). Формат, очень близкий к научному. Единственным отличием является то, что порядок числа должен быть обязательно кратен трем. Численный результат может быть отображен не только в десятеричной, но и в двоичной, восьмеричной и шестнадцатеричной системах счисления. Чтобы сменить систему счисления, следует выполнить двойной левый щелчок мышью по результату вычисления. При этом появится панель Result Format (Формат результата), на которой следует перейти на закладку Display Options (Опции отображения). Здесь имеется специальный список Radix (Основание счисления), содержащий четыре пункта: Decimal (Десятичная), Binary (Двоичная), Octal (Восьмеричная), Hexadecimal (Шестнадцатеричная). Чтобы числа в разных системах счисления можно было отличить, в конец двоичного числа добавляется буква «b», восьмеричного — «о», шестнадцатеричного — «h». Символьные расчеты Прежде чем приступать непосредственно к разговору о технике проведения символьных расчетов в Mathcad, имеет смысл разобраться, что это такое и чем вычисления данного типа отличаются от численных. Принципы проведения расчета символьно Для того чтобы задействовать для решения задачи символьный процессор, следует использовать специальный оператор вывода в виде стрелки «→» (Evaluate symbolically). Ввести его можно либо при помощи соответствующих кнопок панелей Symbolic (Символьные) или Evaluation (Вычисление), либо сочетанием «горячих» клавиш Ctrl+.. В том случае, если аналитическому процессору не удастся получить результат, справа от оператора символьного вывода будет выдано само же выражение: Реже может использоваться сообщение об ошибке «No symbolic result was found» (Символьный результат не был найден) или некоторые другие. Очень часто подсчитать тот или иной пример можно как символьно, так и численно. Форма ответа при этом почти наверняка будет различной. Пример. Символьный и численный подсчет значений выражений и функций Эти рассуждения можно применить и к другим математическим операциям, таким как решение уравнений, интегрирование и дифференцирование. Пример 2.17. Форма результата при символьном и численном решении квадратного уравнения  3 1 5  2 2  2 x  3  x  1 solve  x     3 1 5  2 2   3 1 5  2 2   2.618       3  1  5   0.382   2 2  Огромным достоинством символьных методов является то, что результат расчета может быть получен в общем виде. А это означает, что можно решать уравнения с параметрами и подсчитывать интегралы с буквенными коэффициентами, получать производную в виде функции, а не графика — и т. д.   1  ( 2  a) 2 a  x  b  x  c solve  x     1  ( 2  a)  1      2   2   b   b  4  a  c    1      2  2     b  b  4  a  c    a b   ln( x) dx  ln( a  b)  a  ln( a  b)  b  2  b  ln( a  b)  a  ln( a  b)  b a b Способы проведения символьных преобразований В системе Mathcad существует два пути осуществления практически любого символьного преобразования: при помощи команд специального меню или при помощи операторов соответствующей панели.  Меню Symbolics (Символьные) расположено в главном меню программы. Открыв его, вы увидите довольно длинный список различных опций и команд, отвечающих за ту или иную операцию символьной математики. Для того чтобы осуществить необходимое символьное преобразование при помощи команд меню Symbolics, необходимо выполнить следующую последовательность действий. 1. Ввести выражение. Если это уравнение, то в качестве знака равенства следует использовать оператор логического равенства. В том случае, если уравнение задано в стандартном виде (то есть правая часть равна нулю), можно определить одну лишь левую часть: она будет приравнена к нулю по умолчанию. 2. В зависимости от того, какой тип символьных операций должен быть применен к введенному выражению, необходимо выделить либо переменную (если надо использовать, например, команду решения уравнений или разложения в ряд), либо все выражение целиком (для команд символьной алгебры). 3. Нажать необходимую команду. В результате проделанных действий, в зависимости от действующих настроек, над, под или на месте исходного выражения появится ответ. Пример. Символьные вычисления при помощи команд меню Интегрирование (Symbolics > Variable > Integrate): 2 x  sin ( x) 2 x  cos ( x)  2  cos ( x)  2  x  sin ( x)  Панель Symbolic (Символьные) семейства Math (Математические) своим содержанием практически полностью повторяет соответствующее меню (рис. 2.4) (исключение составляют операторы интегрирования и дифференцирования, которые вынесены на панель Calculus (Вычислительные)). Однако между аналитическими вычислениями, осуществляемые при помощи меню, и операциями, проводимыми с использованием панели, существует несколько принципиальных различий. Панели Symbolic (Символьные) Во-первых, символьные операции, производимые при помощи панели Symbolic, осуществляются не командами, а специальными операторами. Ввести такой оператор можно очень просто, нажав на ней нужный пункт. Например, если необходимо решить уравнение, то следует выбрать пункт Solve (Решить) При этом появится оператор, образованный ключевым словом, двумя маркерами и оператором символьного вывода. На место левого маркера вводится уравнение, правого — переменная, по которой оно должно быть решено. Вторым принципиальным отличием между использованием панели и меню является то, что символьные преобразования при помощи команд меню осуществляются Mathcad без учета определений и присваиваний, сделанных в документе выше. Приведем несколько примеров символьных преобразований при помощи опера-торовпанели Symbolic. Пример. Символьные преобразования операторами панели Symbolic Решение уравнения: 2 x x 2 1 solve  x  0 Упрощение выражения: 3 x y x y 3 2 simplify  x  y  x  y 2 Разложение в ряд Тейлора: sin ( x) series  x 10  x  1 6 3 x  1 120 5 x  1 5040 7 x  1 362880 9 x Оператор Float Оператор численного расчета Float (от «floating point» — «плавающая точка») позволяет получить приблизительное значение некоторого выражения с нужной точностью в формате числа с плавающей точкой. Он содержит два маркера: в левый заносится выражение или функция, в правый — число знаков после запятой, которые должен содержать ответ. Точность результата может быть задана числом от 1 до 250. А это означает, что в принципе вы можете получить ответ с точностью до 250 знаков. Согласитесь, такие цифры не могут не впечатлять! Обычно оператор Float используется, если выражение ответа, выданное аналитическим процессором, слишком громоздкое для того, чтобы его можно было успешно применять. Например, выражения корней алгебраических уравнений третьей и четвертой степеней могут занимать несколько листов. Единственный способ «выудить» полезную информацию из таких выражений — это пересчитать их в числа с плавающей точкой. Пример. Использование оператора Float   solve  x 4 2 x  x  x 4  float  10    Рассчитаем число π с точностью до 20 знаков:   .8719084263 1.243765116 i  .8719084263 .9866594883 i   .8719084269 .9866594883 i  .8719084269 1.243765116 i  float  20  3.1415926535897932385 Операторы В наиболее общем смысле оператор — это символ или последовательность символов, обозначающих то или иное математическое действие. В Mathcad все математические операции осуществляются либо при помощи операторов, либо при помощи встроенных функций. Причем к несомненным достоинствам системы следует отнести то, что все они полностью соответствуют принятым в математике правилам и традициям оформления. Любой оператор Mathcad можно ввести двумя способами:  при помощи специальной клавиши или сочетания «горячих» клавиш;  используя соответствующую кнопку нужной панели семейства Math (Математические). Исключение из этого правила существует только одно: ни на одной из панелей не нашлось места для крайне редко используемого оператора комплексного сопряжения. Операторы выражения Операторы данной группы располагаются на панели Evaluation (Выражение) (рис. 2.5). Кроме того, некоторые из них можно найти и на других панелях семейства Math. Панель Evaluation К группе операторов выражения мы будем относить:  оператор численного вывода (Evaluate Numerically) «=»;  оператор присваивания «:=», или «Shift+;»   оператор сивольного вывода «→», или «Ctrl+.» оператор глобального присваивание «≡», или «Shift+’» Три первых оператора данной группы уже были довольно подробно рассмотрены ранее, поэтому останавливаться на них мы не будем. Разберем лишь различия между операторами простого и глобального присваивания. Основное же различие между операторами присваивания состоит в том, что для того, чтобы найти, например, численное значение функции в некоторой точке, определение переменной при помощи оператора простого присваивания (Definition) должно быть сделано строго выше или левее ее самой. В том случае, если это сделать ниже функции, ее значение не посчитается и будет выдано сообщение об ошибке «Variable or function is not defined above» (Переменная или функция не определена выше). Если же в качестве оператора присваивания используется глобальное присваивание (Global Definition), то определение переменной можно сделать совершенно в любой точке документа. Управление вычислениями Режимы вычислений В Mathcad существует два режима вычислений: автоматический и ручной. В вышеприведенных примерах предполагалось, что включен определенный по умолчанию автоматический режим. В большинстве случаев использование его более оправдано, так как при этом результаты вычислений появляются в режиме реального времени, что позволяет производить корректировки и находить ошибки непосредственно при создании алгоритма решения задачи. Однако иногда автоматический режим может быть весьма неудобен. Проблемы могут возникать в связи с тем, что любое изменение в предшествующих условиях приводит к пересчету последующих выражений документа. Это обстоятельство, конечно, не играет никакой роли, если решаемая вами задача не слишком сложна в вычислительном плане — в этом случае пересчет займет неуловимые доли секунды. Однако если вы используете численные алгоритмы, требующие значительного числа операций (например, кратного интегрирования или решения жесткой системы дифференциальных уравнений), то время расчета может быть заметным даже на мощном современном компьютере. Естественно, что в этом случае ждать после замены одной буквы или числа при редактировании, пока просчитается весь документ, совершенно неэффективно. Поэтому стоит перейти в ручной режим (manual mode) выполнения расчетов. Для того чтобы это сделать, в подменю Calculate (Вычислить) меню Tools (Инструменты) уберите флажок из строки параметра Automatic Calculation (Автоматические вычисления). При работе в ручном режиме при задании выражений вместо ответов после операторов вывода будут отображаться черные маркеры. Чтобы произвести расчет, системе нужно дать соответствующую команду. Однако сделать это можно по-разному.  Для того чтобы пересчитать все формулы документа, используйте команду Calculate Worksheet (Подсчитать документ) подменю Calculate меню Tools.  Зачастую на одном документе располагается несколько не связанных напря мую вычислительных алгоритмов. При этом, естественно, совершенно нецеле сообразно пересчитывать их все, если внесенные изменения коснулись лишь одного. Вподобнойситуациивместо ко мандыCalculateWorksheetлучшеиспользовать команду Calculate (Подсчитать). Данная команда пересчитывает форму лы только видимой части документа. Регулировать ее работу можно, изменяя формат листа. Кстати, задействовать команду Calculate можно и не обращаясь к соответствующему меню. Для этого следует либо нажать клавишу F9 клавиа туры, либо использовать специальную кнопку панели Standard (Стандартные). Режим вычислений определяется независимо для каждого документа, поэтом при необходимости можно просто разнести мало совместимые в технике подсче! алгоритмы на разные листы. Прерывание вычислений Как правило, проследить процесс выполнения вычислений в Mathcad невозмоа но по причине их предельной быстроты. Однако в некоторых случаях время расчета может быть довольно ощутимым. В этом случае подсчитываемая формула будет взята в зеленую рамку, а курсор приобретет вид мигающей желтой лампочки. Иногда, особенно если ваш компьютер не слишком мощный или параллельно запущено несколько приложений, можно увидеть, как зеленая рамка расчета перескакивает с формулы на формулу. Очень часто бывает необходимо прервать процесс вычислений. Это может быть связано с тем, что вы обнаружите ошибку в условии или поймете, что выбраны алгоритм в данных условиях не самый эффективный. Длительные вычисления созданной вами программы могут означать то, что вы что-то не предусмотрели при ее написании и ее цикл работает как бесконечный. Кроме того, в момент проведения расчетов в Mathcad невозможно осуществлять никаких других операций, что иногда создает неудобства. Для того чтобы прервать вычисления, нужно нажать клавишу Esc. При этом вычисляемые выражения будут окрашены в красный цвет и появится специальная панель Interrupt Processing (Прерывание обработки). Ели вы решили остановит процесс подсчета, нажмите ОК. Возобновить прерванный процесс вычислений можно, использовав одну из двух описанных выше команд подменю Calculate меню Tools. Отключение вычислений отдельных выражений Часто приходится проводить отладку части вычислительного алгоритма, проверяя его правильность многочисленными пересчетами. При этом может возникать очень существенная проблема, связанная с длительным временем расчета некоторых формул. Конечно, можно отключить автоматический режим и использовать команду Calculate (Вычислить). Однако иногда бывает невозможным разделить различные формулы алгоритма по разным листам, что делает описанный ход совершенно неэффективным. В подобных случаях можно использовать возможность Mathcad отключать вычисление отдельных формул. Для того чтобы перевести определенное выражение в режим невычисляемого, следует, открыв его контекстное меню, выбрать пункт Disabl Evaluation (Невычисляемое).При этом формула, переведенная в подобный режим будет помечена черным прямоугольником, расположенным в ее правом верхнем углу. Пример: sin(π) →0 Чтобы снова сделать формулу вычисляемой, в той же строке контекстного меню следует выбрать команду Enable Evaluation (Вычисляемая). Помимо решения проблем, связанных с длительным вычислением формул, режим Disable Evaluation можно использовать в том случае, если на листе содержатся два взаимоисключающих выражения. Математические константы Всего в Mathcad имеется пять встроенных математических констант. 1. π – число «Пи». Для его задания лучше использовать сочетание Ctrl+Shift+p. 2. е – основание натурального логарифма. Вводится клавишей соответствующей буквы латинского алфавита. 3. i (илиj) — мнимая единица. Вводится последовательным нажатием клавиш (1+i) (или 1+j). 4. ∞ — символ бесконечности. В численных расчетах принимается равным числу 10307 (машинной бесконечности). «Горячие» клавиши Ctrl+shift+Z» 5. % — символ процента. В вычислениях принимается равным 0,01. Вводится с клавиатуры. Пример. Значения математических констант 307   1  10 Восприятие математических констант системой очень сильно зависит от используемого типа вычислений. При численных расчетах они воспринимаются как числа. При символьных же вычислениях происходит анализ непосредственно математического значения введенного выражения, содержащего константы. Особо надо отметить способность Mathcad использовать математические константы в результатах аналитических вычислений, что значительно повышает их корректность по сравнению с ответами численных алгоритмов. Пример. Использование математических констант в условиях и в ответах %  100  1    x2   e d x  20.508 0   x  e dx     lim n n n n 0   1    x2  1  2  e d x   exp    0 2 Системные переменные Закладка Built-in Variables (Системные переменные). Всего в Mathcad имеется шесть системных переменных. 1. Array Origin (ORIGIN) (Начальный индекс массива). При помощи этой переменной можно определить, с какого целого числа системе начинать нумерацию строк и столбцов в массивах. По умолчанию переменная ORIGIN равна 0. В нашей же математике не принято выделять нулевых столбцов и строк, поэтому очень многие пользователи предпочитают сменить ее значение на 1. В общем случае данная переменная может быть любым целым числом. 2. Convergence Tolerance (TOL) (Точность сходимости). Самая важная для практики системная переменная Mathcad. В общем случае служит для задания точности численных методов решения уравнений, систем уравнений, поиска экстремума и интегрирования. Минимальное значение TOL соответствует точности численных вычислений в Mathcad и равняется 10-15. По Умолчанию равняется 0,001. 3. Constraint Tolerance (CTOL) (Граничная точность). Критерий точности для дополнительных условий при численном решении систем уравнений при помощи блока Given-Find (подробнее о CTOL читайте в главе 8). 4. Seed Value for random numbers (Начальная величина для случайных чисел). Параметр, определяющий работу некоторых генераторов случайных чисел. Подробно об этой встроенной константе мы поговорим в главе 15. 5. PRNPRECISION — параметр формата данных при выводе в файл. 6. PRNCOLWIDTH — установка формата столбца при выводе в файл.
«Информационные технологии в математике» 👇
Готовые курсовые работы и рефераты
Купить от 250 ₽
Решение задач от ИИ за 2 минуты
Решить задачу
Помощь с рефератом от нейросети
Написать ИИ

Тебе могут подойти лекции

Смотреть все 493 лекции
Все самое важное и интересное в Telegram

Все сервисы Справочника в твоем телефоне! Просто напиши Боту, что ты ищешь и он быстро найдет нужную статью, лекцию или пособие для тебя!

Перейти в Telegram Bot