Урок 15 Задача 14

Урок 15 Задача 14

Напишите функцию, которая принимает на вход целое число N и возвращается строку, содержащую арифметическое выражение вида:

	
a1 # a2 # ..... # aN

Где:

a1, a2,....., aN -- случайные числа из диапазона от 1 до 100
# - один из случайных знаков (*, +, -)

Решение:

program u15z14;
var n:integer;

function Stroka(num: integer): string;
var s,s1: string;
  i,rndnum,rndznak:integer;
  a: array[1..3] of char = ('*', '+', '-');
begin
  randomize();
  for i:=1 to num do
  begin
    rndnum:=random(100)+1;
    rndznak:=random(3)+1;
    str(rndnum,s1);
    if i<num then
      s:=s+' '+s1+' '+a[rndznak]
    else
      s:=s+' '+s1;
    end;
  result:=s;
end;

begin
  write('vvedite chislo, n = ');
  readln(n);
  write(stroka(n));
  readln();
end.

Консоль:

vvedite chislo, n = 20
 82 - 97 - 49 * 48 + 49 * 89 - 32 - 55 - 20 - 9 * 77 + 8 + 1 * 58 * 22 - 15 + 100 * 82 * 76 * 14