Sendo Опубликовано 13 ноября, 2005 Жалоба Поделиться Опубликовано 13 ноября, 2005 Может кому-то вопросы покажутся глупыми, но я просто нигде в литературе не могу найти ответы. 1. Как возвести число в степень? в Бэйсике это реализовывалось с помощью значка ^. В Паскале не имею понятия как, и что самое интересное, преподаватель тоже не знает... 2. С помощью какой фунции можно узнать код ASCII соответстующего символа. Обратная операция добивается с помощью ф-ии Chr(). Я искал ф-ию во всевозможных модулях. Увы. Ссылка на комментарий Поделиться на другие сайты Поделиться
Сергей Плоткин Опубликовано 13 ноября, 2005 Жалоба Поделиться Опубликовано 13 ноября, 2005 1) Насколько я помню, в паскале нет ничего встроенного для возведения в степень. Придется писать собственную функцию. 2) Ord() Ссылка на комментарий Поделиться на другие сайты Поделиться
gvozd Опубликовано 13 ноября, 2005 Жалоба Поделиться Опубликовано 13 ноября, 2005 Sendo 1. Можно в цикле множить. 2. Как уже сказал Сергей Плоткин Ord(). Ссылка на комментарий Поделиться на другие сайты Поделиться
Sendo Опубликовано 13 ноября, 2005 Автор Жалоба Поделиться Опубликовано 13 ноября, 2005 спасибки Ссылка на комментарий Поделиться на другие сайты Поделиться
Тролль Опубликовано 13 ноября, 2005 Жалоба Поделиться Опубликовано 13 ноября, 2005 Sendo: Обычно как эквивалент A^X используют выражение exp(X*ln(A)). Получается вещественное число, при необходимости получить целое его можно округлить. Ну и, конечно, A должно быть положительным. Ссылка на комментарий Поделиться на другие сайты Поделиться
Sendo Опубликовано 14 ноября, 2005 Автор Жалоба Поделиться Опубликовано 14 ноября, 2005 Тролль: как-то не подумал об этом очень оригинально и практично. спасибо. Ссылка на комментарий Поделиться на другие сайты Поделиться
Asenka Опубликовано 14 ноября, 2005 Жалоба Поделиться Опубликовано 14 ноября, 2005 Тролль: а по-моему несколько через одно место )) Ссылка на комментарий Поделиться на другие сайты Поделиться
Сергей Плоткин Опубликовано 14 ноября, 2005 Жалоба Поделиться Опубликовано 14 ноября, 2005 Asenka: Порекоммендуй свой короткий вариант для Паскаля (цикл не предлагать ). Ссылка на комментарий Поделиться на другие сайты Поделиться
Shurr Опубликовано 15 ноября, 2005 Жалоба Поделиться Опубликовано 15 ноября, 2005 (изменено) Тролль: а по-моему несколько через одно место :)))217582[/snapback] Такой способ - это официальная рекомендация большинства справочников по Паскалю. Но это, конечно же, всего лишь рекомендация. При желании можно использовать собственные функции возведения в степень. Я уверен, что скорость их работы будет значительно превосходить скорость работы стандартной функции - ведь они будут написаны на ассемблере и тщательно оптимизированы. ;) :D :D Изменено 15 ноября, 2005 пользователем Shurr Ссылка на комментарий Поделиться на другие сайты Поделиться
Asenka Опубликовано 15 ноября, 2005 Жалоба Поделиться Опубликовано 15 ноября, 2005 Shurr: конечно, ведь чтобы возвести что-то например в куб тебе просто необходимо использовать логарфмирование и возведение е в вещественную степень :) А то! Ведь там все оптимизировано :) Ссылка на комментарий Поделиться на другие сайты Поделиться
Тролль Опубликовано 15 ноября, 2005 Жалоба Поделиться Опубликовано 15 ноября, 2005 Asenka: Хм, ты и умножение на 3 всегда заменяешь двумя сложениями? Компьютер далеко ушел от счетов. И часто он из пушки бьет по воробьям - просто потому, что он и есть пушка. Когда-то танки делали со множеством разных орудий и пулеметов, даже многобашенными. Потом решили, что лучше иметь одну хорошую пушку и не разбираться на ходу, хватило бы дробовика или нет. И теперь, когда надо умножить два на два, никто не возмущается, что процессор использует для этого 32-битную арифметику и даже умножение, хотя его можно было бы заменить сложением. Разбираться, что степень равна 3 и возведение в нее можно заменить двумя умножениями, для компьютера куда сложнее, чем просто возвести в неведомо какую степень, "не думая" вычислив логарифм и экспоненту. Что ты так ополчился на них? Для процессора логарифмирование и вычисление экспоненты - такие же элементарные функции, как умножение и деление, и выполняются они каждая одной машинной командой (команды встроенного в процессор математического сопроцессора). Поэтому даже на ассемблере ничего оптимизировать не надо - нечего оптимизировать. Оптимизация вычисления логарифма и экспоненты уже проведена даже не на уровне ассемблера, а на уровне аппаратной части и зашитых в процессор микропрограмм. Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать учетную запись
Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти