Advertisement
dxvmxnd

Untitled

Nov 18th, 2023
21
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.91 KB | None | 0 0
  1. Function InputElementFromConsole() : AnsiChar;
  2. Var
  3. Symbol : AnsiChar;
  4. IsCorrect : Boolean;
  5.  
  6. Begin
  7. Repeat
  8. IsCorrect := True;
  9. Writeln('Введите элемент множества:');
  10. Try
  11. Readln(Symbol);
  12. Except
  13. IsCorrect := False;
  14. Writeln('Неверный ввод данных!');
  15. End;
  16. Until IsCorrect;
  17.  
  18. InputElementFromConsole := Symbol;
  19. End;
  20.  
  21. Function CheckingForCorrect(Line : String) : AnsiChar;
  22.  
  23. Var
  24. Symbol : AnsiChar;
  25.  
  26. Begin
  27. If ((Length(Line) <> 1) Or ((Length(Line) = 1) And (Line = ' '))) Then
  28. Begin
  29. Writeln('Ошибка! Элемент должен быть единичным символом и не пробелом! Введите элемент с клавиатуры');
  30. Symbol := InputElementFromConsole();
  31. End
  32. Else
  33. Symbol := AnsiChar(Line[1]);
  34.  
  35. CheckingForCorrect := Symbol;
  36. End;
  37.  
  38. Function ReadingSet(Path : String; Set1 : TSet) : TSet;
  39. Var
  40. InputFile : TextFile;
  41. Line : String;
  42. Symbol : AnsiChar;
  43.  
  44. Begin
  45. AssignFile(InputFile, Path);
  46. Reset(InputFile);
  47. While (Not EoF(InputFile)) Do
  48. Begin
  49. Readln(InputFile, Line);
  50. Symbol := CheckingForCorrect(Line);
  51. Include(Set1, Symbol);
  52. End;
  53. CloseFile(InputFile);
  54. End;
  55.  
  56. Function InputFromFile() : TSet;
  57.  
  58. Var
  59. InputFile : TextFile;
  60. Set1 : TSet;
  61. Path : String;
  62. Line : String;
  63. Symbol : AnsiChar;
  64. IsCorrect : Boolean;
  65.  
  66. Begin
  67. Set1 := [];
  68. Writeln('При вводе из файла учтите, что элементы множества должны быть одиночными символами и записаны в файле на каждой новой строке.');
  69.  
  70. Path := PathChoice();
  71. Set1 := ReadingSet(Path, Set1);
  72. OutputSet(Set1);
  73.  
  74. InputFromFile := Set1;
  75.  
  76.  
  77. End;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement