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

Pascal. Дана строка содержащая любые символы кроме русских букв. Под "словом" будем понимать последовательность символов, ограниченную пробелами или стоящую в конце или начале строки. Между словами может быть несколько пробелов


Pascal. Дана строка содержащая любые символы кроме русских букв. Под словом будем понимать последо

👇
Ответ:
IIIayni
IIIayni
19.04.2022

Решено

Дана строка содержащая любые символы кроме русских букв. Под "словом" будем понимать последовательность символов, ограниченную пробелами или стоящую в конце или начале строки. Между словами может быть несколько пробелов. Так же пробелы могут быть в конце или начале строки. Написать функцию, которая в заданной строке находит количество cлов - палиндромов

4,4(98 оценок)
Открыть все ответы
Ответ:
max698
max698
19.04.2022
Для ответа на данный вопрос нам необходимо понимание основных концепций объектно-ориентированного программирования (ООП) и языка программирования C++.

Общая идея ООП заключается в том, чтобы представить реальные объекты и их взаимодействие в программном коде с помощью классов и объектов. Классы служат в качестве шаблона для создания объектов, а объекты имеют свои свойства (поля) и поведение (методы). Классы могут быть организованы в иерархическую структуру, называемую иерархией классов.

В данном вопросе представлена таблица, где указаны типы иерархий классов и три варианта их реализации на языке C++. Ваша задача - установить соответствие между типом иерархии классов и его реализацией.

Давайте рассмотрим каждый вариант реализации по отдельности:

1. "Одиночное наследование с расширением функциональности" - в данной реализации класс наследуется только от одного родительского класса и расширяет его функциональность путем добавления новых полей и методов. Реализация на C++ может выглядеть следующим образом:

```cpp
class ParentClass {
// Поля и методы родительского класса
};

class ChildClass : public ParentClass {
// Поля и методы дочернего класса, добавленные для расширения функциональности
};
```

2. "Множественное наследование без реализации общего интерфейса" - в данной реализации класс может наследоваться от нескольких родительских классов, при этом не реализуется общий интерфейс. Реализация на C++ может выглядеть следующим образом:

```cpp
class ParentClass1 {
// Поля и методы первого родительского класса
};

class ParentClass2 {
// Поля и методы второго родительского класса
};

class ChildClass : public ParentClass1, public ParentClass2 {
// Поля и методы дочернего класса
};
```

3. "Множественное наследование с реализацией общего интерфейса" - в данной реализации класс может наследоваться от нескольких родительских классов и реализуется общий интерфейс. Реализация на C++ может выглядеть следующим образом:

```cpp
class InterfaceClass {
// Методы, определяющие общий интерфейс
};

class ParentClass1 : public InterfaceClass {
// Поля и методы первого родительского класса
};

class ParentClass2 : public InterfaceClass {
// Поля и методы второго родительского класса
};

class ChildClass : public ParentClass1, public ParentClass2 {
// Поля и методы дочернего класса
};
```

Теперь, чтобы установить соответствие между типом иерархии классов и его реализацией на C++, мы должны проанализировать каждое описание класса в таблице и сопоставить его с одним из трех вариантов реализации.

- Класс A наследуется от класса B, а класс B - от класса C. Описание класса A не содержит новых полей или методов, поэтому он не расширяет функциональность родительских классов. Вариант реализации иерархии класса A соответствует первому варианту - "Одиночное наследование с расширением функциональности".

- Класс D наследуется от класса E и класса F. Описания классов E и F не содержат новых полей или методов, и класс D также не содержит новых полей или методов. Тем не менее, в описании класса D упоминается общий интерфейс "InterfaceClass". Вариант реализации иерархии класса D соответствует третьему варианту - "Множественное наследование с реализацией общего интерфейса".

- Класс G наследуется от класса H и класса I. Описания классов H и I не содержат новых полей или методов, и класс G также не содержит новых полей или методов. Вариант реализации иерархии класса G соответствует второму варианту - "Множественное наследование без реализации общего интерфейса".

Таким образом, соответствие между видом иерархии класса и его реализацией на C++ выглядит следующим образом:
- Вид иерархии класса А - "Одиночное наследование с расширением функциональности" (1-й вариант).
- Вид иерархии класса D - "Множественное наследование с реализацией общего интерфейса" (3-й вариант).
- Вид иерархии класса G - "Множественное наследование без реализации общего интерфейса" (2-й вариант).

Надеюсь, что эта подробная и обстоятельная информация помогла вам лучше понять и установить соответствие между видом иерархии класса и его реализацией на языке C++. Если у вас возникли еще вопросы или требуется дополнительное объяснение, пожалуйста, не стесняйтесь задавать. Я всегда готов помочь!
4,5(13 оценок)
Ответ:
12abgh
12abgh
19.04.2022
Хорошо, вот решение задачи:

Для преобразования простой фамилии в мужском роде в женский род, нам нужно выполнить следующие шаги:

1. Получить фамилию от пользователя. Для этого мы можем использовать функцию input():
```
surname = input("Введите фамилию в мужском роде: ")
```

2. Проверить, заканчивается ли фамилия на "ов" или "ев". Если да, то мы можем просто заменить эту часть на "а".
```
if surname.endswith("ов") or surname.endswith("ев"):
surname = surname[:-2] + "а"
```

3. Если фамилия не заканчивается на "ов" или "ев", тогда мы должны проверить, заканчивается ли она на "ый" или "ий". В таком случае, мы заменим это окончание на "ая":
```
elif surname.endswith("ый") or surname.endswith("ий"):
surname = surname[:-2] + "ая"
```

4. Если ни одно из условий выше не выполнилось, значит фамилия не может быть преобразована. Мы выведем сообщение об ошибке:
```
else:
print("Фамилию невозможно преобразовать.")
```

5. Наконец, мы выведем преобразованную фамилию:
```
print("Фамилия в женском роде:", surname)
```

Вот полный код программы:

```python
surname = input("Введите фамилию в мужском роде: ")

if surname.endswith("ов") or surname.endswith("ев"):
surname = surname[:-2] + "а"
elif surname.endswith("ый") or surname.endswith("ий"):
surname = surname[:-2] + "ая"
else:
print("Фамилию невозможно преобразовать.")

print("Фамилия в женском роде:", surname)
```

Теперь, если школьник введет фамилию в мужском роде, программа преобразует ее в женский род (если это возможно) и выведет результат.
4,6(66 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ