Постфиксная (она же - обратная польская запись, польская - потому что введена польским математиком Яном Лукашевичем) - это запись, в которой сначала следуют операнды, а затем знаки операций. Удобна для организации вычислений, потому что не требует для записи скобок и может вычисляться по мере считывания. Для преобразования обычной записи в польскую удобно использовать логическую структуру, называемую стеком (stack). Поскольку нам не надо составлять алгоритм, а только перевести привычную запись в постфиксную, при переводе будем просто рассуждать. 1. (a+b)*(c+2*d) Первая операция - a+b. Её постфиксная запись (далее - ПЗ) выглядит как ab+ и понимается так: "взять а, взять b, сложить" Следующая операция 2*d, в ПЗ это 2d*. Т.е по сути мы меняем местами знак операции и второй операнд. Третья операция - вычисление c+2*d. В ПЗ мы запишем (с учетом предыдущего) 2d*c+. У нас уже была операция 2d*, теперь мы прибавляем к результату c. Содержимое обоих скобок вычислено, осталось выполнить умножение. Получаем в ПЗ: ab+2d*c+* Как это будет вычисляться? Считываем a. Считываем b. Считываем знак операции +. Выполняем операцию, получая a+b. Обозначим результат R и тогда текущее состояние вычисляемого выражения будет R2d*c+* Считываем 2. Считываем d. Считываем знак операции * (заметим, что читать надо, пока не встретим знак операции). Перемножаем два операнда, предшествующие операции. Получаем S=2*d. Текущее состояние вычисляемого выражения будет RSc+* Считываем операнд с. Считываем знак операции +. Складываем два операнда, предшествующие операции. Получаем S=S+c. Почему не вводим новой переменной? Потому что один из операндов - временная переменная, следовательно её прежнее значение не нужно. Текущее состояние вычисляемого выражения будет RS* Считываем знак операции *. Перемножаем два операнда, предшествующие операции. Получаем R=R*S. Все выражение просмотрено, следовательно вычисление завершено. Второй пример не будем столь подробно разбирать. 2. (2*a-3*d)*c+2*b Тут операции в ПЗ будут 2a*, 3d*, 2a*3d*- (первая скобка), далее 2a*3d*-с*, 2b* и окончательно 2a*3d*-c*2b*+ Читаем: 2 и a умножить, 3 и d умножить, из первого произведения вычесть второе, результат и с умножить, 2 и b умножить и два последних результат сложить. Все верно. 3. (a+b+2*c)*d ab+, 2c*, вся скобка ab+2c*+, окончательно ab+2c*+d* 4. 3*a-(2*b+c)*d В ПЗ: 3a*2b*c+d*- Проверим: 3 и a умножить, запомнить, 2 и b умножить, с прибавить, на d умножить, из запомненного вычесть. Все верно.
Информацию о том, что следующий за этими буквами символический адрес должен разрешаться (разыменовываться) посредством DNS-сервера в IP-адрес. Иногда ошибочно утверждают, что www - признак принадлежности адреса к сети Интернет. На самом деле не к сети, а к некоей подсети, потому что далеко не любой адрес "виден" во всех сегментах сети. К примеру, можно установить собственный DNS-сервер, отгородиться от остального мира сетевым экраном и ввести собственные символические www-адреса, которые никому больше не будут видны.
от порядка к хаусу... круги на воде от капли