Посимвольное сравнение строк. Тест по-английскому - 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.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д