|
||||
Меню:
Главная
Форум
Литература: Программирование и ремонт Импульсные блоки питания Неисправности и замена Радиоэлектронная аппаратура Микросхема в ТА Рубрикатор ТА Кабельные линии Обмотки и изоляция Радиоаппаратура Гибкие диски часть 2 часть 3 часть 4 часть 5 Ремонт компьютера часть 2 Аналитика: Монтаж Справочник Электроника Мощные высокочастотные транзисторы 200 микросхем Полупроводники ч.1 Часть 2 Алгоритмические проблемы 500 микросхем 500 микросхем Сортировка и поиск Монады Передача сигнала Электроника Прием сигнала Телевидиние Проектирование Эвм Оптимизация Автомобильная электроника Поляковтрансиверы Форт Тензодатчик Силовые полевые транзисторы Распределение частот Резисторные и термопарные Оберон Открытые системы шифрования Удк |
[4] для того, чтобы сделать такое представление не совсем уж плохим, используется множитель. Например, число 123456789123456789 будет иметь такой вещественный вид: 123456789123456789 и 1.2345678912345678 • 1017 Его можно будет записать в питоне так: g=123456789123456789. g=l.23456789123456789е17 Понятно, что если число имеет немного значащих цифр, но большой порядок, его запись в экспоненциальной форме наиболее легка. Сравните эти два присваивания: h=100000000000000000000000000000000000000000000000000. Они абсолютно эквивалентны, в чем легко убедиться, посчитав нули. Побитовых действий над вещественными числами не производится также ввиду сложности их машинного представления. Арифметические действия выполняются без округления, хотя погрешность может возникнуть, если, например, результат содержит много разреженых чисел. Например: 1=1е-20 После этого т, как это ни печально, будет равно к, а вся добавочная часть в лице 1, способная на отдельное существование, канет в небытие. В добавление к обычным операциям, для работы над вещественными числами написан специальный модуль под названием math. Подключив его, можно будет считать всевозможные синусы, косинусы и тангенсы с арктангенсами. Еще он позволяет правильно округлять числа и брать логарифмы. Помимо этого, модуль содержит две константы: е и тт. Модуль подключается ключевым словом import, и далее при использовании любого оператора и любой константы оттуда нужно к имени добавлять имя модуля. Список всего содержимого модуля можно получить удобной функцией dir: »> import math »> dir(math) [ doc , name , acos, asin, atari, atan2, ceil, cos, cosh, e, exp, fabs, floor, fmod, frexp, hypot, ldexp, log, loglO, modf, pi, рои, sin, sinh, sqrt, tan, tanh] »> math.cos(math.pi) »> 3.6Комплексные числа Питон имеет встроенную поддержку комплексных чисел. Их можно задавать двумя способами: прямым или же функцией complex. Делается это так: p=complex(2,l) Эти две строчки эквивалентны. Обратите внимание на то, что в питоне мнимая единица обозначается маленькой латинской j и никак иначе. Причем эта буква вопринимается таким образом только если написана напосредст-венно после числа, поэтому даже в нашем случае нужно писать lj, а не j- Обе части комплексного числа (как реальная, так и мнимая) считаются вещественными, даже если заданы в виде целого числа. Комплексное число без мнимой части не перестает быть комплексным числом. Все приемы работы с комплексным числом можно узнать той же функцией dir, дав ей комплексное число в качестве аргумента. Они включают: real для получения реальной части числа, imag соответственно для мнимой и conjugate() для получения комплексного числа, сопряженного данному. Модуль комплексного числа (как и модуль любого другого) можно получить функцией abs(). 3.7Связь между числами, связь между операциями Если в одном и том же выражении встречаются несколько типов чисел, то результат имеет самый сильный тип из всех встречающихся в выражении. Самым сильным числовым типом считается комплексный, за ним идет вещественный, затем длинный целый и только потом целый. Таким образом, присутствие дробной части считается более важным, чем точность большого числа. Стоит быть осторожным, если для вас это не так, и округлять все вещественные числа перед добавлением к длинным целым. Если в одном и том же выражении встречаются несколько операций, то они, конечно, выполняются все, причем в определенной последовательности. Она жестко определяется приоритетами операций и порядком их следования в выражении. Приоритеры таковы: самый высокий у возведения в степень, затем идет логическое отрицание, затем вместе умножение и деление, и только потом сложение и вычитание, после них конъюнкция, потом исключающая дизъюнкция, и лишь после неё обычная дизъюнкция. В случае равных приоритетов вычисление идет слева направо. Для изменения этого порядка выполнения используются скобки. Их следует использовать во всех сомнительных ситуациях, не перекладывая основной смысл выражения на приоритеты. 3.8 Строки Вообще говоря, мы уже закончили рассмотрение всех тех типов, которыми ограничивался набор типов данных в автокодах и даже первых языках программирования. Но вскоре стало очевидным, что не менее важна в прикладных программах возможность обработки нечисловой информации. Сегодня, конечно, количество текстовых редакторов и процессоров, систем управления базами данных, программ-переводчиков и прочих пакетов символьной обработки существенно превосходит количество сугубо математических пакетов. С точки зрения разработчика программного обеспечения обработка текста чрезвычайно сложна из-за разнообразия естественных языков и способов их записи. С точки зрения языков программирования обработка текста куда проще, так как подразумевается, что в языке набор символов представляет собой короткую и упорядоченную последовательность значений. Фактически, за исключением языков с большим числом букв (восточных: китайского, японского) и языков с большим числом начертаний одной и той же буквы (семитских: арабского, мальтийского) хватает 256 значений одного байта. Последнее время всё чаще используется Уникод (Unicode) - двухбайтовая кодировка, содержащая сразу все мыслимые символы. Строки в питоне не сильно напоминают строки в других языках программирования засчет отсутствиея типа символ. Обычный способ задания строкового типа состоит во введении символа и представления строк как последовательностей (массивов) символов. В питоне же символ - это строка длины 1. Таким образом, нет смысла во введении двух разных символов: обычного и уникодового, символ мы можем рассматривать как элемент соответствующей строки и не более того. Итак, раз уж мы не можем сказать, что строка есть последовательность символова, придется признать такое определение: строка есть нечто, заключенное в кавычки. Обычно используют двойные кавычки, если строка содержит одинарные внутри себя и одинарные в противном случае. Вот примеры присваивания строк: а="строка" Ь=ешеиоднаистрока с=Онисказал:и"Да" d="0Xapa" Конечно, рано или поздно должна будет встретиться строка, содержащая оба типа кавычек. Что же делать в этом случае? Есть еще обратные кавычки, но они уже нагружены другим смыслом, о котором чуть ниже. Поэтому используется так называемая маскировка - перед запретным символом ставится обратный слэш: e="Isnt\tuit?"u-uSheuasked. f="\"Ituis\"u-uheureplied." Видно, что маскировка - это не только средство разрешения конфликтов между кавычками, но и просто удобный в некоторых ситуациях механизм. Вообще, программист не сильно связан в этом вопросе и может по своему |
Среды: Smalltalk80 MicroCap Local bus Bios Pci 12С ML Микроконтроллеры: Atmel Intel Holtek AVR MSP430 Microchip Книги: Емкостный датчик 500 схем для радиолюбителей часть 2 (4) Структура компьютерных программ Автоматическая коммутация Кондиционирование и вентиляция Ошибки при монтаже Схемы звуковоспроизведения Дроссели для питания Блоки питания Детекторы перемещения Теория электропривода Адаптивное управление Измерение параметров Печатная плата pcad pcb Физика цвета Управлении софтверными проектами Математический аппарат Битовые строки Микроконтроллер nios Команды управления выполнением программы Перехода от ahdl к vhdl Холодный спай Усилители hi-fi Электронные часы Сердечники из распылённого железа Анализ алгоритмов 8-разрядные КМОП Классификация МПК История Устройства автоматики Системы и сети Частотность Справочник микросхем Вторичного электропитания Типы видеомониторов Радиобиблиотека Электронные системы Бесконтекстный язык Управление техническими системами Монтаж печатных плат Работа с коммуникациями Создание библиотечного компонента Нейрокомпьютерная техника Parser Пи-регулятор ч.1 ПИ-регулятор ч.2 Обработка списков Интегральные схемы Шина ISAВ Шина PCI Прикладная криптография Нетематическое: Взрывной автогидролиз Нечеткая логика Бытовые установки (укр) Автоматизация проектирования Сбор и защита Дискретная математика Kb радиостанция Энергетика Ретро: Прием в автомобиле Управление шаговым двигателем Магнитная запись Ремонт микроволновки Дискретные системы часть 2 | ||