Главная » Статьи » Программирование в Delphi

Собираем консольный калькулятор на Delphi
Разом мы построим программу, какая будет высчитывать значения синуса, косинуса, тангенса и котангенса и, естественно, выгонять результаты. да не данное главное. Наше приложение хватит весить 42 КБ! 

Итак, пользователь введет какую-нибудь строку внешности F(x), где-либо F - sin, cos, tg или ctg; x - назначаемый угол в градусах, и после настоящего только остается узнать, которою именно функцией он данное нагрузил нас! К счастью, Delphi предоставляет старшие возможности для работы с текстом - смотрите басовитее и удостоверьтесь .


program CoolCalc; //изберите File>New>Other>Console Application,

//чтобы создать консольное приложение

{$APPTYPE CONSOLE}

uses

SysUtils,

Math; //!!

const

Symbols: Array[0..5] of PChar = ('sin', 'cos', 'ctg', 'tg', '(', ')');

var

Func,

//строка, впрыснутая юзером

Num: ShortString;

//внешность тригонометрической функции

function GetValue(SubStr: PChar; s: ShortString): String;

var

i: smallint;

begin

repeat

//имеюсь ли в строке искомые функции?

i:=pos(SubStr,s);

//Если есть - удаляем...

delete(s,i,StrLen(SubStr));

//...и запоминаем

if (i>0) and (SubStr<Symbols[4]) then Num:=SubStr;

until i<=0;

Result:=s;

end;

procedure GetResult;

var

n: smallint;

begin

//шарим в строке функции

for n:=0 to 5 do Func:=GetValue(Symbols[n],Func);

//разрешаем

if Num = 'cos' then Writeln('Result: ' + FloatToStr(cos(DegToRad(StrToFloat(Func)))) + #10);

if Num = 'sin' then Writeln('Result: ' + FloatToStr(sin(DegToRad(StrToFloat(Func)))) + #10);

if Num = 'tg' then Writeln('Result: ' + FloatToStr(tan(DegToRad(StrToFloat(Func)))) + #10);

if Num = 'ctg' then Writeln('Result: ' + FloatToStr(cotan(DegToRad(StrToFloat(Func)))) + #10);

end;

begin

while true do begin //Запускам вечный цикл

Writeln('Enter function' + #10);

Readln(Func);

GetResult;

end;

end.

По совести болтая , нужно снова , чтобы прога решала уравнения 42-й уровня , находила производную и вела лог, да я надеюсь, как вам не составит работы реализовать данное , тем самым способствуя тригонометрии и софтостроению .


Источник: http://www.yandex.ru
Категория: Программирование в Delphi | Добавил: Nikol05 (10.11.2010)
Просмотров: 7658 | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]