Даны натуральное число n и последовательность целых чисел а1, а2,…,аn..все положительные элементы уменьшить в 2 раза. составить блок-схему алгоритма, написать программу
Program svwnx90f; uses crt; const n = 100; var A:array [1..n] of real; i,j:integer; begin writeln('*** alphaues is thinking... ***'); writeln('*** OK ***'); Randomize; {ввод чисел} for i:=0 to 9 do for j:=1 to 10 do begin A[i*10+j]:= Random(101)-50; write(A[i*10+j]:7:1,' '); end; writeln; writeln('Положительные элементы уменьшаются в 2 раза... '); writeln('Результат:'); for i:=0 to 9 do begin for j:=1 to 10 do begin if A[i*10+j]>0 then A[i*10+j]:= A[i*10+j]/2; write(A[i*10+j]:7:1,' '); end; end; end.
По условию здесь шифр Цезаря +7. Это значит, что при шифровании вместо каждой буквы писали другую, отдаленную от настоящей на 7 букв вперед по алфавиту. Значит при расшифровке надо сдвигаться, наоборот, на 7 букв назад, к началу алфавита. Здесь пронумерованный алфавит.
шифр Ц Т Ж Ф Я Л Щ № 24 20 8 22 33 13 27 № - 7 17 13 1 15 26 6 20 буква П Л А Н Ш Е Т
Номера високосных годов делятся на 4, но не делятся на 100, или делятся на 400. В високосном году 366 дней, в невисокосном 365.
Год високосный, если N делится на 400 (остаток от деления N % 400 равен 0), или N делится на 4, но не на 100 (N % 4 равно 0, а N % 100 нет). Напишем выражение, которое принимает значение 1, если год високосный, и 0 если не високосный.
(400 - (N % 400)) // 400 равно 1, если N делится на 400, иначе 0 (100 - (N % 100)) // 100 равно 1, если N делится на 100, иначе 0 (4 - (N % 4)) // 4 равно 1, если N делится на 4, иначе 0
Осталось заметить, что выражение (400 - (N % 400)) // 400 - (100 - (N % 100)) // 100 + (4 - (N % 4)) // 4 подходит: если N не делится на 4, то все 3 слагаемых равны 0, если делится на 4, на не делится на 100, то равно 0 - 0 + 1 = 1, если делится на 100, но не на 400, то равно 0 - 1 + 1 = 0, если делится на 400, то 1 - 1 + 1 = 1.
Количество дней отличается от написанного выше на 365. ответ: 365 + (400 - (N % 400)) // 400 - (100 - (N % 100)) // 100 + (4 - (N % 4)) // 4
Program svwnx90f;
uses crt;
const n = 100;
var
A:array [1..n] of real;
i,j:integer;
begin
writeln('*** alphaues is thinking... ***');
writeln('*** OK ***');
Randomize;
{ввод чисел}
for i:=0 to 9 do
for j:=1 to 10 do
begin
A[i*10+j]:= Random(101)-50;
write(A[i*10+j]:7:1,' ');
end;
writeln;
writeln('Положительные элементы уменьшаются в 2 раза... ');
writeln('Результат:');
for i:=0 to 9 do
begin
for j:=1 to 10 do
begin
if A[i*10+j]>0 then A[i*10+j]:= A[i*10+j]/2;
write(A[i*10+j]:7:1,' ');
end;
end;
end.