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

Рассмотрите следующие фигуры. Определите инструменты фигуры ​


Рассмотрите следующие фигуры. Определите инструменты фигуры ​

Показать ответ
Ответ:
luda12349
luda12349
03.10.2022 12:38
Есть простой подсчета парности скобок. Инициализируем счетчик нулем, а затем читаем строку. Если встречается открывающая скобка, в счетчик посылается +1, если закрывающая, то -1. После просмотра всей строки нулевое значение счетчика скажет нам о равенстве скобок, а ненулевое покажет количество лишних скобок. Каких именно - покажет знак.
Попутно замечу, что подобные подсчеты не гарантирует проверки синтаксической правильности расстановки скобок, например, выражение )a+b( синтаксически неверно, но в нем "правильное" количество скобок.

var
  i,k:integer;
  s:string;
begin
  Write('Введите строку: '); Readln(s);
  k:=0;
  for i:=1 to Length(s) do
  case s[i] of
  '(':Inc(k);
  ')':Dec(k)
  end;
  if k=0 then Writeln('Скобки парные')
  else
  begin
    Write('Обнаружено непарных ');
    if k>0 then Write('открывающих') else Write('закрывающих');
    Writeln(' скобок: ',abs(k))
  end
end.

Тестовое решение:
Введите строку: (3*k+1/(c-5)*a;
Обнаружено непарных открывающих скобок: 1
0,0(0 оценок)
Ответ:
c1Darkness1c
c1Darkness1c
16.04.2023 13:56
Перепишем программу в виде, удобном для анализа алгоритма.
var
  a,b,t,N:integer;
function F(x:integer):integer;
begin
  F:=16*(6-x)*(6-x)-450;
end;
begin
  a:=-20; b:=20;
  N:=0;
  for t:=-20 to 20 do
    if (F(t)>=0) then N:=N+1;
  Write(N)
end.

Переменные a и b получают начальные значения, но дальше не используются, поэтому их рассматривать не нужно.
Все переменные в программе объявлены целочисленными, поэтому анализируем алгоритм также в целых числах.
Переменная t последовательно принимает значения от -20 до 20, следовательно, можно записать, что t ∈ [-20;20]
Для каждого t вычисляется значение некоторой функции F(t) и подсчитывается N - количество случаев, когда значение F(t) неотрицательно. Найденное N затем выводится. Ставится задача определить значение N.
Проанализируем функцию F(t). После простого преобразования получаем
F(t)=16(6-t)²-450
Теперь надо найти решение неравенства F(t)≥0.
\displaystyle 16(6-t)^2-450\geqslant 0; \ (6-t)^2\geqslant \frac{450}{16} ; \ |6-t|\geqslant \sqrt{ \frac{450}{16} }
Поскольку решение выполнятся в целых числах, то значение в правой части неравенства достаточно записать с точностью один знак после запятой.
\displaystyle |6-t|\geqslant \sqrt{ \frac{450}{16}}; \ |6-t|\geqslant 5.3 \\ \begin {cases} 6-t\geqslant 5.3 \\ t-6 \ \textgreater \ 5.3 \end {cases} \to \quad \begin {cases} t\leqslant 0.7 \\ t11.3 \end {cases}
На интервале [-20;20] первому условию удовлетворит 21 точка, второму условию удовлетворят 9 точек. Всего получится 21+9=30 точек.
ответ: Будет выведено число 30
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота