<u>Только для версии PascalABC.Net 3.2</u>
Коротко и эффектно!
begin
Writeln('Количество слов равно ',ReadlnString('Вводите:').ToWords.Count)
end.
Пример
Вводите: Карл у Клары украл кораллы.
Количество слов равно 5
<u>VBA MS Excel 2003</u>
Sub aaa()
a = Split(InputBox("Вводите строку"), " ")
k = 0
For Each e In a
If e <> "" Then k = k + 1
Next
MsgBox "Количество слов равно" + Str(k)
End Sub
// Дан массив целых чисел. Все нечетные элементы удвоить, а четные уменьшить вдвое.
var a: array [1..10] of real; // возьмем массив из 10 чисел
i,x :byte;
begin
randomize;
for i:=1 to 10 do //заполняем исходный массив случайными числами (до 1000)
begin
a[i]:=random(1000);
writeln (i,' элемент исходного массива ',a[i]);
end;
writeln ();
for i:=1 to 10 do
begin
x:=i mod 2; //определяем четный или нет элемент массива
if x=0 then //если элемент четный
begin
a[i]:=a[i]/2;
writeln (i,' элемент массива - четный ',a[i]);
end
else //если элемент нечетный
begin
a[i]:=a[i]*2;
writeln (i,' элемент массива - нечетный ',a[i]);
end;
end;
<span>end.</span>
<u>PascalABC.NET 3.3.5, сборка 1659 от 09.04.2018</u>
<u>Внимание! Если программа не работает, обновите версию!</u>
begin
var n:=ReadInteger('Количество строк/столбцов в таблице:');
var a:=MatrRandom(n,n,0,1);
a.Println(2); Writeln(2*a.ColCount*'-');
// 1
var k:=0;
for var i:=0 to a.RowCount-1 do
for var j:=0 to a.ColCount-3 do
if (a[i,j]=0) and (a[i,j+1]=0) and (a[i,j+2]=0) then begin
k+=1; break
end;
Writeln('1: ',k);
// 2
k:=0;
for var j:=0 to a.ColCount-1 do
if (a[0,j]=0) and (a[1,j]=1) then begin
var (i,flag):=(2,True);
while i<=a.RowCount-2 do begin
if not ((a[i,j]=0) and (a[i+1,j]=1)) then
begin flag:=False; break end
else i+=2
end;
if flag then k+=1
end
else
if (a[0,j]=1) and (a[1,j]=0) then begin
var (i,flag):=(2,True);
while i<=a.RowCount-2 do begin
if not ((a[i,j]=1) and (a[i+1,j]=0)) then
begin flag:=False; break end
else i+=2
end;
if flag then k+=1
end;
Writeln('2: ',k);
// 3
var r0:=a.Rows.Where(row->row.All(t->t=0)).Count;
var c1:=a.Cols.Where(col->col.All(t->t=1)).Count;
Writeln('3: Нулевых строк ',r0,', единичных колонок ',c1)
end.
<u>Пример</u>
Количество строк/столбцов в таблице: 4
1 1 0 1
0 0 0 1
1 1 1 1
0 1 1 1
--------
1: 1
2: 1
3: Нулевых строк 0, единичных колонок 1
Если хранить число без знака, то
- в 1 байт помещаются числа от 0 до 255 (2⁸-1)
- в 2 байта помещаются числа от 0 до 65 535 (2¹⁶-1)
- в 3 байта помещаются числа от 0 до 16 777 215 (2²⁴-1)
- в 4 байта помещаются числа от 0 до 4 294 967 296 (2³²-1)
Задано число <span>33 554 433 и для его размещения потребуется <u>4 байта.</u>
Можно, конечно, этим всем не заниматься, </span>если есть возможность вычислять логарифмы. В данном случае логарифм по основанию 2, округленный в большую сторону до целых, даст необходимое для представления числа количество битов.
㏒₂<span>33554433 = ㏑</span><span>33554433/㏑2 ≈ 25.00000004 ⇒ 26 бит требуется
Переводим в байты</span>: 26/8 = 3.25 , т.е. потребуется <u>4 байта</u>.