Pascal Урок 15 Задача 11

Урок 15 задача 11

Напишите функцию, которая принимает на вход целое число N и возвращается строку, содержащую арифметическое выражение вида:
a1 # a2 # ..... # aN
Где:
a1, a2,....., aN -- случайные числа из диапазона от 1 до 100
# - один из случайных знаков (*, +, -)

program U15Z11;
function RandExp(n:integer):string;
var c,i:integer;
 b,s,k:string;
begin
 b:='+-*';
 s:='';
 i:=1;
 writeln(b[1],b[2],b[3]);
 randomize();
   while i<(n+n) do
   begin
     if (i mod 2)=0 then
     begin
       s:=s+b[random(3)+1];
       inc(i);
     end
     else
     begin
       c:=random(100);
       str(c,k);
       s:=s+k;
       inc(i);
     end;
   end;
   result:=s;
end;
var n:integer;
begin
  writeln('Vvedite max kolichestvo elementov');
  readln(n);
  writeln(RandExp(n));
  readln
end. 
vedro-compota's picture

 writeln(b[1],b[2],b[3]);
 randomize();
   while i<(n+n) do // зачем отступ?

Неправильное форматирование)

_____________
матфак вгу и остальная классика =)

program U15Z11;
function RandExp(n:integer):string;
var c,i:integer;
 b,s,k:string;
begin
 b:='+-*';
 s:='';
 i:=1;
 writeln(b[1],b[2],b[3]);
 randomize();
 while i<(n+n) do
 begin
   if (i mod 2)=0 then
   begin
     s:=s+b[random(3)+1];
     inc(i);
   end
   else
   begin
     c:=random(100);
     str(c,k);
     s:=s+k;
     inc(i);
   end;
 end;
 result:=s;
end;
var n:integer;
begin
  writeln('Vvedite max kolichestvo elementov');
  readln(n);
  writeln(RandExp(n));
  readln
end.