Есть ответ 👍

Будьте добры с заданием по информатике

167
410
Посмотреть ответы 1

Ответы на вопрос:


Решение в pascalabc.net 3.4 *** этот файл мы должны назвать nekkit20.pas *** *** после его компиляции будет создан модуль *** unit nekkit20; type   tra=(string,integer); function rometoarab(s: string): integer; // перевод римских чисел (не больших mmmcmxcix) в арабские begin   var ar: ='ivxlcdm';   var aa: =arr(1,5,10,50,100,500,1000);   var n: =0;   result: =0;   foreach var c in s do   begin       var c1: =n;       n: =aa[pos(c,ar)-1];       result+=n+(n> c1? -2*c1: 0)   end; end; function equal(r: array of string; a: array of integer): sequence of tra; // возвращает последовательность кортежей // из массива римских чисел (массив r), // для которых есть соответствие в массиве арабских чисел (массив a)  begin   foreach var q in r do   begin       var n: =rometoarab(q);       if a.indexof(n)> -1 then yield((q,n))   end end; end. *** а это другой файл с любым именем, кроме nekkit20 *** *** он обращается к молулю nekkit20 *** uses nekkit20; begin   var sr: =arr('dxviii','lxiii','mii','xiv','lxxxviii','cxcvi');   var ar: =arr(14,98,196,1002,518,64,87);   var r: =equal(sr,ar);   if r.count=-1 then writeln('нет совпадений')   else       foreach var t in r do           writeln(t[0],' = ',t[1]) end. *** контрольный пример *** dxviii = 518 mii = 1002 xiv = 14 cxcvi = 196

Популярно: Информатика