<HTML><HEAD>
<META HTTP-EQUIV="content-type" CONTENT="text/html; charset=koi8-r">
<TITLE>Ada95 Lovelace Tutorial ������ 6.7 - ��������� � ������������ ��������� ����</TITLE>
<LINK REV="made" HREF="mailto:dwheeler@ida.org">
<!-- Below are RSACi and SafeSurf ratings for this material. -->
<META http-equiv="PICS-Label" content='(PICS-1.0 "http://www.rsac.org/ratingsv01.html" l gen true comment "RSACi North America Server" by "dwheeler@ida.org" for "http://www.adahome.com/Tutorials/Lovelace" on "1996.04.04T08:15-0500" exp "1997.07.01T08:15-0500" r (n 0 s 0 v 0 l 0))'>
<META http-equiv="PICS-Label" content='(PICS-1.0 "http://www.classify.org/safesurf/" l gen true for "http://www.adahome.com/Tutorials/Lovelace/" by "dwheeler@ida.org" r (SS~~000 1 SS~~100 1))'>
</HEAD>
<BODY BGCOLOR="#FFFFFF">
<H1><FONT COLOR="#996600">������ 6.7 - ��������� � ������������ ��������� ����</FONT></H1>
���� ������ ��������� ���� � ������������ ������, ��� ����
�������� ����, �� �����, ��������� ��� ������������ � ������� <EM>with</EM>, 
������ ������ � ������ ������ ������ ��� ��� ������. ����� ��� ������������,  
��� ��� ������������ ����� (���������� ������ <EM>���������</EM>), 
����� �������� �� ������� ����������. �����  
����������� �������� ��������� �������� ��������� � ���������� (��������, �  
����� ��������� ������������������). 
<P>
Ada ������������� ��������� ���������� ������� ������������ ����������  
�� �������������. �� ��� ������ ����� ������, ��� <EM>�����������</EM> ������������   
������������ ������������� ������� ������� ��������, ����� ��� (��� ������������  
����) ����� ��������� � ������ ������� ��� ����������. ����� �� ������  
�������� �������� ���������� � ����������. ��������, ���� � ������������ ������  
������ ����� ���, ��� ��� ���� �������� ����,   
������������ �� ���� Integer, �� ������������ ������ ����������� � ���� �����  
�������� ��������, ��������� � �.�. ���� ���� ����������, �����  
������������ ��� ������������ ������ �������� "������" (��������, ���  
��������������),  ��, �� ��������� ���������� ���� �����������, ������   
������������ ����� ������ ��������, ������� ����� ��������� ��������� ������ ���  
����������� ������� �������. ����� ������������ ����������� �������������  
���� ��� �������� ���� Integer, ����� ��������� ���  
�������� � ���� ����� ������ ���, ��� �������������, �, � ����������,  
��������� �������� ��������� � ����������. 
<P>
������� ��� � �������� ������, ����� ������� ��� <EM>���������</EM>.   
�������� ���� ��� "private" ������ ������������ ������� �������� ��� ���  
(��������, "+" ��� Integer). ����� �������� ���� ���������� ��������  
������ �����������, ������� ����� �������� ��������� �������� ��� ��������  
��� ������ �����. ���� ��� ������ ��� ���������, �� ���������� ������������ ��� � 
<EM>���������</EM> ������� ������������ ������. ��� �����, ������� ������ ���
<EM>���������</EM>, ������  ������ ����� ������������ ������ ��������������� 
�� �������� , � ����� �������� ������������ (:=) � ��������� (=).
<P>
�������� ������. ����� ���������� ������� ��� `Key', ����������  
���������������� ��������� ������, � ����� ������������   
������������ ������ ����������� ��������� ���� (key) � ���������� �����������  
�������� ������ (������� ��� �������� "&lt;"). ���� ��������� ����  
�� ��������� ������� (������ ������ <A HREF="http://www.adahome.com/rm95/rm9x-07-03-01.html">�������� 7.3.1 Ada RM</A>) :  
<P>
<!-- The following form permits compilation using WebAda. -->
<P>
<FORM METHOD="post" ACTION="http://sw-eng.falls-church.va.us/cgi-bin/webada/lovelace">
<PRE>
<TEXTAREA NAME="code" ROWS=12 COLS=80>
 package Keys is
   type Key is private;
   Null_Key : constant Key;         -- �������������������� ���������.
   procedure Get_Key(K : out Key);  -- �������� ����� ����.
   function "&lt;"(X, Y : in Key) return Boolean; -- True ���� X ��� �������
                                                  -- �� Y
 private                                -- ������ ��������� ����� ������.
   Max_Key  : constant := 2 ** 16 - 1;  -- ��������� ���������.
   type Key is range 0 .. Max_Key;      -- ��������� ������������� ����
   Null_Key : constant Key := 0;        -- ���������������� ���������.
 end Keys;
</TEXTAREA>
</PRE>
<INPUT TYPE="hidden" NAME="file" VALUE="keys.ads">
<!-- All Lovelace files are krunched to 8+3 filename lengths -->
<INPUT TYPE="hidden" NAME="krunch" VALUE="8">
<TABLE BORDER=0><TR>
<TH><INPUT TYPE=submit VALUE=" Compile with WebAda "></TH>
<TH><INPUT TYPE=reset  VALUE=" Reset "></TH>
<TH><I>Verbose</I> <INPUT TYPE=checkbox  NAME="verbose" CHECKED></TH>
<TH><I>Configure</I> <INPUT TYPE=checkbox  NAME="configure"></TH>
</TR></TABLE>
<BR CLEAR>
</FORM>
<P>
<P>
�������, ��� ��� ������ ��� ��������� � ������������ ������. ����� �����  
������� �������� ����� `private', ������� ���������� ��������� ������ 
������������ ������. � ���� ������� ������ ����  
��������� ����������� ���, � ������� ���������, ����������� ���  
���������� ��� �����������. �������� �� ��, ��� Key �� ����� ����  
�������� �������� �����, ������ ������ �� ����� ������������ ��������,  
��������� � ������ �������������� ��������, ��� ��� �� ������  
��� ���������. ������������� ���������� ��� ���� ����� ����� ��������,  
������������ � ������ (� ����� := � =). 
<P>
�������� �������� �� ������� "&lt;" � ����������� ���� �������. � Ada  
����� �������������� ��������� ��������, ����� ��� "+", "*" � "&lt;". ���  
����� �������, ������ �������� ��� �������, ����������� ���  
��������� ��� ���� ��������� � �������� ����� ���� ��������, ���������� 
� ������� ��������. ������� �����, ��� ����� ������� ��������� ���  
�������� �� ������������ ��������, �.�. ����� �������� �������� ���  
��������� ������� ����, �� ������������� ��. ������, ����� ����������  
���� ������ �������� ��������� � ��������� �������. 
<P>
��������, ��� �� ����� �������� �� ��������� �������� ������������ (:=)
� ��������� (=). � ����� ������ ���������� ������� ��� �� ��� <EM>���������</EM>,
� ��� <EM>������������ ���������</EM>.  
������������ ��������� ��� - ��� ��������� ���, � ������� �� ���������� ����  
�������� ������������ � ���������. ����� ������� ����� "limited"  
���������� � ����� `private'. ���� �������� ������  
���������� ���� Key, ��� ������������� ���������� ����. 
<P>
<PRE>
  type Key is limited private;
</PRE>

<HR><P>
<IMG SRC="q.gif" ALT="" HEIGHT=34 WIDTH=23>
<A NAME="quiz"><FONT SIZE=+3 COLOR="#339900">����������:</FONT></A>
<P>
��� ������� ���, ���� ���������� <EM>������</EM> ��� �������� `up'  � `down'?
<OL>
<LI><A HREF="s6sfr1.htm">��� ���������</A>
<LI><A HREF="s6sfr2.htm">��� ������������ ���������</A>
<LI><A HREF="s6sfr3.htm">��� �����������</A>
</OL>
<HR>
�� ������ �����:
<P>
<TABLE BORDER=0><TR>
<TH><A HREF="s6s6.htm">
<IMG SRC="barrowl.gif" ALT="PREVIOUS " HEIGHT=31 WIDTH=31>
������� � ����������� �������</A>
<P></TH>

<TH><A HREF="s7s1.htm">
<IMG SRC="barrowr.gif" ALT="NEXT     " HEIGHT=31 WIDTH=31>
������� � ���������� �������</A>
<P></TH>

<TH><A HREF="lesson6.htm">
<IMG SRC="barrowu.gif" ALT="OUTLINE  " HEIGHT=31 WIDTH=31>
��������� � ���������� ����� 6</A>
<P></TH>
</TR></TABLE>
<P>

<P>
<FONT SIZE=2>
<ADDRESS><A HREF="dwheeler.htm">David A. Wheeler (dwheeler@ida.org)</A></ADDRESS>
<BR>
<I>
�������: <A HREF="mailto:jus@univ.kiev.ua">���� �������</A>
&nbsp;&nbsp;����� �������� ��������: <A HREF="mailto:app@polytech.poltava.ua">�.�. �����</A>
</I>
<P>
�������� ����� ����� ��������� ��������� �� ������
"<A HREF="http://www.adahome.com/Tutorials/Lovelace/s6sf.htm">http://www.adahome.com/Tutorials/Lovelace/s6sf.htm</A>".
<P>
�������� ����� �������� ��������� �� ����� <A HREF="http://www.ada-ru.org">http://www.ada-ru.org</A>
</FONT>
<!-- This text is part of the Ada95 Lovelace tutorial program. -->
<!-- For the contents of lesson 18, the following applies: -->
<!--  Copyright (C) 1996 Ada Resource Association -->
<!--  Copyright granted to the ARA under the condition that this text -->
<!--  will be redistributed to the public domain, without restriction; -->
<!--  you may use this information in any way you with, commercially or not, -->
<!--  without restriction. -->
<!-- = -->
<!-- For all other files in Ada95 Lovelace tutorial, the following applies: -->
<!--  Copyright (C) 2003 David A. Wheeler -->
<!--  This program is free software; you can redistribute it and/or modify -->
<!--  it under the terms of the GNU General Public License as published by -->
<!--  the Free Software Foundation; either version 2 of the License, or -->
<!--  (at your option) any later version. -->
<!--  This freedom only applies to the electronic version; the author -->
<!--  and/or publisher retain all rights to non-electronic versions. -->
<!-- = -->
<!-- This program is distributed in the hope that it will be useful, -->
<!-- but WITHOUT ANY WARRANTY; without even the implied warranty of -->
<!-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the -->
<!-- GNU General Public License for more details. -->
<!-- = -->
<!-- You should have received a copy of the GNU General Public License -->
<!-- along with this program; if not, write to the Free Software -->
<!-- Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -->
</BODY>
</HTML>