Advertisement
Alyks

Untitled

Oct 24th, 2019
306
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Delphi 1.99 KB | None | 0 0
  1. program task1;
  2.  
  3. {$APPTYPE CONSOLE}
  4.  
  5. {$R *.res}
  6.  
  7. uses
  8.     System.SysUtils;
  9.  
  10. type
  11.     DynArr = Array of Integer;
  12.  
  13. function Input(): Integer;
  14. var
  15.     Value: Integer;
  16.     NotCorrect: Boolean;
  17. begin
  18.     NotCorrect := true;
  19.     Value := 0;
  20.     while(NotCorrect) do
  21.     begin
  22.         try
  23.             Readln(Value);
  24.             NotCorrect := false;
  25.         except
  26.             Writeln('Все вводимые данные должны быть целыми числами. Повторите ввод');
  27.         end;
  28.     end;
  29.  
  30.     Input := Value;
  31. end;
  32.  
  33. function SetMarks(Count: Integer): DynArr;
  34. var
  35.     Mark, i: Integer;
  36.     Arr: DynArr;
  37. begin
  38.     SetLength(Arr, Count);
  39.     i := 0;
  40.     while(i < Count) do
  41.         begin
  42.         Writeln('Введите отметку');
  43.         Mark := Input();
  44.         if((mark < 1) or (mark > 10)) then
  45.         begin
  46.             Writeln('Отметки должны быть от 1 до 10 баллов');
  47.             i := i-1;
  48.         end
  49.         else
  50.             Arr[i] := Mark;
  51.         i := i+1;
  52.     end;
  53.  
  54.     SetMarks := Arr;
  55. end;
  56.  
  57. function LessThan(const Arr: DynArr; Num: Integer): Boolean;
  58. var
  59.     i: Integer;
  60.     Res: Boolean;
  61. begin
  62.     Res := false;
  63.     for i := 0 to High(arr) do
  64.     begin
  65.         if(Arr[i] < Num) then
  66.             Res := true;
  67.     end;
  68.     LessThan := Res;
  69. end;
  70.  
  71. procedure Main();
  72. var
  73.     MarksCount: Integer;
  74.     Marks: DynArr;
  75.     BadStudent: Boolean;
  76. begin
  77.     Writeln('Данная программа проверяет студента на успеваемость на основании его отметок');
  78.     Writeln;
  79.     Writeln('Введите количество отметок');
  80.     MarksCount := Input();
  81.     Marks := SetMarks(MarksCount);
  82.     BadStudent := LessThan(Marks, 4);
  83.     if(BadStudent) then
  84.         Writeln('Студент является неуспевающим')
  85.     else
  86.         Writeln('Студент является успевающим');
  87.     Readln;
  88. end;
  89.  
  90. begin
  91.     Main();
  92. end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement