исправить ошибку в коде. Задана окружность (x-a)2 + (y-b)2 = R2 и точки Р(р1, р2), F(f1, f1), L(l1,l2).
Выяснить и вывести на экран, сколько точек лежит внутри окружности. Проверку, лежит ли точка внутри окружности, оформить в виде процедуры.
def int_input(msg = ''):
x = input(msg).strip().split()
return int(x) if len(x) <= 1 else map(int, x)
###
cx, cy, r = int_input('Введите коор-ты центра окружности и радиус (через пробелы): ')
# ↖ (числа сразу сохраняются в виде значений параметров
# ↓ по умолчанию, в момент создания функции)
def includes(px, py, cx = cx, cy = cy, r = r):
return (px - cx) ** 2 + (py - cy) ** 2 < r ** 2
###
included_points = 0
for p in ('P', 'F', 'L'):
px, py = int_input(f'Введите коор-ты точки {p}: ') # Справка: «f-string»
included_points += includes(px, py)
print(included_points)
1.
program z1;
var k: integer;
begin
write ('Введите число: ');
readln(k);
if k > 0 then k:=k*2
else k:=sqr(k);
write('Сейчас число: ',k)
end.
2.
program z2;
uses GraphABC;
var k: integer;
begin
SetFontSize(15);
write ('Введите число: ');
read(k);
write(k);
if k mod 2 = 0 then
begin
SetBrushColor(clred);
FillRectangle(220,140,420,340)
end
else
begin
SetBrushColor(clblue);
FillCircle(320,240,100)
end
end.
3.
program z3;
var k: integer;
begin
write ('Введите число: ');
readln(k);
write((k>99)and(k<1000))
end.
Объяснение:
Условный оператор:
if условие then действие 1 else действие 2
k > 0 - условие проверки числа на положительность (если число больше 0)
k mod 2 = 0 - условие проверки числа на чётность (если число делится на 2 без остатка)
mod - остаток от целочисленного деления
write((k>99)and(k<1000)) - если число трёхзначное, то ответ True, иначе False
Каждая дорожка делится на секторы, размер сектора - 512 байт
Затем сектора объединяются в кластеры, кластер содержит 2^N секторов. Кластер является наименьшей единицей адресации к данным. Это делается для ускорения работы файловой системы. То есть файловая система обращается не к сектору (который является минимальной физической единицей хранения данных), а к кластеру, в который объединено несколько секторов (который является минимальной единицей адресации к данным, т.е файловая система не может обращаться напрямую к сектору).
Например, в файловой системе FAT есть так называемая таблица размещения файлов, в которую записываются данные о каждом кластере. Т.к она обращается к кластерам, в которые объединены сектора, то эта таблица содержит меньше элементов, что существенно увеличивает быстродействие
Размер кластера можно задать при форматировании диска. Чем длиннее кластер (чем больше секторов в себе содержит), тем меньше таблица размещения файлов и бОльшая скорость, но есть и обратная сторона - нерациональное использование памяти, потому что любой файл, насколько маленький он бы не был занимает весь кластер и некоторые сектора в нем могут оказаться просто пустыми. Даже если файл большой и занимает несколько секторов, то последний кусочек с бОльшей долей вероятности займет не полностью последний кластер.
Если же указать более маленький размер кластера, то уменьшится быстродействие (т.к увеличится количество кластеров), но память будет расходоваться меньше и будет образовываться меньше пустот.
Стоит упомянуть, что объем хранящихся файлов напрямую влияет на расход памяти. Много мелких файлов как правило сильнее "забивают" память, нежели мало больших. Они могут иметь одинаковый размер в сумме, но при записи на диск мелкие файлы израсходуют больше места, так как каждый файл будет занимать весь кластер, но не все сектора.
И интереса ради стоит упомянуть, что в связи с неэффективностью файловой системы (например, при слишком большом размере кластера) потери могут составлять среднем от 25% до 40% от полной емкости жесткого диска
P.S В общем, интересно учиться на кибернетике в ВУЗе)) Столько нового узнаешь. Главное понять, что к чему, а там уже перескажешь как-нибудь