Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 16.05.2014, 23:45
Brish Brish вне форума
Прохожий
 
Регистрация: 16.05.2014
Сообщения: 5
Версия Delphi: Delphi 7
Репутация: 10
Восклицание Ошибка [Error] Project1.dpr(23): Operator not applicable to this operand type

Здравствуйте)) Помогите, пожалуйста. Не могу понят ошибку в коде:
Код:
program Project1;

{$APPTYPE CONSOLE}

uses
  SysUtils;

var
    NOK:real;
    a,b,Na:integer;

    procedure NOD(m,n:integer;var nm:integer);
    begin
    while m<>n do
    if m<>n then
    m:=m-n
    else
    n:=n-m;
    nm:=m;
    end;

begin
readln(a);
readln(b);
  NOK:=(a*b)/NOD(a,b,Na);
  writeln('NOK=',NOK:4);
  readln;

end.
Админ: Пользуемся тегами для оформления кода!

[Error] Project1.dpr(23): Operator not applicable to this operand type

Что не так???

Последний раз редактировалось Admin, 17.05.2014 в 13:31.
Ответить с цитированием
  #2  
Старый 17.05.2014, 02:15
Аватар для Kailon
Kailon Kailon вне форума
Активный
 
Регистрация: 06.06.2010
Сообщения: 339
Версия Delphi: 10.4
Репутация: 429
Сообщение

Цитата:
Что не так???
Да все все не так! Что у тебя делает процедура NOD? Она ведь просто оперирует своими внутренними переменными и все. Я думаю процедура NOD должна быть функцией, которая тебе вернет значение, которое в свою очередь подставиться в знаменатель формулы
Код:
NOK := (a*b) / NOD(a,b,Na)
Почему переменной "Na" ничего не присвоено?
__________________
Всегда пишите код так, будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете.
Ответить с цитированием
Этот пользователь сказал Спасибо Kailon за это полезное сообщение:
Brish (17.05.2014)
  #3  
Старый 17.05.2014, 09:30
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,721
Репутация: 52347
По умолчанию

Здесь было сообщение, которое я же и потер.
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
Этот пользователь сказал Спасибо Страдалецъ за это полезное сообщение:
Brish (17.05.2014)
  #4  
Старый 17.05.2014, 13:17
Brish Brish вне форума
Прохожий
 
Регистрация: 16.05.2014
Сообщения: 5
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

Нам сказали написать эту прогу 2 способами. 1-ая как процедура, 2-ая - функция. Вот попыталась написать как процедура, теперь думаю ее переписать следует((
Ответить с цитированием
  #5  
Старый 17.05.2014, 13:51
Аватар для Kailon
Kailon Kailon вне форума
Активный
 
Регистрация: 06.06.2010
Сообщения: 339
Версия Delphi: 10.4
Репутация: 429
По умолчанию

Цитата:
Сообщение от Brish
Нам сказали написать эту прогу 2 способами. 1-ая как процедура, 2-ая - функция. Вот попыталась написать как процедура, теперь думаю ее переписать следует((
Да нет проблем. Пиши процедурой. Только пусть она глобальными переменными оперирует, а не своими внутренними.
__________________
Всегда пишите код так, будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете.
Ответить с цитированием
  #6  
Старый 17.05.2014, 14:02
Brish Brish вне форума
Прохожий
 
Регистрация: 16.05.2014
Сообщения: 5
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

Спасибо всем, я нашла ошибку. Вот что получилось :
Код:
program Project1;

{$APPTYPE CONSOLE}

uses
  SysUtils;


var
a,b,na: integer;

procedure NOD (x,y: integer;var g:integer);
begin
while x<>y do
      if x>y then
        x:=x-y
      else
        y:=y-x;
        g:=x;
end;

begin
write('A=');
readln(a);
write('B=');
readln(b);
NOD(a,b,Na);
writeln ('NOK=',a*b/na);
readln;
end.

Последний раз редактировалось Admin, 17.05.2014 в 14:56.
Ответить с цитированием
  #7  
Старый 17.05.2014, 14:08
Аватар для Kailon
Kailon Kailon вне форума
Активный
 
Регистрация: 06.06.2010
Сообщения: 339
Версия Delphi: 10.4
Репутация: 429
Сообщение

Умничка!
__________________
Всегда пишите код так, будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете.
Ответить с цитированием
Этот пользователь сказал Спасибо Kailon за это полезное сообщение:
Brish (17.05.2014)
  #8  
Старый 17.05.2014, 14:12
Brish Brish вне форума
Прохожий
 
Регистрация: 16.05.2014
Сообщения: 5
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

Спасибо))
Ответить с цитированием
  #9  
Старый 17.05.2014, 14:16
Аватар для Kailon
Kailon Kailon вне форума
Активный
 
Регистрация: 06.06.2010
Сообщения: 339
Версия Delphi: 10.4
Репутация: 429
Сообщение

На будущее. Весь код в тег заворачивай, а то Админ ругаться будет.
__________________
Всегда пишите код так, будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете.
Ответить с цитированием
Этот пользователь сказал Спасибо Kailon за это полезное сообщение:
Brish (17.05.2014)
  #10  
Старый 17.05.2014, 14:24
Brish Brish вне форума
Прохожий
 
Регистрация: 16.05.2014
Сообщения: 5
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

Приму к сведению))
Ответить с цитированием
Ответ


Delphi Sources

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

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 00:01.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter