Схема данных является графическим образом БД. Она используется различными объектами Access для определения связей между несколькими таблицами. Например, при создании формы, содержащей данные из нескольких взаимосвязанных таблиц, схема данных обеспечивает автоматический согласованный доступ к полям этих таблиц.
// Использование указателей для создания односвязного списка // Сделано на базе демонстрационного примера PascalABC.Net // // PascalABC.NET 3.2, сборка 1325 от 19.10.2016 type PNode=^TNode; TNode=record data:integer; next:PNode; end;
function NewNode(d:integer;n:PNode):PNode; begin New(Result); Result^.data:=d; Result^.next:=n; end;
procedure WriteNode(a:PNode); // Вывод односвязного списка begin Writeln('Содержимое односвязного списка: '); var p:=a; while p<>nil do begin Write(p^.data,' '); p:=p^.next; end; Writeln end;
function SeekNode(k:integer;a:PNode):PNode; // Поиск элемента со значением k в списке begin var p:=a; Result:=Nil; while p<>nil do begin if p^.data=k then begin Result:=p; break end; p:=p^.next end end;
function PredNode(a,f:PNode):PNode; // Поиск предшественника f среди a begin var p:=a; while p^.next<>f do p:=p^.next; Result:=p end;
procedure Clear(a:pNode); // Разрушение односвязного списка begin var p:=a; while p<>nil do begin var p1:=p; p:=p^.next; Dispose(p1); // Память обязательно возвращать end end;
var first,found,father,grandfather,greatgrandfather:PNode;
begin Randomize; first:=nil; for var i:=1 to 10 do first:=NewNode(Random(100),first); WriteNode(first); // первоначальное состояние списка var k:=ReadInteger('Введите число для поиска в списке'); found:=SeekNode(k,first); if found<>nil then begin father:=PredNode(first,found); // отец grandfather:=PredNode(first,father); // дед greatgrandfather:=PredNode(first,grandfather); // прадед greatgrandfather^.next:=father; Writeln('Элемент ',grandfather^.data, ' удален'); Dispose(grandfather); WriteNode(first); k:=ReadInteger('Введите число для вставки'); father^.next:=NewNode(k,found); WriteNode(first); end else Writeln('Такого числа в списке нет'); Clear(first) end.
Пример Содержимое односвязного списка: 11 75 44 86 88 83 92 18 4 23 Введите число для поиска в списке 88 Элемент 44 удален Содержимое односвязного списка: 11 75 86 88 83 92 18 4 23 Введите число для вставки 40 Содержимое односвязного списка: 11 75 86 40 88 83 92 18 4 23
1) const n=10; var a:array[1..n] of real; i:integer; s:real; begin Randomize; for i:=1 to n do begin a[i]:=10*random-5; write(a[i]:6:2); end; writeln; s:=0; for i:=1 to n do if a[i]>0 then s:=s+a[i]; writeln('s = ',s:5:2); end.
2) const n=10; var a:array[1..n] of real; i:integer; s:real; begin Randomize; for i:=1 to n do begin a[i]:=random+2; write(a[i]:6:2); end; writeln; s:=0; for i:=1 to n do s:=s+a[i]; writeln('Среднее = ',s/n:5:2); end.
Объяснение:
Схема данных является графическим образом БД. Она используется различными объектами Access для определения связей между несколькими таблицами. Например, при создании формы, содержащей данные из нескольких взаимосвязанных таблиц, схема данных обеспечивает автоматический согласованный доступ к полям этих таблиц.