М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
flanyshkatop
flanyshkatop
17.12.2020 01:37 •  Информатика

Написать программу для решения a) удалить из текста все введенные символы. b) в заданном тексте после каждого знака ‘–’ и перед каждым таким знаком вставить пробел, если его там нет.

👇
Ответ:
hjr56
hjr56
17.12.2020
Var
  s, s_rej, s2: string;
  i: integer;

begin
  Write('Введите текст: '); Readln(s);
  Write('Введите исключаемые символы ПОДРЯД: '); Readln(s_rej);
  s2 := '';
  for i := 1 to Length(s) do
    if Pos(s[i], s_Rej) = 0 then s2 := s2 + s[i];
  Writeln('Обработанный текст: ', s2)
end.

Тестовое решение:
Введите текст: Пример текста, из которого будут исключены гласные буквы
Введите исключаемые символы ПОДРЯД: аеёиоуэюя
Обработанный текст: Прмр ткст, з ктрг бдт склчны глсны бквы

var
  s, s2: string;
  i: integer;
  c:array of string;

begin
  Write('Введите текст: '); Readln(s);
  s:=Trim(s);
  c:=s.Split('-');
  s2:=Trim(c[0]);
  for i:=1 to Length(c)-1 do
    s2:=s2+' - '+Trim(c[i]);
  Writeln('Обработанный текст: ', s2)
end.

Тестовое решение:
Введите текст:    тестовая   -строка - в ней много-много тире в разных-  преразных вариантах - и в таком даже
Обработанный текст: тестовая - строка - в ней много - много тире в разных - преразных вариантах - и в таком даже
4,5(96 оценок)
Открыть все ответы
Ответ:
ttlekzhan
ttlekzhan
17.12.2020
Привет! Посмотрим на вашу программу по шагам, чтобы понять, почему она выводит 0 вместо ожидаемого значения 23.

1. Ваш код начинается с цикла "for s in range(1,1000):", который означает, что переменная s будет принимать значения от 1 до 999 включительно.

2. Далее, для каждого значения s вы устанавливаете значение переменной n равным 50.

3. Затем начинается цикл "while s > 0:", который будет выполняться до тех пор, пока значение переменной s больше 0.

4. Внутри цикла вы делите значение переменной s на 2 с использованием оператора "//" для целочисленного деления. Это означает, что результат деления будет целым числом без остатка.

5. Затем вы уменьшаете значение переменной n на 3.

6. После завершения цикла while вы проверяете, равно ли значение переменной n 23. Если это так, вы выводите значение переменной i (вместо i следует использовать переменную s).

7. Если значение n не равно 23, то цикл переходит к следующему значению s в диапазоне.

Теперь давайте разберемся, почему программа выводит 0 вместо 23.

Проблема заключается в том, что вы используете переменную i вместо s в выражении "print(i)", которая не определена в вашей программе. Вместо этого следует использовать переменную s, так как она отвечает за текущее значение в цикле for.

Исправьте ошибку, заменив "print(i)" на "print(s)".

Вот исправленный код:

```python
for s in range(1,1000):
n = 50
while s > 0:
s = s // 2
n = n - 3
if n == 23:
print(s)
break
```

После внесения этого исправления ваша программа должна правильно выводить наименьшее значение переменной s, при котором значение переменной n становится равным 23.
4,5(30 оценок)
Ответ:
2302fgdg
2302fgdg
17.12.2020
Программа, представленная во фрагменте, пытается определить количество неотрицательных элементов массива a[1..10]. Однако в коде пропущено условие, которое должно быть использовано для проверки каждого элемента массива.

Давайте пройдемся по фрагменту программы шаг за шагом:

1. У нас есть переменные k и i, которые устанавливаются в начальное значение равное 10 и 1 соответственно.

2. Затем идет цикл while, который будет выполняться, пока i меньше или равно 10.

3. Внутри цикла есть условное выражение if, в котором должно быть пропущено условие для проверки каждого элемента массива.

4. После условного оператора if, есть операция вычитания k - 1. Вероятно, это предполагает, что если условие в этом if выполняется, то переменная k должна быть уменьшена на 1.

5. Затем переменная i увеличивается на 1, чтобы перейти к следующему элементу массива.

6. Наконец, у нас есть оператор write, который должен напечатать значение исключительного условия a[i]>0.

Таким образом, чтобы программа правильно работала, пропущенное условие для проверки элементов массива должно быть: a[i]>0.

Полная программа будет выглядеть следующим образом:

k := 10;
i := 1;
while i <= 10 do
begin
if a[i] > 0 then
k := k - 1;
i := i + 1
end;
write (k).
4,5(42 оценок)
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ