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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.12.2012, 23:30   #1
Jlovenpk1
Ламер С#
Пользователь
 
Аватар для Jlovenpk1
 
Регистрация: 14.12.2011
Сообщений: 34
По умолчанию В чем ошибка?

Ошибка синтаксиса "begin" "end"
46 строка.

Код:
uses crt;
type
Natur = 1..high(longInt);{натуральные числа типа longint}
Frac = record
       p:Natur; {Числитель дроби}
       q:Natur {Знаменатель дроби}
       end;
{ввод дробей}
procedure Vvod(var a,b:frac);
var i:integer;
begin
writeln('Введите числители и знаменатели двух дробей ');
writeln(' Первая дробь:');
write('  числитель=');readln(a.p);
write('  знаменатель=');readln(a.q);
writeln(' Вторая дробь:');
write('  числитель=');readln(b.p);
write('  знаменатель=');readln(b.q);
clrscr;
end;
{нахождение НОД}
function Nod(a,b:integer):integer;
begin
while a<>b do
if a>b then a:=a-b else b:=b-a;
Nod:=a
End;
{сокращение дробей}
procedure Sokr(var a:frac);
var d:Natur;
begin
d:=Nod(a.p,abs(a.q));
a.p:=a.p div d;
a.q:=a.q div d;
end;
{вывод дробей и результата после сокращения на экран}
procedure Vyvod(var a,b,c:frac);
begin
writeln('Результвт умножения:');
c.p:=a.p*b.p;
c.q:=a.q*b.q;
Sokr(c);
writeln(a.p,'/',a.q,' * ',b.p,'/',b.q,' = ',c.p,'/',c.q);
end;

end.
Обожаю эти строк - While 1=1 do begin -

Последний раз редактировалось Jlovenpk1; 03.12.2012 в 00:08.
Jlovenpk1 вне форума Ответить с цитированием
Старый 02.12.2012, 23:39   #2
MihalNik
МегаМодератор
СуперМодератор
 
Регистрация: 27.11.2012
Сообщений: 5,714
По умолчанию

Код:
Отсутствуют отступы. (
  ошибка техподдержки:D
  )
Обновил ошибку. Где собственно тело программы? Смотреть структуру минимальной проги в Паскаль (типа Hello World)
Благими намерениями устлана дорога на programmersforum.ru

Последний раз редактировалось MihalNik; 03.12.2012 в 08:26.
MihalNik вне форума Ответить с цитированием
Старый 03.12.2012, 00:08   #3
Jlovenpk1
Ламер С#
Пользователь
 
Аватар для Jlovenpk1
 
Регистрация: 14.12.2011
Сообщений: 34
По умолчанию

Обновил код.
Где ошибка?)
Обожаю эти строк - While 1=1 do begin -
Jlovenpk1 вне форума Ответить с цитированием
Старый 03.12.2012, 08:27   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

а для END. (с точкой ) - где для него открывающий BEGIN ?!

так (выделил тот begin, что Вы пропустили)

Код:
....
{вывод дробей и результата после сокращения на экран}
procedure Vyvod(var a,b,c:frac);
begin
writeln('Результвт умножения:');
c.p:=a.p*b.p;
c.q:=a.q*b.q;
Sokr(c);
writeln(a.p,'/',a.q,' * ',b.p,'/',b.q,' = ',c.p,'/',c.q);
end;

begin

end.

p.s. надеюсь, Вы понимаете, что ваша программа АБСОЛЮТНО ничего делать не будет (нет вызовов фунцкий/процедур, нет кода, который будет выполнятся, только старт и финиш. и всё)....

Последний раз редактировалось Serge_Bliznykov; 03.12.2012 в 08:33.
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
в чем ошибка? MKS23 Паскаль, Turbo Pascal, PascalABC.NET 1 13.06.2012 20:06
В чем ошибка? olegnaum Общие вопросы C/C++ 7 03.02.2010 12:58
В чем ошибка gheorge1989 Microsoft Office Access 8 27.10.2009 22:45
В чем ошибка? fosto Паскаль, Turbo Pascal, PascalABC.NET 3 07.12.2008 19:10