8192
Объяснение:
Данная незамысловатая функция Excel VBA формирует строку, согласно условию.
Function replstr(str As String, n As Integer) As String
Dim a(1 To 3), b(1 To 3) As String, i, j As Integer
a(1) = "A": a(2) = "B": a(3) = "AB"
b(1) = "AB": b(2) = "AB": b(3) = "A"
For i = 1 To n
j = (i - 1) Mod 3 + 1
str = Replace(str, a(j), b(j))
Next
replstr = str
End Function
Аргументы функции:
1) Исходная строка (а данном случае “AA”)
2) Число операций с исходной строкой
Значение первых 13 операций:
=replstr("AA";1) ABAB
=replstr("AA";2) AABAAB
=replstr("AA";3)
=replstr("AA";4) ABABABAB
=replstr("AA";5) AABAABAABAAB
=replstr("AA";6)
=replstr("AA";7) ABABABABABABABAB
=replstr("AA";8) AABAABAABAABAABAABAABAAB
=replstr("AA";9)
=replstr("AA";10)
=replstr("AA";11)
=replstr("AA";12)
=replstr("AA";13)
Для подсчета символов “A” в строке, используем еще одну функцию:
Function chrcount(str1 As String, str2 As String) As Integer
Dim str() As String
str = Split(str1, str2)
chrcount = UBound(str, 1)
End Function
Аргументы функции:
1) Cтрока
2) Символ (последовательность символов), число которых требуется найти
Например, результатом использования функции =chrcount(replstr("AA";20);"A") в ячейке Excel будет число 256
Используя описанные функции, посчитаем символы “A”в первых 13 строках
Номер операции (i) Число символов “A” в строке
1 2
2 4
3 4
4 4
5 8
6 8
7 8
8 16
9 16
10 16
11 32
12 32
13 32
Как видно из таблицы, число символов в строке образует числовую последовательность 2^1; 2^2; 2^2; 2^2; 2^3; 2^3; 2^3; … 2^([(i-2)/3]+2)
Таким образом, мы получили формулу для вычисления числа символов “A”в строке по номеру операции.
Соответственно, 2^([(35-2)/3]+2) = 8192
Основний алгоритм для визначення найменшого і найбільшого числа з набору дійсних чисел включає наступні кроки:
Ініціалізувати змінну мінімум значенням першого числа у наборі.
Ініціалізувати змінну максимум значенням першого числа у наборі.
Просканувати залишок чисел у наборі.
Для кожного числа:
Порівняти його зі значенням мінімум. Якщо воно менше, оновити значення мінімум на поточне число.
Порівняти його зі значенням максимум. Якщо воно більше, оновити значення максимум на поточне число.
Вивести значення мінімум і максимум.
Ось приклад реалізації даного алгоритму у мові програмування Lazarus (з використанням Pascal):program FindMinMax;
var
numbers: array[1..6] of Real; // Набір чисел
minimum, maximum: Real; // Змінні для збереження найменшого і найбільшого числа
i: Integer;
begin
// Ініціалізація набору чисел (приклад)
numbers[1] := 3.14;
numbers[2] := 2.718;
numbers[3] := 1.618;
numbers[4] := 0.577;
numbers[5] := 2.236;
numbers[6] := 1.414;
// Ініціалізація мінімуму і максимуму першим числом у наборі
minimum := numbers[1];
maximum := numbers[1];
// Пошук найменшого і найбільшого чисел у наборі
for i := 2 to 6 do
begin
if numbers[i] < minimum then
minimum := numbers[i];
if numbers[i] > maximum then
maximum := numbers[i];
end;
// Виведення результатів
WriteLn('Найменше число: ', minimum);
WriteLn('Найбільше число: ', maximum);
end.
Запустивши цей код у середовищі Lazarus, ви отримаєте виведені на екран найменше і найбільше число з набору. Ви можете змінити значення `numbers
Объяснение: