Guest User

Untitled

a guest
Apr 26th, 2018
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pascal 2.53 KB | None | 0 0
  1. Program zzz;
  2. Uses CRT;
  3. Const MAX = 100;
  4.  
  5. Type pupil = record
  6.     fam: string[10];
  7.     name: string[10];
  8.     dd: integer;
  9.     mm: integer;
  10.     yy: integer;
  11.     class: integer;
  12.     bukva: string[1];
  13. end;
  14.  
  15. Var
  16.     s_kolvo, i, s_qwe, age_min, age_max, k, l : integer;
  17.     CLASS, VIBOR: Array[1..MAX] of pupil;
  18.         s_tmps, s_dd, s_mm, s_yy: string;
  19.         p:boolean;
  20.         a:pupil;
  21.  
  22.  
  23. Begin
  24. ClrScr;
  25. Write('Vvedite kol-vo uchenikov: ');
  26. Readln(s_kolvo);
  27. for i:=1 to s_kolvo do
  28. begin
  29.         ClrScr;
  30.     Writeln('Vvodin dannie uchenika #', i);
  31.  
  32.         Writeln(' * Vvedite FI cherez probel: ');
  33.         Readln(s_tmps);
  34.  
  35.         CLASS[i].fam:=copy(s_tmps, 1, pos(' ', s_tmps));
  36.         CLASS[i].name:=copy(s_tmps, pos(' ', s_tmps)+1, length(s_tmps)-pos(' ', s_tmps));
  37.  
  38.         Writeln(' * Vvedite daty rojdenia (dd.mm.yyyy): ');
  39.         Readln(s_tmps);
  40.  
  41.         s_dd:= copy(s_tmps, 1, pos('.', s_tmps)-1);
  42.         s_tmps:= copy(s_tmps, pos('.', s_tmps )+1, length(s_tmps)-pos('.', s_tmps));
  43.         s_mm:= copy(s_tmps, 1, pos('.', s_tmps)-1);
  44.         s_yy:= copy(s_tmps, pos('.', s_tmps)+1, length(s_tmps)-pos('.', s_tmps));
  45.  
  46.         val(s_dd, CLASS[i].dd, s_qwe);
  47.         val(s_mm, CLASS[i].mm, s_qwe);
  48.         val(s_yy, CLASS[i].yy, s_qwe);
  49.  
  50.         Writeln(' * Vvdedite class v formate 3A ili 5B: ');
  51.         Readln(s_tmps);
  52.         val(s_tmps[1], CLASS[i].class, s_qwe);
  53.         CLASS[i].bukva:=s_tmps[2];
  54.  
  55.         writeln(CLASS[i].bukva, CLASS[i].class);
  56.  
  57. end;
  58.  
  59. ClrScr;
  60.  
  61. Writeln(' * Vvedite min vozrast: ');
  62. Readln(age_min);
  63.  
  64. Writeln(' * Vvedite max vozrast: ');
  65. Readln(age_max);
  66.  
  67.  
  68. age_min:=2011-age_min;
  69. age_max:=2011-age_max;
  70. s_qwe:=1;
  71.  
  72. for i:=1 to s_kolvo do
  73. begin
  74.      if ((CLASS[i].yy >= age_max) AND (CLASS[i].yy <= age_min))
  75.      then
  76.      begin
  77.           VIBOR[s_qwe]:=CLASS[i];
  78.           inc(s_qwe);
  79.      end;
  80. end;
  81.  
  82. s_qwe:=s_qwe-1;
  83. p:=true;
  84. k:=1;
  85. while p do
  86. begin
  87.      l:=0;
  88.      for i:=1 to s_qwe-k do
  89.      begin
  90.           if VIBOR[i].yy > VIBOR[i+1].yy
  91.           then
  92.           begin
  93.                a:=VIBOR[i];
  94.                VIBOR[i]:=VIBOR[i+1];
  95.                VIBOR[i+1]:=a;
  96.                l:=l+1;
  97.           end;
  98.           if l=0
  99.           then
  100.             p:=false;
  101.           k:=k+1;
  102.      end;
  103. end;
  104.  
  105. for i:=1 to s_qwe do
  106. begin
  107.      Writeln('Uchenik #',i);
  108.      Writeln(' * FIO: ', VIBOR[i].fam, ' ', VIBOR[i].name);
  109.      Writeln(' * DR: ', VIBOR[i].dd, '/', VIBOR[i].mm, '/', VIBOR[i].yy);
  110.      Writeln(' * Klass: ', VIBOR[i].class, VIBOR[i].bukva);
  111.      Writeln;
  112.  
  113. end;
  114.  
  115.  
  116.  
  117.  
  118. Readln;
  119. End.
Add Comment
Please, Sign In to add comment