var a,b,c,d:real;
c1, c2, z1, z2:real;
begin
write('Введи числитель первой дроби: '); read(a);
write('Введи знаменатель первой дроби: '); read(b);
write('Введи числитель второй дроби: '); read(c);
write('Введи знаменатель второй дроби: '); read(d);
write(a + ' / ' + b + ' + ' + c + ' / ' + d + ' = ');
if(b = d) then begin
c1 := a + c;
write(c1 + ' / ' + b);
End else Begin
z1 := b * d;
c1 := (z1 / b) * a;
c2 := (z1 / d) * c;
z2 := c1 + c2;
write(z2 + ' / ' + z1);
end;
end.
2. Допускается применение круглых скобок

3. Не допускается подряд два знака операций
.
4. Выражения просматривается слева на право, сравниваются две последовательные операции, и выполняется та, чей приоритет выше.

5. Часть выражения заключенная в скобки выполняется в первую очередь (т.е. скобки изменяют приоритет)

Запись арифметических выражений в Паскале
Правила записи основных арифметических функций на языке Турбо-Паскаль приведены в таблице 1.
Таблица 1
В математике
В ТР
|x|
abs(x)

sqrt(x)
X2
sqr(x)
ex
exp(x)
sinx
sin(x)
cosx
cos(x)
tgx
sin(x)/ cos(x)
ctgx
cos(x)/ sin(x)
arctgx
arctan(x)
arcsinx
arctan(x/sqrt(1-sqrt(x)))
arccosx
Pi/2-arctan(x/sqrt(1-sqrt(x)))
lnx
ln(x)
lgx
ln(x)/ ln(10)
log2x
ln(x)/ ln(2)
Возведение в вещественную степень выполняется по формуле

Примеры записи выражений
1. 
y:=(a*2.5*exp(x)+sqrt(abs(x-1))+ln(sqr(x)/2/a)/ln(10)) /
( arctan(x/sqrt(1-sqr(x))+exp(2/3*ln(x)));
2. 
L:=((sqr(x)+sqr(y))<=sqr(R))and(x*y>=0).