program rome_arabic;
Uses crt;
Const
{римские цифры}
RomeDigits:string='IVXLCDM';
{числа - соответствующие римским цифрам}
ArabicNumbers:array [1..7] of integer =
(1, 5, 10, 50, 100, 500, 1000);
(*
Функция определения правильности ввода арабского числа
*)
function IsArabic(s:string):boolean;
var i,t,c:integer;
begin
IsArabic:=true;
for i:=1 to length(s) do
if not(s[i] in ['0'..'9'])then
begin
IsArabic:=false;
exit;
end;
val(s,t,c);
if (c<>0)or(t<1) then
begin
IsArabic:=false;
exit;
end;
end;
(*
Функция перевода арабского числа в римское
*)
function ArabicToRome (s: string): string;
var
i,n,c: integer;
res: string;
begin
val(s,n,c);
res:='';
i:=7; {Проверяем от больших чисел к меньшим}
while n>0 do
begin
{находим следующее число - из которого будем формировать римскую цифру}
while ArabicNumbers[i]>n do i:=i-1;
res:=res+RomeDigits[i];
n:=n-ArabicNumbers[i];
end;
ArabicToRome := res;
end;
(*
Функция определения правильности ввода римского числа
*)
function IsRome(s:string):boolean;
var i:integer;
begin
IsRome:=true;
if s='' then
begin
IsRome:=false;
exit;
end;
for i:=1 to length(s) do
if not (s[i] in ['I', 'V', 'X', 'L', 'C', 'D', 'M']) then
begin
IsRome:=false;
break;
end;
end;
(*
Функция перевода римского числа в арабское
*)
function RomeToArabic (s: string): integer;
var
b:array[1..100] of integer;
i,j:integer;
res:integer;
begin
for i:=1 to length(s) do
begin
if s[i]='I' then b[i]:=1;
if s[i]='V' then b[i]:=5;
if s[i]='X' then b[i]:=10;
if s[i]='L' then b[i]:=50;
if s[i]='C' then b[i]:=100;
if s[i]='D' then b[i]:=500;
if s[i]='M' then b[i]:=1000;
end;
res:=b[1];{массив локальная переменная и
сравнение первого элемента с нулевым искажает число,
почему-то считает, что b[0]=1 и автоматом вычитает 2}
for i:=2 to length(s) do
begin
res:=res+b[i];
if b[i-1]<b[i] then res:=res-2*b[i-1]{вот здесь}
end;
RomeToArabic:=res;
end;
{Основная программа}
var
arabic: string; {арабское число}
rome: string; {римское число}
ask: char; {режим перевода чисел}
begin
clrscr;
writeln('Программа переводит римское число в арабское или арабское в римское');
repeat
clrscr;
writeln('Выберите режим перевода:');
writeln('1 - римское число в арабское');
writeln('2 - арабское число в римское');
writeln('другое - выход');
ask:=readkey;
case ask of
'1': begin {Римское в арабское}
write('Введите римское число: ');
readln(rome);
if IsRome(rome) then
writeln('Арабское число = ',RomeToArabic(rome))
else writeln('В римской записи числа допущены ошибки! Перевод не возможен!');
writeln('Press Enter...');
readln
end;
'2':begin {арабское в римское}
write('Введите арабское число: ');
readln(arabic);
if IsArabic(arabic) then
writeln('Римская запись = ',ArabicToRome(arabic))
else writeln('В арабской записи числа допущены ошибки! Перевод не возможен!');
writeln('Press Enter...');
readln
end;
else exit;
end;
until not(ask in ['1','2']);
end.
Поделитесь своими знаниями, ответьте на вопрос:
Документ содержит n страниц. на каждой странице 2048 символов. каждый символ кодируется с использование двухбайтной кодировки unicode. документ был сохранен без сжатия и дополнительных данных так, что в памяти сохранялись только коды символов. затем документ был отсканирован так, что каждая страница оказалась преобразована в изображение размером 1536 х 1024 пикселей. при сканировании использовалась 24-х битная цветовая палитра. отсканированный документ также был сохранен без сжатия и дополнительных данных так, что в памяти сохранялись только коды цветов пикселей. оказалось, что разница в объемах памяти, которые занимает текстовый документ и сканированный документ составила более 70 мбайт. при каком минимальном количестве страниц n это возможно? в ответе укажите целое число.
1) Основной целью SMM продвижения является повышение узнаваемости вашего бренда, большая заинтересованность к вашему продукту, постоянная коммуникация с потенциальными и существующими клиентами. Следом, разработайте контентную стратегию, стратегию привлечения аудитории и продвижения ваших страниц, рубрик и сообществ.
2) Определите проблему, которую решает ваш продукт
Определите людей, для кого эта проблема наиболее серьёзна
Посмотрите, как эти люди решают свою проблему сейчас (и в какую сумму им это обходится)
Проанализируйте, решает ли ваш продукт эту проблему лучше? Насколько это "лучше" важно для тех людей, которых вы определили раньше?
Цена вашего продукта выше текущей стоимости решения проблемы? Если да, оцените, насколько потенциальные потребители из выборки готовы платить за ваше "лучше" и насколько это преимужество для них очевидно.
Если цена высока и преимукщество неочевидно, придётся потратить время и деньги на обучение рынка, объяснить потребителю, зачем ему продукт и убедить в адекватности цены.
Полученные гипотезы лучше проверить: собрать фокус-группу из людей того типа, который, по предварительной оценке получился наиболее перспективным и попробовать обсудить с ними продукт и цену.
Эти итерации молжно повторять до тех пор, пока вы не выявите подходящие типажи и не модифицируете с их продукт.
3) Как по мне то SMM проэкты не ограничиваются на одной платформе, чем больше разных интересных платформ тем лучше и интереснее будет сам проэкт.
4) Это имеет большое значение.
во первых чем больше вы будете изучать конкурентов, тем больше и эффективнее вы будете усовершенствоваться что бы стоять на первом месте.