Есть ответ 👍

Известно, что в электронных таблицах excel столбцы обозначаются латинскими заглавными буквами и их комбинациями a, b, …, z, aa, ab, …, az, ba, bb, …, bz, …, zz, aaa, aab, …, xvd. каждому столбцу соответствует номер 1, 2, …, 26, 27, 28, …, 52, 53, 54, …, 78, …, 702, 703, 704, …, 16384 соответственно. необходимо составить программу, которая по имени столбца определят его номер.

140
234
Посмотреть ответы 2

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

ovveall
4,5(81 оценок)

Для записи номеров столбцов используются 26 латинских букв, причем после исчерпания букв a..z следует аа..zz, затем - . это всего лишь кодирование чисел в системе счисления по основанию 26, сдвинутой на единицу (потому что нулей нет) с алфавитом а..z. тогда запись вида a₁a₂a₃ = a₁·26² + a₂·26 + a₃. полагаем, что а=1, b=2, z=26   тогда xvd₂₆ = 24·26² + 22·26 + 5 = 16224 + 572 + 4 = 16800, но никак не 16384. 16384 кодируется как xfd - в условии опечатка. // pascalabc.net 3.2, сборка 1334 от 12.11.2016 begin   var s: =uppercase(readlnstring('введите имя столбца'));   var n: =s.length;   var cn: =0;   for var i: =1 to n do           cn+=(ord(s[n-i+1])-64)*trunc(power(26,i-1));   writeln('номер колонки равен ',cn) end. примеры введите имя столбца xfd номер колонки равен 16384 введите имя столбца aa номер колонки равен 27 функция на vba function cln(s as string) as integer       dim colnumber as integer, i as integer       s = ucase(s): cn = 0       n = len(s)       for i = 1 to n               cn = cn + (asc(mid(s, n - i + 1, 1)) - 64) * 26 ^ (i - 1)       next       cln = cn end function

Исполнитель это совокупность действий

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