C_3 (1115136)
Текст из файла
- 59 - 3. ��⮪ �ࠢ����� ��ࠢ���騥 ������� �몠 ��।����� ���冷� ���- ���. � �ਢ������� ࠭�� �ਬ��� �� 㦥 ����砫��� � ���- ����� 㯮�ॡ�⥫�묨 �ࠢ���騬� ��������ﬨ �몠 "C"; ����� �� ���襬 ��⠫�� ������� �ࠢ����� � ��筨� ����⢨� �����, ���㦤������ ࠭��. 3.1. ������� � ����� ����� ��ࠦ����, ��� X=0, ��� I++, ��� PRINTF(...), �⠭������ �����ࠬ�, � �� ���� ��� �窠 � ����- ⮩, ���, ���ਬ��, X = 0; I++; PRINTF(...); � �몥 "C" �窠 � ����⮩ ���� �ਧ����� ���� ����- ��, � �� ࠧ����⥫�� �����, ��� � �몠� ⨯� ����- ��. ������ ��� /( � /) �ᯮ������� ��� ��ꥤ������ ���ᠭ�� � ����� � ��⠢��� ������ ��� ����, ⠪ �� ��� ����뢠���� ᨭ⠪��᪨ �������� ������ �������. ���� � �ਬ�� ⠪��� ⨯� ���� 䨣��� ���, � ���- �� ���������� �������, ��⠢���騥 �㭪��, ��㣮� - 䨣��� ��� ����� ��㯯� ����� � ���������� IF, ELSE, WHILE � FOR.(�� ᠬ�� ���� ��६���� ����� ���� ���- ᠭ� ����� ��� �����; �� ������ਬ �� �⮬ � ����� 4). ��窠 � ����⮩ ������� �� �⠢���� �� ��ࢮ� 䨣�୮� ���, ����� �����蠥� ����. 3.2. IF - ELSE ������ IF - ELSE �ᯮ������ �� ����室����� ᤥ- ���� �롮�. ��ଠ�쭮 ᨭ⠪�� ����� ��� IF (��ࠦ����) ������-1 ELSE ������-2, ��� ���� ELSE ���� ����易⥫쭮�. ���砫� �����- ���� ��ࠦ����; � ��� "��⨭��" /�.�. ���祭�� ��ࠦ���� �⫨筮 �� ���/, � �믮������ ������-1. � ��� ����� /���祭�� ��ࠦ���� ࠢ�� ���/, � � ���� ���� � ELSE, � ����� ������-1 �믮������ ������-2. - 60 - ��� ��� IF ���� ����� ����� ���祭�� ��ࠦ�- ���, � �������� ����� ᮪�饭�� �����. ����� �祢��- ��� ������������ ���� ������ IF (��ࠦ����) ����� IF (��ࠦ���� !=0) ������ ⠪�� ������ ���� �᭮� � ����⢥����, �� �६�- ���� ��� �⠭������ ������筮�. ��, �� ���� ELSE � �������樨 IF - ELSE ���� ���- �易⥫쭮�, �ਢ���� � ���������� � ��砥, ����� ELSE ���᪠���� �� ��������� ������⥫쭮�� ����� IF. �� ���������筮��� ࠧ�蠥��� ����� ��ࠧ�� - ELSE ��- �뢠���� � ������訬 �।��騬 IF, �� ᮤ�ঠ騬 ELSE. ���ਬ��, � IF ( N > 0 ) IF( A > B ) Z = A; ELSE Z = B; ��������� ELSE �⭮���� � ����७���� IF, ��� �� � ����- ����, ᤢ��� ELSE ��� ᮮ⢥�����騩 IF. � �� �� �, �� �� ���, � ��� ����祭�� �㦭��� ᮮ⢥��⢨� �����- ���� �ᯮ�짮���� 䨣��� ���: IF (N > 0) { IF (A > B) Z = A; } ELSE Z = B; T���� ����������� �ᮡ���� ���㡭� � ������ ⨯� IF (N > 0) FOR (I = 0; I < N; I++) IF (S[I] > 0) { PRINTF("..."); RETURN(I); } ELSE /* WRONG */ PRINTF("ERROR - N IS ZERO\N"); - 61 - ������ ELSE ��� IF �᭮ �����뢠��, 祣� �� ���, �� ���- ������ �� ������ ᮮ⢥�����饣� 㪠����� � �殮� ELSE � ����७��� IF. �訡�� ⠪��� த� �祭� ��㤭� �����㦨����- ��. ����� ��稬, ����� ��������, �� � IF (A > B) Z = A; ELSE Z = B; �� Z=A �⮨� �窠 � ����⮩. ���� � ⮬, �� ᮣ��᭮ �ࠬ����᪨� �ࠢ���� �� IF ������ ������ ������, � ��ࠦ���� ⨯� Z=A, ��饥�� �����, �ᥣ�� �����稢�- ���� �窮� � ����⮩. 3.3. ELSE - IF ��������� IF (��ࠦ����) ������ ELSE IF (��ࠦ����) ������ ELSE IF (��ࠦ����) ������ ELSE ������ ����砥��� ���⮫쪮 ���, �� ���㦨���� �⤥�쭮�� ��⪮�� ��ᬮ�७��. ����� ������⥫쭮��� ����� IF ���� �������� �����࠭���� ᯮᮡ�� �ணࠬ���- ����� �롮� �� ���쪨� ��������� ��ਠ�⮢. ��ࠦ���� ��ᬠ�ਢ����� ������⥫쭮; � �����-� ��ࠦ���� ����뢠���� ��⨭��,� �믮������ �⭮��騩�� � ���� ���- ���, � �⨬ ��� 楯�窠 �����稢�����. ����� ������ ��- ��� ���� ���� �⤥��� �����, ���� ��㯯�� ����� � 䨣���� ����. ������ ���� � ELSE ����� ���� � ��砥�, ����� �� ���� �� ���塞�� ���� �� �믮������. ������ �� �⮬ �� ���� �।�ਭ����� ������� �� ����⢨�; � �⮬ ��砥 墮�� ELSE ������ ����� ���� ���饭, ��� ��� ����� �ᯮ�짮���� ��� �����, �⮡� ����� "�����������" ����. - 62 - ��� �������樨 �롮� �� ��� ��������� ��ਠ�⮢ ��- ����� �ணࠬ�� �㭪樨, ����� ��⮤�� ����������� ������� ��।����, ��室���� �� ������ ���祭�� � � ���������� ���ᨢ� V. �������� ���ᨢ� V ������ ���� �ᯮ������ � ��- �浪� �����⠭��. �㭪�� �����頥� ����� ����樨 (� ����� 0 � N-1), � ���ன ���祭�� � ��室���� � V, � -1, � � �� ᮤ�ন��� � V. BINARY(X, V, N) /* FIND X IN V[0]...V[N-1] */ INT X, V[], N; { INT LOW, HIGH, MID; LOW = 0; HIGH = N - 1; WHILE (LOW <= HIGH) { MID = (LOW + HIGH) / 2; IF (X < V[MID]) HIGH = MID - 1; ELSE IF (X > V[MID]) LOW = MID + 1; ELSE /* FOUND MATCH */ RETURN(MID); } RETURN(-1); } �᭮���� ����� ������� 蠣� �����⬠ ���� ���- ��, �㤥� �� � �����, ����� ��� ࠢ�� �।���� ����� V[MID]; �ᯮ�짮����� �������樨 ELSE - IF ����� ������ ��- ��⢥���. 3.4. ��४���⥫� ������ SWITCH ���� ᯥ樠��� ᯮᮡ �롮� ������ �� ������ ��ਠ�⮢, ����� �����砥��� � ��થ ᮢ������� ���祭�� ������� ��ࠦ���� � ����� �� �������� ����⠭� � ᮮ⢥�����饬 ��⢫����. � ����� 1 �� �ਢ��� �ணࠬ�� ������ � �宦����� ������ ����, ᨬ����� ������ ��- ����⪮� � ��� ��⠫��� ᨬ�����, �ᯮ������� ������- ⥫쭮��� IF...ELSE IF...ELSE. ��� � �� ᠬ�� �ணࠬ�� � ��४���⥫��. - 63 - MAIN() /* COUNT DIGITS,WHITE SPACE, OTHERS */ { INT C, I, NWHITE, NOTHER, NDIGIT[10]; NWHITE = NOTHER = 0; FOR (I = 0; I < 10; I++) NDIGIT[I] = 0; WHILE ((C = GETCHAR()) != EOF) SWITCH (C) { CASE '0': CASE '1': CASE '2': CASE '3': CASE '4': CASE '5': CASE '6': CASE '7': CASE '8': CASE '9': NDIGIT[C-'0']++; BREAK; CASE ' ': CASE '\N': CASE '\T': NWHITE++; BREAK; DEFAULT : NOTHER++; BREAK; } PRINTF("DIGITS ="); FOR (I = 0; I < 10; I++) PRINTF(" %D", NDIGIT[I]); PRINTF("\NWHITE SPACE = %D, OTHER = %D\N", NWHITE, NOTHER); ��४���⥫� ������ 楫�� ��ࠦ���� � ��㣫�� �- ��� (� ������ �ணࠬ�� - ���祭�� ᨬ���� �) � �ࠢ������ ��� ���祭�� � �ᥬ� ���ﬨ (CASE). ����� ��砩 ������ ���� ����祭 ���� 楫�, ���� ᨬ���쭮� ����⠭⮩, ���� ����⠭�� ��ࠦ�����. � ���祭�� ����⠭⭮�� ��ࠦ�- ���, ���饣� �� ��ਠ�⭮�� ��䨪� CASE, ᮢ������ � ���祭��� 楫��� ��ࠦ����, � �믮������ ��稭����� � �⮣� ����. � �� ���� �� ��砥� �� ���室��, � �믮������ ������ �� ��䨪� DEFAULT. ��䨪� DEFAULT ���� ����易⥫�� ,� ��� ���, � �� ���� �� ��砥� �� ����- ���, � ����� ������� ����⢨� �� �믮�������. ���砨 � ��- ��� �� 㬮�砭�� ����� �ᯮ�������� � �� ���浪�. �� ��砨 ������ ���� ࠧ���묨. - 64 - ������ BREAK �ਢ���� � ������������ ��室� �� ��४- ���⥫�. ����� ��砨 �㦠� ⮫쪮 � ����⢥ ��⮪, � � �� �� �।�ਬ�� �� ����⢨� �� �믮������ �����, ᮮ⢥������� ������ ����, �� ������� �� ���騩 ��砩. ������� BREAK � RETURN ����� ᠬ� ����� ᯮᮡ�� ��室� �� ��४���⥫�. ��� �� ���㤨� ����� � �⮩ �����, ������ BREA� ����� �ᯮ�짮���� � ��� ������������ ��室� �� ����� 横�� WHILE, FOR � DO. ��������� ᪢��� ��砨 ����� ��� � ���⮨��⢠, ⠪ � ������⪨. � ������⥫�� ����⢠� ����� �⭥�� �, �� ��� �������� �易�� ���쪮 ��砥� � ����� ���- �⢨��, ��� �뫮 � �����, ⠡��樥� � ����� ��ப�� � ��襬 �ਬ��. �� � � �� �६� ��� ���筮 �ਢ���� � ����- 室����� �����稢��� ����� ��砩 ����� BREAK, �⮡� �������� ���室� � ���饬� ����. ��������� � ������ ���� �� ��㣮� ���筮 �뢠�� ����⮩稢�, ⠪ ��� ��� ᪫���� � ��饯����� �� ����䨪�樨 �ணࠬ��. �� �᪫��- ����, ����� ������ ������ ᮮ⢥������ ���쪮 ��⮪, ��������� ��� �ᯮ�짮���� 㬥७��. ������� �ਢ��� �⠢��� ������ BREAK �� �����- �� ���� (� ������ �ਬ�� �� DEFAULT), ���� � �� �� ���� �����᪨ ����室���. � ���� �४��� ����, ���- �� �� ������� � ����� �� ���� ��砩, �� �����쪠� ��� �।������� ������� ��� �� �����⭮�⥩. ��ࠦ����� 3-1. -------------- ������ �ணࠬ�� ��� �㭪樨 EXPAND(S, T), ����� ��- ����� ��ப� S � �, ������� �� �⮬ ᨬ���� ⠡��樨 � ����� ��ப� �� ������ ���� ������⥫쭮��, ��� \N � \�. �ᯮ���� ��४���⥫�. 3.5. ����� - WHILE � FOR �� 㦥 �⠫�������� � �����ࠬ� 横�� WHILE � FOR. � �������樨 WHILE (��ࠦ����) ������ �������� ��ࠦ����. � ��� ���祭�� �⫨筮 �� ���, � �믮������ ������ � ��ࠦ���� �������� ᭮��. ��� 横� �த�������� �� �� ���, ���� ���祭�� ��ࠦ���� �� �⠭�� �㫥�, �� 祣� �믮������ �ணࠬ�� �த�������� � ���� �� ������. ������ FOR (��ࠦ���� 1; ��ࠦ���� 2; ��ࠦ���� 3) ������ - 65 - ������⥭ ������⥫쭮�� ��ࠦ���� 1; WHILE (��ࠦ���� 2) { ������ ��ࠦ���� 3; } �ࠬ����᪨ �� �� ��������� � FOR ����� ��ࠦ���ﬨ. �������� �����࠭���� ���� ��砩, ����� ��ࠦ���� 1 � ��ࠦ���� 3 ����� ��ᢠ�����ﬨ ��� ���饭�ﬨ � ��- ���, � ��ࠦ���� 2 - ���� ��ࠦ�����. �� �� ��� ��⥩ ����� ���� ���饭�, ��� �窨 � ����⮩ �� �⮬ ������ ��⠢�����. � ��������� ��ࠦ���� 1 ��� ��ࠦ�- ��� 3, � ��� ���� �믠���� �� ���७��. � �� ������- ��� ��ઠ, ��ࠦ���� 2, � ��⠥���, ��� ��� ��� �ᥣ�� ��⨭��, ⠪ �� FOR (;;) { ... } ���� ������ 横���, � ��� �।����������, �� �� �㤥� ��ࢠ� ��㣨�� �।�⢠�� (⠪��� ��� BREAK ��� RETURN). �ᯮ�짮���� �� WHILE ��� FOR - ��, � �᭮���� ���� ����. ���ਬ�� � WHILE ((C = GETCHAR()) == ' ' \!\! C == '\N' \!\! C == '\T') ; /* SKIP WHITE SPACE CHARACTERS */ ��� �� ���樠����樨, �� २��樠����樨, ⠪ �� 横� WHIL� �룫廊� ᠬ� ����⢥���. ���� FOR, �祢����, �।����⥫쭥� ⠬, ��� ������� ����� ���樠������ � २��樠������, ����� �� �⮬ �ࠢ���騥 横��� ������� ����來� ��ࠧ�� ����뢠���� ����� � ��砫� 横��. �� �������� �祢���� � �������樨 FOR (I = 0; I < N; I++) ����� ���� ������� �몠 "C" ��� ��ࠡ�⪨ ����� N ���⮢ ���ᨢ�, �������筮� ������� 横�� DO � ���࠭� � PL/1. ��������, ������, �� ������, ⠪ ��� �࠭��� 横�� ����� ���� �������� ����� 横��, � �ࠢ����� ��६����� ��࠭�� � ���祭�� �� ��室� �� 横��, ������ �� �� �뫠 ��稭� �⮣� ��室�. ����� ��������⠬� FOR ����� ���� �ந������ ��ࠦ����, ��� �� ��࠭�稢����� ⮫쪮 ��䬥��᪨�� �ண���ﬨ. ��� �� ����� ���� ���娬 �⨫�� ������� � FOR ������, ����� �� �⭮����� � �- ࠢ����� 横���, ���� �������� �� � �ࠢ�塞� 横��� �������. - 66 - � ����⢥ ����襣� �� ࠧ���� �ਬ�� �ਢ���� ��㣮� ��ਠ�� �㭪樨 ATOI, �८�ࠧ��饩 ��ப� � �� ���� �������. ��� ��ਠ�� ���� ����� ��騬; �� ����᪠�� ������⢨� � ��砫� ᨬ����� ������ ����⪮� � ����� + ��� -. (� ����� 4 �ਢ����� �㭪�� ATOF, ����� �믮���� � �� ᠬ�� �८�ࠧ������ ��� �ᥫ � ������饩 �窮�). ���� �奬� �ணࠬ�� ��ࠦ��� ��� ����㯠��� ������: - �ய����� ���⮩ ����⮪, � �� ������� - ������� ����, � �� ������� - ������� 楫�� ���� � �८�ࠧ����� �� ����� 蠣 �믮���� � ���� ࠡ��� � ��⠢��� �� � �����⮢������ ���ﭨ� ��� ���饩 ���. ���� ����� �����稢����� �� ��ࢮ� ᨬ����, ����� �� ����� ���� ����� �. ATOI(S) /* CONVERT S TO INTEGER */ CHAR S[]; { INT I, N, SIGN; FOR(I=0;S[I]==' ' \!\! S[I]=='\N' \!\! S[I]=='\T';I++) ; /* SKIP WHITE SPACE */ SIGN = 1; IF(S[I] == '+' \!\! S[I] == '-') /* SIGN */ SIGN = (S[I++]=='+') ? 1 : - 1; FOR( N = 0; S[I] >= '0' && S[I] <= '9'; I++) N = 10 * N + S[I] - '0'; RETURN(SIGN * N); } �२����⢠ 業�ࠫ���樨 �ࠢ����� 横��� �⠭������ �� ����� �祢���묨, ����� ������� ���쪮 ��������� 横- ���. �������� �㭪�� ������ ���ᨢ 楫�� �ᥫ �� ���- �� 襫��. �᭮���� ���� ����� �� 襫�� �����砥��� � ⮬, �� ᭠砫� �ࠢ�������� 㤠����� �����, � �� ᬥ�- ��, ��� � ���筮� ��⮤� �����. �� �ਢ���� � �����- �� ���࠭���� ����让 ��� ��㯮�冷祭���� � ᮪�頥� �������� ࠡ���. ���ࢠ� ����� ���⠬� ���⥯���� ᮪�頥��� �� �������, ����� ����� 䠪��᪨ �ॢ�- 頥��� � ��⮤ ����⠭���� �ᥤ��� ���⮢. - 67 - SHELL(V, N) /* SORT V[0]...V[N-1] INTO INCREASING ORDER */ INT V[], N; { INT GAP, I, J, TEMP; FOR (GAP = N/2; GAP > 0; GAP /= 2) FOR (I = GAP; I < N; I++) FOR (J=I-GAP; J>=0 && V[J]>V[J+GAP]; J-=GAP) { TEMP = V[J]; V[J] = V[J+GAP]; V[J+GAP] = TEMP; } } ����� ������� �� ��������� 横��. ���� ���譨� 横� �ࠢ- ��� ���ࢠ��� ����� �ࠢ������묨 ���⠬�, 㬥���� ��� �� N/2 ����� �� ������ ��室�, ���� �� �� �⠭�� ࠢ�� ���. �।��� 横� �ࠢ������ ������ ���� ���⮢, ࠧ��- ������ �� ����稭� ���ࢠ��; ᠬ� ����७��� 横� ����- ⠢��� ���� ��㯮�冷祭��� ����. ��� ��� ���ࢠ� � ���� ���殢 ����� � ������, �� ����� � १���� 㯮��- ��稢����� �ࠢ��쭮. �⬥⨬, �� � ᨫ� ��魮�� �������- 樨 FOR ���譨� 横� 㪫��뢠���� � �� �� ᠬ�� ���, �� � ��⠫��, ��� �� � �� ���� ��䬥��� �ண��ᨥ�. ������ ����樥� �몠 "C" ���� ������ ",", ��- ��� �� �ᥣ� �ᯮ������ � ������ FOR. ��� ��ࠦ�- ���, ࠧ������� ����⮩, ��������� �� ���ࠢ�, ��祬 ⨯�� � ���祭��� १���� ����� ⨯ � ���祭�� �ࠢ��� ���࠭��. ����� ��ࠧ��, � ࠧ���� ��� ������ FOR ����� ������� ���쪮 ��ࠦ����, ���ਬ��, ��� ��ࠫ����- ���� ��������� ���� �����ᮢ. �� ������������ �㭪樥� REVERSE(S), ����� �ᯮ������ ��ப� S � ���⭮� ���浪� �� ⮬ �� ����. REVERSE(S) /* REVERSE STRING S IN PLACE */ CHAR S[]; { INT C, I, J; FOR(I = 0, J = STRLEN(S) - 1; I < J; I++, J--) { C = S[I]; S[I] = S[J]; S[J] = C; } } ������, ����� ࠧ������ ��㬥��� �㭪権, ��६���� � ���ᠭ��� � �.�., �� ����� �⭮襭�� � ����樨 ������ � �� ���ᯥ稢��� ������ �� ���ࠢ�. - 68 - ��ࠦ����� 3-2. --------------- ���⠢�� �ணࠬ�� ��� �㭪樨 EXPAND(S1,S2), ����� ������ ᮪�饭�� ������祭�� ���� �-Z �� ��ப� S1 � �������� ����� ᯨ᮪ ���...XYZ � S2. ����᪠���� ᮪- �饭�� ��� ������ � �ய���� �㪢 � ���. ���� ��⮢� ����� ���� � ���ﬨ ⨯� �-�-�, �-Z0-9 � -�-Z. (�������� ᮣ��襭�� ��⮨� � ⮬, �� ᨬ��� -, ���騩 � ��砫� ��� ����, ���ਭ������� �㪢��쭮). 3.6. ���� DO - WHILE ��� 㦥 �⬥砫��� � ����� 1, 横�� WHILE � FOR �������� ⥬ ����� ��⢮�, �� � ��� ��ઠ ����砭�� �����- ⢫���� � ��砫�, � �� � ���� 横��. ��⨩ ������ 横�� �몠 "C", DO-WHILE, ����� ���� ����砭�� � ����, �� ������� ��室� �१ ⥫� 横��; ⥫� 横�� �ᥣ�� �믮������ �� �ࠩ��� ��� ���� ࠧ. ���⠪�� �⮣� ����- �� ����� ���: DO ������ WHILE (��ࠦ����) ���砫� �믮������ ������, ��⥬ �������� ��ࠦ����. � ��� ��⨭��, � ������ �믮������ ᭮�� � �.�. � ��ࠦ���� �⠭������ �����, 横� �����稢�����. ��� � ����� �뫮 �������, 横� DO-WHILE �ᯮ������ ����⥫쭮 ०�, 祬 WHILE � FOR, ��⠢��� �ਬ�୮ ���� ��業⮢ �� ��� 横���. ��� �� �����, ������ �� ����뢠��- �� �������, ���, ���ਬ��, � ���饩 �㭪樨 ITOA, ���- �� �८�ࠧ�� � � ᨬ������ ��ப� (���⭠� �㭪樨 ATOI). �� ����� ����뢠���� ���쪮 ����� ����, 祬 ����� ���������� ᭠砫�. ���� � ⮬, �� ����� ��⮤� ��- ������� ��� ��������� �� � ���ࠢ��쭮� ���浪�. �� �।- ��竨 ������� ��ப� � ���⭮� ���浪�, � ��⥬ ������ ��. - 69 - ITOA(N,S) /*CONVERT N TO CHARACTERS IN S */ CHAR S[]; INT N; { INT I, SIGN; IF ((SIGN = N) < 0) /* RECORD SIGN */ N = -N; /* MAKE N POSITIVE */ I = 0; DO { /* GENERATE DIGITS IN REVERSE ORDER */ S[I++] = N % 10 + '0';/* GET NEXT DIGIT */ } WHILE ((N /=10) > 0); /* DELETE IT */ IF (SIGN < 0) S[I++] = '-' S[I] = '\0'; REVERSE(S); } ���� DO-WHILE ����� ����室��, ��� �� �ࠩ��� ��� 㤮���, �����, ������ �� �� �뫮 ���祭�� N, ���ᨢ S ������ �- ��ঠ�� ��� �� ���� ᨬ���. �� �����稫� � 䨣��� ��� ���� ������, ��⠢���騩 ⥫� DO-WHIL�, ��� �� � �� ��易⥫쭮, ��� ⮣�, �⮡� �ய���� ��⥫� �� �ਭ� ���� WHILE �� ��砫� ������ 横�� WHILE. ��ࠦ����� 3-3. -------------- �� �।�⠢����� �ᥫ � ����筮� �������⥫쭮� ���� ��� ��ਠ�� ITOA �� �ࠢ����� � �������訬 ����⥫�� ��, �.�. �� ���祭��� N �A��� -2 � �⥯��� �-1, ��� � - ࠧ��� ��. ����᭨� ��祬�. ������� �ணࠬ�� ⠪, ��- �� ��� �ࠢ��쭮 ���⠫� �� ���祭�� �� �� ��設�. ��ࠦ����� 3-4. -------------- ������ ���������� �㭪�� ITOB(N,S), ����� �८��- ��� 楫�� ��� ����� N � ��� ����筮� ᨬ���쭮� �।�⠢��- ��� � S. ���ணࠬ����� �㭪�� ITOH, ����� �८�ࠧ�� 楫�� � ��⭠����筮� �।�⠢�����. ��ࠦ����� 3-5. --------------- ������ ��ਠ�� I⮠, ����� ����� ��, � �� ��� ���- ����. ��⨩ ��㬥�� - �������쭠� �ਭ� ����; �८�ࠧ�- ������ � ������, � �� ����室���, ����������� �� ������, ⠪ �⮡� ��� ����� �������� �ਭ�. - 70 - 3.7. ������ BREAK ������ �뢠�� 㤮��� ����� ����������� �ࠢ���� ���- ��� �� 横�� ����, 祬 ��મ� ���� � ��砫� ��� � ����. ������ BR��� �������� ��� �� ����� FOR, WHILE � DO �� ����砭�� 横�� �筮 ⠪ ��, ��� � �� ��४- ���⥫�. ������ BR��� �ਢ���� � ������������ ��室� �� ᠬ��� ����७���� �墠�뢠�饣� ��� 横�� (��� ��४����- ��). �������� �ணࠬ�� 㤠��� 墮�⮢� ���� � ⠡��- 樨 �� ���� ������ ��ப� 䠩�� �����. ��� �ᯮ���� ���- ��� BR��� ��� ��室� �� 横��, ����� ������ �ࠩ��� �ࠢ� �⫨�� �� ���� � ⠡��樨 ᨬ���. #DEFINE MAXLINE 1000 MAIN() /* REMOVE TRAILING BLANKS AND TABS */ { INT N; CHAR LINE[MAXLINE]; WHILE ((N = GETLINE(LINE,MAXLINE)) > 0) { WHILE (--N >= 0) IF (LINE[N] != ' ' && LINE[N] != '\T' && LINE[N] != '\N') BREAK; LINE[N+1] = '\0'; PRINTF("%S\N",LINE); } } �㭪�� GETLINE �����頥� ����� ��ப�. ����७��� 横� ��稭����� � ������� ᨬ���� LINE (��������, �� --N 㬥��蠥� N �� �ᯮ�짮����� ��� ���祭��) � �������� � ��- �⭮� ���ࠢ����� � ���᪥ ��ࢮ�� ᨬ���� , ����� �⫨- 祭 �� ����, ⠡��樨 ��� ����� ��ப�. ���� ���뢠��- ��, ����� ���� ������ ⠪�� ᨬ���, ���� N �⠭������ ���- �⥫�� (�.�., ����� ��ᬮ�७� ��� ��ப�). �����㥬 ��� 㡥������, �� ⠪�� ��������� �ࠢ��쭮 � � ⮬ ��砥, ����� ��ப� ��⮨� ⮫쪮 �� ᨬ����� ������ ����⪮�. � ����⢥ ����ୠ⨢� � BR��� ����� ����� ���� � ᠬ 横�: WHILE ((N = GETLINE(LINE,MAXLINE)) > 0) { WHILE (--N >= 0 && (LINE[N] == ' ' \!\! LINE[N] == '\T' \!\! LINE[N] == '\N')) ; ... } - 71 - �� ���㯠�� �।��饬� ��ਠ���, ⠪ ��� ��ઠ �⠭�- ����� ��㤭�� ��� ���������. ��ப, ����� �ॡ��� ��- ९��⥭�� &&, \!\!, ! � ��㣫�� ���, �� ���������� - ��� ��������. 3.8. ������ CONTINUE ������ CONTINUE த�⢥��� ������� BR���, �� �ᯮ��- ����� ०�; �� �ਢ���� � ��砫� ���饩 ���樨 �墠��- ���饣� 横�� (FOR, WHILE, DO ). � 横��� WHILE � DO �� ��- ��砥� �����।�⢥��� ���室 � �믮������ ���筮� ���; � 横�� FOR �ࠢ����� ��।����� �� 蠣 २��樠��- ��樨. (������ CONTINUE �ਬ������ ⮫쪮 � 横���, �� �� � ��४���⥫��. ������ CONTINUE ����� ��४���⥫� ����� 横�� ��뢠�� �믮������ ���饩 ���樨 横��). � ����⢥ �ਬ�� �ਢ���� �ࠣ����, ����� ��ࠡ���- ���� ⮫쪮 ������⥫�� ����� ���ᨢ� �; ����⥫�� ���祭�� �ய�᪠����. FOR (I = 0; I < N; I++) { IF (A[I] < 0) /* SKIP NEGATIVE ELEMENTS */ CONTINUE; ... /* DO POSITIVE ELEMENTS */ } ������ CONTINUE ��� �ᯮ������, ����� ������� ���� 横�� ����뢠���� 誮� ����, ⠪ �� ��ᬮ��- ��� ����, ���⭮�� ���塞���, �ਢ���� � 誮� ���- ������ ��� ���������� �ணࠬ��. ��ࠦ����� 3-6. -------------- ������ �ணࠬ�� �������� ����� �� �뢮�, � ⥬ ��- ���祭���, �� �� ������ ��㯯� ������⥫��� ���������� ��ப �뢮����� ⮫쪮 ����. (�� ���⮩ ��ਠ�� �⨫��� UNIQ ��⥬ UNIX). 3.9. ������ GOTO � ��⪨ � �몥 "C" �।�ᬮ�७ � ������ GOTO, ����� ��- ��筮 ���㯮�ॡ����, � ��⪨ ��� ��⢫����. � �ଠ�쭮� �窨 �७�� ������ GOTO ������� �� ���� ����室���, � �� �ࠪ⨪� ���� �ᥣ�� ����� ������� ��� ����. �� �� �ᯮ�짮���� GOTO � �⮩ �����. ��� �� �����, �� 㪠��� ���쪮 ���権, ��� ������ GOTO ����� ���� � ����. �������� �ࠪ��� ���� ��� �ᯮ�짮����� ⮣��, ����� �㦭� ��ࢠ�� �믮������ � �����ன ��㡮�� ��������� �������, ���ਬ��, ��� �ࠧ� �� ���� 横���. ����� ����� �����।�⢥��� �ᯮ�짮���� ������ BR���, ⠪ ��� �� ���뢠�� ⮫쪮 ᠬ� ����७��� 横�. ���⮬�: - 72 - FOR ( ... ) FOR ( ... ) { ... IF (DISASTER) GOTO ERROR; } ... ERROR: CLEAN UP THE MESS � �ணࠬ�� ��ࠡ�⪨ �訡�� ���ਢ���쭠 � �訡�� ����� ��������� � ���쪨� �����, � ⠪�� �࣠������ ����뢠- ���� 㤮����. ��⪠ ����� ⠪�� �� ���, �� � ��� ��६��- ���, � �� ��� �ᥣ�� ��� �����稥. ��⪠ ����� ���� �ਯ�ᠭ� � ��� ������� ⮩ �� �㭪樨, � ���ன ���- ����� ������ GOTO. � ����⢥ ��㣮�� �ਬ�� ��ᬮ�ਬ ������ ��宦����� ��ࢮ�� ����⥫쭮�� ���� � ��㬥୮� ���ᨢ�. (�����- ���� ���ᨢ� ��ᬠ�ਢ����� � ����� 5). ��� ���� �� ���- ������⥩: FOR (I = 0; I < N; I++) FOR (J = 0; J < M; J++) IF (V[I][J] < 0) GOTO FOUND; /* DIDN'T FIND */ ... FOUND: /* FOUND ONE AT POSITION I, J */ ... �ணࠬ��, �ᯮ������ ������ GOTO, �ᥣ�� ����� ���� ����ᠭ� ��� ����, ���, ��������, �� ��� ����७�� ����- ���� ��ப � �������� �������⥫��� ��६�����. ����- ���, �ணࠬ�� ���᪠ � ���ᨢ� �ਬ�� ���: FOUND = 0; FOR (I = 0; I < N && !FOUND; I++) FOR (J = 0; J < M && !FOUND; J++) FOUND = V[I][J] < 0; IF (FOUND) /* IT WAS AT I-1, J-1 */ ... ELSE /* NOT FOUND */ ... ���� �� �� 塞�� � �⮬ ����� �����⨪���, ��� �� �� �������, �� � � �㦭� �ᯮ�짮���� ������ GOTO, � ���쬠 㬥७��.
Характеристики
Тип файла документ
Документы такого типа открываются такими программами, как Microsoft Office Word на компьютерах Windows, Apple Pages на компьютерах Mac, Open Office - бесплатная альтернатива на различных платформах, в том числе Linux. Наиболее простым и современным решением будут Google документы, так как открываются онлайн без скачивания прямо в браузере на любой платформе. Существуют российские качественные аналоги, например от Яндекса.
Будьте внимательны на мобильных устройствах, так как там используются упрощённый функционал даже в официальном приложении от Microsoft, поэтому для просмотра скачивайте PDF-версию. А если нужно редактировать файл, то используйте оригинальный файл.
Файлы такого типа обычно разбиты на страницы, а текст может быть форматированным (жирный, курсив, выбор шрифта, таблицы и т.п.), а также в него можно добавлять изображения. Формат идеально подходит для рефератов, докладов и РПЗ курсовых проектов, которые необходимо распечатать. Кстати перед печатью также сохраняйте файл в PDF, так как принтер может начудить со шрифтами.