1-11 класс
  • 1-11 класс
  • 1 класс
  • 2 класс
  • 3 класс
  • 4 класс
  • 5 класс
  • 6 класс
  • 7 класс
  • 8 класс
  • 9 класс
  • 10 класс
  • 11 класс
Выберите класс
Предметы
(Сам и контр)
Задание 1 Вариант 2 Самостоятельная работа 5 ГДЗ Рабочая тетрадь Босова 11 класс (Информатика)
Босова, Босова, Аквилянов
11 класс
Автор
Босова, Босова, Аквилянов

Задание 1 Вариант 2 Самостоятельная работа 5 ГДЗ Рабочая тетрадь Босова 11 класс (Информатика)

Задача

1. Напишите программу. На числовой прямой отмечены точки A1, А2, АЗ, …, Аn. Выясните, какому из отрезков [Ai; Ai+1] принадлежит заданная точка X.
Запишите текст программы.
program s5_v2_1;
const
n = 5;
var
a: array[1..n] of integer;
i, x, c, j: integer;
begin
writeln(‘Ввод координат точек’);
for i := 1 to n do
readln(a[i]);
//сортировка «пузырьком» по возрастанию
for i := 1 to n — 1 do
for j := 1 to n — i do
if a[j] > a[j + 1] then
begin
c := a[j];
a[j] := a[j + 1];
a[j + 1] := c
end;
//for i := 1 to n do//вывод отсортированного массива
//write(a[i], ‘ ‘);
writeln;
write(‘x=’);
readln(x);
if (x > = a[1]) and (x < = a[n]) then begin for i := 1 to n - 1 do if (x > = a[i]) and (x < = a[i + 1]) then write('х принадлежит отрезку ', a[i], ':', a[i + 1]) end else writeln('х не принадлежит ни одному отрезку') end.

Подробный ответ

Сначала введём координаты точек $$A_1, A_2, \dots, A_n$$ и отсортируем их по возрастанию, чтобы точки на числовой прямой шли слева направо. Затем введём координату точки $$x$$ и проверим, между какими соседними точками она находится.

Если $$x$$ лежит между $$a[i]$$ и $$a[i+1]$$, то точка принадлежит отрезку $$[A_i; A_{i+1}]$$. Если $$x$$ меньше первой точки или больше последней, то она не принадлежит ни одному из отрезков.

program s5_v2_1;
const
  n = 5;
var
  a: array[1..n] of integer;
  i, x, c, j: integer;
begin
  writeln(‘Ввод координат точек’);
  for i := 1 to n do
    readln(a[i]);
  
  // сортировка «пузырьком» по возрастанию
  for i := 1 to n — 1 do
    for j := 1 to n — i do
      if a[j] > a[j + 1] then
      begin
        c := a[j];
        a[j] := a[j + 1];
        a[j + 1] := c;
      end;
  
  writeln;
  write(‘x=’);
  readln(x);
  
  if (x >= a[1]) and (x <= a[n]) then
  begin
    for i := 1 to n — 1 do
      if (x >= a[i]) and (x <= a[i + 1]) then
        write(‘x принадлежит отрезку ‘, a[i], ‘:’, a[i + 1]);
  end
  else
    writeln(‘x не принадлежит ни одному отрезку’);
end.

Ответ: программа на Pascal, приведённая выше.



Общая оценка
3.7 / 5
Другие учебники
Другие предметы