Возвращение функцией множества - Turbo Pascal
Формулировка задачи:
Всем привет, есть программа написанная на паскальабс и прекрасно там работающая. Но при переносе ее в турбо паскаль, множество set возвращаемое функцией vvod не хочет определяться. А теперь вопрос: Как вернуть множество из функции в турбо паскале?
Текст проги в паскальабс - кому интересно вводит 3 множества х1, х2, х3 мощностью 10(элементов), затем по формуле yy находится множество y, апасля из y вынимается еще одно множество четных чисел:
Решение задачи: «Возвращение функцией множества»
textual
Листинг программы
type TRange = 1..100; TSet = set of TRange; procedure vvod(var s: TSet); var e: TRange; n: Integer; begin s:=[]; n:=0; while n<=10 do begin Read(e); if not (e in s) then begin Include(s,e); Inc(n); end; end; end;
Объяснение кода листинга программы
- В начале объявляются типы данных
TRange
иTSet
. - Затем объявляется процедура
vvod
, которая принимает в качестве параметра переменнуюs
типаTSet
. - Внутри процедуры объявляются две переменные
e
иn
типаTRange
иInteger
соответственно. - Затем идет цикл
while
, который выполняется до тех пор, пока значение переменнойn
не превысит 10. - Внутри цикла считывается значение переменной
e
с помощью функцииRead
. - Затем проверяется, содержится ли значение переменной
e
в множествеs
с помощью оператораin
. - Если значение
e
не содержится в множествеs
, то оно добавляется в множество с помощью функцииInclude
. - После этого увеличивается значение переменной
n
на единицу с помощью функцииInc
. - Цикл
while
повторяется до тех пор, пока значение переменнойn
не превысит 10. - По завершении цикла значение переменной
s
будет содержать все уникальные значения из входного множества.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д