Как записать условие для отсутствия результата после перебора в цикле?

Необходимо найти перевод или выдать сообщение «нет в словаре». Перевод находит, но куда мне записать еще один else, чтобы выдавало 'Нет в словаре'. Вот кусочек кода.

write('Введите слово для поиска перевода: ');
readln(search);
for i:=1 to n do
 begin
  if x[i].rus=search then
   writeln('Перевод: ',x[i].eng)
  else if x[i].eng=search then
   writeln('Перевод: ',x[i].rus)
end;

Ответы (2 шт):

Автор решения: Igor
write('Введите слово для поиска перевода: ');
readln(search);
for i := 1 to n do
 begin
  if x[i].rus = search then
  begin
    writeln('Перевод: ', x[i].eng);
    break;
  end
  else if x[i].eng = search then
  begin
    writeln('Перевод: ', x[i].rus);
    break;
  end
  else if i = n then
  begin
    writeln('Нет в словаре');
  end;
end;
→ Ссылка
Автор решения: Stanislav Volodarskiy

Классическое решение для задачи - флаг found, который поднимается если найден перевод. После окончания цикла флаг проверяется и если он не поднят то выводится сообщение.

write('Введите слово для поиска перевода: ');
readln(search);
found := false;
for i:=1 to n do
 begin
  if x[i].rus = search then
   begin
    writeln('Перевод: ', x[i].eng);
    found := true
   end
  else if x[i].eng = search then
   begin
    writeln('Перевод: ', x[i].rus);
    found := true
   end
 end;
if not found then
 writeln('Нет перевода')
→ Ссылка