Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.11.2017, 15:08   #1
Michаel
 
Регистрация: 19.11.2017
Сообщений: 4
По умолчанию Хороший Калькулятор на языке программирования Pascal - отдаю код

Многие часто задаются вопросом как написать нормально работающий, аккуратный калькулятор или ищут уже готовую версию.
Если кому-то пригодится - то вот код:
Код:
  program ProCalculatorByMichael;
uses crt;
var 
b:Char;
c,v:Real;
S,i,d,a,k:Integer;
function vcis :Integer;
begin
S:=1;
for i:=1 to d do S:=S*a;
vcis:=S;
end;
function vcois :Integer;
begin

end;
begin
clrscr();
writeln('This program made by Michael');
writeln('gmail: mishail20040909@gmail.com');
writeln();
writeln();
 write('Write first value: ');
read(a);
 write('Write sign(+ - * / ^): ');
read(b);
if b='^' 
then begin
 write('Write second value: ');
 read(d);
 end
 else begin
 write('Write second value: ');
read(c);
end;
if (c=0)and(d=0) then begin
writeLN('You can not divide by zero');
Exit();
end
else
case b of
'+': v:=a+c;
'-': v:=a-c;
'*': v:=a*c;
'/': v:=a/c;
'^': v:=vcis;
end;
write('Answer: ');
write(v);
readln();
end.
Ошибки:
Программа пытается делить на ноль
Не работает возведение в отрицательную степень.
Версии:
1.3 - исправлена проблема деления на 0, упорядочен код.
1.5 - окончательная исправлена ошибка при делении. Подготовка к возведению в отр. степень.

Последний раз редактировалось Michаel; 19.11.2017 в 20:42. Причина: Версия 1.5
Michаel вне форума Ответить с цитированием
Старый 19.11.2017, 16:49   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

А что в нем от pro? На 0 пытается разделить, не знает, что степень отрицательная бывает ))
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 19.11.2017, 19:39   #3
Michаel
 
Регистрация: 19.11.2017
Сообщений: 4
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
А что в нем от pro? На 0 пытается разделить, не знает, что степень отрицательная бывает ))
То что это лучший и самый нормально работающий калькулятор, который я нашёл, а любые ошибки можно исправить, для этого я и выложил его на форум.
Michаel вне форума Ответить с цитированием
Старый 19.11.2017, 20:03   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

Цитата:
исправлена проблема деления на 0
ага, заодно запретил и остальные действия с нулем ))
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 19.11.2017, 20:38   #5
Michаel
 
Регистрация: 19.11.2017
Сообщений: 4
По умолчанию

Спасибо, исправил. Новый код выложил, теперь всё нормально кроме возведения в степень на отрицательные числа.
Michаel вне форума Ответить с цитированием
Старый 20.11.2017, 08:42   #6
Vyacheslav.
Форумчанин
 
Регистрация: 22.10.2017
Сообщений: 113
По умолчанию

Здесь общий раздел паскаля, поэтому желательно, чтобы код работал корректно на любом диалекте паскаля. В Pascal ABC.Net Будет выбивать ошибку.
Vyacheslav. вне форума Ответить с цитированием
Старый 20.11.2017, 08:57   #7
Michаel
 
Регистрация: 19.11.2017
Сообщений: 4
По умолчанию

Цитата:
Сообщение от Vyacheslav. Посмотреть сообщение
Здесь общий раздел паскаля, поэтому желательно, чтобы код работал корректно на любом диалекте паскаля. В Pascal ABC.Net Будет выбивать ошибку.
Исправлю.
Michаel вне форума Ответить с цитированием
Старый 20.11.2017, 09:27   #8
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

Цитата:
упорядочен код
Нет. Код не читабелен
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 23.11.2017, 13:51   #9
MyName-Name-MyName
 
Регистрация: 15.11.2017
Сообщений: 7
По умолчанию

https://github.com/MinfInfo/JVCL/blo...tils.pas#L1502
MyName-Name-MyName вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
На языке программирования Pascal реализовать процедуры работы со стеком на последовательном распределении памяти Владлена12 Паскаль, Turbo Pascal, PascalABC.NET 1 25.11.2013 20:44
Плохой/Хороший - задача линейного программирования Лубышев Помощь студентам 9 11.06.2012 03:45
Хороший стиль программирования на чистом С - работа с объектами anyx Свободное общение 2 08.06.2011 00:20
Хороший стиль программирования DimOn4Ik Свободное общение 17 10.05.2010 01:12
калькулятор на языке с Krawzow Помощь студентам 4 29.04.2009 12:48