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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 27.10.2008, 16:24   #1
artem_MG
 
Регистрация: 24.10.2008
Сообщений: 6
Вопрос Помогите исправить ошибку

здравствуйте!
скажите, пожалуйста, почему не компилируется эта прога:

program razlozh;
var n,k,c,m,f: Integer;
begin
write('n='); readln(n);
while (n mod 2)=0 do begin
writeln('2');
n:=n/2;
end;
c:=(n div 2);
For k=2 to c do begin
while m<=(k div 2) do begin
if (k mod m)=0 then f:=0;
m:=m+1;
end;
If f<>0 then do begin
while (n mod k)=0 do begin
writeln(k);
n:=n/k;
end;
end;
end;
end.

в седьмой строке, где n:=n/2 пишет Type mismatch.
Подскажите, как это можно исправить, а то мой мозг уже не в состоянии думать?
artem_MG вне форума Ответить с цитированием
Старый 27.10.2008, 16:30   #2
_Dmitry
Участник клуба
 
Аватар для _Dmitry
 
Регистрация: 02.09.2007
Сообщений: 1,193
По умолчанию

n/2 - результат деления real
n div 2 - результат деления integer
_Dmitry вне форума Ответить с цитированием
Старый 27.10.2008, 17:34   #3
artem_MG
 
Регистрация: 24.10.2008
Сообщений: 6
По умолчанию

блин, ну я дурак, я ж думал, чтоб div поставить, но почему-то был уверен, что он туда не подходит. реально мозги плавятся... теперь всё ясно, поставил div, только он теперь в 15 строке (If f<>0 then do begin) перед do ещё ошибку пишет: ";" expected - что не так?
artem_MG вне форума Ответить с цитированием
Старый 27.10.2008, 17:37   #4
-=<[Evklidd]>=-
Форумчанин Подтвердите свой е-майл
 
Аватар для -=<[Evklidd]>=-
 
Регистрация: 22.01.2008
Сообщений: 161
По умолчанию

Цитата:
(If f<>0 then do begin)
А причем здесь вообще зарезервированное слово do? Должно быть просто
Код:
If f<>0 then begin
-=<[Evklidd]>=- вне форума Ответить с цитированием
Старый 27.10.2008, 17:42   #5
artem_MG
 
Регистрация: 24.10.2008
Сообщений: 6
По умолчанию

ок. спасибо
artem_MG вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите исправить ошибку в задаче Vladislav_87 Паскаль, Turbo Pascal, PascalABC.NET 4 04.07.2008 12:27
Помогите исправить ошибку в задаче VANOLORD Паскаль, Turbo Pascal, PascalABC.NET 9 19.05.2008 22:16
Помогите исправить ошибку в коде... prizrak1390 Общие вопросы Delphi 4 26.04.2008 13:19
Помогите исправить ошибку Булат Общие вопросы Delphi 3 25.04.2008 10:01
помогите исправить ошибку. alen666 Паскаль, Turbo Pascal, PascalABC.NET 11 08.03.2008 16:43