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

Дан текст, длина которого не превышает 255 символов (текст и его длина определяются пользователем). символы в тексте могут повторяться. средствами языка программирования определить информационный вес символа в строке, если известно, что данный текст содержит все символы некоторого алфавита.

👇
Ответ:
1. Современное решение

// PascalABC.NET 3.2, сборка 1417 от 28.03.2017
// Внимание! Если программа не работает, обновите версию!

begin
  var s:=ReadlnString('Введите строку:').Select(c->LowCase(c));
  var nd:=s.GroupBy(c->c).Select(c->(c.Key,c.Count)).OrderBy(kv->kv[0]);
  var n:=nd.Count;
  nd.Select(kv->(kv[0],kv[1]/n)).ForEach(kv->Writeln(kv[0],' : ',kv[1]:5:3))
end.

Пример работы
Введите строку: В чащах юга жил бы цитрус? Да, но фальшивый экземплярЪ!
  : 0.250
! : 0.028
, : 0.028
? : 0.028
а : 0.139
б : 0.028
в : 0.056
г : 0.028
д : 0.028
е : 0.028
ж : 0.028
з : 0.028
и : 0.083
й : 0.028
к : 0.028
л : 0.083
м : 0.028
н : 0.028
о : 0.028
п : 0.028
р : 0.056
с : 0.028
т : 0.028
у : 0.028
ф : 0.028
х : 0.028
ц : 0.028
ч : 0.028
ш : 0.028
щ : 0.028
ъ : 0.028
ы : 0.056
ь : 0.028
э : 0.028
ю : 0.028
я : 0.028

2. Школьное решение в стиле ТурбоПаскаль 1983г.

uses Crt;
const
  uc:string[33]='';
  lc:string[33]='';
var
  s:string;
  i,n,k,p:integer;
  mc:array[1..255] of char;
  mn:array[1..255] of byte;
  c:char;
begin
  ClrScr;
  Write('Введите строку: ');
  Readln(s);
  n:=Length(s);
  for i:=1 to 255 do mn[i]:=0;
  k:=0;
  for i:=1 to n do begin
    c:=s[i];
    p:=Pos(c,uc);
    if p>0 then c:=lc[p];
    p:=Ord(c);
    if mn[p]=0 then begin
      mc[p]:=s[i];
      mn[p]:=1;
      k:=k+1
      end
    else mn[p]:=mn[p]+1
    end;
  for i:=1 to 255 do
    if mn[i]<>0 then Writeln(mc[i],' : ',mn[i]/k:5:3);
  ReadKey
end.
4,5(45 оценок)
Открыть все ответы
Ответ:
HeliaK
HeliaK
28.11.2020
#include
необходим для подключения заголовочных файлов из стандартной библиотеки C/C++ (в этом случае название заголовочного файла указывается в угловых скобках, например, #include <cstdlib>) или заголовочных файлов сторонних библиотек (в этом случае название указывается в двойных кавычках, например, #include "sqlite3.h").

using namespace std
используется для выбора пространства имён std по-умолчанию. В библиотеках могут быть использованы различные пространства имён, ограничивающие область видимости функций, классов и глобальных переменных. В стандартной библиотеке используется пространство имён std, указывающее на то, что данная конструкция является частью стандартной библиотеки. Если не использовать никакое пространство имён, то даже при подключении заголовочного файла (например применив вызов #include <iostream>), мы не сможем явно использовать элементы этой библиотеки, которые объявлены в пространстве имён std. Т.е. вызов cout << "Привет, мир!" вызовет ошибку, что объект cout не найден. Это происходит потому, что данный объект имеет область видимости только внутри пространства имён std. Но мы можем его вызвать, явно указав, в каком пространстве имён следует искать данный объект. Для этого необходимо перед именем объекта указать имя пространства имён, в котором он находится. Пример:

#include <iostream>

int main()
{
     cout <<"Hello!"  // Ошибка - не указано пространство имён
     std::cout  <<"Hello!"  // Нет ошибки - вызов объекта из пространства имён std, указанного явным образом
}

как-то так...
4,4(9 оценок)
Ответ:
KatherinePirs
KatherinePirs
28.11.2020

делаешь по Блок схемам. 

например 1 вариант.

Паскаль

1-ая блок схема.

b=12; c=0

2-ая блок схема.

b=4

5-ая блок схема -> Если да то Конец.

Если нет,то:

3-ая блок схема.

с= с+b

b=b-2

4-ая блок схема.

Тут надо решать. 

То есть значения из 1 схемы.

Подставляешь по формуле 3 схемы. 

Должно получится

с= 0+12= 12

b= 12-2= 10

b=10

по 2 блок схеме b=4,то есть не подходит, итак решаем дальше,пока не получится b=4.

но по условии тебе надо написать чему будет равно "с"

То есть,когда у тебя получается b=4, то "с" у тебя должно будет =36.

 

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