Меню сайта
Форма входа

Категории раздела
Уроки по созданию игр [38]
Программирование игр разной сложности
Игровые алгоритмы [24]
Алгоритмы, которые уже реализованы для разных жанров игр
Графика [5]
Учимся работать с графикой в Делфи
Мультимедиа [3]
Работа с мультимедийными возможностями Делфи
Другие статьи [18]
Статьи не вошедшие не в один из разделов
Ошибки [4]
Всевозможные ошибки и пути их решения
Четверг, 16.05.2024, 18:42
Приветствую Вас Гость

Статьи по программированию

Главная » Статьи » Другие статьи

Delphi формулы

Delphi формулы

 

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

 

Цель данной статьи научить новичков производить расчеты в Delphi, переводить математические формулы в Delphi формулы, переводить формулы в код, написанный на паскале и все тому подобное.

 

Для того, чтобы пользоваться простыми формулами типа а+b=c не нужно делать ничего сложного. Для начала в разделе var обьявляем все три необходимые переменные:

 

Var

A,b,c:integer;

 

Тип integer означает, что используемые значения в переменных будут представлять из себя целые числа в диапазоне от -25 тысяч с лишним до +25 тысяч. Если же мы будем использовать дробные числа, то нужно обьвлять переменные типа real.

 

В нужном месте мы записываем следующий код:

 

C:=a+b;

 

Эта строка читается так: переменной C присваиваем значение a+b. Точка с запятой в конце означает конец строки в делфи.

 

Для вычитания используется знак «-» без кавычек, для умножения «*», для деления «/». Но для формул с участием, например синуса или тангенса все обстоит немножко сложнее. Но обо всем по порядку.

 

Перед началом работы с математическими формулами рассмотренного выше типа первым делом нужно подключить модуль Math. Делается это в разделе uses:

 

Uses

Windows, Dialogs, StdCtrls, Math.

 

А далее мы получаем возможность использовать целый набор фунций:

 

1. Математические функции:

Ceil – округляет значение аргумента в большую сторону.

Exp – вычисляет экспоненту (ex).

Floor – округляет значение аргумента в меньшую сторону.

Frac – возвращает дробную часть аргумента.

Frexp – возвращает мантиссу и экспоненту аргумента.

Int – возвращает целую часть аргумента.

Intpower – возводит аргумент Х в целочисленную степень У.

Ldexp – вычисляет Х*2У.

Ln – вычисляет натуральный логарифм ln(x).

LnXP1 – вычисляет натуральный логарифм ln(x+1).

Log10 – вычисляет десятичный логарифм.

Log2 – вычисляет логариым аргумента по основанию 2.

LogN – вычисляет логарифм аргумента по основанию N.

Max – Возвращает большее из двух чисел.

Min – возвращает меньшее из двух чисел.

Pi – возвращает значение числа Пи.

Poly – вычисляет однородный полином.

Power – Возводит Х в степень У.

Round – округляет число к ближайшему целому.

Sqr – вычисляет квадрат аргумента Х.

Trunc – отсекает дробную часть числа.

 

2. Тригонометрические функции и процедуры.

ArcCos – вычисляет арккосинус аргумента.

ArcCosh – вычисляет гиперболический арккосинус аргумента.

ArcSin – вычисляет арксинус аргумента.

ArcSinh – вычисляет гиперболический арксинус аргумента.

ArcTan – вычисляет арктангенс аргумента.

ArcTan2 – вычисляет arctg(Y/X).

ArcTanh – вычисляет гиперболический арктангенс аргумента.

Cos – вычисляет косинус аргумента.

Sosh – вычисляет гиперболический косинус аргумента.

Cotan – вычисляет котангенс аргумента.

Hypot – вычисляет длину гипотенузы прямоугольного треугольника.

Sin – вычисляет синус аргумента.

SinCos – вычисляет одновременно и синус и косинус аргумента.

Sinh – вычисляет гиперболический синус аргумента.

Tan – вычисляет тенгенс аргумента.

Tanh  - вычисляет гиперболический тангенс аргумента.

 

3. Генерирование случайных чисел.

RandG – генерирует случайное число с отклонением по Гауссу.

Random – генерирует случайное число в зщаданном диапазоне.

Randomize – Инициализирует (подготавливает) генератор случайных чисел.

 

4. Преобразование тригонометрических единиц измерений.

CycleToRad – преобразование значения аргумента из циклов в радианы.

DegToRad – преобразование значения аргумента из градусов в радианы

GradToRad – преобразование значения аргумента из десятичных градусов в радианы.

RadToCycle – преобразование значения аргумента из радианов в циклы.

RadToDeg – преобразование значения аргумента из радианов в градусы.

RadToGrad – преобразование значения аргумента из радианов в десятичные градусы.

 

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

 

Но одного лишь знания функций мало. Поэтому было бы неплохо разобрать примеры с их использованием. Чем мы, собственно, и займемся. К примеру нужно рассчитать синус некоторой переменной a и полученный результат присвоить в переменную b:

 

B:=sin(a);

 

Также можно обойтись вообще без переменной а и подставить просто необходимое значение:

 

B:=sin(10);

 

Подобные примеры можно повторить и с другими функциями. Теперь рассмотрим пример с возведением числа в степень. Допустим, что необходимо возвести переменную х в 3-ю степень, а результат записать в переменную b:

 

B:=power(x,3);

 

Ну и на последок рассмотрим  как можно генерировать случайные числа. Очень часто при создании игр необходимо чтобы какие-то события происходили случайным образом (получение эффекта непредсказуемости), тогда нужно получать случайное число, которое будет номером события. Допустим нам необходимо чтобы два числа автоматически сами генерировались (выбирались), затем они складывались между собой и итоговое значение присваивалось в переменную b:

 

Randomize;

X:=random(10); //генрируются значения от нуля до девяти

Y:=random(10)+1; //генерируются значения от единицы до 10

B:=x+y;

 

 

Надеюсь имеющихся примеров будет достаточно для понимания сути перевода математических формул в Delphi формулы. И теперь стало ясно, что делать это не так уж и сложно. Поэтому не бойтесь пользоваться готовыми функциями для создания необходимых Delphi формул. Удачи всем в создании собственных приложений.

 

 

Источник: delgame.at.ua

Категория: Другие статьи | Добавил: Armageddets (23.08.2013) | Автор: Delphi формулы
Просмотров: 6675 | Теги: формулы в делфи, расчеты в delphi, delphi формулы | Рейтинг: 1.0/1
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Наш опрос
Уроки по созданию каких игр Вам интересны?
Всего ответов: 167
Мини-чат
Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz
  • Статистика

    Онлайн всего: 1
    Гостей: 1
    Пользователей: 0