1. напишите алгоритмы, под которых робот, начальное положение которого отмечено *, закрасит отмеченные на рисунках клетки. при разработке алгоритмов используйте цикл с заданным числом повторений.
Ближе к началу координат та из точек, чей квадрат расстояния до начала координат x^2 + y^2 меньше. У меня описан алгоритм что_ближе, который принимает аргументами 4 вещественных числа - координаты точек и выводит сообщение о том, какая из точек ближе.
У меня для примера рассматриваются точки (1, 1) и (2, 0) - первая точка ближе, (4, 8) и (1, 7) - вторая точка ближе, и (3, 4) и (0, 5) - точки на одинаковом расстоянии.
Вы можете задавать значения и с клавиатуры, и записывать их сразу в текст программы, в зависимости от того, что требуется.
алг что_ближе(вещ x1, y1, x2, y2) нач вещ d d := (x1*x1 + y1*y1) - (x2*x2 + y2*y2) выбор при d < 0: вывод "Первая точка ближе", нс при d > 0: вывод "Вторая точка ближе", нс иначе вывод "Точки на одинаковом расстоянии", нс все кон
Пусть ученик неуспевающий, если сумма его отметок меньше 2+2+3+3=10.
var count_losers, sum, current_sum, mark, i, j, n: integer;
begin read(n); count_losers := 0; for i := 1 to n do begin current_sum := 0; for j := 1 to 4 do begin read(mark); current_sum := current_sum + mark; end; if current_sum < 10 then inc(count_losers); sum := sum + current_sum; end; writeln('Неуспевающих учеников: ', count_losers); writeln('Средняя сумма четырёх отметок: ', sum / n); writeln('Средняя отметка: ', sum / 4 / n); end.
Пример ввода: 4 2 2 2 5 2 2 5 2 2 5 2 2 3 2 2 2
Пример вывода: Неуспевающих учеников: 1 Средняя сумма четырёх отметок: 10.5 Средняя отметка: 2.625
У меня для примера рассматриваются точки (1, 1) и (2, 0) - первая точка ближе, (4, 8) и (1, 7) - вторая точка ближе, и (3, 4) и (0, 5) - точки на одинаковом расстоянии.
Вы можете задавать значения и с клавиатуры, и записывать их сразу в текст программы, в зависимости от того, что требуется.
алг
нач
что_ближе(1, 1, 2, 0)
что_ближе(4, 8, 1, 7)
что_ближе(3, 4, 0, 5)
кон
алг что_ближе(вещ x1, y1, x2, y2)
нач
вещ d
d := (x1*x1 + y1*y1) - (x2*x2 + y2*y2)
выбор
при d < 0: вывод "Первая точка ближе", нс
при d > 0: вывод "Вторая точка ближе", нс
иначе вывод "Точки на одинаковом расстоянии", нс
все
кон
var
count_losers, sum, current_sum, mark, i, j, n: integer;
begin
read(n);
count_losers := 0;
for i := 1 to n do
begin
current_sum := 0;
for j := 1 to 4 do
begin
read(mark);
current_sum := current_sum + mark;
end;
if current_sum < 10 then
inc(count_losers);
sum := sum + current_sum;
end;
writeln('Неуспевающих учеников: ', count_losers);
writeln('Средняя сумма четырёх отметок: ', sum / n);
writeln('Средняя отметка: ', sum / 4 / n);
end.
Пример ввода:
4
2 2 2 5
2 2 5 2
2 5 2 2
3 2 2 2
Пример вывода:
Неуспевающих учеников: 1
Средняя сумма четырёх отметок: 10.5
Средняя отметка: 2.625