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

Соотнеси название программного средства и название общей группы, в которую это средство входит.
Название групп: А) Системное программное обеспечение Б) Инструментальное программное обеспечение В) Прикладное программное обеспечение
Программные средства: 1. Трансляторы 2. Проблемно-ориентированные пакеты 3. Утилиты 4. Интегрированные пакеты 5. Сервисные системы-оболочки 6. Системы визуального программирования 7. Операционные системы 8. Средства тестирования

👇
Ответ:
Angelina626
Angelina626
16.01.2020

Объяснение:

1)В

2)А

3)В

4)В

5)А

6)Б

7)А

8)Б

4,4(7 оценок)
Открыть все ответы
Ответ:
vavilina000
vavilina000
16.01.2020

Задачка мне очень понравилась, прилагаю решение на C#, консольное приложение

Объяснение:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

namespace Археологи_строители

{ class Program

   {

       static void Main(string[] args)

       {

           //Объявляем и задаем переменные "M" и "N", а так же переменную для результата

           int M,N=new int();

           int MyResult = 0;

           Console.WriteLine("Ведите Текущее количество ступенек и Сколько их должно быть:");

           M = int.Parse(Console.ReadLine());

           N = int.Parse(Console.ReadLine());

           // Создаем массив для хранения данных о ступенях. M-Количество ступенек, Цифра - для колонок длины и высоты

           int[,] mass = new int[M,2];

           // Запись значений в массив

           for (int x = 0; x < M; x++){

               for (int y = 0; y < 2; y++){

                   if (y==0){  //Чисто для юзерфрендли отображения

                       Console.Write($"Введите значение Длины для ступеньки №{x + 1}= ");} else{

                       Console.Write($"Введите значение Высоты для ступеньки №{x + 1}= ");}

                   mass[x, y] = Convert.ToInt32(Console.ReadLine());}

                   Console.WriteLine();}

           /* Как оказалось, самый простой определить какую же ступеньку надо "поднимать"-

            * это вычислить площадь гипотетически "заполняемого" пространства над ступенькой и взять

            * наименьшее значение.

            *  

            * Итак, допустим если у нас 5 ступенек, то нам нам необходимо записать 4 значения

            * (в рамках лестницы) площади заполняемых ступенек.

            *  

            * Перемножаем Длину ступеньки N на высоту ступеньки N+1, M-1 раз и сохраняем в массив

            */

           int M2 = M; //Дублируем изначальное число ступенек для контроля цикла

           for (int z = 0; z <M2-N; z++)

           {

               int[] acreage = new int[M - 1];

               for (int x = 0; x < M - 1; x++)

               {

                   for (int y = 0; y < 2; y++)

                   {

                       acreage[x] = mass[x, 0] * mass[x + 1, 1];

                   }

               }

               /*

                * И так у нас есть все значения гипотетически заполняемой ступеньки.

                * Ищем минимальное значение площади  

                */

               int minAcreage = acreage[0];

               for (int i = 0; i < M - 1; i++)

               {

                   if (minAcreage > acreage[i])

                   {

                       minAcreage = acreage[i];

                   }

               }

               MyResult = MyResult+minAcreage; //Плюсуем данное значение в переменную результата

               // У нас есть минимальная площадь. Найдем номер данной ступеньки

               int IndexAcreage = Array.IndexOf(acreage, minAcreage);

               //"Достроим нужную нам ступеньку и запишем обновленные данные во временный массив"

               int[,] tempMass = new int[M - 1, 2]; //Он на размер меньше, т.к. и "полных" ступенек у нас стало меньше

               for (int x = 0; x < M - 1; x++)

               {

                   for (int y = 0; y < 2; y++)

                   {

                       //Ступеньки до IndexAcreage мы просто переписываем во временный массив

                       if (x < IndexAcreage)

                       {

                           tempMass[x, y] = mass[x, y];

                       }

                       //2 ступеньки от IndexAcreage мы превращаем в одну (застраивая их блоками)

                       else if (x == IndexAcreage)

                       {

                           tempMass[x, y] = mass[x, y] + mass[x + 1, y];

                       }

                       /* и после IndexAcreage мы та же копируем, но со сдвигом вправо, т.к. полноценных  

                        * ступенек стало меньше

                        */

                       else if (x > IndexAcreage)

                       {

                           tempMass[x, y] = mass[x + 1, y];

                       }

                   }

               }

               M = M - 1; //Поскольку ступенек теперь меньше, то и их фактическое число необходимо уменьшить

               for (int x = 0; x < M + 1; x++)

               {

                   for (int y = 0; y < 2; y++)

                   {

                       mass[x, y] = 0;

                   }

               }

               //переписываем данные в основной массив и запускаем следющую интерацию цикла

               for (int x = 0; x < M; x++)

               {

                   for (int y = 0; y < 2; y++)

                   {

                       mass[x, y] = tempMass[x, y];

                   }

               }

           }

           Console.WriteLine($"Минимально необходимое число блоков: {MyResult}");

           Console.ReadKey(true);

       }

   }

}

4,4(75 оценок)
Ответ:
Гарфилд32
Гарфилд32
16.01.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,4(46 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
Полный доступ к MOGZ
Живи умнее Безлимитный доступ к MOGZ Оформи подписку
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ