В
Все
М
Математика
О
ОБЖ
У
Українська мова
Д
Другие предметы
Х
Химия
М
Музыка
Н
Немецкий язык
Б
Беларуская мова
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
Р
Русский язык
У
Українська література
Ф
Французский язык
П
Психология
А
Алгебра
О
Обществознание
М
МХК
В
Видео-ответы
Г
География
П
Право
Г
Геометрия
А
Английский язык
И
Информатика
Қ
Қазақ тiлi
Л
Литература
И
История
Deniza06
Deniza06
04.06.2020 02:47 •  Информатика

В казці Вінні пух хотів дістатися до меду за до кульки. У П'ятачка була зелена та синя кулі, тому Вінні пух міг замаскуватися або під листок або під хмаринку. Розробіть алгоритм, що демонструватиме ким стане Вінні пух

Показать ответ
Ответ:
mmmaaakkkaaarrr
mmmaaakkkaaarrr
22.12.2022 23:57
Var
  a, b, c, D, x1, x2, x3, x4, y1, y2: double;

begin
  Write('Введите через пробел коэффициенты a,b,c: ');
  Readln(a, b, c);
  if b = 0 then begin
    if c > 0 then Writeln('Нет действительных корней')
    else
    if c = 0 then Writeln('Единственный корень x=0')
    else begin
      y1 := -c / a;
      if y1 > 0 then begin
        y1 := sqrt(y1); x1 := -sqrt(y1); x2 := -x1;
        Writeln('Два действительных корня: ', x1, ', ', x2)
      end
      else
        Writeln('Нет действительных корней')
    end
  end
  else
  if c = 0 then
    if b > 0 then Writeln('Единственный корень x=0')
    else begin
      y1 := -b / a;
      if y1 > 0 then begin
        x1 := sqrt(-b / a); x2 := -x1;
        Writeln('Три действительных корня: 0, ', x1, ', ', x2)
      end
      else
        Writeln('Единственный корень x=0')
    end
  else begin
    D := sqr(b) - 4 * a * c;
    if D < 0 then Writeln('Нет действительных корней')
      else
    if D = 0 then begin
      y1 := -b / (2 * a);
      if y1 < 0 then
        Writeln('Нет действительных корней')
      else begin
        x1 := sqrt(y1); x2 := -x1;
        Writeln('Два действительных корня: ', x1, ', ', x2)
      end
    end
    else begin
      D := sqrt(D);
      y1 := (-b - D) / (2 * a); y2 := (-b + D) / (2 * a);
      if y1 < 0 then
        if y2 < 0 then Writeln('Нет действительных корней')
        else begin
          x1 := -sqrt(y2); x2 := -x1;
          Writeln('Два действительных корня: ', x1, ', ', x2)
        end
          else
      if y2 < 0 then begin
        x1 := -sqrt(y1); x2 := -x1;
        Writeln('Два действительных корня: ', x1, ', ', x2)
      end
      else begin
        x1 := -sqrt(y1); x2 := -x1;
        x3 := -sqrt(y2); x4 := -x3;
        if x1 = x2 then
          Writeln('Три действительных корня: ', x1, ', ', x3, ', ', x4)
              else
        if x3 = x4 then
          Writeln('Три действительных корня: ', x1, ', ', x2, ', ', x3)
        else
          Writeln('Четыре действительных корня: ', x1, ', ', x2, ', ', x3, ', ', x4)
      end
    end
  end
end.

Тестовое решение:
Введите через пробел коэффициенты a,b,c: 1 -25 144
Четыре действительных корня: -3, 3, -4, 4

Введите через пробел коэффициенты a,b,c: -1 -4 5
Два действительных корня: -1, 1
0,0(0 оценок)
Ответ:
Deer22
Deer22
24.06.2022 03:50
1.                                        

program raf105;

const

 n = 5;

var

 a: array[1..n] of integer;

 x,max,min,i: integer;

begin

writeln('Введите ',n,' по очереди');

for i:=1 to n do

 readln(a[i]);

max:= a[1];

min:= a[1];

for i:=1 to n do

begin

 if max < a[i]

   then max:= a[i];

 if min > a[i]

   then min:= a[i];

end;

writeln;

write('Массив: ');

for i:=1 to n do

 write(a[i],' ');

writeln;

writeln('Наибольший элемент: ',max);

writeln('Наименьший элемент: ',min);

end.

2.                                        

program raf105;

const

 n = 5;

var

 a: array[1..n] of real;

 x,i: integer;

 min: real;

begin

writeln('Введите ',n,' по очереди');

for i:=1 to n do

 readln(a[i]);

writeln;

write('Исходный массив: ');

for i:=1 to n do

 write(a[i],' ');

min:= a[1];

for i:=1 to n do

 if min > a[i]

   then min:= a[i];

for i:=1 to n do

 a[i]:= a[i]/min;

writeln;

write('Изменённый массив: ');

for i:=1 to n do

 write(a[i],' ');

end.

3.                                        

program raf105;

const

 n = 8;

var

 a: array[1..n] of integer;

 x,i,max: integer;

begin

writeln('Введите ',n,' по очереди');

for i:=1 to n do

 readln(a[i]);

writeln;

write('Исходный массив: ');

for i:=1 to n do

 write(a[i],' ');

max:= a[1];

for i:=1 to n do

 if max < a[i]

   then max:= a[i];

for i:=1 to n do

 a[i]:= a[i]+max;

writeln;

write('Изменённый массив: ');

for i:=1 to n do

 write(a[i],' ');

end.

                                          PascalABC 3.4.2
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота