Главная » Статьи » Программирование в 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 | |
Просмотров: 7658 | Рейтинг: 0.0/0 |
Всего комментариев: 0 | |