Const
n = 10;
var
x: array[1..n] of integer;
i, k: integer;
begin
Randomize; { иниациализация датчика случайных чисел }
Write('Элементы массива: ');
k := 0; { обнулили счетчик }
for i := 1 to n do { цикл для перебора всех элементов }
begin
x[i] := Random(101); { очередное случайное число в диапазоне [0;100] }
if (x[i] mod 2) = 0 then k := k + 1; { если четное, +1 в счетчик}
Write(x[i]:5)
end;
Writeln;
Writeln('Количество четных чисел в массиве равно ', k)
end.
Тестовое решение:
Элементы массива: 70 19 4 83 79 30 92 97 33 71
Количество четных чисел в массиве равно 4
1) m:=54; n:=16
m=n? Нет ⇒ m>n? Да ⇒ m:=m-n (54-16=38)
Ответ: m=38
2) Циклический алгоритм
a:=1; b:=0;
b=4? Нет ⇒ b:=b+1 (1); a:=2*a (2);
b=4? Нет ⇒ b:=b+1 (2); a:=2*a (4);
b=4? Нет ⇒ b:=b+1 (3); a:=2*a (8);
b=4? Нет ⇒ b:=b+1 (4); a:=2*a (16);
b=4? Да.
Ответ: а=16; b=4
Дано:
Объем сообщения = 450 байт
Количество символов = 150
Решение:
1. Вес одного символа:
450/150 = 3 (бита)
2. Мощность алфавита:
2^3 = 8
#include <iostream>
#include <cmath>
using namespace std;
int main() {
float a(-1),b(1),h,x1,x2,y1,y2,k,s(0);
int n(2);
do {
k=s; s=0;
for (int j=1; j<=n; j++) {
h=(b-a)/n;
x1=a+h*(j-1); x2=x1+h;
y1=x1*x1; y2=x2*x2;
s=s+(y1*h+y2*h)/2;
}
n++;
if (abs(s-k)<0.01) {
cout << "1" << endl;
break;
}
}
while(n>=0);
cout << s <<endl << n << endl;
return(0);
}
1: 1111112
2: 111222
3: 22222
4: 111113
5: 333
6: 311122
7: 3312
Отв: 7