Реляционная база данных - это база данных, основанная на реляционной модели данных. Для работы с реляционными БД применяют реляционные СУБД.Использование реляционных баз данных было предложено доктором Коддом из компании IBM в 1970г
В общем случае, трассировка - один из отладки программ врукопашную: состояние программы контролируется на определённом отрезке времени её выполнения путём анализа значений переменных. трассировка в том или ином виде при отладке программ сложнее школьного дз практически неизбежна. в простейшем случае, трассировка - вывод значений переменных на экран (например, в окно консоли) , либо расчёт их на бумажке для каждого шага. в более продвинутом варианте используются точки останова, окно наблюдения, выполнение по шагам и, если есть, контекстный интерпретатор выражений. есть также специальная "трассирующая консоль" - интерфейс вывода информации из программы в отладчик, если таковой присутствует. почти любой современный отладчик показывает состояние програмm при её останове, что делает трассировку процессом легко доступным
Var s,st: string; a: array[1..255] of integer; i: integer; begin write('строка: '); readln(s); for i:=1 to 255 do a[i]:=0; for i:=1 to length(s) do inc(a[ord(s[i])]); st:=''; for i:=1 to length(s) do if ((a[ord(s[i])]>=2) and (s[i] in ['а'..'я'])) then continue else st:=st+s[i]; writeln('новая строка: ',st); end.
строка: Это строка для проверки. новая строка: Э са для пвеи.
Если нужно, чтобы не различались прописные и строчные буквы, то другой вариант программы:
var s: string; a: array[1..255] of integer; i,j: integer; begin write('строка: '); readln(s); for i:=1 to 255 do a[i]:=0; for i:=1 to length(s) do if ord(s[i])>32 then begin inc(a[ord(s[i])]); if s[i] in ['а'..'я'] then inc(a[ord(UpperCase(s[i]))]) else if s[i] in ['А'..'Я'] then inc(a[ord(LowerCase(s[i]))]); end; j:=0; for i:=1 to length(s) do if (a[ord(s[i])]>=2) then continue else begin inc(j); s[j]:=s[i]; end; delete(s,j+1,length(s)-j); writeln('новая строка: ',s); end.