полностью от киберугроз не защититься, но есть рекомендации
1)Регулярно обновляйте ПО и операционную систему-Постоянное обновление программного обеспечения и операционной системы гарантирует, что для защиты вашего компьютера используются новейшие исправления безопасности.
2)Используйте сильные пароли
Используйте сильные пароли, которые трудно подобрать, и нигде их не записывайте. Можно воспользоваться услугой надежного менеджера паролей, который облегчит вам задачу, предложив сгенерированный им сильный пароль.
3)Не открывайте вложения в электронных спам-сообщениях
Классический заражения компьютеров с вредоносных атак и других типов киберпреступлений - это вложения в электронных спам-сообщениях. Никогда не открывайте вложение от неизвестного вам отправителя.
4) Внимательно проверяйте адреса веб-сайтов, которые вы посещаете
Обращайте внимание на URL-адреса сайтов, на которые вы хотите зайти. Они выглядят легитимно? Не переходить по ссылкам, содержащим незнакомые или на вид спамовые URL-адреса.
Если ваш продукт для обеспечения безопасности в Интернете включает функцию защиты онлайн-транзакций, убедитесь, что она активирована.
5)Не предоставляйте личную информацию, не убедившись в безопасности канала передачи
Никогда не передавайте личные данные по телефону или по электронной почте, если вы не уверены, что телефонное соединение или электронная почта защищены. Убедитесь, что вы действительно говорите именно с тем человеком, который вам нужен.
Количество зёрен на клетке будет равно 2^(N-1)
Тут сказано использовать переменную типа integer, при этом надо помнить, что максимальный номер клетки, который можно задавать равен 31 (для номеров выше будет либо ошибка, либо неверный ответ).
Чтобы считать зерно вплоть до последней, 64-ой клетки шахматной доски- надо менять тип на uint64 либо BigInteger (но, они не везде доступны да и программу надо будет править).
Вариант с циклом loop (в нём задаётся число повторов)
function Zern2(a: integer): integer;
begin
Result := 1;
loop a-1 do
Result := Result * 2;
end;
begin
var n,m: integer;
write('Введите номер клетки: ');
Read(n);
m:=Zern2(n);
write('Зёрен на этой клетке: ',m,' шт.');
end.
Вариант с циклом while:
function Zern2(a: integer): integer;
begin
Result := 1;
while a>1 do
begin
Result := Result * 2;
a := a - 1;
end;
end;
begin
var n,m: integer;
write('Введите номер клетки: ');
Read(n);
m:=Zern2(n);
write('Зёрен на этой клетке: ',m,' шт.');
end.
Вариант без цикла:
function Zern2(a: integer): integer;
begin
Result := Trunc(power(2,a-1));
end;
begin
var n,m: integer;
write('Введите номер клетки: ');
Read(n);
m:=Zern2(n);
write('Зёрен на этой клетке: ',m,' шт.');
end.
Поделитесь своими знаниями, ответьте на вопрос:
Какое значение примет переменная z после выполнения фрагмента алгоритма? x: =35; y=10; в случае x div 4 выбрать -: z=x/y; 0..10: z=x+y; 11..100: z=x2; иначе z=y2;
Давайте разбираться.
Операция div - это деление нацело.
35 div 4 даст 8.
Это значение попадает в "случай", записанный диапазоном 0..10, поэтому будет выполняться следующий за ним оператор z=35+10, что даст z=45.
Вот и все.