Mаjоr
11.03.2023 05:51

2.2 Практическая часть Пример 1. Составить словесное описание и блок-схему алгоритма по нахождению
максимального из двух значений. Провести аналитическую проверку работы алгоритма.
Решение.
Словесное описание алгоритма.
1 Начало
2 Ввести два числа
3 Условие. Если первое больше второго:
3.1 максимальное первое
3.2 вывести максимальное
4 Иначе если первое меньше второго:
4.1 максимальное второе
4.2 вывести максимальное
5 иначе:
5.1 числа равны
6 Конец

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
Rayanachechenka
08.11.2020 02:30

1)var t: array [1..12] of real;

      i: integer;

begin

  for i:=1 to 12 do readln(t[i]);

  writeln('Средняя температура зимних месяцев: ',((t[12]+t[1]+t[2])/3):0:3);

  writeln('Средняя температура весенних месяцев: ',((t[3]+t[4]+t[5])/3):0:3);

  writeln('Средняя температура летних месяцев: ',((t[6]+t[7]+t[8])/3):0:3);

  writeln('Средняя температура осенних месяцев: ',((t[9]+t[10]+t[11])/3):0:3);

end.

2)var t: array[1..10] of integer;

         c: array[1..10] of real;

         i: integer;

         s,s1: real;

begin

  s:=0;

  for i:=1 to 10 do begin writeln('Введите количество товара'); readln(t[i]) ; end;

  for i:=1 to 10 do begin writeln('Введите цену товара');readln(c[i]);end;

  for i:=1 to 10 do begin s1:=t[i]*c[i];

                                    s:=s+s1;

                           end;

  writeln('Общая стоимость всех покупок: ',s:0:3);

end.

0,0(0 оценок)
Ответ:
mashuljka33
13.03.2022 04:10
Линии пересекаются в точках, где их уравнения при одинаковых аргументах возвращают одинаковые значения. Чтобы определить условия точек пересечения заданных уравнений линий

следует приравнять их правые части и решить полученное уравнение относительно аргумента х.

Сделаем подстановку и получим квадратное уравнение:

Далее находим дискриминант, проверяем его знак, производим ветвление алгоритма в зависимости от результата. При неотрицательных t определяем х, извлекая из t квадратный корень и для каждого х вычисляем у из второго уравнения (оно короче).

var
  a, b, c, d, f, m, p: real;

function y(x: real): real;
begin
  y := b * x * sqr(x) + m * sqr(x) + d * x + p
end;

procedure OutPoint(x: real);
begin
  writeln('Найдена точка пересечения функций (', x, ',', y(x), ')')
end;

procedure TDev(t: real; var np: Boolean);
var
  x: real;
begin
  if t = 0 then begin
    np := false;
    OutPoint(0)
  end
  else if t > 0 then begin
    np := false;
    x := -sqrt(t);
    OutPoint(x);
    x := sqrt(t);
    OutPoint(x)
  end
end;

var
  x1, x2, u, v, t1, t2, Dis: real;
  NoPoints: Boolean;

begin
  writeln('Введите значения переменных a,b,c,d,f,m,p');
  readln(a, c, f, m, p);
  u := c - m;
  v := f - p;
  Dis := sqr(u) - 4 * a * v;
  NoPoints := true;
  if Dis = 0 then begin
    t1 := -u / (2 * a);
    TDev(t1,NoPoints);
     end
  else begin
    t1 := (-u - sqrt(Dis)) / (2 * a);
    TDev(t1,NoPoints);
    t2 := (-u + sqrt(Dis)) / (2 * a);
    TDev(t2,NoPoints);
  end;
  if NoPoints then writeln('Общих точек пересечения нет')
end.

Тестовое решение

Введите значения переменных a,b,c,d,f,m,p
2 3 4 5 6 7 8
Найдена точка пересечения функций (-1.27201964951407,14.0901699437495)
Найдена точка пересечения функций (1.27201964951407,14.0901699437495)

Введите значения переменных a,b,c,d,f,m,p
-3 -5 -3 2 1 4 5
Общих точек пересечения нет
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота