Посимвольное сравнение строк. Тест по-английскому - PascalABC.NET

Узнай цену своей работы

Формулировка задачи:

У меня есть 2 файла, в них записаны слова по одному в строке. Первый файл с английскими словами, второй с русскими. Пользователь будет выбирать, с какого языка на какой он хочет переводить слова (RusToEng или EngToRus, но с этим я разберусь сам). Мне нужно, чтобы из одного файла считывалось слово и выводились в окно, затем из другого файла брался перевод этого слова и сравнивался с тем вариантом, который ввёл пользователь. Также у меня была мысль сделать считывание строк случайным образом из каждого файла. Например в программе создавать третий файл, в него ввести случайные числа (допустим десять чисел, который будут лежать в интервале от 1 до номера строки с последним словом в первом файле), чтобы из других файлов считывались строки с этими номерами. А затем в конце программы удалять файл с числами. Насколько хорошим будет этот вариант? Если есть лучше, а я уверен, что они есть, то просьба написать их сюда, чтобы была возможность сравнить их с другими и набраться опыта.

Решение задачи: «Посимвольное сравнение строк. Тест по-английскому»

textual
Листинг программы
procedure Translate(a, b: array of string);
begin
  var (index, mistakes) := (Random(a.Length), 0);
  writelnformat('Переведите слово: {0}', a[index]);
  while (ReadlnString('Введите вариант перевода:').ToLower <> b[index]) do begin
    mistakes += 1;
    writeln('Неверно!');
  end;
  writelnformat('Вы верно перевели слово {0}, допустив {1} ошибок', a[index], mistakes);
end;
 
begin
  var (eng_words, rus_words, c) := (ReadAllLines('C:\1\ENG.txt').ToArray, ReadAllLines('C:\1\RUS.txt').ToArray, 0);
  while c <> 3 do begin
    c := ReadlnInteger(Format('1 - Eng->Rus{0}2 - Rus->Eng{0}3 - Выход{0}', NewLine));
    case c of
      1: Translate(eng_words, rus_words);
      2: Translate(rus_words, eng_words);
    end;
  end;
end.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 4.2 из 5
Похожие ответы