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

Сорок за решение. . 1. выполнить действия. проверить в десятичной системе счисления: 1100+1101= 101+101= 1011*101= 111*101= 11011-110= 10001-1110= 1011010: 1010= 2. решить : 1. текст занимает полных 5 страниц. на каждой странице размещается 30 строк по 70 символов в строке. какой объем оперативной памяти (вкбайтах) займет этот текст? 2. черно-белое (без градаций серого) растровое графическое изображение имеет размер 10 ´10 точек. какой объем памяти займет это изображение? 3. 3. для хранения растрового изображения размером 128 x 128 пикселей отвели 4 кб памяти. каково максимально возможное число цветов в палитре изображения

👇
Ответ:
LiksiGalaxy
LiksiGalaxy
06.04.2020
Задачи:
1) 5*30*70*8/8/1024=10,25Кбайт
2) 2=2^1 для хранения одного цвета используется 1 бит
    10*10*1=100 бит=12,5 байт
3.3) \frac{4*1024*8}{128*128} = 2 2 бит используется для кодирования одного цвета. 2^2=4цвета
4,5(51 оценок)
Открыть все ответы
Ответ:
ideliya2006
ideliya2006
06.04.2020
PascalABC.NET 3.3.5, сборка 1660 от 20.04.2018
Внимание! Если программа не работает, обновите версию!

procedure Preobraz(var Stroka:string);
begin
  var bq:=new Queue<(integer,integer)>;
  foreach var m in Stroka.Matches('\s+') do
    bq.Enqueue((m.Index,m.Length));
  var wq:=new Queue<(integer,string)>;
  foreach var m in Stroka.Matches('\S+') do
    if m.Value.Any(t->t in ['0'..'9']) then wq.Enqueue((m.Index,''))
    else wq.Enqueue((m.Index,m.Value));
  Stroka:='';
  var pbi,pwi:integer;
  while (bq.Count>0) and (wq.Count>0) do begin
    (pbi,pwi):=(bq.Peek[0],wq.Peek[0]);
    if pbi<pwi then begin
      Stroka:=Stroka+bq.Peek[1]*' ';
      bq.Dequeue
      end
    else begin
      Stroka:=Stroka+wq.Peek[1];
      wq.Dequeue
      end
    end;
  while bq.Count>0 do begin
    Stroka:=Stroka+bq.Peek[1]*' ';
    bq.Dequeue
    end;
  while wq.Count>0 do begin
    Stroka:=Stroka+wq.Peek[1];
    wq.Dequeue
    end
end;

begin
  var s:=ReadlnString;
  Preobraz(s);
  s:='<'+s+'>'; // чтобы было видно, как работает
  s.Println
end.

Дана строка содержащая любые символы кроме букв. под словом будем понимать последовательность симв
4,4(64 оценок)
Ответ:
Мария200114
Мария200114
06.04.2020
Не такое оно и сложное.
Главная проблема - то, что между словами может быть несколько пробелов.
Устраним её, написав функцию, которая оставляла бы между словами по 1 пробелу:

function RemoveSpaces(str : string) : string;
begin
   //Тут цикл for, переписанный через while
   var iter := 1;
   //Проходим по строке
   while (iter < str.Length) do
   begin
      //Если видим 2 пробела подряд, удаляем 1 и откатывает итератор.
      if (str[iter] = ' ') and (str[iter + 1] = ' ') then
         begin
            str := str.Remove(iter, 1);
            iter -= 1;
         end;
      iter += 1;
   end;
   RemoveSpaces := str;
end;

Теперь мы можем получить кол-во слов очень просто:

function CalcWords(str : string) : integer;
begin
   CalcWords := RemoveSpaces(str).Split(' ').Count();
end;

Т.е. мы делим строку на массив через пробелы, и считаем кол-во элементов массива.

полный код: https://pastebin.com/A63ggdWm
4,7(65 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ