задача 13 урок 15
Primary tabs
задача 13 урок 15
Напишите функцию, которая принимает на вход целое число N и возвращается строку, содержащую арифметическое выражение вида:
a1 # a2 # ... # aN
Где:
a1, a2,....., aN -- случайные числа из диапазона от 1 до 100
# - один из случайных знаков (*, +, -)
Решение
program task_13_lesson_15; type arr = array[1..3] of string; function sub(n: integer) : string; // буду использовать встроееную процедуру str(); // STR(X, S) - Процедура преобразует численное выражение X в его строковое представление и помещает результат в S. var i,z: integer; numR: integer; b: string; // храним случайное число в строковом виде bL: arr; // храним строку '*+-' st: string; // строка с ответом begin st := ''; bL[1] := ' + '; bL[2] := ' - '; bL[3] := ' * '; randomize(); for i := 1 to n do begin numR := 1 + random(100); z := 1 + random(3); str(numR,b); // записываю число в строку if i < N then // нужна проверка последней операции st := b + bL[z] + st // чередую числа и знаки оперций else st := st + b; end; result := st; end; var n: integer; begin readln(n); write(sub(n)); readln end.
Консоль:
15 74 * 23 - 90 + 70 - 71 + 68 * 30 - 54 - 97 * 34 - 39 - 86 + 85 + 67 * 90
- Log in to post comments
- 1010 reads
vedro-compota
Sun, 10/24/2021 - 12:16
Permalink
засчитано
засчитано
_____________
матфак вгу и остальная классика =)