Складіть програму Термінал мовою програмування Python, у якій отримують повідомлення про поповнення рахунку оператора мобільного зв’язку. Наприклад:
Введіть назву оператора мобільного зв’язку Київстар
Введіть номер телефону для поповнення рахунку 0970707007
Вкажіть суму поповнення рахунку 20
Шановний абоненте Київстар! Ви поповнюєте телефон за номером
0970707007 на суму 20 грн.
Как уже отмечено в предыдущей теме информационная безопасность – многогранная область деятельности, в которой успех может принести только систематический, комплексный подход.
Обеспечение информационной безопасности в большинстве случаев связано с комплексным решением трех задач:
обеспечением доступности информации;
обеспечением целостности информации;
обеспечением конфиденциальности информации.
Именно доступность, целостность и конфиденциальность являются равнозначными составляющими информационной безопасности.
Информационные системы создаются для получения определенных информационных услуг. Если по тем или иным причинам предоставить эти услуги пользователям становится невозможно, то это, очевидно, наносит ущерб всем пользователям.
Роль доступности информации особенно проявляется в разного рода системах управления – производством, транспортом и т.п. Менее драматичные, но также весьма неприятные последствия – и материальные, и моральные – может иметь длительная недоступность информационных услуг, которыми пользуется большое количество людей, например, продажа железнодорожных и авиабилетов, банковские услуги, доступ в информационную сеть Интернет и т.п.
Доступность – это гарантия получения требуемой информации или информационной услуги пользователем за определенное время.
Фактор времени в определении доступности информации в ряде случаев является очень важным, поскольку некоторые виды информации и информационных услуг имеют смысл только в определенный промежуток времени. Например, получение заранее заказанного билета на самолет после его вылета теряет всякий смысл. Точно также получение прогноза погоды на вчерашний день не имеет никакого смысла, поскольку это событие уже наступило.
// PascalABC.Net 3.0, сборка 1066
procedure CheckString(var s:string; var n:integer);
var
i:integer;
begin
i:=Length(s);
while i>0 do begin
if not(s[i] in ['a'..'z']) then Delete(s,i,1);
Dec(i)
end;
n:=Length(s)
end;
var
s1,s2:string;
i,p,n1,n2:integer;
begin
Write('Введите первую строку: '); Readln(s1);
CheckString(s1,n1);
if n1=0 then Writeln('Введенная строка не содержит допустимых символов')
else begin
Write('Введите вторую строку: '); Readln(s2);
CheckString(s2,n2);
if n2=0 then Writeln('Введенная строка не содержит допустимых символов')
else
{ теперь обе строки содержат только маленькие латинские буквы }
if n1=n2 then begin
for i:=1 to n1 do begin
p:=Pos(s1[i],s2);
if p=0 then Break
else Delete(s2,p,1)
end;
if Length(s2)=0 then Writeln('Решение имеется')
else Writeln('Решения нет')
end
else
Writeln('Решения нет');
end
end.
Тестовое решение:
Введите первую строку: this is my own deal!
Введите вторую строку: Тест: *is now=l2ead my sthi?
Решение имеется
Также имеется современное решение, которому пока что в школах не учат:
// PascalABC.Net 3.0, сборка 1066
begin
var s1:=ReadString('Введите первую строку: ').Where(x->x in ['a'..'z']);
if s1.Count=0 then
Writeln('Введенная строка не содержит допустимых символов')
else begin
var s2:=ReadString('Введите вторую строку: ').Where(x->x in ['a'..'z']);
if s2.Count=0 then
Writeln('Введенная строка не содержит допустимых символов')
else
if s1.Except(s2).Count>0 then Writeln('Решения нет')
else Writeln('Решение имеется')
end
end.