
26.11.2009, 23:20
|
|
Участник форума
Регистрация: 11.07.2009
Сообщений: 175
С нами:
8860159
Репутация:
185
|
|
ну символ поидее вот так должен быть '+' '-' '*' '/'
И к чему тут uses crt?
Да И S формат REAL потому что деление
Последний раз редактировалось h(f)ucker; 26.11.2009 в 23:23..
|
|
|

26.11.2009, 23:22
|
|
Участник форума
Регистрация: 30.09.2009
Сообщений: 148
С нами:
8743576
Репутация:
241
|
|
каг бэ стандартный модуль иль нет?
|
|
|

26.11.2009, 23:51
|
|
Познавший АНТИЧАТ
Регистрация: 04.08.2008
Сообщений: 1,359
С нами:
9351139
Репутация:
1593
|
|
Между repeat и until должно идти тело цикла.
Вот правильный код калькулятора:
Код:
program calc; {кстати, program можно и не писать}
uses crt; {это нам для очищения экрана}
label 1; {для перехода к началу}
var a,b:integer; {числа} c:char; {проверка повтора, знака счета}
s:real; {real, т.к присутствует деление}
begin
1: clrscr; {очистка экрана}
writeln('введите 1 число');
readln(a);
writeln('введите 2 число');
readln(b);
writeln('введите знак действия');
readln(c);
case c of {проверка введенного}
'+' : s:=a+b;
'-' : s:=a-b;
'*' : s:=a*b;
'/' : s:=a/b;
end;
writeln('ответ с точностью до двух цифр: ',s:4:2);
{:2 - кол-во цифр после запятой, используется для деления}
writeln ('хотите сосчитать еще раз? Y/N');
readln (c);
if c='Y' then goto 1 {переходим к началу} else
if c='N' then writeln ('для выхода нажмите любую клавишу...');
{просто продолжение}
readln; {ожидание пустого ввода}
end.
|
|
|

27.11.2009, 00:31
|
|
Познающий
Регистрация: 04.05.2008
Сообщений: 36
С нами:
9483872
Репутация:
19
|
|
Delphi/Pascal
-----------------------------
на DIV и MOD
Присвоить переменной z первую цифру из дробной части действительного числа r.
я чутка не трезвый и сообразить не могу =(
|
|
|

27.11.2009, 01:32
|
|
Новичок
Регистрация: 22.05.2009
Сообщений: 5
С нами:
8932678
Репутация:
0
|
|
и я не трезвый
z:=StrToInt(copy(FloatToStr(r),pos(',',FloatToStr( r))+1,1))
|
|
|

27.11.2009, 01:35
|
|
Познавший АНТИЧАТ
Регистрация: 04.08.2008
Сообщений: 1,359
С нами:
9351139
Репутация:
1593
|
|
Значит так, DIV - деление нацело. Для этого переменную типа Real можно и не брать. А вот "/" - это математическое деление, оно требует вещественного типа Real, и, дабы не выводить 100500 знаков после запятой, существует сокращение. Понятно объяснил? И хватит оффтопить в теме.
|
|
|

27.11.2009, 06:57
|
|
Участник форума
Регистрация: 12.11.2008
Сообщений: 146
С нами:
9207335
Репутация:
21
|
|
Подскажите кто работал с потоками в делфи!
на форме есть http1
Сначала делал програму в одном основном потоке
http1.get - работало норм.
Решил переделать программу в 5 потоков
Когда в первом потоке вызваю resp.text:=http1.get('sait.ru');
Компилятор говорит Warring переменая resp может быть не инициализирована.
Маркер указывает на строчку с resp.text:=http1.get('sait.ru');
И все встает колом
Посоветуйте по этому поводу что нибуть?
|
|
|

27.11.2009, 08:03
|
|
Banned
Регистрация: 25.11.2007
Сообщений: 62
С нами:
9715564
Репутация:
89
|
|
Код:
form1.resp.text := http1.get ('sait.ru');
А вообще, для каждого потока советую отдельный объект http создавать. Также не забудьте про синхронизацию потоков.
|
|
|

27.11.2009, 17:10
|
|
Познающий
Регистрация: 31.03.2009
Сообщений: 53
С нами:
9007085
Репутация:
11
|
|
Спасибо h(f)ucker, alexey-m, root_sashok Забыл что в кавычки надо заключать, а с integer я лажанулся 
|
|
|

27.11.2009, 11:05
|
|
Участник форума
Регистрация: 12.11.2008
Сообщений: 146
С нами:
9207335
Репутация:
21
|
|
Спасибо Пуховой.
Я так и сделал все заработало норм! ))
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|