Рассказ состоит из 5 страниц, на каждой странице - 50 строк, в каждой строке -40 символов. Каков объем информации в рассказе если использовался 32 символьный алфавит? *
N - мощность алфавита (количество букв // символов); (32) i - вес одного символа в бит.
⇒ i = 5 (бит) - вес одного символа
I = K × i, где
I - вес (объём) всего сообщения в бит; K - количество символов в сообщении; ( 5 (страниц) × 50 (строк) × 40 (символов) = 10000 )i - вес одного символа в бит. (5)
Язык программирования имеет какой-то официальный стандарт. От которого можно в той или иной степени отклоняться. А иногда и нужно, чтобы язык не умер, перестав удовлетворять современным технологиям программирования.
Посмотрим на примере такого распространенного языка, как Паскаль.
Никлаус Вирт описал Паскаль в 1970 году. Будучи соавтором разработки языка Algol-68, он взял за основу алголоподобный синтаксис, в то время считавшийся наиболее удачным.
Первая реализация паскаля была сделана под конкретную машину и носила отпечаток требований её операционной системы. Сюда, например, относится требование, чтобы программа начиналась с оператора Program, содержащего указания на файлы ввода и вывода. С распространением паскаля на другие машины нужда в этих указаниях отпала, но некоторые школьные учителя, даже не зная о причинах, до сих пор уверяют учеников, что программа должна начинаться именно с program!
Шло время, программирование не стояло на месте. Возникали новые языки, создавались новые технологии, компьютеры проникали во все новые области. Появились персональные компьютеры. С этого момента Паскаль получил вторую жизнь. Понятный, быстро изучаемый и компилируемый в компактный код, это был отличный язык для "персоналок" с объемом памяти в 640 Кбайт. Но это был уже не тот, прежний Паскаль. Для работы с персоналками понадобилось его существенно дополнить. так возникла интегрированная система (среда) программирования Turbo Pascal. Именно система, потому что она включала компилятор с диалекта (т.е. с некоторой конкретной реализации) языка Паскаль, текстовый редактор, систему отладки, систему справок и поддержку выполнения программы.
Впоследствии возникли другие диалекты Паскаля, такие как входной язык системы Borland Delphi, язык Free Pascal, язык системы Pascal ABC и наконец, среда программирования PascalABC.NET, которая очень далеко ушла от Паскаля Никлауса Вирта, вобрав в себя лучшие черты и средства языков C#, Python и Haskell.
// PascalABC.NET 3.3, сборка 1625 от 17.01.2018 // Внимание! Если программа не работает, обновите версию!
begin var x:=ReadReal('x='); var n:=ReadInteger('n='); // для сборок, начиная с 30.12.2017 Writeln('(Sin(',x,'))^',n,' = ',Sin(x)**n); // для более ранних версий PascalABC.NET 3.3 Writeln('(Sin(',x,'))^',n,' = ',Power(Sin(x),n));
Для всех прочих паскалей
var x,t:real; n,z:integer;
begin Write('x= '); Readln(x); Write('n= '); Readln(n); t:=Sin(x); if t=0 then Writeln('(Sin(',x,'))^',n,' = 0') else begin if n mod 2=0 then z:=1 else z:=Sign(t); t:=Abs(t); Writeln('(Sin(',x,'))^',n,' = ',z*Exp(n*Ln(t))) end; Readln end.
50000 бит = 6250 байт
Объяснение:
, где
N - мощность алфавита (количество букв // символов); (32) i - вес одного символа в бит.I = K × i, где
I - вес (объём) всего сообщения в бит; K - количество символов в сообщении; ( 5 (страниц) × 50 (строк) × 40 (символов) = 10000 )i - вес одного символа в бит. (5)