М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
anonymus98
anonymus98
14.05.2020 10:35 •  Информатика

Скласти програму, яка визначить до якої категорії населення ви відноситесь за віком.
Категорії:
0-6 років- дитина дошкільного віку
6-10років- школяр початкової школи
11-16 років- школяр середньої школи
17-24 років- ранній працездатній вік
26-54 років- основний працездатний вік
55-64 років- зрілий працездатній вік
65 років і старше- літні люди.

Алгоритм роботи:
1. Ввести з клавіатури вік людини
2. Запрограмувати умови розгалуження
3. Вивести результат ​

👇
Открыть все ответы
Ответ:
Адамчик11
Адамчик11
14.05.2020

Шаг 1.

В алфавите, согласно условию задачи, ровно 15 символов.

Шаг 2.

Давайте посмотрим, сколько нужно минимум выделить бит на 1 символ из алфавита, состоящего из 15 символов.

Если бы мы выделили 1 бит информации, то он бы смог закодировать 1 символ алфавита, состоящего не более чем из 2 символов. А у нас их 15 Значит, 1 бита мало.

Если выделить 2 бита, то закодировать можно символ в алфавите максимум из 4 символов. Мало.

Если выделить 3 бита, то закодировать можно символ в алфавите максимум из 8 символов. Мало.

Если выделить 4 бита, то закодировать можно символ в алфавите максимум из 16 символов. Достаточно.

Значит, для кодирования 1 символа данного алфавита достаточно 4 бит.

Шаг 3.

1 пароль состоит из 15-ти символов.

1 символ "весит" 4 бита.

Значит, 15 символов будут "весить" 15х4=60 бит.

Шаг 4.

1 пароль по условию кодируется минимально возможным целым количеством байт.

Сколько байт нужно для хранения пароля из 60 бит?

7 байт мало, так как 7 байт = 7х8 = 56 бит.

8 байт — в самый раз: 8 байт = 8х8=64 бита.

Следовательно, для хранения одного пароля нужно 8 байт.

Шаг 5

Один пароль "весит" 8 байт.

У нас — 20 пользователей (и 20 паролей соответственно).

Следовательно, они "весят" 8х20 = 160 байт.

Шаг 6

Выделено было 400 байт под пароли.

Чисто на хранение, согласно п.5, было использовать 160 байт.

Значит, осталось на дополнительную информацию300-160=140 байт.

Шаг 7

140 дополнительных байт имеется подо все пароли.

Всего паролей — 20.

Значит, под каждый дополнительно выделяется 140/20=7 байт.

ответ: по 7 байт дополнительно выделено для хранения одного пароля.

Объяснение:

4,6(42 оценок)
Ответ:
niminol
niminol
14.05.2020
Сама задачка порадовала, написал используя только функции С++. Задание реализовал полностью. 
В прикреплённом файле с нормальным форматированием.

#include <iostream>
#include <random>
#include <vector>
#include <algorithm>

// Описывает шахматную нотацию.
struct Notation;
// Заполняет массив случайными шахматными ходами.
void FillField(std::vector<Notation>&);
// Поиск в массиве комбинаций "ход конём".
std::vector<Notation> SearchMoves(const std::vector<Notation>&);
// Поиск возможных комбинаций для хода.
std::vector<Notation> SearchMoves(const Notation&);
// Проверка выхода за границу.
bool CheckMov(const Notation&, int, int);
// Выводит массив в поток.
std::ostream& PrintGround(const std::vector<Notation>&, std::ostream& = std::cout);

int main()
{
std::vector<Notation> field(100);

// Заполняем поле.
FillField(field);

// Выводим исходный массив.
PrintGround(field, std::cout) << std::endl;

// Поиск комбинаций "ход конём".
std::vector<Notation> fieldMovs = SearchMoves(field);

// Выводим полученный массив.
PrintGround(fieldMovs, std::cout) << std::endl;

// Отсортируем оба массива в порядке возрастания.
std::sort(field.begin(), field.end());
std::sort(fieldMovs.begin(), fieldMovs.end());

// Выводим полученные массивы.
PrintGround(field, std::cout) << std::endl;
PrintGround(fieldMovs, std::cout) << std::endl;

return 0;
}

// Описывает шахматную нотацию.
struct Notation{
unsigned char H;
unsigned int  V;

bool operator==(const Notation& rhs) const{ return ((rhs.H == H) && (rhs.V == V)); }
bool operator<(const Notation& rhs) const{ return ((rhs.H < H) || ((rhs.H == H)  && (rhs.V < V))); }
};

// Заполняет массив случайными шахматными ходами.
void FillField(std::vector<Notation>& field){
std::default_random_engine generator;
std::uniform_int_distribution<int> distribution(1, 8);

for (auto& i : field){
i.H = 'a' + distribution(generator) - 1;
i.V = distribution(generator);
}
}

// Поиск возможных комбинаций для хода.
std::vector<Notation> SearchMoves(const Notation& stroke){
std::vector<Notation> temp;
int x, y;

for (int i = 0; i < 8; ++i){
switch (i){
case 0: // Вверх влево.
y = +3; x = -1;
break;
case 1: // Вверх вправо.
y = +3; x = +1;
break;
case 2: // Вправо вверх.
y = +1; x = +3;
break;
case 3: // Вправо вниз.
y = -1; x = +3;
break;
case 4: // Вниз вправо.
y = -3; x = +1;
break;
case 5: // Вниз влево.
y = -3; x = -1;
break;
case 6: // Влево вниз.
y = -1; x = -3;
break;
case 7: // Влево вверх.
y = +1; x = -3;
break;
}
// Если ход возможен, добавим его в массив.
if (CheckMov(stroke, x, y))
temp.push_back(Notation{ stroke.H + x, stroke.V + y });
}
return std::vector<Notation>(temp);
}

// Проверка выхода за границу.
bool CheckMov(const Notation& stroke, int x, int y){
bool isLTBorder = (stroke.H + x >= 'a') && (stroke.V + y >= 1);
bool isRBBorder = (stroke.H + x <= 'h') && (stroke.V + y <= 8);
return (isLTBorder && isRBBorder);
}

// Поиск в массиве комбинаций "ход конём".
std::vector<Notation> SearchMoves(const std::vector<Notation>& field){
std::vector<Notation> possible;

// Все возможные ходы одного элемента.
std::vector<Notation> temp = SearchMoves(*field.begin());
for (auto i = field.begin() + 1; i < field.end(); ++i){
for (auto u : temp){
// Ход в массиве - есть ход конём.
if (u == *i) {
possible.push_back(u);
break;
}
}
temp = SearchMoves(*i);
}

return std::vector<Notation>(possible);
}

// Выводит массив в поток.
std::ostream& PrintGround(const std::vector<Notation>& field, std::ostream& out){
for (auto i : field)
out << i.H << i.V << " - ";
return out;
}
4,5(62 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ