и 4.2.2 Предлагается некоторая операция над двумя произвольными трёхзначными десятичными числами: 1.Записывается результат сложения значений старших разрядов заданных чисел. 2.К нему дописывается результат сложения значений средних разрядов этих чисел по такому правилу: если он меньше первой суммы, то второе полученное число приписывается к первому слева,иначе - справа.3.Итоговое число получают приписыванием справа к полученному после второго шага числу суммы значений младших разрядов исходных чисел. Выполните эту операцию над парами чисел: Смотрите фото и 4.2.2 Предлагается некоторая операция над двумя произвольными трёхзначными десятич">
const
sb='bcdfgjklmnpqrstvwxz';
s='Computer programming is a process of computer programs creation';
var
i,n:integer;
s1,sn,t:string;
begin
i:=1;
while s[i]<>' ' do Inc(i);
s1:=Copy(s,1,i-1);
n:=Length(s); i:=n;
while s[i]<>' ' do Dec(i);
sn:=Copy(s,i+1,n-i);
t:='';
for i:=1 to Length(s1) do
if Pos(s1[i],sb)>0 then t:=t+s1[i];
s1:=t;
t:='';
for i:=1 to Length(sn) do
if Pos(sn[i],sb)>0 then t:=t+sn[i];
sn:=t;
t:='';
for i:=1 to Length(s1) do
if Pos(s1[i],sn)>0 then
if Pos(s1[i],t)=0 then t:=t+s1[i];
for i:=1 to Length(t) do Write(t[i],' ');
Writeln
end.
Тестовый прогон:
t r
2. "Нормальное" решение
// PascalABC.NET 3.0, сборка 1073
const
sb='bcdfgjklmnpqrstvwxz';
s='Computer programming is a process of computer programs creation';
begin
var a:=s.ToWords(' ');
a[0].Intersect(a[a.Length-1]).Where(x->Pos(x,sb)>0).Println(',')
end.
Тестовый прогон:
t,r
Для начала посчитаем сколько символов в твоем предложении (пробелы, знаки препинания, буквы). Их там 29 [Я сдаю экзамен по информатике]. Как мы знаем, в кодировке Unicode - 1 символ занимает 16 бит памяти. Умножим 29 символов на 16 и получим 464 бит [29*16=464 бит]. Теперь, если это требуется, переведем биты в байты и килобайты. 1 байт памяти занимает 8 бит. Делим 464 бит на 8 получаем 58 [464/8=56 байт]. 1 кбайт памяти, в свою очередь, занимает 1024 байт памяти. Делим 58 байт на 1024 (советую использовать калькулятор) получаем 0,06 кбайт [58/1024=0,05664062].
В ответе пишем одно из получившихся значений, которое требуется написать [448 бит или 58 байт или 0,06 кбайт]