Eclipse2345
03.08.2020 11:23

Задание 3. Продолжите создание программы (линейный алгоритм), которая будет вычислять математическое выражение: =++. № строки Код программы 1 print ('Вычисление математического выражения ') 2 print ('Введите значения переменных')

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
SHTUJDLXP
27.05.2021 09:47
1. Определим размер алфавита, т.е. количество используемых символов.
20 букв и 9 цифр - это 29 символов. Чтобы закодировать 29 разных символов нужно 5 бит ( 2⁴ < 29 < 2⁵ ).
2. Определим длину личного кода.
В коде 15 символов, каждый символ занимает 5 бит. Всего потребуется 5×15=75 бит. Поскольку код занимает целое число байт, переводит 75 бит в байты. 75/8 = 9.375 ≈ 10 байт.
3. Номер отдела можно закодировать 1 байтом (в байт помещается число от 0 до 255).
4. Найдем количество дополнительных байт.
На пропуске 20 байт, из них 10 заняты кодом, 1 - номером отдела, остаются 20-10-1 = 9 байт.

ответ: 9
0,0(0 оценок)
Ответ:
Tinka123
16.02.2020 19:04

using System;

using System.Collections.Generic;

using System.Text;

namespace MyQueue

{

   public class QueueException : Exception { }

   public class Queue <T>

   {

       private const int _basicCapacity = 8;

       private int _capacity;

       private int _count;

       private T[] _items;

       private int _begin;

       private int _end;

       

       public int Capacity

       {

           get => _capacity;

           protected set

           {

               int newCapacity = value;

               T[] newItems = new T[newCapacity];

               Count = Math.Min(Count, Capacity);

               for (int i = 0; i < Count; i++)

               {  

                   newItems[i] = _items[(_begin + i) % Capacity];

               }

               _begin = 0;

               _end = Count;

               _items = newItems;

               _capacity = newCapacity;

           }

       }

       

       public int Count

       {

           get => _count;

           protected set => _count = value;

       }

       

       public Queue()

       {

           Capacity = _basicCapacity;

           Count = 0;

           _begin = 0;

           _end = 0;

           _items = new T[Capacity];

       }

       

       public void Enqueue(T item)

       {

           if (Count == Capacity)

           {

               Capacity *= 2;

           }

           Count++;

           _items[_end] = item;

           _end = (_end+1) % Capacity;

       }

       

       public bool IsEmpty()

       {

           return Count == 0;

       }

       

       public T Dequeue()

       {

           if (IsEmpty())

           {

               throw new QueueException();

           }

           T item = _items[_begin];

           _begin = (_begin+1) % Capacity;

           Count--;

           if (Count * 4 < Capacity)

           {

               int newCapacity = Math.Max(Capacity / 4, _basicCapacity);

               if (newCapacity < Capacity)

               {

                   Capacity = newCapacity;

               }

           }

           return item;

       }

       

       public T Peek()

       {

           if (IsEmpty())

           {

               throw new QueueException();

           }

           return _items[_begin];

       }

       

       public override string ToString()

       {

           StringBuilder sb = new StringBuilder();

           for(int i = 0; i < Count; i++){

               if (i > 0)

               {

                   sb.Append(" ");

               }

               sb.Append(_items[(_begin+i) % Capacity].ToString());

           }

           return sb.ToString();

       }

       

       public void Clear()

       {

           Count = 0;

           _begin = 0;

           _end = 0;

           if (Capacity > _basicCapacity)

           {

               Capacity = _basicCapacity;

           }

       }

   }

   

   class Program

   {

       public static void Main (string[] args)

       {

           Queue <double> q = new Queue <double>();

           for(int i = 0; i < 20; i++){

               q.Enqueue(i);

           }

           Console.WriteLine("0-19: \"{0}\"", q.ToString());

           for(int i = 0; i < 10; i++)

           {

               Console.WriteLine("Peek: {0}", q.Peek());

               Console.WriteLine("Dequeue: {0}", q.Dequeue());

           }

           Console.WriteLine("10-19: \"{0}\"", q.ToString());

           q.Clear();

           Console.WriteLine("Empty queue representation: \"{0}\"", q.ToString());

           Console.WriteLine("Queue is empty? {0}", q.IsEmpty());

       }

   }

}

Объяснение:

Реализация циклической очереди с примерами использования.

Тот же самый код тут: onlinegdb.com/SkyJfEvnS

0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота