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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 03.12.2013, 20:52   #1
shadezx
Пользователь
 
Регистрация: 24.10.2013
Сообщений: 75
По умолчанию Ошибка в коде

Код:
program Project1;

{$APPTYPE CONSOLE}

uses
  SysUtils,
  Unit1 in 'Unit1.pas';

var
pr_x,pr_y,pr_z:real;
q,w,e:real;
d1,d2,d3,x,y,z:real;
i1,i2,i3:integer;
begin
writeln('readl d1,d2,d3');
readln(d1,d2,d3);
writeln('int i1,i2,i3');
readln(i1,i2,i3);
q:=pr_x(i1,i2,i3,d1,d2,d3);
writeln('x = ',q:4:2);
w:=pr_y(i1,i2,i3,d1,d2,d3);
writeln('y = ',w:4:2);
e:=pr_z(i1,i2,i3,d1,d2,d3);
writeln('z = ',e:4:2);
readln;
end.
Модуль код:
Код:
unit Unit1;

interface procedure pr_X(d1,d2,d3:real;i1,i2,i3:integer;out x:real);
		      procedure pr_Y(d1,d2,d3:real;i1,i2,i3:integer;out y:real);
          procedure pr_Z(d1,d2:real;i1,i2,i3:integer;out z:real);

implementation

procedure pr_X(d1,d2,d3:real;i1,i2,i3:integer;out x:real);
begin
  x:=((10*10*10)/3)*((i1)/(i2+i3))*(d1+d2+d3);
end;
procedure pr_Y(d1,d2,d3:real;i1,i2,i3:integer;out y:real);
begin
  y:=((d1)/(d2*d3))+((i1)/(i1+i2));
end;
procedure pr_Z(d1,d2:real;i1,i2,i3:integer;out z:real);
begin
  z:=d1*((i1+i2)/(d2))+(i3)/(i1*i2);
end;
end.
Выдает ошибку Missing operator or semicolon
shadezx вне форума Ответить с цитированием
Старый 03.12.2013, 21:00   #2
WorldMaster
Старожил
 
Аватар для WorldMaster
 
Регистрация: 25.08.2011
Сообщений: 2,841
По умолчанию

Где ошибку то выдает?
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два.
WorldMaster вне форума Ответить с цитированием
Старый 03.12.2013, 21:05   #3
shadezx
Пользователь
 
Регистрация: 24.10.2013
Сообщений: 75
По умолчанию

в етой строке
Код:
q:=pr_x(i1,i2,i3,d1,d2,d3);
shadezx вне форума Ответить с цитированием
Старый 03.12.2013, 21:21   #4
type_Oleg
Старожил
 
Аватар для type_Oleg
 
Регистрация: 02.03.2008
Сообщений: 2,499
По умолчанию

А как можно присваивать процедуру? Это же не функция.

Кстати, у вас там еще и локальные переменные с тем же именем. Так что компилятор не понял, почему скобки после имени переменной.
type_Oleg вне форума Ответить с цитированием
Старый 03.12.2013, 21:22   #5
shadezx
Пользователь
 
Регистрация: 24.10.2013
Сообщений: 75
По умолчанию

исправил, всеравно та же ошибка
shadezx вне форума Ответить с цитированием
Старый 03.12.2013, 21:27   #6
type_Oleg
Старожил
 
Аватар для type_Oleg
 
Регистрация: 02.03.2008
Сообщений: 2,499
По умолчанию

А что исправили?
type_Oleg вне форума Ответить с цитированием
Старый 03.12.2013, 21:50   #7
shadezx
Пользователь
 
Регистрация: 24.10.2013
Сообщений: 75
По умолчанию

Код:
program Project1;

{$APPTYPE CONSOLE}

uses
  SysUtils,
  Unit1 in 'Unit1.pas';

var
x1,y1,z1:real;
d1,d2,d3,x,y,z:real;
i1,i2,i3:integer;
begin
writeln('readl d1,d2,d3');
readln(d1,d2,d3);
writeln('int i1,i2,i3');
readln(i1,i2,i3);
x1(i1,i2,i3,d1,d2,d3);
writeln('x = ',x:4:2);
y1(i1,i2,i3,d1,d2,d3);
writeln('y = ',y:4:2);
z1(i1,i2,i3,d1,d2,d3);
writeln('z = ',z:4:2);
readln;
end.
так норм?
shadezx вне форума Ответить с цитированием
Старый 03.12.2013, 22:07   #8
type_Oleg
Старожил
 
Аватар для type_Oleg
 
Регистрация: 02.03.2008
Сообщений: 2,499
По умолчанию

Если бы я был компилятором, я спросил бы, почему у вас опять после имени переменной x1 какие-то скобки.

Если ничего не меняли в модуле Unit1, сделайте так. В первом варианте.
Выбросить это:
Код:
pr_x,pr_y,pr_z:real;
Вместо этого
Код:
q:=pr_x(i1,i2,i3,d1,d2,d3);
Вставьте вот это
Код:
 pr_x(d1,d2,d3,i1,i2,i3,q); // не путайте порядок аргументов
И то же самое - с остальными двумя.

PS Сами процедуры я не проверял, не знаю, что вам там надо. Однако довольно забавно выглядит конструкция (i1). Зачем скобки ?

Последний раз редактировалось type_Oleg; 03.12.2013 в 22:17.
type_Oleg вне форума Ответить с цитированием
Старый 03.12.2013, 22:46   #9
shadezx
Пользователь
 
Регистрация: 24.10.2013
Сообщений: 75
По умолчанию

теперь выдает ошибку
[Error] Project1.dpr(21): Incompatible types: 'Integer' and 'Real'
в строке
Код:
pr_z(d1,d2,d3,i1,i2,i3,z);
shadezx вне форума Ответить с цитированием
Старый 04.12.2013, 10:03   #10
WorldMaster
Старожил
 
Аватар для WorldMaster
 
Регистрация: 25.08.2011
Сообщений: 2,841
По умолчанию

Цитата:
Сообщение от shadezx Посмотреть сообщение
теперь выдает ошибку
[Error] Project1.dpr(21): Incompatible types: 'Integer' and 'Real'
в строке
Код:
pr_z(d1,d2,d3,i1,i2,i3,z);
Так вы посмотрите как вы объявили процедуру то:

Код:
procedure pr_Z(d1,d2:real;i1,i2,i3:integer;out z:real);
begin
  z:=d1*((i1+i2)/(d2))+(i3)/(i1*i2);
end;
На вход она требует 2 вещественных числа а вы сколько подаете?
Да даже тупо количество переменных посчитайте.
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два.
WorldMaster вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка в коде СергейАС Помощь студентам 1 23.10.2012 14:59
Где ошибка в этом исходном коде на языке Си? Или ошибка в Excel? ArchiCurtis Помощь студентам 2 07.04.2012 14:16
Ошибка в коде Sylar9 Win Api 5 24.03.2012 20:38
Ошибка в коде ZoomHz Общие вопросы C/C++ 6 08.03.2012 14:24
Ошибка в коде, ошибка в css или это проблема с совместимостью с браузерами? ankris HTML и CSS 5 23.11.2010 16:58