Проверяем в конструкторе значения на данные признаки, если мы получаем ошибку инициализации, то даем переменным нулевые значения, дабы избежать ошибок в других функция. (грубо говоря, чтобы вся программа не легла из-за конструктора, благодаря выводу текстового сообщения мы будем знать где конкретно ошибка)
#include <iostream>
#include <cmath>
class Progression {
private:
float first;
int second;
public:
Progression(float a0, int d) {
if (a0 == round(a0)) {
std::cout << "Инициализация первого члена прогрессии с конструктора не удалась, первый элемент не должен быть целыми числом!\n";
this->first = 0;
}
else {
this->first = a0;
std::cout << "Инициализация первого члена прогрессии успешно!\n";
}
if (d < 0) {
std::cout << "Инициализация разности прогрессии с конструктора не удалась, разность должна быть положительной!\n";
this->second = 0;
}
else {
this->second = d;
std::cout << "Иницализация разности успешно!\n";
}
}
float operator()(int j){
return this->first + this->second * (j - 1);
}
};
signed main() {
setlocale(LC_ALL, "Rus");
float a;
int b;
std::cout << "Введите значение a0 и d: ";
std::cin >> a >> b;
Progression p1(a, b);
std::cout << p1(2);
return 0;
}
1. Во втором письме содержится меньшее количество информации на 5 500 бит
2. 256 секунд
Объяснение:
1.
I = К * i, где
I - информационный объём письма (документа)
К - количество символов в письме (документе)
i - информационный вес символа (количество бит, которым кодируется 1 символ)
N = 2^i, где
N - мощность алфавита (количество символов в алфавите)
i - информационный вес символа (количество бит, которым кодируется 1 символ)
Дано:
K₁ = 25 строк * 50 символов = 1 250 символов
N₁ = 256 символа
K₂ = 2 страницы * 15 строк * 30 символов = 900 символов
N₂ = 32 символа
Найти:
I ₁ - I₂
256 = 2^i ₁
i₁ = 8 бит
32 = 2^i ₂
i₂ = 5 бит
I₁ = 1 250 * 8 = 10 000 бит
I₂ = 900 * 5 = 4 500 бит
I ₁ - I₂ = 10 000 - 4 500 = 5 500 бит
2.
I = К * i, где
I - информационный объём сообщения (документа)
К - количество символов в сообщении (документе)
i - информационный вес символа (количество бит, которым кодируется 1 символ)
К = V * t, где
K - количество символов в сообщении (документе)
V - скорость печати принтера
t - время печати принтера
Дано:
V = 1 024 символа/с
I = 256 Кбайт = 262 144 байт
i = 1 байт (предположительно)
Найти:
t
I = К * i
К = I / i
К = 262 144 / 1 = 262 144 символов
К = V * t
t = К / V
t = 262 144 / 1 024 = 256 секунд
1 Кбайт = 1024 байт